Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
384 changes: 64 additions & 320 deletions package-lock.json

Large diffs are not rendered by default.

Binary file added public/images/CC.avif
Binary file not shown.
Binary file added public/images/Layout.avif
Binary file not shown.
Binary file added public/images/Literary.avif
Binary file not shown.
Binary file added public/images/Marketing.avif
Binary file not shown.
Binary file added public/images/Office.avif
Binary file not shown.
Binary file added public/images/Photo.avif
Binary file not shown.
Binary file added public/images/Web.avif
Binary file not shown.
2 changes: 1 addition & 1 deletion src/Pages/T3Apply/Sections/Committees.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function Committees() {
<h1 className="font-micu text-4xl md:text-6xl tracking-wide">
core committees
</h1>
<p className="font-futura-extrabold text-xl md:text-2xl text-app-white drop-shadow">
<p className="font-futura-bold text-xl md:text-2xl text-app-white drop-shadow">
the people behind the yearbook
</p>
</div>
Expand Down
31 changes: 17 additions & 14 deletions src/Pages/T3Apply/Sections/FAQ.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
import FaqDropdown from "../../../components/t3-recweek/FaqDropdown"

const GW = () => <span className="font-futura-bold text-[#48B38A]">Green & White</span>
const GWAbbr = () => <span className="font-futura-bold text-[#48B38A]">G&W</span>

const faqs = [
{
question: "Who can apply?",
answer: "All undergraduate students from all campuses under DLSU-Manila, with a minimum of three (3) terms left are eligible to apply for Green & White."
answer: <p>All undergraduate students from all campuses under DLSU-Manila, with a minimum of three (3) terms left are eligible to apply for <GW/>.</p>
},
{
question: "What committees may I apply for?",
answer: (
<div className="flex flex-col gap-1">
<p>You may apply to any of the seven (7) committees:</p>
<ul className="list-disc list-inside flex flex-col gap-1 mt-1">
<li><span className="font-bold">Literary:</span> Pitch and write stories for the yearbook, proofread yearbook write-ups, and create captions for online platforms.</li>
<li><span className="font-bold">Photo:</span> Handle operations behind photoshoots and provide visual-photo assets for the yearbook and campaign materials.</li>
<li><span className="font-bold">Layout:</span> Creates publicity materials and designs the contents of the yearbook.</li>
<li><span className="font-bold">Marketing:</span> Ideates and executes promotion strategies that encourage students to subscribe to the yearbook.</li>
<li><span className="font-bold">Customer Care:</span> Accommodates subscriber concerns and guides subscribers throughout yearbook processes.</li>
<li><span className="font-bold">Office:</span> Organizes the systems, logistics and data of the yearbook operations.</li>
<li><span className="font-bold">Web:</span> Deploys and manages the digital solutions behind G&W's systems.</li>
<li><span className="font-futura-bold">Literary:</span> Pitch and write stories for the yearbook, proofread yearbook write-ups, and create captions for online platforms.</li>
<li><span className="font-futura-bold">Photo:</span> Handle operations behind photoshoots and provide visual-photo assets for the yearbook and campaign materials.</li>
<li><span className="font-futura-bold">Layout:</span> Creates publicity materials and designs the contents of the yearbook.</li>
<li><span className="font-futura-bold">Marketing:</span> Ideates and executes promotion strategies that encourage students to subscribe to the yearbook.</li>
<li><span className="font-futura-bold">Customer Care:</span> Accommodates subscriber concerns and guides subscribers throughout yearbook processes.</li>
<li><span className="font-futura-bold">Office:</span> Organizes the systems, logistics and data of the yearbook operations.</li>
<li><span className="font-futura-bold">Web:</span> Deploys and manages the digital solutions behind <GWAbbr/>'s systems.</li>
</ul>
</div>
)
Expand All @@ -32,7 +35,7 @@ const faqs = [
},
{
question: "What are the expectations for a Green & White staffer?",
answer: "Members of the publication are expected to be active contributors with a nose for initiative. Outside of section-specific deliverables, staffers are expected to be available on-site to man the publication's booths and assist subscribers with yearbook concerns."
answer: <p>Members of the publication are expected to be active contributors with a nose for initiative. Outside of section-specific deliverables, <GW/> staffers are expected to be available on-site to man the publication's booths and assist subscribers with yearbook concerns.</p>
},
{
question: "Is there a minimum grade requirement?",
Expand All @@ -42,9 +45,9 @@ const faqs = [
question: "What does the application process look like?",
answer: (
<div className="flex flex-col gap-1">
<p>Green & White's application process is conducted in five (5) stages:</p>
<p><GW/>'s application process is conducted in five (5) stages:</p>
<ol className="list-decimal list-inside flex flex-col gap-1 mt-1">
<li><span className="font-bold">Application:</span> Fill out the application form at <a href="http://bit.ly/GW26-T3-Application" className="underline" onClick={(e) => e.stopPropagation()}>bit.ly/GW26-T3-Application</a> by Saturday, May 23.</li>
<li><span className="font-bold">Application:</span> Fill out the application form at <a href="http://bit.ly/GW26-T3-Application" className="font-bold underline text-[#48B38A]" onClick={(e) => e.stopPropagation()}>bit.ly/GW26-T3-Application</a> by Saturday, May 23.</li>
<li><span className="font-bold">Examination:</span> Wait for the details of your committee exam and practical exam to be sent to you by May 25. Submit your exam deliverables, resume, and portfolio within the given time period.</li>
<li><span className="font-bold">Committee Head Interview:</span> Schedule your interview with your priority and secondary committee choices.</li>
<li><span className="font-bold">Executive Editors Interview:</span> Schedule your interview with the executive editors.</li>
Expand All @@ -55,18 +58,18 @@ const faqs = [
},
{
question: "Are Green & White application exams difficult?",
answer: "Don't worry, the workload fits right into a student's schedule! Here in Green & White, we take our workload and time management holistically, always with the student in mind. We know some tasks may seem time consuming but with time and practice, we are able to manage work at a breathable and competent pace. These exams are also meant to test your technical skills and commitment and help us identify which committee you best belong to."
answer: <p>Don't worry, the workload fits right into a student's schedule! Here in <GW/>, we take our workload and time management holistically, always with the student in mind. We know some tasks may seem time consuming but with time and practice, we are able to manage work at a breathable and competent pace. These exams are also meant to test your technical skills and commitment and help us identify which committee you best belong to.</p>
},
{
question: "Have any more questions?",
answer: (
<p>
For any other questions or concerns, kindly message our Facebook inbox through{" "}
<a href="https://fb.com/gwyearbookdlsu" className="underline" onClick={(e) => e.stopPropagation()}>
<a href="https://fb.com/gwyearbookdlsu" className="font-futura-bold underline text-[#48B38A]" onClick={(e) => e.stopPropagation()}>
fb.com/gwyearbookdlsu
</a>{" "}
or send us an email at{" "}
<a href="mailto:gw@dlsu.edu.ph" className="underline" onClick={(e) => e.stopPropagation()}>
<a href="mailto:gw@dlsu.edu.ph" className="font-futura-bold underline text-[#48B38A]" onClick={(e) => e.stopPropagation()}>
gw@dlsu.edu.ph
</a>{" "}
with the subject line "[GW26] T3 Recruitment Concern".
Expand Down
28 changes: 14 additions & 14 deletions src/Pages/T3Apply/committees.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,62 +5,62 @@
"name": "Layout",
"description": "The Layout Committee is Green & White's arm for yearbook design and publicity. Whether we're pitching design concepts or bringing ideas to life through layout, vector and raster graphics, and digital illustrations, every visual counts toward the big picture.",
"icons": {
"colored": "Layout_pt0zpe",
"uncolored": "Layout_i6mloz"
"colored": "/images/Layout.avif",
"uncolored": "/images/Layout.avif"
}
},
{
"id": "literary",
"name": "Literary",
"description": "Green & White's Literary Committee is the home for creative writers to transform memories into meaningful narratives. As we create captions, write literary pieces, and proofread personal statements, we ensure that Lasallian memories are preserved on each page.",
"icons": {
"colored": "Literary_luswlh",
"uncolored": "Literary_wgruzm"
"colored": "/images/Literary.avif",
"uncolored": "/images/Literary.avif"
}
},
{
"id": "photo",
"name": "Photo",
"description": "At the Photo Committee of Green & White, we capture moments that tell the story of Lasallian campus life. From graduation pictorials to org portraits, school events, and everyday campus scenes, each shot frames life into memories that will piece the picture of our past.",
"icons": {
"colored": "Photo_igfqbi",
"uncolored": "Photo_m659nc"
"colored": "/images/Photo.avif",
"uncolored": "/images/Photo.avif"
}
},
{
"id": "marketing",
"name": "Marketing",
"description": "Behind the scenes, the Marketing Committee of Green & White crafts avenues to foster meaningful connections. We bridge the publication with the Lasallian community through captivating campaigns and creative communication strategies that amplify the yearbook's presence online and offline.",
"icons": {
"colored": "Marketing_u8zvr3",
"uncolored": "Marketing_zik1ha"
"colored": "/images/Marketing.avif",
"uncolored": "/images/Marketing.avif"
}
},
{
"id": "office",
"name": "Office",
"description": "The Office Committee is in charge of Green & White's logistical operations. We are the backbone that keeps everything running smoothly—handling logistics, monitoring inventory, organizing data—to ensure yearbook activities go on without a hitch.",
"icons": {
"colored": "Office_kjnutt",
"uncolored": "Office_a8ifkl"
"colored": "/images/Office.avif",
"uncolored": "/images/Office.avif"
}
},
{
"id": "customerCare",
"name": "Customer Care",
"description": "When yearbook deadlines, payments, and processes start to get overwhelming or confusing, Customer Care is here to help. As the frontliners of Green & White, we address concerns, anticipate potential issues, and guide subscribers throughout the yearbook activities with patience and clarity.",
"icons": {
"colored": "CC_wlgfju",
"uncolored": "CC_o5qr8k"
"colored": "/images/CC.avif",
"uncolored": "/images/CC.avif"
}
},
{
"id": "web",
"name": "Web",
"description": "The Web Committee empowers Green & White by building systems and turning ideas into practical solutions. We design user interfaces, create automation scripts, and manage databases to optimize and simplify the yearbook experience for members and subscribers alike.",
"icons": {
"colored": "Web_av1kbj",
"uncolored": "Web_a9fny2"
"colored": "/images/Web.avif",
"uncolored": "/images/Web.avif"
}
}
]
Expand Down
83 changes: 44 additions & 39 deletions src/components/t3-recweek/CommitteeCard.tsx
Original file line number Diff line number Diff line change
@@ -1,50 +1,55 @@
import React from 'react';
import { CloudinaryImage } from './CloudinaryImage';
import { buildCloudinaryUrl } from '../../lib/cloudinary';

export interface CommitteeCardProps {
/** The Cloudinary public ID for the committee image */
imagePublicId: string;
/** The official name of the committee */
name: string;
/** A brief description of the committee's responsibilities */
description: string;
/** Optional custom classname to apply to the card container */
className?: string;
/** The Cloudinary public ID for the committee image */
imagePublicId: string;
/** The official name of the committee */
name: string;
/** A brief description of the committee's responsibilities */
description: string;
/** Optional custom classname to apply to the card container */
className?: string;
}

export function CommitteeCard({
imagePublicId,
name,
description
imagePublicId,
name,
description
}: CommitteeCardProps) {
return (
<div
className={`group relative flex flex-col bg-app-white border max-w-[330px] h-[380px] px-8 py-6 border-app-red hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-2`}
>
{/* Upper Image Section with micro-animation zoom */}

<CloudinaryImage
publicId={imagePublicId}
alt={name}
fallback={buildCloudinaryUrl(`${imagePublicId}.png`)}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500 ease-out"
/>
{/* Subtle interior bottom gradient overlay for premium visual separation */}

{/* Lower Content Section */}
<div className="flex flex-col p-6 gap-3 flex-grow justify-between">
<div className="flex flex-col gap-2">
<h3 className="font-micu text-2xl text-app-red group-hover:text-app-red transition-colors duration-300">
{name}
</h3>
<p className="font-futura-bold text-base text-app-red leading-relaxed">
{description}
</p>
</div>
</div>
</div >
);
return (
<div
className={`group relative flex flex-col bg-app-white border max-w-[330px] h-[380px] px-8 py-6 border-app-red hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-2`}
>
{/* Upper Image Section with micro-animation zoom */}
{/* <CloudinaryImage
publicId={imagePublicId}
alt={name}
fallback={buildCloudinaryUrl(`${imagePublicId}.png`)}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500 ease-out"
/> */}
<div className="h-16 flex items-center">
<img
src={imagePublicId}
alt={name}
className="h-full object-contain object-left pl-8 group-hover:scale-105 transition-transform duration-500 ease-out"
/>
</div>
{/* Subtle interior bottom gradient overlay for premium visual separation */}

{/* Lower Content Section */}
<div className="flex flex-col p-6 gap-3 flex-grow justify-between">
<div className="flex flex-col gap-2">
<h3 className="font-micu text-2xl text-app-red group-hover:text-app-red transition-colors duration-300">
{name}
</h3>
<p className="font-futura-bold text-base text-app-red leading-relaxed">
{description}
</p>
</div>
</div>
</div>
);
}

export default CommitteeCard;
Loading