diff --git a/src/assets/styles.scss b/src/assets/styles.scss index f404423..4e3faca 100644 --- a/src/assets/styles.scss +++ b/src/assets/styles.scss @@ -279,13 +279,18 @@ background: var(--surface-hover); } +/* Bordas do FullCalendar — solução pra "borda dupla": + - células (td/th) MANTÊM a borda → forma a grade visual + - contêiner .fc-scrollgrid ZERA → sem isso, a borda externa fica + dobrada (1px do contêiner + 1px da célula da ponta = 2px na borda) */ .app-dark .fc-theme-standard td, .app-dark .fc-theme-standard th { border: 1px solid var(--surface-border); } +.fc-theme-standard .fc-scrollgrid, .app-dark .fc-theme-standard .fc-scrollgrid { - border: 1px solid var(--surface-border); + border: none; } .app-dark .fc-timegrid-event-harness-inset .fc-timegrid-event, diff --git a/src/layout/melissa/MelissaAgenda.vue b/src/layout/melissa/MelissaAgenda.vue index a1d73b9..e5fbe02 100644 --- a/src/layout/melissa/MelissaAgenda.vue +++ b/src/layout/melissa/MelissaAgenda.vue @@ -68,27 +68,40 @@ const onlySessionsOptions = [ { label: 'Tudo', value: false } ]; -// ── Drawer mobile ──────────────────────────────────────────── -// Quando largura <1024px, .ma-side e .ma-widgets viram off-canvas -// dentro de .ma-drawer. drawerOpen controla translateX via CSS. +// ── Breakpoints ────────────────────────────────────────────── +// Dois pontos: +// { if (typeof window !== 'undefined' && window.matchMedia) { _mqMobile = window.matchMedia('(max-width: 1023px)'); isMobile.value = _mqMobile.matches; - _mqMobile.addEventListener('change', _onMqChange); + _mqMobile.addEventListener('change', _onMqMobileChange); + + _mqCompact = window.matchMedia('(max-width: 1279px)'); + isCompact.value = _mqCompact.matches; + _mqCompact.addEventListener('change', _onMqCompactChange); } }); onBeforeUnmount(() => { - if (_mqMobile) _mqMobile.removeEventListener('change', _onMqChange); + if (_mqMobile) _mqMobile.removeEventListener('change', _onMqMobileChange); + if (_mqCompact) _mqCompact.removeEventListener('change', _onMqCompactChange); }); function toggleDrawer() { @@ -108,6 +121,13 @@ function goSettings() { // pra não inflar a toolbar em telas pequenas. const mobileActionsRef = ref(null); const mobileActionsItems = computed(() => [ + // Views (Dia/Semana/Mês/Lista) — view-switcher inline some em setView('dia') }, + { label: 'Semana', icon: calendarView.value === 'semana' ? 'pi pi-check' : 'pi pi-calendar', command: () => setView('semana') }, + { label: 'Mês', icon: calendarView.value === 'mes' ? 'pi pi-check' : 'pi pi-calendar', command: () => setView('mes') }, + { label: 'Lista', icon: calendarView.value === 'lista' ? 'pi pi-check' : 'pi pi-list', command: () => setView('lista') }, + { separator: true }, { label: onlySessions.value ? 'Mostrar tudo' : 'Apenas sessões', icon: onlySessions.value ? 'pi pi-list' : 'pi pi-filter', @@ -818,22 +838,45 @@ defineExpose({