feat: add Settings page with Telegram integration, reminder time fields

This commit is contained in:
Cosmo
2026-02-06 13:16:50 +00:00
parent 199887e552
commit 208101195c
8 changed files with 609 additions and 276 deletions

View File

@@ -1,13 +1,14 @@
import { NavLink } from 'react-router-dom'
import { Home, ListChecks, CheckSquare, BarChart3 } from 'lucide-react'
import clsx from 'clsx'
import { NavLink } from "react-router-dom"
import { Home, ListChecks, CheckSquare, BarChart3, Settings } from "lucide-react"
import clsx from "clsx"
export default function Navigation() {
const navItems = [
{ to: '/', icon: Home, label: 'Сегодня' },
{ to: '/habits', icon: ListChecks, label: 'Привычки' },
{ to: '/tasks', icon: CheckSquare, label: 'Задачи' },
{ to: '/stats', icon: BarChart3, label: 'Статистика' },
{ to: "/", icon: Home, label: "Сегодня" },
{ to: "/habits", icon: ListChecks, label: "Привычки" },
{ to: "/tasks", icon: CheckSquare, label: "Задачи" },
{ to: "/stats", icon: BarChart3, label: "Статистика" },
{ to: "/settings", icon: Settings, label: "Настройки" },
]
return (
@@ -20,14 +21,14 @@ export default function Navigation() {
to={to}
className={({ isActive }) =>
clsx(
'flex flex-col items-center gap-1 px-3 py-2 rounded-xl transition-all',
"flex flex-col items-center gap-1 px-2 py-2 rounded-xl transition-all",
isActive
? 'text-primary-600 bg-primary-50'
: 'text-gray-400 hover:text-gray-600'
? "text-primary-600 bg-primary-50"
: "text-gray-400 hover:text-gray-600"
)
}
>
<Icon size={22} />
<Icon size={20} />
<span className="text-xs font-medium">{label}</span>
</NavLink>
))}