Skip to content

Commit

Permalink
Merge pull request #37 from DongHY1/feat/route
Browse files Browse the repository at this point in the history
Feat/route
  • Loading branch information
hidaviddong committed Jun 18, 2024
2 parents ba6a580 + 8b45373 commit 200d9a5
Show file tree
Hide file tree
Showing 8 changed files with 104 additions and 102 deletions.
6 changes: 5 additions & 1 deletion src/components/ui/bento-grid.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ const BentoCard = ({ name, className, background, description, href }) => {
className,
)}
>
<div>{background}</div>
<img
src={background}
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt={name}
/>
<div className="pointer-events-none z-10 flex transform-gpu flex-col gap-1 md:p-6 pl-4 transition-all duration-300 group-hover:-translate-y-10">
<h3 className="group-hover:opacity-0 transition-all duration-100 text-md font-semibold text-neutral-700 dark:text-neutral-300">
{name}
Expand Down
37 changes: 37 additions & 0 deletions src/config/project.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const Works = [
{
name: "Large Language Model",
description: "Medical field chat application.",
href: "/project/llm",
background: "/1.png",
},
{
name: "Data Visualization",
description: "Chart and 3D models.",
href: "/project/data-visualization",
background: "/1.png",
},
{
name: "Hybrid Mobile App",
description: "QQ Music / We Sing Living Room.",
href: "/project/tme",
background: "/1.png",
},
];

const OpenSourceProjects = [
{
name: "Comments",
description: "Add comments to your website.",
href: "/project/comments",
background: "/1.png",
},
{
name: "daviddong.me",
description: "Personal website template.",
href: "/project/website",
background: "/1.png",
},
];

export { Works, OpenSourceProjects };
2 changes: 1 addition & 1 deletion src/pages/+Layout.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { navigate } from "vike/client/router";
export default function LayoutDefault({ children }) {
return (
<div className="w-full h-full bg-dot-black/[0.2] selection:text-blue-500 selection:bg-blue-100 flex flex-col items-center">
<main className="flex justify-center items-center flex-col">{children}</main>
<main className="h-full w-full flex justify-center items-center flex-col">{children}</main>
<Dock className="fixed bottom-2 bg-white">
<DockIcon
onClick={() => {
Expand Down
97 changes: 13 additions & 84 deletions src/pages/index/+Page.jsx
Original file line number Diff line number Diff line change
@@ -1,70 +1,16 @@
import { BentoCard, BentoGrid } from "@/components/ui/bento-grid";
import { Tag } from "@/components/ui/tag";
const Works = [
{
name: "Large Language Model",
description: "Medical field chat application.",
href: "/project/llm",
background: (
<img
src="/1.png"
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt="Large Language Model"
/>
),
},
{
name: "Data Visualization",
description: "Chart and 3D models.",
href: "/project/data-visualization",
background: (
<img
src="/1.png"
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt="Large Language Model"
/>
),
},
{
name: "Hybrid Mobile App",
description: "QQ Music / We Sing Living Room.",
href: "/project/tme",
background: (
<img
src="/1.png"
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt="Large Language Model"
/>
),
},
];

const OpenSourceProjects = [
{
name: "Comments",
description: "Add comments to your website.",
href: "/project/comments",
background: (
<img
src="/1.png"
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt="Large Language Model"
/>
),
},
{
name: "daviddong.me",
description: "Personal website template.",
href: "/",
background: (
<img
src="/1.png"
className="border rounded-md absolute md:-right-36 md:-top-20 md:transition-all md:duration-300 md:ease-out md:scale-[0.6] md:group-hover:scale-100"
alt="Large Language Model"
/>
),
},
];
import { OpenSourceProjects, Works } from "@/config/project";
const ProjectLists = ({ title, items }) => (
<section>
<h3>{title}</h3>
<BentoGrid className="md:grid-rows-3">
{items.map((feature) => (
<BentoCard key={feature.name} {...feature} />
))}
</BentoGrid>
</section>
);

export default function Page() {
return (
Expand Down Expand Up @@ -95,25 +41,8 @@ export default function Page() {
free to contact me!
</p>
</section>

{/* Works */}
<section>
<h3>Works</h3>
<BentoGrid className="md:grid-rows-3">
{Works.map((feature) => (
<BentoCard key={feature.name} {...feature} />
))}
</BentoGrid>
</section>
{/* Open Source Project */}
<section>
<h3>Open Source Projects</h3>
<BentoGrid className="md:grid-rows-3">
{OpenSourceProjects.map((feature) => (
<BentoCard key={feature.name} {...feature} />
))}
</BentoGrid>
</section>
<ProjectLists title="Works" items={Works} />
<ProjectLists title="Open Source Projects" items={OpenSourceProjects} />
</article>
);
}
16 changes: 0 additions & 16 deletions src/pages/project/+Page.jsx

This file was deleted.

9 changes: 9 additions & 0 deletions src/pages/project/@name/+Page.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { usePageContext } from "vike-react/usePageContext";
export default function Page() {
const pageContext = usePageContext();
return (
<div className="h-screen w-full flex justify-center items-center">
<h1 className="text-3xl"> Hello {pageContext.routeParams.name}</h1>
</div>
);
}
32 changes: 32 additions & 0 deletions src/pages/project/index/+Page.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { Button } from "@/components/ui/button";
import { OpenSourceProjects, Works } from "@/config/project";
import React from "react";
import { navigate } from "vike/client/router";

const ProjectLists = ({ title, items }) => (
<section>
<h3>{title}</h3>
<ul>
{items.map(({ name, href }) => (
<li key={name}>
<Button
variant="link"
className="text-md text-neutral-500 hover:text-neutral-800"
onClick={() => navigate(href)}
>
{name}
</Button>
</li>
))}
</ul>
</section>
);

export default function Page() {
return (
<main className="prose prose-p:text-neutral-500 p-12 h-screen">
<ProjectLists title="Works" items={Works} />
<ProjectLists title="Open Source Projects" items={OpenSourceProjects} />
</main>
);
}
7 changes: 7 additions & 0 deletions src/pages/project/index/+onBeforePrerenderStart.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Environment: Node.js
import { OpenSourceProjects, Works } from "@/config/project";
export { onBeforePrerenderStart };
async function onBeforePrerenderStart() {
const lists = [...OpenSourceProjects, ...Works];
return lists.map((list) => list.href);
}

0 comments on commit 200d9a5

Please sign in to comment.