ObsiViewer/src/components/markdown-calendar/markdown-calendar.component.html

85 lines
3.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="calendar-layout flex flex-col gap-5">
<header class="calendar-header">
<div class="calendar-header__top flex items-center justify-between gap-4">
<p class="calendar-header__label text-xs font-semibold uppercase tracking-[0.35em] text-text-muted">CALENDRIER</p>
<span class="calendar-header__month text-lg font-semibold text-text-main">
{{ viewDate() | calendarDate: 'monthViewTitle' : 'fr' | titlecase }}
</span>
</div>
<div class="calendar-header__controls grid">
<button
type="button"
(click)="shiftMonth(-1)"
aria-label="Mois précédent"
class="btn btn-sm btn-icon calendar-header__control calendar-header__control--back"
>
</button>
<button
type="button"
(click)="goToToday()"
aria-label="Revenir à aujourd'hui"
class="btn btn-sm btn-secondary calendar-header__control calendar-header__control--today"
>
Aujourd'hui
</button>
<button
type="button"
(click)="shiftMonth(1)"
aria-label="Mois suivant"
class="btn btn-sm btn-icon calendar-header__control calendar-header__control--forward"
>
</button>
</div>
@if (selectionLabel(); as label) {
<span class="calendar-header__selection inline-flex items-center rounded-full border border-border bg-bg-muted px-2 py-0.5 text-xs font-medium text-text-muted">
{{ label }}
</span>
}
</header>
<div class="calendar-frame flex flex-col gap-4 rounded-2xl border border-border bg-card p-5 shadow-surface backdrop-blur-xs">
<mwl-calendar-month-view
class="calendar-compact"
[viewDate]="viewDate()"
[refresh]="refresh$"
[cellTemplate]="dayCellTemplate"
[weekStartsOn]="1"
[events]="[]"
></mwl-calendar-month-view>
</div>
<div class="calendar-legend flex flex-wrap items-center justify-center gap-4 text-xs text-text-muted">
<span class="calendar-legend__item inline-flex items-center gap-2 rounded-full border border-border bg-bg-muted px-3 py-1">
<span class="calendar-legend__dot calendar-legend__dot--created"></span>
Création
</span>
<span class="calendar-legend__item inline-flex items-center gap-2 rounded-full border border-border bg-bg-muted px-3 py-1">
<span class="calendar-legend__dot calendar-legend__dot--updated"></span>
Modification
</span>
</div>
</div>
<ng-template #dayCellTemplate let-day="day">
<button
type="button"
class="day-cell"
[ngClass]="getCellClasses(day)"
(pointerdown)="onDatePointerDown(day, $event)"
(pointerenter)="onDatePointerEnter(day, $event)"
(pointerup)="onDatePointerUp(day, $event)"
>
<span class="day-number">{{ day.date | date: 'd' }}</span>
<div class="indicators">
@if (hasCreated(day.date)) {
<span class="indicator cal-event-created" aria-hidden="true"></span>
}
@if (hasUpdated(day.date)) {
<span class="indicator cal-event-updated" aria-hidden="true"></span>
}
</div>
</button>
</ng-template>