From 40796c2e889940e7015e691559b8e0427138cf27 Mon Sep 17 00:00:00 2001 From: Quinta0 <0pietroquintavalle0@gmail.com> Date: Thu, 7 Aug 2025 15:15:37 +0200 Subject: [PATCH] fixed CV stuff --- app/page.tsx | 26 ++- ...ietro_CV.pdf => Pietro_Quintavalle_CV.pdf} | Bin src/components/comp-541.tsx | 59 ----- src/components/ui/timeline.tsx | 210 ------------------ src/lib/utils.ts | 6 - 5 files changed, 14 insertions(+), 287 deletions(-) rename public/{Quintavalle_Pietro_CV.pdf => Pietro_Quintavalle_CV.pdf} (100%) delete mode 100644 src/components/comp-541.tsx delete mode 100644 src/components/ui/timeline.tsx delete mode 100644 src/lib/utils.ts diff --git a/app/page.tsx b/app/page.tsx index fdbf4a5..6e3f335 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -173,11 +173,11 @@ const Portfolio = () => { const education = [ { id: 1, - institution: 'USI Università della Svizzera italiana, Lugano', - degree: "Bachelor's Degree in Economics (English Stream)", - period: 'September 2024 - Present', - status: 'Current', - description: 'Pursuing coursework in microeconomics, macroeconomics, statistics, accounting, and quantitative methods with particular interest in finance.' + institution: 'Scuola cantonale di commercio, Bellinzona', + degree: 'Maturità Cantonale & AFC Economics', + period: 'September 2018 - June 2022', + status: '4.5/6 (Maturità), 5/6 (AFC)', + description: 'Completed secondary education with focus on economics and business administration.' }, { id: 2, @@ -189,11 +189,11 @@ const Portfolio = () => { }, { id: 3, - institution: 'Scuola cantonale di commercio, Bellinzona', - degree: 'Maturità Cantonale & AFC Economics', - period: 'September 2018 - June 2022', - status: '4.5/6 (Maturità), 5/6 (AFC)', - description: 'Completed secondary education with focus on economics and business administration.' + institution: 'USI Università della Svizzera italiana, Lugano', + degree: "Bachelor's Degree in Economics (English Stream)", + period: 'September 2024 - Present', + status: 'Current', + description: 'Pursuing coursework in microeconomics, macroeconomics, statistics, accounting, and quantitative methods with particular interest in finance.' } ]; @@ -901,7 +901,9 @@ const Portfolio = () => { {/* Download CV Button */}
- +
diff --git a/public/Quintavalle_Pietro_CV.pdf b/public/Pietro_Quintavalle_CV.pdf similarity index 100% rename from public/Quintavalle_Pietro_CV.pdf rename to public/Pietro_Quintavalle_CV.pdf diff --git a/src/components/comp-541.tsx b/src/components/comp-541.tsx deleted file mode 100644 index 9531f91..0000000 --- a/src/components/comp-541.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { - Timeline, - TimelineContent, - TimelineDate, - TimelineHeader, - TimelineIndicator, - TimelineItem, - TimelineSeparator, - TimelineTitle, -} from "@/components/ui/timeline" - -const items = [ - { - id: 1, - date: "Mar 15, 2024", - title: "Project Kickoff", - description: "Initial team meeting.", - }, - { - id: 2, - date: "Mar 22, 2024", - title: "Design Phase", - description: "Completed wireframes.", - }, - { - id: 3, - date: "Apr 5, 2024", - title: "Development Sprint", - description: "Backend development.", - }, - { - id: 4, - date: "Apr 19, 2024", - title: "Testing & Deployment", - description: "Performance optimization.", - }, -] - -export default function Component() { - return ( - - {items.map((item) => ( - - - - {item.date} - {item.title} - - - {item.description} - - ))} - - ) -} diff --git a/src/components/ui/timeline.tsx b/src/components/ui/timeline.tsx deleted file mode 100644 index eb6d709..0000000 --- a/src/components/ui/timeline.tsx +++ /dev/null @@ -1,210 +0,0 @@ -"use client" - -import * as React from "react" -import { Slot } from "radix-ui" - -import { cn } from "@/lib/utils" - -// Types -type TimelineContextValue = { - activeStep: number - setActiveStep: (step: number) => void -} - -// Context -const TimelineContext = React.createContext( - undefined -) - -const useTimeline = () => { - const context = React.useContext(TimelineContext) - if (!context) { - throw new Error("useTimeline must be used within a Timeline") - } - return context -} - -// Components -interface TimelineProps extends React.HTMLAttributes { - defaultValue?: number - value?: number - onValueChange?: (value: number) => void - orientation?: "horizontal" | "vertical" -} - -function Timeline({ - defaultValue = 1, - value, - onValueChange, - orientation = "vertical", - className, - ...props -}: TimelineProps) { - const [activeStep, setInternalStep] = React.useState(defaultValue) - - const setActiveStep = React.useCallback( - (step: number) => { - if (value === undefined) { - setInternalStep(step) - } - onValueChange?.(step) - }, - [value, onValueChange] - ) - - const currentStep = value ?? activeStep - - return ( - -
- - ) -} - -// TimelineContent -function TimelineContent({ - className, - ...props -}: React.HTMLAttributes) { - return ( -
- ) -} - -// TimelineDate -interface TimelineDateProps extends React.HTMLAttributes { - asChild?: boolean -} - -function TimelineDate({ - asChild = false, - className, - ...props -}: TimelineDateProps) { - const Comp = asChild ? Slot.Root : "time" - - return ( - - ) -} - -// TimelineHeader -function TimelineHeader({ - className, - ...props -}: React.HTMLAttributes) { - return ( -
- ) -} - -// TimelineIndicator -interface TimelineIndicatorProps extends React.HTMLAttributes { - asChild?: boolean -} - -function TimelineIndicator({ - asChild = false, - className, - children, - ...props -}: TimelineIndicatorProps) { - return ( - - ) -} - -// TimelineItem -interface TimelineItemProps extends React.HTMLAttributes { - step: number -} - -function TimelineItem({ step, className, ...props }: TimelineItemProps) { - const { activeStep } = useTimeline() - - return ( -
- ) -} - -// TimelineSeparator -function TimelineSeparator({ - className, - ...props -}: React.HTMLAttributes) { - return ( -