fix: resolve missing class schedules in pre-enrollment settings and public form dropdown by formatting day and start/end times correctly
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 2m12s Details

This commit is contained in:
Sidney 2026-05-28 19:33:30 -03:00
parent b1f723ce88
commit c112570065
2 changed files with 17 additions and 2 deletions

View File

@ -17,6 +17,8 @@ const FIELD_TYPES: Record<string, string> = {
date: 'Data', select: 'Seleção', textarea: 'Texto Longo', number: 'Número' date: 'Data', select: 'Seleção', textarea: 'Texto Longo', number: 'Número'
}; };
const DAY_NAMES = ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'];
const PreMatricula: React.FC<Props> = ({ data, onConvert }) => { const PreMatricula: React.FC<Props> = ({ data, onConvert }) => {
const [config, setConfig] = useState<PreMatriculaConfig | null>(null); const [config, setConfig] = useState<PreMatriculaConfig | null>(null);
const [campos, setCampos] = useState<PreMatriculaCampo[]>([]); const [campos, setCampos] = useState<PreMatriculaCampo[]>([]);
@ -337,7 +339,13 @@ const PreMatricula: React.FC<Props> = ({ data, onConvert }) => {
{config.turmasPermitidas.map(id => { {config.turmasPermitidas.map(id => {
const turma = turmas.find(t => t.id === id); const turma = turmas.find(t => t.id === id);
if (!turma) return null; if (!turma) return null;
const horarioStr = turma.horario || `${turma.dia_semana || ''} ${turma.horario_inicio_padrao || ''} - ${turma.horario_fim_padrao || ''}`.trim() || 'Horário não definido'; const dayName = (turma.dia_semana !== null && turma.dia_semana !== undefined && DAY_NAMES[parseInt(turma.dia_semana)])
? DAY_NAMES[parseInt(turma.dia_semana)]
: (turma.horario || '');
const timeStr = turma.horario_inicio_padrao && turma.horario_fim_padrao
? ` das ${turma.horario_inicio_padrao} às ${turma.horario_fim_padrao}`
: '';
const horarioStr = `${dayName}${timeStr}`.trim() || 'Horário não definido';
return ( return (
<div key={id} className="flex items-center justify-between p-3.5 bg-slate-50 border border-slate-100 rounded-2xl shadow-sm text-xs group hover:border-indigo-100 transition-colors"> <div key={id} className="flex items-center justify-between p-3.5 bg-slate-50 border border-slate-100 rounded-2xl shadow-sm text-xs group hover:border-indigo-100 transition-colors">
<div className="flex-1 min-w-0 mr-3"> <div className="flex-1 min-w-0 mr-3">

View File

@ -3179,7 +3179,14 @@ async function startServer() {
const count = prematriculaCounts[t.id] || 0; const count = prematriculaCounts[t.id] || 0;
const vagas = t.vagas_prematricula; const vagas = t.vagas_prematricula;
const esgotado = vagas !== null && count >= vagas; const esgotado = vagas !== null && count >= vagas;
const horarioStr = t.horario || `${t.dia_semana || ''} ${t.horario_inicio_padrao || ''} - ${t.horario_fim_padrao || ''}`.trim(); const DAY_NAMES = ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'];
const dayName = t.dia_semana !== null && t.dia_semana !== undefined && DAY_NAMES[parseInt(t.dia_semana)]
? DAY_NAMES[parseInt(t.dia_semana)]
: (t.horario || '');
const timeStr = t.horario_inicio_padrao && t.horario_fim_padrao
? ` das ${t.horario_inicio_padrao} às ${t.horario_fim_padrao}`
: '';
const horarioStr = `${dayName}${timeStr}`.trim() || 'Horário não definido';
return { return {
id: t.id, id: t.id,
nome: t.nome, nome: t.nome,