diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..cd34ce9 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 1769761859967 + + + + + + \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 295f8fd..d29b3b5 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,65 +1,107 @@ -import Image from "next/image"; +// app/page.tsx +"use client"; + +import { useRouter } from "next/navigation"; +import { useCallback } from "react"; + +type Mode = "freeflow" | "sprint" | "deepwork"; + +export default function HomePage() { + const router = useRouter(); + + const startSession = useCallback( + (mode: Mode) => { + try { + localStorage.setItem("last_mode", mode); + } catch {} + router.push(`/session?mode=${mode}`); + }, + [router], + ); -export default function Home() { return ( -
-
- Next.js logo -
-

- To get started, edit the page.tsx file. -

-

- Looking for a starting point or more instructions? Head over to{" "} - - Templates - {" "} - or the{" "} - - Learning - {" "} - center. -

+
+ {/* Top-left logo */} +
+
+ hushroom
-
+ +
+ {/* Section: Freeflow */} +
+
자유 세션
+
+ 시간 제한 없이, 원할 때 종료 +
-
-
+ + + + {/* Divider + Section: Timed sessions */} +
+
+
+ 시간 고정 세션 +
+
+
+ +
+ 한 번 실행되고 끝나면 요약으로 이동 +
+ +
+ startSession("sprint")} + /> + startSession("deepwork")} + /> +
+ +
+ ); +} + +function ModeTile({ + title, + meta, + desc, + onClick, +}: { + title: string; + meta: string; + desc: string; + onClick: () => void; +}) { + return ( + ); }