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
36 changes: 28 additions & 8 deletions apps/web/src/components/project/allProjectCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
import PopoverExitProject from './popoverExitProject';
import { useRouter } from 'next/navigation';
import Link from 'next/link';
import { cn } from '@/lib/utils';
import { projectTypeCodeMap } from '@/src/constant/map';

export default function AllProjectCard({
projectId,
Expand All @@ -26,17 +28,30 @@ export default function AllProjectCard({

return (
<div
className="bg-background border-black border-2 rounded-lg space-y-14 p-5 hover:cursor-pointer hover:shadow-2xl duration-300"
className={cn(
'bg-gray-100',
'rounded-lg p-5 flex flex-col gap-6',
'hover:cursor-pointer hover:shadow-2xl duration-300 transition-all',
)}
onClick={() => {
router.push(`/project/${projectId}`);
}}
>
<div
className="flex justify-end"
className="flex justify-between items-start"
onClick={(e) => {
e.stopPropagation();
}}
>
<div className="flex flex-col">
<div className="text-xl font-semibold text-left">
{projectCode}
<div className="text-sm font-normal overflow-hidden whitespace-break-spaces text-ellipsis">
{projectName}
</div>
</div>
</div>

<Popover>
<PopoverTrigger>
<EllipsisVertical />
Expand All @@ -63,12 +78,17 @@ export default function AllProjectCard({
</PopoverContent>
</Popover>
</div>
<div>
<div className="text-4xl font-bold text-center">
{projectCode}
<div className="font-medium text-base overflow-hidden whitespace-nowrap text-ellipsis">
{projectName} {isJoined ? '(เข้าร่วมแล้ว)' : '(ยังไม่เข้าร่วม)'}
</div>

<div className="flex flex-row justify-between items-center">
<div className="text-neutral-500 font-normal text-sm">
โครงการฝ่าย{projectTypeCodeMap[projectType]}
</div>
<div className="font-normal text-sm">
{isJoined ? (
<span className="text-green-500">เข้าร่วมแล้ว</span>
) : (
<span className="text-rose-500">ยังไม่เข้าร่วม</span>
)}
</div>
</div>
</div>
Expand Down
50 changes: 33 additions & 17 deletions apps/web/src/constant/map.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,77 +2,77 @@ import { ProjectType, DocumentActivity, ObjectiveType } from '@repo/shared';

export const projectTypeMap = [
{
label: "10xx - โครงการฝ่ายกิจการภายใน",
label: '10xx - โครงการฝ่ายกิจการภายใน',
value: ProjectType.INTERNAL_AFFAIR,
},
{
label: "11xx - โครงการฝ่ายศิลปะและวัฒนธรรม",
label: '11xx - โครงการฝ่ายศิลปะและวัฒนธรรม',
value: ProjectType.ARTS_CULTURE_AFFAIR,
},
{
label: "12xx - โครงการฝ่ายกีฬา",
label: '12xx - โครงการฝ่ายกีฬา',
value: ProjectType.SPORTS_AFFAIR,
},
{
label: "13xx - โครงการฝ่ายพัฒนาสังคมและบำเพ็ญประโยชน์",
label: '13xx - โครงการฝ่ายพัฒนาสังคมและบำเพ็ญประโยชน์',
value: ProjectType.SOCIAL_SERVICE_AFFAIR,
},
{
label: "14xx - โครงการสวัสดิการนิสิตและสิ่งแวดล้อม",
label: '14xx - โครงการสวัสดิการนิสิตและสิ่งแวดล้อม',
value: ProjectType.STUDENTS_WELFARE_ENV_AFFAIR,
},
{
label: "20xx - โครงการฝ่ายกิจการภายนอก",
label: '20xx - โครงการฝ่ายกิจการภายนอก',
value: ProjectType.EXTERNAL_AFFAIR,
},
{
label: "30xx - โครงการฝ่ายนิสิตสัมพันธ์",
label: '30xx - โครงการฝ่ายนิสิตสัมพันธ์',
value: ProjectType.NISITSUMPAN_AFFAIR,
},
{
label: "40xx - โครงการฝ่ายเทคโนโลยี",
label: '40xx - โครงการฝ่ายเทคโนโลยี',
value: ProjectType.TECH_AFFAIR,
},
{
label: "50xx - โครงการฝ่ายพัฒนาองค์กร",
label: '50xx - โครงการฝ่ายพัฒนาองค์กร',
value: ProjectType.ORGANIZATION_AFFAIR,
},
{
label: "60xx - โครงการฝ่ายประชาสัมพันธ์และการตลาด",
label: '60xx - โครงการฝ่ายประชาสัมพันธ์และการตลาด',
value: ProjectType.PR_MARGETING_AFFAIR,
},
{
label: "70xx - โครงการฝ่ายวิชาการ",
label: '70xx - โครงการฝ่ายวิชาการ',
value: ProjectType.ACADEMICS_AFFAIR,
},
{
label: "80xx - โครงการอื่นๆของกวศ.",
label: '80xx - โครงการอื่นๆของกวศ.',
value: ProjectType.OTHER_ESC,
},
{
label: "90xx - โครงการฝ่ายสำนักงานและพัสดุ",
label: '90xx - โครงการฝ่ายสำนักงานและพัสดุ',
value: ProjectType.OFFICE_SUPPLY_AFFAIR,
},
];

export const DocumentActivityMapForUser = [
{
label: "สร้างเอกสาร",
label: 'สร้างเอกสาร',
value: DocumentActivity.CREATE,
},
{
label: "แก้ไขเอกสาร",
label: 'แก้ไขเอกสาร',
value: DocumentActivity.EDIT,
},
];

export const DocumentActivityMapForAdmin = [
{
label: "ตอบกลับ",
label: 'ตอบกลับ',
value: DocumentActivity.REPLY,
},
{
label: "แก้ไขเอกสาร",
label: 'แก้ไขเอกสาร',
value: DocumentActivity.EDIT,
},
];
Expand Down Expand Up @@ -151,3 +151,19 @@ export const ObjectiveTypeMap = [
value: ObjectiveType.THAI_IDENTITY_GLOBALIZATION,
},
];

export const projectTypeCodeMap: Record<string, string> = {
'10': 'กิจการภายใน',
'11': 'ศิลปะและวัฒนธรรม',
'12': 'กีฬา',
'13': 'พัฒนาสังคมและบำเพ็ญประโยชน์',
'14': 'สวัสดิการนิสิตและสิ่งแวดล้อม',
'20': 'กิจการภายนอก',
'30': 'นิสิตสัมพันธ์',
'40': 'เทคโนโลยี',
'50': 'พัฒนาองค์กร',
'60': 'ประชาสัมพันธ์และการตลาด',
'70': 'วิชาการ',
'80': 'อื่นๆของกวศ',
'90': 'สำนักงานและพัสดุ',
};