diff --git a/packages/frontend/src/features/events/components/event-subscribers.tsx b/packages/frontend/src/features/events/components/event-subscribers.tsx index e1bb8ec..69eb071 100644 --- a/packages/frontend/src/features/events/components/event-subscribers.tsx +++ b/packages/frontend/src/features/events/components/event-subscribers.tsx @@ -2,7 +2,14 @@ import { Button } from '@/shared/components/ui/button'; import { Card } from '@/shared/components/ui/card'; -import { ArrowLeft, UserIcon, UsersIcon } from 'lucide-react'; +import { + ArrowLeft, + UserIcon, + UsersIcon, + Clock, + CheckCircle, + XCircle +} from 'lucide-react'; import { useRouter, useSearchParams } from 'next/navigation'; import { useEffect, useState } from 'react'; import { Input } from '@/shared/components/ui/input'; @@ -140,16 +147,44 @@ export const EventSubscribers = ({ eventId }: { eventId: string }) => { /> - - All ({tabCounts.all}) - - Pending ({tabCounts.pending}) + + + + All ({tabCounts.all}) + + + + + Pending ({tabCounts.pending}) + - - Approved ({tabCounts.approved}) + + + + Approved ({tabCounts.approved}) + - - Rejected ({tabCounts.rejected}) + + + + Rejected ({tabCounts.rejected}) + diff --git a/packages/frontend/src/features/home/components/comment-card/comment-card.tsx b/packages/frontend/src/features/home/components/comment-card/comment-card.tsx index d7713f4..ae58436 100644 --- a/packages/frontend/src/features/home/components/comment-card/comment-card.tsx +++ b/packages/frontend/src/features/home/components/comment-card/comment-card.tsx @@ -156,13 +156,18 @@ export const CommentCard = ({ )} -
+
diff --git a/packages/frontend/src/features/home/components/common/thread-searchbar.tsx b/packages/frontend/src/features/home/components/common/thread-searchbar.tsx index c71ed30..6a80199 100644 --- a/packages/frontend/src/features/home/components/common/thread-searchbar.tsx +++ b/packages/frontend/src/features/home/components/common/thread-searchbar.tsx @@ -72,7 +72,7 @@ export const ThreadSearchbar = ({
- + */}
diff --git a/packages/frontend/src/features/home/components/home.tsx b/packages/frontend/src/features/home/components/home.tsx index b6fbb85..b9811c8 100644 --- a/packages/frontend/src/features/home/components/home.tsx +++ b/packages/frontend/src/features/home/components/home.tsx @@ -269,10 +269,10 @@ export const Home = () => { }; return ( -
-
+
+
{/* Left column - 1 part */} -
+
{
{/* Middle column */} -
+
{viewThreads && selectedThread ? (
)} -
- {name} +
+ {name} {transformDateTimeToTimeAgo(timeAgo)} diff --git a/packages/frontend/src/features/home/components/main-card/thread-card.tsx b/packages/frontend/src/features/home/components/main-card/thread-card.tsx index 519ad4a..6c70a34 100644 --- a/packages/frontend/src/features/home/components/main-card/thread-card.tsx +++ b/packages/frontend/src/features/home/components/main-card/thread-card.tsx @@ -1,5 +1,5 @@ import { Button } from '@/shared/components/ui/button'; -import { MessageSquare, Heart, Bookmark } from 'lucide-react'; +import { MessageSquare, Heart, Bookmark, Eye } from 'lucide-react'; import Image from 'next/image'; import { Thread } from '../../lib/mock-data'; import { ThreadCardProvider } from './base-thread-card'; @@ -157,10 +157,12 @@ export const ThreadCard = ({
{/* {isOwner && ( diff --git a/packages/frontend/src/features/home/components/main-card/thread-input.tsx b/packages/frontend/src/features/home/components/main-card/thread-input.tsx index a3be2c6..c6fe133 100644 --- a/packages/frontend/src/features/home/components/main-card/thread-input.tsx +++ b/packages/frontend/src/features/home/components/main-card/thread-input.tsx @@ -1,6 +1,6 @@ import { Button } from '@/shared/components/ui/button'; import { Textarea } from '@/shared/components/ui/textarea'; -import { ImageIcon, SmileIcon } from 'lucide-react'; +import { ImageIcon, SmileIcon, X, Send } from 'lucide-react'; import { useState } from 'react'; import { Avatar, AvatarFallback } from '@/shared/components/ui/avatar'; import { SharedIcons } from '@/shared/components/icons'; @@ -59,8 +59,8 @@ export const ThreadInput = ({ className )} > -
- +
+ {user?.pictureUploadLink && ( )} {!user?.pictureUploadLink && ( - + {user?.firstName ?.split(' ') ?.map((n) => n[0]) @@ -89,10 +89,10 @@ export const ThreadInput = ({ placeholder="What's on your mind?" value={content} onChange={(e) => setContent(e.target.value)} - className="min-h-[400px] resize-none rounded-lg text-base" + className="min-h-[200px] resize-none rounded-lg text-base sm:min-h-[400px]" maxLength={characterLimit} /> -
+
{remainingCharacters} / {characterLimit} characters @@ -103,38 +103,48 @@ export const ThreadInput = ({
-
+
diff --git a/packages/frontend/src/features/mentorship/components/common/mentor-card.tsx b/packages/frontend/src/features/mentorship/components/common/mentor-card.tsx index 12995d5..c0ffdd4 100644 --- a/packages/frontend/src/features/mentorship/components/common/mentor-card.tsx +++ b/packages/frontend/src/features/mentorship/components/common/mentor-card.tsx @@ -32,7 +32,7 @@ const MentorCard = ({ return (
diff --git a/packages/frontend/src/features/mentorship/components/common/mentorship-form.tsx b/packages/frontend/src/features/mentorship/components/common/mentorship-form.tsx index e3d59d9..dbf1cab 100644 --- a/packages/frontend/src/features/mentorship/components/common/mentorship-form.tsx +++ b/packages/frontend/src/features/mentorship/components/common/mentorship-form.tsx @@ -208,8 +208,16 @@ export const MentorshipForm = ({ title, description }: MentorshipFormProps) => { variant="link" onClick={() => setIsModalOpen(true)} type="button" + className="w-full whitespace-normal break-words text-left sm:w-auto sm:whitespace-nowrap sm:text-center" > - View Mentorship Program Agreement to Proceed + + View Mentorship Program +
+ Agreement to Proceed +
+ + View Mentorship Program Agreement to Proceed + - + - + Mentee Profile @@ -135,7 +135,7 @@ export const AdminMenteeModalCard = ({ -
+
- + - + {isRating ? 'Session Review' : 'Mentor Profile'} @@ -138,7 +138,7 @@ export const AdminMentorModalCard = ({ -
+
{ return ( - + - Mentorship Program Agreement - {title} + + Mentorship Program Agreement - {title} + Please read the following terms and conditions carefully before agreeing to participate in our mentorship program. - +
{agreementContent}
-
-
+
+
- +
diff --git a/packages/frontend/src/features/mentorship/components/common/modals/mentor-modal.tsx b/packages/frontend/src/features/mentorship/components/common/modals/mentor-modal.tsx index aba2e75..1441c17 100644 --- a/packages/frontend/src/features/mentorship/components/common/modals/mentor-modal.tsx +++ b/packages/frontend/src/features/mentorship/components/common/modals/mentor-modal.tsx @@ -36,9 +36,9 @@ export function MentorModal({ }: MentorModalProps) { return ( - + - + {profileData?.isMentor ? 'Mentor Profile' : 'Mentee Profile'} @@ -48,8 +48,8 @@ export function MentorModal({
@@ -57,7 +57,7 @@ export function MentorModal({
-
+
- @@ -214,7 +214,7 @@ const MentorDashboard = () => { - +
My Mentees
diff --git a/packages/frontend/src/features/mentorship/components/mentorship-admin-page.tsx b/packages/frontend/src/features/mentorship/components/mentorship-admin-page.tsx index 279a6df..09bb445 100644 --- a/packages/frontend/src/features/mentorship/components/mentorship-admin-page.tsx +++ b/packages/frontend/src/features/mentorship/components/mentorship-admin-page.tsx @@ -134,13 +134,13 @@ export const MentorshipAdminPage = () => { const menteeColumns = createMenteeColumns(handleRefreshData); return ( -
+
Hey, {user?.firstName}!👋
-
+
{
-
- +
+
Mentors and Mentees
@@ -218,8 +218,8 @@ export const MentorshipAdminPage = () => { -
- +
+ Mentors @@ -229,7 +229,7 @@ export const MentorshipAdminPage = () => {
diff --git a/packages/frontend/src/features/mentorship/components/mentorship-apply.tsx b/packages/frontend/src/features/mentorship/components/mentorship-apply.tsx index 2355ed7..d222ba6 100644 --- a/packages/frontend/src/features/mentorship/components/mentorship-apply.tsx +++ b/packages/frontend/src/features/mentorship/components/mentorship-apply.tsx @@ -6,7 +6,7 @@ import { MentorshipIcons } from './icons'; export const MentorshipApply = () => { return ( - +

Apply for Mentorship

diff --git a/packages/frontend/src/features/resources/components/common/expanded-job-card.tsx b/packages/frontend/src/features/resources/components/common/expanded-job-card.tsx index beee9f0..63bca2e 100644 --- a/packages/frontend/src/features/resources/components/common/expanded-job-card.tsx +++ b/packages/frontend/src/features/resources/components/common/expanded-job-card.tsx @@ -91,7 +91,7 @@ export function ExpandedJobCard({ }; return ( - + {/* Job Details */} -
-
+
+
Experience

{opportunity.experience || 'Not specified'}

-
+
Location -

{location}

+

+ {location} +

-
+
Salary

{salaryRange}

-
+
Job Type

{opportunity.settings?.toString() || 'Not specified'} @@ -180,7 +182,7 @@ export function ExpandedJobCard({

{/* Apply Button */} - diff --git a/packages/frontend/src/features/resources/components/common/expanded-news-modal.tsx b/packages/frontend/src/features/resources/components/common/expanded-news-modal.tsx index eaa9693..17b4c15 100644 --- a/packages/frontend/src/features/resources/components/common/expanded-news-modal.tsx +++ b/packages/frontend/src/features/resources/components/common/expanded-news-modal.tsx @@ -34,9 +34,9 @@ export function ExpandedNewsModal({ }: ExpandedNewsModalProps) { return ( - + - + News @@ -44,8 +44,8 @@ export function ExpandedNewsModal({ -
-
+
+
{/* {newsTitle}
-

{newsTitle}

+

+ {newsTitle} +

- -

+ +

{description}

-
- {articleUrl && ( - diff --git a/packages/frontend/src/features/resources/components/common/featured-news-card.tsx b/packages/frontend/src/features/resources/components/common/featured-news-card.tsx index 038d368..536cfe6 100644 --- a/packages/frontend/src/features/resources/components/common/featured-news-card.tsx +++ b/packages/frontend/src/features/resources/components/common/featured-news-card.tsx @@ -109,7 +109,7 @@ export const FeaturedNewsCard = ({ }; return ( - + -
+
{/* Left Column - Image */} -
+
{/* Right Column - Content */} -
-

{title}

+
+

+ {title} +

-

+

{details}

@@ -171,7 +173,7 @@ export const FeaturedNewsCard = ({ {type}
-
+
{format(new Date(created_at), 'MMM d, yyyy')} diff --git a/packages/frontend/src/features/resources/components/common/job-card.tsx b/packages/frontend/src/features/resources/components/common/job-card.tsx index 9c3fb9e..e31a666 100644 --- a/packages/frontend/src/features/resources/components/common/job-card.tsx +++ b/packages/frontend/src/features/resources/components/common/job-card.tsx @@ -5,7 +5,7 @@ import { } from '@/shared/components/ui/avatar'; import { Button } from '@/shared/components/ui/button'; import { Card } from '@/shared/components/ui/card'; -import { Link } from 'lucide-react'; +import { EyeIcon, Link } from 'lucide-react'; import { WorkSettings } from '../../lib/constants/enums'; interface JobCardProps { @@ -53,55 +53,72 @@ export function JobCard({ }; return ( - -
+ +
-
- +
+ {company[0]} -
-
-

{job}

-

{company}

-
- -
-
- Experience -

{experience || 'Not specified'}

-
-
- Location -

{location}

-
-
- Salary -

- ${salary_range.from} - ${salary_range.to} + {/* Right pane: stacks content and actions on mobile, side-by-side on larger screens */} +

+
+
+

+ {job} +

+

+ {company}

-
- Job Type -

{settings}

+ +
+
+ Experience +

+ {experience || 'Not specified'} +

+
+
+ Location +

+ {location} +

+
+
+ Salary +

+ ${salary_range.from} - ${salary_range.to} +

+
+
+ Job Type +

{settings}

+
-
-
- - +
+ + +
diff --git a/packages/frontend/src/shared/components/pdf/pdf-preview-modal.tsx b/packages/frontend/src/shared/components/pdf/pdf-preview-modal.tsx index b589f9d..6c08aab 100644 --- a/packages/frontend/src/shared/components/pdf/pdf-preview-modal.tsx +++ b/packages/frontend/src/shared/components/pdf/pdf-preview-modal.tsx @@ -9,6 +9,7 @@ import { } from '@/shared/components/ui/dialog'; import { ScrollArea } from '@/shared/components/ui/scroll-area'; import { ReactNode } from 'react'; +import { cn } from '@/shared/lib/utils'; interface PdfPreviewModalAction { label: string; @@ -46,9 +47,9 @@ export function PdfPreviewModal({ filePath, children, actions = [], - maxWidth = 'min-w-[1000px]', - height = 'min-h-[800px]', - scrollAreaHeight = 'min-h-[600px]' + maxWidth = 'sm:min-w-[1000px]', + height = 'sm:min-h-[800px]', + scrollAreaHeight = 'sm:min-h-[600px]' }: PdfPreviewModalProps) { const defaultActions: PdfPreviewModalAction[] = [ { @@ -62,18 +63,27 @@ export function PdfPreviewModal({ return ( - + - + {title} - {description && {description}} + {description && ( + + {description} + + )}
- + @@ -81,14 +91,14 @@ export function PdfPreviewModal({
{modalActions.length > 0 && ( -
+
{modalActions.map((action, index) => (