<?php
require __DIR__ . '/app/bootstrap.php';
require __DIR__ . '/app/layout.php';

$incomingCompanyId=(int)request('company_id',0);$incomingToken=trim((string)request('token',''));$incomingModuleLinkId=(int)request('module_link_id',0);
if($incomingCompanyId>0&&$incomingToken!=='')store_pending_company_join_invite($incomingCompanyId,$incomingToken,$incomingModuleLinkId);
$invite=pending_company_join_invite();
if(!$invite){
    render_public_header('Convite inválido');
    ?><section class="auth-shell"><div class="auth-card"><h1>Convite inválido</h1><p>Este QR Code não é válido ou a empresa não está disponível.</p><div class="form-actions"><a class="btn btn-primary" href="<?= e(url('index.php')) ?>">Voltar ao início</a></div></div></section><?php
    render_public_footer();exit;
}
$company=$invite['company'];$companyId=(int)$invite['company_id'];$moduleLinkId=(int)($invite['module_link_id']??0);$module=$invite['module']??null;$user=current_user();$error='';$already=false;
if($user&&user_needs_onboarding($user))redirect('complete_registration.php');
if($user){
    $already=client_is_linked_to_company((int)$user['id'],$companyId);
    try{
        $joined=link_client_to_company_from_invite((int)$user['id'],$companyId,$moduleLinkId);clear_pending_company_join_invite();
        flash('success',$moduleLinkId>0?'Vínculo confirmado e acesso a '.$joined['module_title'].' liberado automaticamente.':'Cadastro confirmado em '.$joined['name'].'.');
        redirect($moduleLinkId>0?'dashboard.php?page=new_area':'dashboard.php?page=affiliations');
    }catch(Throwable $e){$error=$e->getMessage();}
}
render_public_header('Cadastro na empresa');
?>
<section class="auth-shell"><div class="auth-card" style="width:min(650px,100%)">
  <span class="hero-badge"><i></i> Cadastro por QR Code</span>
  <div class="profile-hero" style="margin-bottom:20px"><?php if(!empty($company['logo'])):?><div class="avatar avatar-has-image"><img src="<?= e(media_url($company['logo'])) ?>" alt=""></div><?php else:?><div class="avatar">🏢</div><?php endif;?><div><h1 style="margin-bottom:5px"><?= e($company['name']) ?></h1><p style="margin:0"><?= e(trim(($company['city']??'').(!empty($company['state'])?'/'.$company['state']:''))) ?></p></div></div>
  <div class="notice"><strong>Você foi convidado para se cadastrar como cliente desta empresa.</strong><br>Qualquer perfil LinkExpress pode manter este vínculo sem perder sua função atual. Depois do login ou cadastro, a confirmação será automática.<?php if($module):?> O acesso a <strong><?=e($module['title'])?></strong> também será liberado imediatamente.<?php endif;?></div>
  <?php if($error):?><div class="alert alert-error" style="margin-top:16px"><?= e($error) ?></div><?php endif;?>
  <?php if(!$user):?>
    <p style="margin-top:20px">Para continuar, entre com sua conta LinkExpress ou crie uma conta. O convite ficará salvo e será aplicado automaticamente.</p>
    <div class="form-actions"><a class="btn btn-secondary" href="<?= e(url('login.php')) ?>">Já tenho conta</a><a class="btn btn-primary" href="<?= e(url('register.php')) ?>">Criar conta</a></div>
  <?php elseif($user):?>
    <div class="alert alert-error" style="margin-top:16px">Não foi possível concluir automaticamente. Tente abrir o QR Code novamente.</div>
  <?php endif;?>
</div></section>
<?php render_public_footer(); ?>
