diff --git a/public/members/24_25/colasino.jpg b/public/members/24_25/colasino.jpg new file mode 100644 index 0000000..c9ddaff Binary files /dev/null and b/public/members/24_25/colasino.jpg differ diff --git a/public/members/24_25/coma.jpg b/public/members/24_25/coma.jpg new file mode 100644 index 0000000..c17f7d7 Binary files /dev/null and b/public/members/24_25/coma.jpg differ diff --git a/public/members/24_25/ornos.jpg b/public/members/24_25/ornos.jpg new file mode 100644 index 0000000..0a308e6 Binary files /dev/null and b/public/members/24_25/ornos.jpg differ diff --git a/public/members/24_25/sir_sabonsolin.jpg b/public/members/24_25/sir_sabonsolin.jpg new file mode 100644 index 0000000..0488f86 Binary files /dev/null and b/public/members/24_25/sir_sabonsolin.jpg differ diff --git a/src/app/utils/undertaking-generator/page.tsx b/src/app/utils/undertaking-generator/page.tsx old mode 100644 new mode 100755 index 71d739a..f479d98 --- a/src/app/utils/undertaking-generator/page.tsx +++ b/src/app/utils/undertaking-generator/page.tsx @@ -1,7 +1,7 @@ 'use client'; import { motion } from "framer-motion"; -import { GithubIcon, RocketIcon } from 'lucide-react'; +import { GithubIcon } from 'lucide-react'; import Image from "next/image"; import courseJSON from "public/data/json/courses.json"; import { useEffect, useState } from 'react'; @@ -14,15 +14,111 @@ import { Label } from "~/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "~/components/ui/select"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "~/components/ui/table"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "~/components/ui/tabs"; +import Credits from "~/components/undertaking-generator/credits"; import { env } from "~/env"; import { MAX_UNDERTAKING_IMG_SIZE, zodUndertaking } from "~/utils/zodUndertaking"; + +const AnimatedGradientBackground = () => { + return ( +
+
+
+
+ +
+ ); +}; + export default function Component() { const [loading, setLoading] = useState(false); const [fullName, setFullName] = useState(''); const [studentNumber, setStudentNumber] = useState(''); const [year, setYear] = useState(''); const [program, setProgram] = useState(''); - const [enrollmentFormat, setEnrollmentFormat] = useState(''); + const [enrollmentFormat, setEnrollmentFormat] = useState('1'); const [signatureImg, setSignatureImg] = useState(null); const [idImg, setIdImg] = useState(null); const [courses, setCourses] = useState([]); @@ -57,11 +153,11 @@ export default function Component() { const handleSignatureUpload = (e: React.ChangeEvent) => { handleImgUpload(e, setSignatureImg); - } + }; const handleIdUpload = (e: React.ChangeEvent) => { handleImgUpload(e, setIdImg); - } + }; const handleCourseToggle = (courseCode: string) => { setCourses(prev => @@ -130,9 +226,10 @@ export default function Component() { }, [searchTerm]); return ( -
+
+ {loading && } -
+
FEU Tech ACM Logo
- + - Your Information - Course Selection - Compliance + Your Information + Course Selection + Compliance -
diff --git a/src/components/undertaking-generator/credits.tsx b/src/components/undertaking-generator/credits.tsx new file mode 100644 index 0000000..456aeb4 --- /dev/null +++ b/src/components/undertaking-generator/credits.tsx @@ -0,0 +1,92 @@ +"use client"; + +import { AnimatePresence, motion } from "framer-motion"; +import { RocketIcon, X } from "lucide-react"; +import Image from "next/image"; +import { useState } from "react"; +import { Button } from "~/components/ui/button"; + +const teamMembers = [ + { + name: "Sir Jeneffer Sabonsolin", + position: "Adviser", + image: "/members/24_25/sir_sabonsolin.jpg", + linkedin: "https://www.linkedin.com/in/jeneffer-sabonsolin-70320329a", + }, + { + name: "Alpha Romer Coma", + position: "Initiative Head", + image: "/members/24_25/coma.jpg", + linkedin: "https://www.linkedin.com/in/alpharomercoma", + }, + { + name: "Rab Karl Colasino", + position: "Webmaster", + image: "/members/24_25/colasino.jpg", + linkedin: "https://www.linkedin.com/in/mr-colasino/", + }, + { + name: "Csypres Ornos", + position: "President", + image: "/members/24_25/ornos.jpg", + linkedin: "https://www.linkedin.com/in/csypres-ornos-148528287", + }, +]; + +const SettingsComponent: React.FC = () => { + const [isOpen, setIsOpen] = useState(false); + const [showCredits, setShowCredits] = useState(false); + + return ( + <> +

setShowCredits(true)}> + + Project ACMX Core Team +

+ + {showCredits && ( + + +
+
+

Credits

+ +
+
+ {teamMembers.map((member, index) => ( + + {member.name} +

{member.name}

+

{member.position}

+
+ ))} +
+
+
+
+ )} +
+ + ); +}; + +export default SettingsComponent; \ No newline at end of file