fix(salas): renomeia modelos (Hora/Período/Dia/Semana/Mês) + calendário completo
- Rótulos dos modelos: Turno→Período, Diária→Dia, Semanal→Semana, Mensal→Mês (ids inalterados). Label do controle "Turno" → "Período". - Calendário cortado no wizard: as células aspect-square deixavam a grade alta demais p/ a área do slide; troca p/ altura fixa h-9 — a grade fica compacta e aparece completa. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -109,10 +109,10 @@ const precos = (s: Sala): Array<[string, string]> => {
|
||||
// ── Calendário de reserva ────────────────────────────────────────────────────
|
||||
const MODELOS: Array<{ id: string; label: string; valor: keyof Sala; consulta: keyof Sala }> = [
|
||||
{ id: 'hora', label: 'Hora', valor: 'valor_hora', consulta: 'hora_consulta' },
|
||||
{ id: 'turno', label: 'Turno', valor: 'valor_turno', consulta: 'turno_consulta' },
|
||||
{ id: 'diaria', label: 'Diária', valor: 'valor_diaria', consulta: 'diaria_consulta' },
|
||||
{ id: 'semanal', label: 'Semanal', valor: 'valor_semanal', consulta: 'semanal_consulta' },
|
||||
{ id: 'mensal', label: 'Mensal', valor: 'valor_mensal', consulta: 'mensal_consulta' },
|
||||
{ id: 'turno', label: 'Período', valor: 'valor_turno', consulta: 'turno_consulta' },
|
||||
{ id: 'diaria', label: 'Dia', valor: 'valor_diaria', consulta: 'diaria_consulta' },
|
||||
{ id: 'semanal', label: 'Semana', valor: 'valor_semanal', consulta: 'semanal_consulta' },
|
||||
{ id: 'mensal', label: 'Mês', valor: 'valor_mensal', consulta: 'mensal_consulta' },
|
||||
];
|
||||
const TURNOS: Record<string, { label: string; ini: number; fim: number }> = {
|
||||
manha: { label: 'Manhã', ini: 8, fim: 12 },
|
||||
@@ -488,7 +488,7 @@ const ReservaModal: React.FC<{ sala: Sala; onClose: () => void; onReserved: () =
|
||||
const ocupado = diasOcupados.has(dia.toDateString());
|
||||
return (
|
||||
<button key={i} type="button" disabled={passado} onClick={() => setDiaSel(dia)}
|
||||
className={`relative aspect-square rounded-lg text-xs font-bold flex items-center justify-center transition-all ${passado ? 'text-gray-200 cursor-not-allowed' : sel ? 'text-white shadow' : emRange ? 'text-teal-700' : 'text-gray-600 hover:bg-gray-100'}`}
|
||||
className={`relative h-9 rounded-lg text-xs font-bold flex items-center justify-center transition-all ${passado ? 'text-gray-200 cursor-not-allowed' : sel ? 'text-white shadow' : emRange ? 'text-teal-700' : 'text-gray-600 hover:bg-gray-100'}`}
|
||||
style={sel ? { backgroundColor: COLOR } : emRange ? { backgroundColor: `${COLOR}22` } : {}}>
|
||||
{dia.getDate()}
|
||||
{ocupado && !sel && <span className="absolute bottom-1 w-1 h-1 rounded-full bg-amber-400" />}
|
||||
@@ -517,7 +517,7 @@ const ReservaModal: React.FC<{ sala: Sala; onClose: () => void; onReserved: () =
|
||||
)}
|
||||
{diaSel && f.modelo === 'turno' && (
|
||||
<div>
|
||||
<label className={labelCls}>Turno</label>
|
||||
<label className={labelCls}>Período</label>
|
||||
<div className="grid grid-cols-3 gap-2">
|
||||
{Object.entries(TURNOS).map(([k, t]) => (
|
||||
<button key={k} type="button" onClick={() => setTurno(k)}
|
||||
|
||||
Reference in New Issue
Block a user