cv page in pretty good state, markdown/html support added to description

This commit is contained in:
2025-06-14 03:33:46 +02:00
parent 128269de1f
commit 2c1be1429d
11 changed files with 887 additions and 51 deletions

View File

@@ -7,6 +7,9 @@ import { SidebarContent, SidebarProvider, Sidebar } from "~/components/ui/sideb
import SidebarTriggerDisappearsOnMobile from "./_components/SidebarTriggerDisappearsOnMobile";
import CvCategory from "./_components/CvCategory";
export default function CvPage() {
//TODO fix display when one column is empty
// useState to store filtered categories
// should make this easier
const categories = trpc.cv.category.list.useQuery();
const gsap = useGsapContext()
const container = useRef<HTMLDivElement>(null)
@@ -60,9 +63,9 @@ export default function CvPage() {
</> :
<></>
}
<div className="h-full w-full flex flex-wrap flex-row p-2 ">
<div className="h-full w-full flex flex-wrap flex-row p-[1rem] pt-[2rem] ">
<div id="mainwrap" className="flex w-full flex-col gap-[1rem]">
<div id="header" className="flex w-full h-fit flex-row">
<div id="header" className="flex w-full h-fit flex-row gap-[1rem]">
{categories.data.filter((cat) => cat.layoutPosition == 'header').map((cat) => {
return (
<CvCategory layout="row" initialData={cat} key={cat.id} />
@@ -70,7 +73,7 @@ export default function CvPage() {
})}
</div>
<div id="colwrapper" className="flex flex-col md:flex-row w-full h-3/4 gap-[1rem]">
<div id="col1" className="flex flex-col w-full h-full">
<div id="col1" className="flex flex-col w-full md:w-1/2 h-full gap-[1rem]">
{categories.data.filter((cat) => cat.layoutPosition == 'col1').map((cat) => {
return (
<CvCategory layout="col" initialData={cat} key={cat.id} />
@@ -78,7 +81,7 @@ export default function CvPage() {
})}
</div>
{categories.data.filter((cat) => cat.layoutPosition == 'col2').length > 0 ?
<div id="col2" className="flex flex-wrap flex-col w-full lg:w-1/2 h-full">
<div id="col2" className="flex flex-col w-full md:w-1/2 h-full gap-[1rem]">
{categories.data.filter((cat) => cat.layoutPosition == 'col2').map((cat) => {
return (
<CvCategory layout="col" initialData={cat} key={cat.id} />