diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e2ffa52 --- /dev/null +++ b/.env.example @@ -0,0 +1,44 @@ +# Gmail configuration +GMAIL_USER=info.sophat@gmail.com +GMAIL_APP_PASSWORD=generated_password_here + +# Contact information +CONTACT_PHONE="+855 96918 3363" +CONTACT_LOCATION="Phnom Penh, Cambodia" +CONTACT_EMAIL="info.sophat@gmail.com" + +# Personal information +PERSON_NAME="Leat Sophat" +PERSON_ALTERNATE_NAME="PPhat" +PERSON_JOB_TITLE="Senior Front-end Developer" +PERSON_IMAGE="/assets/avatars/hero.webp" + +# Address information +ADDRESS_STREET="Street 123, Sangkat Kamboul" +ADDRESS_LOCALITY="Phnom Penh" +ADDRESS_REGION="Phnom Penh" +ADDRESS_POSTAL_CODE="120905" +ADDRESS_COUNTRY="KH" + +# Company information +COMPANY_NAME="TURBOTECH CO., LTD" +COMPANY_URL="https://turbotech.com.kh/" + +# Social media links +GITHUB_URL="https://github.com/pphatdev" +LINKEDIN_URL="https://kh.linkedin.com/in/pphatdev" +TWITTER_URL="https://x.com/pphatdev" +FIGMA_URL="https://figma.com/@PPhat" + +# Education +UNIVERSITY_NAME="Cambodian University for Specialties (CUS)" +UNIVERSITY_URL="https://www.cus.edu.kh/" + +# Application configuration +NEXT_PUBLIC_APP_URL="http://localhost:3000" +NEXT_PUBLIC_API_URL="http://api.localhost:3000" +IS_PRODUCTION="false" +NEXTJS_ENV=development + +# SEO +GOOGLE_SITE_VERIFICATION="" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5ef6a52..e72b4d6 100644 --- a/.gitignore +++ b/.gitignore @@ -31,7 +31,7 @@ yarn-error.log* .pnpm-debug.log* # env files (can opt-in for committing if needed) -.env* +.env # vercel .vercel diff --git a/readme.md b/readme.md index 65c489d..ed14ad7 100644 --- a/readme.md +++ b/readme.md @@ -26,7 +26,7 @@ git clone https://github.com/pphatdev/v4.git && cd ./v4 Install dependencies and launch the development server: ```shell -npm install && npm run dev +cp .env.example .env && npm install && npm run dev ``` This will: diff --git a/src/app/(web)/(home)/sections/timeline.tsx b/src/app/(web)/(home)/sections/timeline.tsx index c72924a..cfe6e54 100644 --- a/src/app/(web)/(home)/sections/timeline.tsx +++ b/src/app/(web)/(home)/sections/timeline.tsx @@ -4,6 +4,7 @@ import { ExperienceCard } from "@/components/ui/experience-card"; import Image from "next/image"; import React from "react"; import { motion } from 'framer-motion'; +import { cn } from "@/lib/utils"; export const AboutTimeline = () => { @@ -110,7 +111,7 @@ export const AboutTimeline = () => { }} initial="hidden" animate="visible" - className='z-50 relative max-sm:pt-0 bg-gradient-to-b from-background to-transparent backdrop-blur-[2px] w-full py-10'> + className='z-50 relative max-sm:py-0 bg-gradient-to-b from-background to-transparent backdrop-blur-[2px] w-full py-10'>

@@ -120,11 +121,11 @@ export const AboutTimeline = () => {
-
+
{experiences.map(({ works, title, companyLogo }, index) => (
-
- {companyLogo && Avatar} +
+ {companyLogo && Avatar}

{title}

diff --git a/src/app/layout.tsx b/src/app/layout.tsx index b986713..3b9cfac 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -20,7 +20,7 @@ export default function RootLayout({ children, }: Readonly<{ children: React.Rea defaultTheme="system" > {children} -
+
diff --git a/src/components/logo.tsx b/src/components/logo.tsx index 1c41f95..5a5cf7c 100644 --- a/src/components/logo.tsx +++ b/src/components/logo.tsx @@ -4,7 +4,7 @@ import Link from "next/link"; export const Logo = () => { return (
- + {"Logo"} {"Logo"} {/* PPhat */} diff --git a/src/components/ui/avatar-circles.tsx b/src/components/ui/avatar-circles.tsx index c51e767..60af981 100644 --- a/src/components/ui/avatar-circles.tsx +++ b/src/components/ui/avatar-circles.tsx @@ -22,7 +22,7 @@ const AvatarCircles: React.FC = ({ avatarUrls, }: AvatarCirclesProps) => { return ( -
+
{avatarUrls.map((url, index) => ( = ({ >
+ Basic Skills

- {skills.map(({ icon, title }, key) => { - return ( -
- {icon && ({title})} - {title} -
- ) - })} + {skills.map(({ icon, title }, key) => +
+ {icon && ({title})} + {title} +
+ )}
Date
-
+
{date}
diff --git a/src/components/ui/footer.tsx b/src/components/ui/footer.tsx index da5a7ed..b8e46f3 100644 --- a/src/components/ui/footer.tsx +++ b/src/components/ui/footer.tsx @@ -57,20 +57,20 @@ const footerLinks: FooterSection[] = [ export function Footer() { return ( -