File manager - Edit - /var/www/html/homologBancodetalentos/resources/views/pages/curriculo.blade.php
Back
@extends('layouts.app') @section('title', 'Currículo - Banco de Talentos') @section('meta_description', 'Visualize e edite seu currículo no Banco de Talentos.') @section('content') <div class="cv2-page"> <div class="container"> {{-- ────────────────────────────────────────────── --}} {{-- CABEÇALHO DO PERFIL --}} {{-- ────────────────────────────────────────────── --}} <div class="cv2-hero"> <div class="cv2-hero__avatar-wrap"> @if ($usuario->foto) <img src="{{ $usuario->foto }}" alt="{{ $usuario->nome }}" class="cv2-hero__avatar"> @else <div class="cv2-hero__avatar cv2-hero__avatar--placeholder"> <i class="bi bi-person-fill"></i> </div> @endif </div> <div class="cv2-hero__info"> <h1 class="cv2-hero__name">{{ $usuario->nome ?? 'Sem nome' }}</h1> @if ($usuario->cargo) <p class="cv2-hero__role"> <i class="bi bi-briefcase-fill me-1"></i>{{ $usuario->cargo }} </p> @endif <div class="cv2-hero__meta"> @if ($usuario->telefone) <span class="cv2-hero__meta-item"> <i class="bi bi-telephone-fill"></i> {{ $usuario->telefone }} </span> @endif @if ($usuario->data_nascimento) <span class="cv2-hero__meta-item"> <i class="bi bi-calendar3"></i> {{ $usuario->data_nascimento }} </span> @endif @if ($usuario->estado_civil) <span class="cv2-hero__meta-item"> <i class="bi bi-heart-fill"></i> {{ $usuario->estado_civil }} </span> @endif @if ($usuario->status === 'PCD') <span class="cv2-hero__badge cv2-hero__badge--pcd"> <i class="bi bi-accessibility"></i> PCD </span> @endif </div> </div> <div class="cv2-hero__actions"> <a href="{{ route('talent-bank.candidate.curriculum.pdf') }}" class="cv2-btn cv2-btn--primary" id="btn-download-cv"> <i class="bi bi-download"></i> <span>Baixar currículo</span> </a> <a href="{{ route('talent-bank.candidate.curriculum.pdf.stream') }}" class="cv2-btn cv2-btn--ghost" target="_blank"> <i class="bi bi-printer"></i> <span>Imprimir</span> </a> <a href="{{ route('talent-bank.candidate.profile') }}" class="cv2-btn cv2-btn--ghost"> <i class="bi bi-arrow-left"></i> <span>Voltar ao perfil</span> </a> </div> </div> {{-- ────────────────────────────────────────────── --}} {{-- GRID PRINCIPAL --}} {{-- ────────────────────────────────────────────── --}} <div class="cv2-layout"> {{-- COLUNA LATERAL --}} <aside class="cv2-sidebar"> {{-- Perfil profissional --}} <div class="cv2-card"> <x-curriculum.section-header icon="person-lines-fill" title="Perfil profissional" modalTarget="modalPerfil" /> <div class="cv2-card__body"> @if ($usuario->perfil) <p class="cv2-profile-text">{{ $usuario->perfil }}</p> @else <x-curriculum.empty-state icon="file-person" message="Nenhum resumo profissional adicionado." addModalTarget="modalPerfil" /> @endif </div> </div> {{-- Informações pessoais --}} <div class="cv2-card"> <x-curriculum.section-header icon="info-circle-fill" title="Informações pessoais" modalTarget="modalPerfil" /> <div class="cv2-card__body"> <dl class="cv2-info-list"> @if ($usuario->sexo) <div class="cv2-info-list__item"> <dt><i class="bi bi-gender-ambiguous"></i> Gênero</dt> <dd>{{ $usuario->sexo }}</dd> </div> @endif @if ($usuario->estado_civil) <div class="cv2-info-list__item"> <dt><i class="bi bi-heart"></i> Estado civil</dt> <dd>{{ $usuario->estado_civil }}</dd> </div> @endif @if ($usuario->outro_campo) <div class="cv2-info-list__item"> <dt><i class="bi bi-people"></i> Etnia</dt> <dd>{{ $usuario->outro_campo }}</dd> </div> @endif @if ($usuario->data_nascimento) <div class="cv2-info-list__item"> <dt><i class="bi bi-calendar3"></i> Nascimento</dt> <dd>{{ $usuario->data_nascimento }}</dd> </div> @endif @if ($usuario->cargo) <div class="cv2-info-list__item"> <dt><i class="bi bi-briefcase"></i> Ocupação</dt> <dd>{{ $usuario->cargo }}</dd> </div> @endif @if ($usuario->bairro || $usuario->endereco) <div class="cv2-info-list__item"> <dt><i class="bi bi-geo-alt"></i> Endereço</dt> <dd> @if ($usuario->endereco){{ $usuario->endereco }}@endif @if ($usuario->bairro) — {{ $usuario->bairro }}@endif @if ($usuario->cep) <small class="text-muted">({{ $usuario->cep }})</small>@endif </dd> </div> @endif @if (!$usuario->sexo && !$usuario->estado_civil && !$usuario->outro_campo && !$usuario->data_nascimento && !$usuario->cargo && !$usuario->bairro && !$usuario->endereco) <x-curriculum.empty-state icon="person-badge" message="Dados pessoais não preenchidos." addModalTarget="modalPerfil" /> @endif </dl> </div> </div> {{-- Idiomas --}} <div class="cv2-card"> <x-curriculum.section-header icon="translate" title="Idiomas" addModalTarget="modalAddIdioma" /> <div class="cv2-card__body" id="cv2-idiomas-list"> @forelse ($idiomas as $idioma) <div class="cv2-language-item" data-idioma-id="{{ $idioma->id ?? '' }}"> <div class="cv2-language-item__header"> <span class="cv2-language-item__name">{{ $idioma->nome }}</span> <div class="d-flex align-items-center gap-2"> <span class="cv2-language-item__level">{{ $idioma->nivel }}</span> <form method="POST" action="{{ route('talent-bank.candidate.languages.detach', $idioma->id ?? 0) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Remover idioma"> <i class="bi bi-trash3"></i> </button> </form> </div> </div> <div class="cv2-language-item__bar-wrap"> <div class="cv2-language-item__bar" style="width: {{ $idioma->porcentagem }}%" role="progressbar" aria-valuenow="{{ $idioma->porcentagem }}" aria-valuemin="0" aria-valuemax="100"> </div> </div> </div> @empty <x-curriculum.empty-state icon="translate" message="Nenhum idioma adicionado." addModalTarget="modalAddIdioma" /> @endforelse </div> </div> {{-- Áreas de Interesse --}} <div class="cv2-card"> <x-curriculum.section-header icon="bookmark-heart-fill" title="Área de interesse" addModalTarget="modalAddAreaInteresse" /> <div class="cv2-card__body" id="cv2-areas-list"> @forelse ($areasInteresse as $area) <div class="cv2-skill-item" data-area-id="{{ $area->id }}"> <span class="cv2-skill-item__tag" style="background:#ede0ff;color:#511282"> <i class="bi bi-bookmark-check-fill"></i> {{ $area->nome }} </span> <form method="POST" action="{{ route('talent-bank.candidate.wanted-occupations.detach', $area->id) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Remover área de interesse"> <i class="bi bi-x"></i> </button> </form> </div> @empty <x-curriculum.empty-state icon="bookmark-heart" message="Nenhuma área de interesse selecionada." addModalTarget="modalAddAreaInteresse" /> @endforelse </div> </div> {{-- Habilidades --}} <div class="cv2-card"> <x-curriculum.section-header icon="stars" title="Habilidades" addModalTarget="modalAddHabilidade" /> <div class="cv2-card__body" id="cv2-skills-list"> @forelse ($habilidades as $habilidade) <div class="cv2-skill-item" data-skill-id="{{ $habilidade->id ?? '' }}"> <span class="cv2-skill-item__tag"> <i class="bi bi-check2-circle"></i> {{ $habilidade->descricao }} </span> <form method="POST" action="{{ route('talent-bank.candidate.skills.destroy', $habilidade->id ?? 0) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Remover habilidade"> <i class="bi bi-x"></i> </button> </form> </div> @empty <x-curriculum.empty-state icon="lightning-charge" message="Nenhuma habilidade adicionada." addModalTarget="modalAddHabilidade" /> @endforelse </div> </div> </aside> {{-- COLUNA PRINCIPAL --}} <main class="cv2-main"> {{-- EXPERIÊNCIAS --}} <div class="cv2-card"> <x-curriculum.section-header icon="briefcase-fill" title="Experiências" addModalTarget="modalAddExperiencia" /> <div class="cv2-card__body" id="cv2-exp-list"> @forelse ($experiencias as $exp) <div class="cv2-timeline-item" data-exp-id="{{ $exp->id ?? '' }}"> <div class="cv2-timeline-item__marker"></div> <div class="cv2-timeline-item__content"> <div class="cv2-timeline-item__header"> <div> <h3 class="cv2-timeline-item__title">{{ $exp->cargo ?: 'Cargo não informado' }}</h3> <p class="cv2-timeline-item__subtitle"> <i class="bi bi-building me-1"></i>{{ $exp->empresa ?: 'Empresa não informada' }} </p> </div> <div class="d-flex align-items-start gap-2"> <span class="cv2-timeline-item__period"> <i class="bi bi-calendar3 me-1"></i> {{ $exp->inicio }}{{ $exp->fim ? ' — ' . $exp->fim : '' }} </span> <div class="cv2-item__actions"> <button type="button" class="cv2-item__btn cv2-item__btn--edit js-edit-exp" data-bs-toggle="modal" data-bs-target="#modalEditExperiencia" data-id="{{ $exp->id ?? '' }}" data-company="{{ $exp->empresa }}" data-cargo="{{ $exp->cargo }}" data-inicio="{{ $exp->date_start_raw ?? '' }}" data-fim="{{ $exp->date_end_raw ?? '' }}" data-current="{{ $exp->is_current ? '1' : '0' }}" data-description="{{ $exp->descricao }}" data-occupation-id="{{ $exp->occupation_id ?? '' }}" data-business-line-id="{{ $exp->business_line_id ?? '' }}" aria-label="Editar experiência"> <i class="bi bi-pencil"></i> </button> <form method="POST" action="{{ route('talent-bank.candidate.experiences.destroy', $exp->id ?? 0) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Excluir experiência"> <i class="bi bi-trash3"></i> </button> </form> </div> </div> </div> @if ($exp->descricao) <p class="cv2-timeline-item__desc">{{ $exp->descricao }}</p> @endif </div> </div> @empty <x-curriculum.empty-state icon="briefcase" message="Nenhuma experiência profissional adicionada." addModalTarget="modalAddExperiencia" /> @endforelse </div> </div> {{-- FORMAÇÃO --}} <div class="cv2-card"> <x-curriculum.section-header icon="mortarboard-fill" title="Formação acadêmica" addModalTarget="modalAddFormacao" /> <div class="cv2-card__body" id="cv2-edu-list"> @forelse ($formacoes as $form) <div class="cv2-timeline-item" data-edu-id="{{ $form->id ?? '' }}"> <div class="cv2-timeline-item__marker cv2-timeline-item__marker--teal"></div> <div class="cv2-timeline-item__content"> <div class="cv2-timeline-item__header"> <div> <h3 class="cv2-timeline-item__title">{{ $form->nivel ?: 'Nível não informado' }}</h3> <p class="cv2-timeline-item__subtitle"> <i class="bi bi-building me-1"></i>{{ $form->instituicao ?: 'Instituição não informada' }} </p> @if ($form->certificado) <p class="cv2-timeline-item__detail"> <i class="bi bi-award me-1"></i>{{ $form->certificado }} </p> @endif </div> <div class="d-flex align-items-start gap-2"> <span class="cv2-timeline-item__period"> <i class="bi bi-calendar3 me-1"></i> {{ $form->inicio }}{{ $form->fim ? ' — ' . $form->fim : '' }} </span> <div class="cv2-item__actions"> <button type="button" class="cv2-item__btn cv2-item__btn--edit js-edit-edu" data-bs-toggle="modal" data-bs-target="#modalEditFormacao" data-id="{{ $form->id ?? '' }}" data-nivel="{{ $form->education_level_id ?? '' }}" data-discipline="{{ $form->academic_discipline_id ?? '' }}" data-institution="{{ $form->instituicao }}" data-specialization="{{ $form->certificado }}" data-inicio="{{ $form->date_start_raw ?? '' }}" data-fim="{{ $form->date_end_raw ?? '' }}" aria-label="Editar formação"> <i class="bi bi-pencil"></i> </button> <form method="POST" action="{{ route('talent-bank.candidate.educations.destroy', $form->id ?? 0) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Excluir formação"> <i class="bi bi-trash3"></i> </button> </form> </div> </div> </div> </div> </div> @empty <x-curriculum.empty-state icon="mortarboard" message="Nenhuma formação acadêmica adicionada." addModalTarget="modalAddFormacao" /> @endforelse </div> </div> {{-- CONHECIMENTOS / CURSOS --}} <div class="cv2-card"> <x-curriculum.section-header icon="journal-bookmark-fill" title="Cursos e conhecimentos" addModalTarget="modalAddCurso" /> <div class="cv2-card__body" id="cv2-course-list"> @forelse ($conhecimentos as $con) <div class="cv2-timeline-item" data-course-id="{{ $con->id ?? '' }}"> <div class="cv2-timeline-item__marker cv2-timeline-item__marker--orange"></div> <div class="cv2-timeline-item__content"> <div class="cv2-timeline-item__header"> <div> <h3 class="cv2-timeline-item__title">{{ $con->titulo ?: 'Curso não informado' }}</h3> <p class="cv2-timeline-item__subtitle"> <i class="bi bi-building me-1"></i>{{ $con->instituicao ?: 'Instituição não informada' }} </p> @if ($con->carga) <p class="cv2-timeline-item__detail"> <i class="bi bi-clock me-1"></i>{{ $con->carga }} </p> @endif </div> <div class="d-flex align-items-start gap-2"> <span class="cv2-timeline-item__period"> <i class="bi bi-calendar3 me-1"></i> {{ $con->inicio }}{{ $con->fim ? ' — ' . $con->fim : '' }} </span> <div class="cv2-item__actions"> <button type="button" class="cv2-item__btn cv2-item__btn--edit js-edit-course" data-bs-toggle="modal" data-bs-target="#modalEditCurso" data-id="{{ $con->id ?? '' }}" data-name="{{ $con->titulo }}" data-institution="{{ $con->instituicao }}" data-duration="{{ $con->carga }}" data-inicio="{{ $con->date_start_raw ?? '' }}" data-fim="{{ $con->date_end_raw ?? '' }}" aria-label="Editar curso"> <i class="bi bi-pencil"></i> </button> <form method="POST" action="{{ route('talent-bank.candidate.courses.destroy', $con->id ?? 0) }}" class="cv2-delete-inline-form"> @csrf @method('DELETE') <button type="submit" class="cv2-item__btn cv2-item__btn--delete" aria-label="Excluir curso"> <i class="bi bi-trash3"></i> </button> </form> </div> </div> </div> </div> </div> @empty <x-curriculum.empty-state icon="journal-bookmark" message="Nenhum curso ou conhecimento adicionado." addModalTarget="modalAddCurso" /> @endforelse </div> </div> </main> </div>{{-- /cv2-layout --}} </div>{{-- /container --}} </div>{{-- /cv2-page --}} {{-- ══════════════════════════════════════════════════════════ --}} {{-- MODAIS DE EDIÇÃO --}} {{-- ══════════════════════════════════════════════════════════ --}} {{-- ── MODAL: Perfil profissional ── --}} <div class="modal fade cv2-modal" id="modalPerfil" tabindex="-1" aria-labelledby="modalPerfilLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalPerfilLabel"> <i class="bi bi-person-lines-fill me-2"></i>Editar perfil e dados pessoais </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.update') }}" id="form-perfil" class="cv2-ajax-form" data-reload="true"> @csrf @method('PUT') <div class="cv2-modal__body"> <div class="cv2-form-group"> <label class="cv2-form-label" for="perfil_cv_summary">Resumo profissional</label> <textarea id="perfil_cv_summary" name="cv_summary" rows="4" class="cv2-form-control" placeholder="Descreva brevemente sua trajetória e objetivos profissionais...">{{ $usuario->perfil }}</textarea> </div> <p class="cv2-form-section-label text-uppercase small text-muted mb-2 mt-1">Contato</p> <div class="row g-3"> <div class="col-md-6"> <label class="cv2-form-label" for="perfil_telephone">Telefone</label> <input type="tel" id="perfil_telephone" name="telephone" class="cv2-form-control" value="{{ $candidate->telephone }}"> </div> <div class="col-md-6"> <label class="cv2-form-label" for="perfil_cellphone">Celular</label> <input type="tel" id="perfil_cellphone" name="cellphone" class="cv2-form-control" value="{{ $candidate->cellphone }}"> </div> </div> <p class="cv2-form-section-label text-uppercase small text-muted mb-2 mt-3">Ocupação</p> <div class="row g-3"> <div class="col-12"> <label class="cv2-form-label" for="perfil_occupation_id">Ocupação / cargo atual</label> <select id="perfil_occupation_id" name="occupation_id" class="cv2-form-control"> <option value="">Selecione</option> @foreach ($lookups['ocupacoes'] ?? [] as $oid => $olabel) <option value="{{ $oid }}" @selected((string) $candidate->occupation_id === (string) $oid)>{{ $olabel }}</option> @endforeach </select> </div> </div> <p class="cv2-form-section-label text-uppercase small text-muted mb-2 mt-3">Endereço</p> <div class="row g-3"> <div class="col-md-4"> <label class="cv2-form-label" for="perfil_zip_code">CEP</label> <input type="text" id="perfil_zip_code" name="zip_code" class="cv2-form-control" value="{{ $candidate->zip_code }}" maxlength="9" placeholder="00000-000"> </div> <div class="col-md-8"> <label class="cv2-form-label" for="perfil_neighbourhood_id">Bairro</label> <select id="perfil_neighbourhood_id" name="neighbourhood_id" class="cv2-form-control"> <option value="">Selecione</option> @foreach ($lookups['bairros'] ?? [] as $nid => $nlabel) <option value="{{ $nid }}" @selected((string) $candidate->neighbourhood_id === (string) $nid)>{{ $nlabel }}</option> @endforeach </select> </div> <div class="col-12"> <label class="cv2-form-label" for="perfil_address">Endereço</label> <input type="text" id="perfil_address" name="address" class="cv2-form-control" value="{{ $candidate->address }}" placeholder="Rua, número, complemento..."> </div> </div> <p class="cv2-form-section-label text-uppercase small text-muted mb-2 mt-3">Identidade (exibidos em Informações pessoais)</p> <div class="row g-3"> <div class="col-md-6"> <label class="cv2-form-label" for="perfil_birth_date">Data de nascimento</label> <input type="date" id="perfil_birth_date" name="birth_date" class="cv2-form-control" value="{{ $candidate->birth_date ? $candidate->birth_date->format('Y-m-d') : '' }}"> </div> <div class="col-md-6 d-flex align-items-end"> <div class="form-check mb-2"> <input type="hidden" name="special_needs" value="0"> <input class="form-check-input" type="checkbox" id="perfil_special_needs" name="special_needs" value="1" @checked($candidate->special_needs)> <label class="form-check-label cv2-form-label mb-0" for="perfil_special_needs">Pessoa com deficiência (PCD)</label> </div> </div> <div class="col-md-4"> <label class="cv2-form-label" for="perfil_gender_id">Gênero</label> <select id="perfil_gender_id" name="gender_id" class="cv2-form-control"> <option value="">Selecione</option> @foreach ($lookups['generos'] ?? [] as $gid => $glabel) <option value="{{ $gid }}" @selected((string) $candidate->gender_id === (string) $gid)>{{ $glabel }}</option> @endforeach </select> </div> <div class="col-md-4"> <label class="cv2-form-label" for="perfil_marital_status_id">Estado civil</label> <select id="perfil_marital_status_id" name="marital_status_id" class="cv2-form-control"> <option value="">Selecione</option> @foreach ($lookups['estadosCivis'] ?? [] as $mid => $mlabel) <option value="{{ $mid }}" @selected((string) $candidate->marital_status_id === (string) $mid)>{{ $mlabel }}</option> @endforeach </select> </div> <div class="col-md-4"> <label class="cv2-form-label" for="perfil_ethnicity_id">Etnia</label> <select id="perfil_ethnicity_id" name="ethnicity_id" class="cv2-form-control"> <option value="">Selecione</option> @foreach ($lookups['etnias'] ?? [] as $eid => $elabel) <option value="{{ $eid }}" @selected((string) $candidate->ethnicity_id === (string) $eid)>{{ $elabel }}</option> @endforeach </select> </div> </div> </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Experiência ── --}} <div class="modal fade cv2-modal" id="modalAddExperiencia" tabindex="-1" aria-labelledby="modalAddExpLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddExpLabel"> <i class="bi bi-briefcase-fill me-2"></i>Adicionar experiência </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.experiences.store') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-experiencia', ['item' => null, 'lookups' => $lookups]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Editar Experiência ── --}} <div class="modal fade cv2-modal" id="modalEditExperiencia" tabindex="-1" aria-labelledby="modalEditExpLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalEditExpLabel"> <i class="bi bi-briefcase-fill me-2"></i>Editar experiência </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="" class="cv2-ajax-form" id="form-edit-exp" data-route-template="{{ url('/curriculo/experiencias/__ID__') }}"> @csrf @method('PUT') <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-experiencia', ['item' => null, 'lookups' => $lookups]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Formação ── --}} <div class="modal fade cv2-modal" id="modalAddFormacao" tabindex="-1" aria-labelledby="modalAddEduLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddEduLabel"> <i class="bi bi-mortarboard-fill me-2"></i>Adicionar formação acadêmica </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.educations.store') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-formacao', ['item' => null, 'lookups' => $lookups]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Editar Formação ── --}} <div class="modal fade cv2-modal" id="modalEditFormacao" tabindex="-1" aria-labelledby="modalEditEduLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalEditEduLabel"> <i class="bi bi-mortarboard-fill me-2"></i>Editar formação acadêmica </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="" class="cv2-ajax-form" id="form-edit-edu" data-route-template="{{ url('/curriculo/formacoes/__ID__') }}"> @csrf @method('PUT') <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-formacao', ['item' => null, 'lookups' => $lookups]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Curso ── --}} <div class="modal fade cv2-modal" id="modalAddCurso" tabindex="-1" aria-labelledby="modalAddCursoLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddCursoLabel"> <i class="bi bi-journal-bookmark-fill me-2"></i>Adicionar curso </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.courses.store') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-curso', ['item' => null]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Editar Curso ── --}} <div class="modal fade cv2-modal" id="modalEditCurso" tabindex="-1" aria-labelledby="modalEditCursoLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalEditCursoLabel"> <i class="bi bi-journal-bookmark-fill me-2"></i>Editar curso </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="" class="cv2-ajax-form" id="form-edit-course" data-route-template="{{ url('/curriculo/cursos/__ID__') }}"> @csrf @method('PUT') <div class="cv2-modal__body"> @include('pages.partials.curriculo.form-curso', ['item' => null]) </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Idioma ── --}} <div class="modal fade cv2-modal" id="modalAddIdioma" tabindex="-1" aria-labelledby="modalAddIdiomaLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddIdiomaLabel"> <i class="bi bi-translate me-2"></i>Adicionar idioma </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.languages.attach') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> <div class="cv2-form-group"> <label class="cv2-form-label" for="add_language_id">Idioma <span class="text-danger">*</span></label> <select id="add_language_id" name="language_id" class="cv2-form-control" required> <option value="">Selecione...</option> @foreach ($lookups['idiomas_lista'] as $id => $nome) <option value="{{ $id }}">{{ $nome }}</option> @endforeach </select> </div> <div class="cv2-form-group"> <label class="cv2-form-label" for="add_proficiency_id">Proficiência <span class="text-danger">*</span></label> <select id="add_proficiency_id" name="language_proficiency_id" class="cv2-form-control" required> <option value="">Selecione...</option> @foreach ($lookups['proficiencias'] as $id => $nome) <option value="{{ $id }}">{{ $nome }}</option> @endforeach </select> </div> </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Habilidade ── --}} <div class="modal fade cv2-modal" id="modalAddHabilidade" tabindex="-1" aria-labelledby="modalAddHabLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddHabLabel"> <i class="bi bi-stars me-2"></i>Adicionar habilidade </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.skills.store') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> <div class="cv2-form-group"> <label class="cv2-form-label" for="add_skill_name">Habilidade <span class="text-danger">*</span></label> <input type="text" id="add_skill_name" name="name" class="cv2-form-control" placeholder="Ex: Liderança, Excel, Comunicação..." required maxlength="100"> <p class="cv2-form-hint">Adicione uma habilidade por vez.</p> </div> </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Salvar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- ── MODAL: Adicionar Área de Interesse ── --}} <div class="modal fade cv2-modal" id="modalAddAreaInteresse" tabindex="-1" aria-labelledby="modalAddAreaLabel" aria-modal="true" role="dialog"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content cv2-modal__content"> <div class="cv2-modal__header"> <h5 class="cv2-modal__title" id="modalAddAreaLabel"> <i class="bi bi-bookmark-heart-fill me-2"></i>Adicionar área de interesse </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <form method="POST" action="{{ route('talent-bank.candidate.wanted-occupations.attach') }}" class="cv2-ajax-form" data-reload="true"> @csrf <div class="cv2-modal__body"> <p class="cv2-form-hint mb-3"> Selecione as ocupações que você tem interesse. Elas serão usadas para notificá-lo quando vagas compatíveis forem publicadas. </p> <div class="cv2-form-group"> <label class="cv2-form-label" for="add_occupation_id">Ocupação <span class="text-danger">*</span></label> <select id="add_occupation_id" name="occupation_id" class="cv2-form-control" required> <option value="">Selecione...</option> @foreach ($lookups['ocupacoes'] as $id => $nome) <option value="{{ $id }}" @if ($areasInteresse->pluck('id')->contains($id)) disabled @endif> {{ $nome }} @if ($areasInteresse->pluck('id')->contains($id)) (já adicionada) @endif </option> @endforeach </select> </div> </div> <div class="cv2-modal__footer"> <button type="button" class="cv2-btn cv2-btn--ghost" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="cv2-btn cv2-btn--primary cv2-btn--submit"> <span class="cv2-btn__text">Adicionar</span> <span class="cv2-btn__spinner d-none"><i class="bi bi-arrow-clockwise cv2-spin"></i></span> </button> </div> </form> </div> </div> </div> {{-- Toast de feedback --}} <div class="cv2-toast" id="cv2-toast" role="alert" aria-live="assertive" aria-atomic="true"> <i class="cv2-toast__icon bi bi-check-circle-fill"></i> <span class="cv2-toast__message"></span> </div> @endsection @push('scripts') <script src="{{ asset('js/talent-bank/curriculo.js') }}"></script> @endpush
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings