From e6ab12f9578380676a663aa26979c6f70ef54cb1 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Mon, 7 Apr 2025 17:06:01 +0300 Subject: [PATCH] feat: page titles --- src/components/task.tsx | 7 ++++++- src/enums/urls.ts | 7 +++++++ src/pages/calendar.tsx | 6 +++++- src/pages/login.tsx | 5 +++++ src/pages/profile_settings.tsx | 5 +++++ src/pages/profile_tasks.tsx | 6 +++++- 6 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/enums/urls.ts diff --git a/src/components/task.tsx b/src/components/task.tsx index 5db053b..94cd211 100644 --- a/src/components/task.tsx +++ b/src/components/task.tsx @@ -6,7 +6,12 @@ interface TaskProps { } const Task: FunctionComponent = ({ name }: TaskProps) => { - return
{name}
; + return ( + // Временное действие для тестирования + + ); }; export default Task; diff --git a/src/enums/urls.ts b/src/enums/urls.ts new file mode 100644 index 0000000..b167c7c --- /dev/null +++ b/src/enums/urls.ts @@ -0,0 +1,7 @@ +export enum UrlsTitle { + LOGIN = "Авторизация", + PROFILE = "Профиль", + TASKS = "Задачи", + CALENDAR = "Календарь", + PAGE404 = "404", +} diff --git a/src/pages/calendar.tsx b/src/pages/calendar.tsx index ae58944..dcbe198 100644 --- a/src/pages/calendar.tsx +++ b/src/pages/calendar.tsx @@ -1,6 +1,7 @@ +import { UrlsTitle } from "@/enums/urls"; import { cn } from "@/utils/class-merge"; import { FunctionComponent, h } from "preact"; -import { useState } from "preact/hooks"; +import { useEffect, useState } from "preact/hooks"; type MarkedDateType = "event" | "holiday" | "important" | string; type MarkedDates = Record; @@ -16,6 +17,9 @@ const BigCalendar: FunctionComponent = ({ markedDates = {}, className = "", }: BigCalendarProps) => { + useEffect(() => { + document.title = UrlsTitle.CALENDAR; + }, []); const [currentDate, setCurrentDate] = useState(new Date()); const [selectedDate, setSelectedDate] = useState(null); diff --git a/src/pages/login.tsx b/src/pages/login.tsx index e4f7efe..cff9bb0 100644 --- a/src/pages/login.tsx +++ b/src/pages/login.tsx @@ -1,12 +1,17 @@ import Button from "@/components/ui/Button"; import Input from "@/components/ui/Input"; +import { UrlsTitle } from "@/enums/urls"; import { useAppContext } from "@/providers/AuthProvider"; import { FunctionComponent } from "preact"; import { useLocation } from "preact-iso"; +import { useEffect } from "preact/hooks"; import classes from "./login.module.scss"; const LoginPage: FunctionComponent = () => { const { isLoggedIn } = useAppContext(); const { route } = useLocation(); + useEffect(() => { + document.title = UrlsTitle.LOGIN; + }, []); return (
diff --git a/src/pages/profile_settings.tsx b/src/pages/profile_settings.tsx index 85ca195..e756fd1 100644 --- a/src/pages/profile_settings.tsx +++ b/src/pages/profile_settings.tsx @@ -1,12 +1,17 @@ import Button from "@/components/ui/Button"; +import { UrlsTitle } from "@/enums/urls"; import { useAppContext } from "@/providers/AuthProvider"; import { FunctionComponent } from "preact"; import { useLocation } from "preact-iso"; +import { useEffect } from "preact/hooks"; import classes from "./profile_settings.module.scss"; const ProfileSettings: FunctionComponent = () => { const { isLoggedIn } = useAppContext(); const { route } = useLocation(); + useEffect(() => { + document.title = UrlsTitle.PROFILE; + }, []); return (
Аватар
diff --git a/src/pages/profile_tasks.tsx b/src/pages/profile_tasks.tsx index 16e922e..c62a22e 100644 --- a/src/pages/profile_tasks.tsx +++ b/src/pages/profile_tasks.tsx @@ -1,6 +1,7 @@ import Task from "@/components/task"; +import { UrlsTitle } from "@/enums/urls"; import { FunctionComponent } from "preact"; -import { useMemo } from "preact/hooks"; +import { useEffect, useMemo } from "preact/hooks"; import classes from "./profile_tasks.module.scss"; const example_tasks = ["Test 1", "Test 2", "Test 3", "Test 4", "Test 5", "Test 6", "Test 7", "Test 8"]; @@ -11,6 +12,9 @@ const ProfileTasks: FunctionComponent = () => { const formatter = new Intl.DateTimeFormat("ru-RU", { month: "long", day: "numeric" }); return formatter.format(date); }, []); + useEffect(() => { + document.title = UrlsTitle.TASKS; + }, []); return (
Сегодня: {getDate}