Skip to content

Commit f8ab844

Browse files
committed
ui change
1 parent d886314 commit f8ab844

15 files changed

Lines changed: 1066 additions & 274 deletions

File tree

apps/web/app/page.tsx

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22
import { MainHomeLayout } from "@repo/web-ui/layout";
3-
import React, { useState } from "react";
3+
import React, { useCallback, Suspense } from "react";
4+
import { useSearchParams, useRouter } from "next/navigation";
45
import "./page.module.css";
56
import QuizMarkdownEditor from "../components/markdown-editor";
67
import ChatgptEditor from "../components/chatgpt-editor";
@@ -22,16 +23,33 @@ const tabs = [
2223
}
2324
];
2425

25-
export default function Home() {
26-
const [tab, setTab] = useState("markdown");
26+
function HomeContent() {
27+
const searchParams = useSearchParams();
28+
const router = useRouter();
29+
30+
const currentTab = searchParams.get("t") || "markdown";
31+
32+
const setTab = useCallback((newTab: string) => {
33+
const params = new URLSearchParams(searchParams.toString());
34+
params.set("t", newTab);
35+
router.push(`?${params.toString()}`);
36+
}, [searchParams, router]);
2737

2838
return (
29-
<MainHomeLayout tab={tab} tabs={tabs} setTab={setTab}>
39+
<MainHomeLayout tab={currentTab} tabs={tabs} setTab={setTab}>
3040
<CardSizeProvider>
31-
{tab === "markdown" ? <QuizMarkdownEditor /> : null}
32-
{tab === "chatgpt" ? <ChatgptEditor /> : null}
33-
{tab === "gradient" ? <GradientEditor /> : null}
41+
{currentTab === "markdown" ? <QuizMarkdownEditor /> : null}
42+
{currentTab === "chatgpt" ? <ChatgptEditor /> : null}
43+
{currentTab === "gradient" ? <GradientEditor /> : null}
3444
</CardSizeProvider>
3545
</MainHomeLayout>
3646
);
3747
}
48+
49+
export default function Home() {
50+
return (
51+
<Suspense fallback={<div>Loading...</div>}>
52+
<HomeContent />
53+
</Suspense>
54+
);
55+
}

0 commit comments

Comments
 (0)