@@ -365,16 +370,49 @@ export function Menubar({
);
}
-export function MainTitle() {
+export type MainTitleProps = {
+ calendarRef: React.RefObject
;
+ currentView: string;
+ onViewChange?: (view: string) => void;
+ onDateChange?: (date: Date) => void;
+};
+
+export function MainTitle({
+ calendarRef,
+ currentView,
+ onViewChange,
+ onDateChange,
+}: MainTitleProps) {
const { t } = useI18n();
const dispatch = useAppDispatch();
+
+ const handleLogoClick = async () => {
+ if (!calendarRef.current) return;
+
+ await dispatch(setView("calendar"));
+
+ if (currentView !== "timeGridWeek") {
+ calendarRef.current.changeView("timeGridWeek");
+ if (onViewChange) {
+ onViewChange("timeGridWeek");
+ }
+ }
+
+ calendarRef.current.today();
+
+ if (onDateChange) {
+ const newDate = calendarRef.current.getDate();
+ onDateChange(newDate);
+ }
+ };
+
return (

dispatch(setView("calendar"))}
+ onClick={handleLogoClick}
/>
);