feat: add birthday calendar feature with settings and localization
This commit is contained in:
@@ -2,13 +2,14 @@
|
||||
|
||||
import { useState, useRef, useEffect, useMemo } from "react";
|
||||
import { useTranslations } from "next-intl";
|
||||
import { Globe, ListTodo, Pencil, RefreshCw, Share2, Trash2 } from "lucide-react";
|
||||
import { Globe, ListTodo, Pencil, RefreshCw, Share2, Trash2, Cake } from "lucide-react";
|
||||
import { cn, formatDateTime } from "@/lib/utils";
|
||||
import type { Calendar } from "@/lib/jmap/types";
|
||||
import { CalendarColorPicker } from "@/components/settings/calendar-management-settings";
|
||||
import { useCalendarStore } from "@/stores/calendar-store";
|
||||
import { useSettingsStore } from "@/stores/settings-store";
|
||||
import { useTaskStore } from "@/stores/task-store";
|
||||
import { BIRTHDAY_CALENDAR_ID } from "@/lib/birthday-calendar";
|
||||
import { toast } from "@/stores/toast-store";
|
||||
import type { IJMAPClient } from '@/lib/jmap/client-interface';
|
||||
|
||||
@@ -164,6 +165,9 @@ export function CalendarSidebarPanel({
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{cal.id === BIRTHDAY_CALENDAR_ID && (
|
||||
<Cake className="w-3 h-3 text-muted-foreground flex-shrink-0" />
|
||||
)}
|
||||
</button>
|
||||
|
||||
{/* Subscription context menu on right-click */}
|
||||
|
||||
@@ -19,6 +19,7 @@ export function CalendarSettings() {
|
||||
showWeekNumbers,
|
||||
enableCalendarTasks,
|
||||
showTasksOnCalendar,
|
||||
showBirthdayCalendar,
|
||||
calendarHoverPreview,
|
||||
updateSetting,
|
||||
} = useSettingsStore();
|
||||
@@ -98,6 +99,16 @@ export function CalendarSettings() {
|
||||
/>
|
||||
</SettingItem>
|
||||
|
||||
<SettingItem
|
||||
label={t('show_birthday_calendar')}
|
||||
description={t('show_birthday_calendar_desc')}
|
||||
>
|
||||
<ToggleSwitch
|
||||
checked={showBirthdayCalendar}
|
||||
onChange={(checked) => updateSetting('showBirthdayCalendar', checked)}
|
||||
/>
|
||||
</SettingItem>
|
||||
|
||||
{isFeatureEnabled('calendarTasksEnabled') && (
|
||||
<>
|
||||
<SettingItem
|
||||
|
||||
Reference in New Issue
Block a user