diff --git a/src/lib/assets/images/picslide1.jpg b/src/lib/assets/images/picslide1.jpg new file mode 100644 index 0000000..a77dac2 Binary files /dev/null and b/src/lib/assets/images/picslide1.jpg differ diff --git a/src/lib/assets/images/picslide2.jpg b/src/lib/assets/images/picslide2.jpg new file mode 100644 index 0000000..fd3ff83 Binary files /dev/null and b/src/lib/assets/images/picslide2.jpg differ diff --git a/src/lib/assets/images/picslide3.jpg b/src/lib/assets/images/picslide3.jpg new file mode 100644 index 0000000..fff0f2d Binary files /dev/null and b/src/lib/assets/images/picslide3.jpg differ diff --git a/src/lib/assets/images/picslide4.jpg b/src/lib/assets/images/picslide4.jpg new file mode 100644 index 0000000..9012273 Binary files /dev/null and b/src/lib/assets/images/picslide4.jpg differ diff --git a/src/lib/mock/announcement.ts b/src/lib/mock/announcement.ts new file mode 100644 index 0000000..825e854 --- /dev/null +++ b/src/lib/mock/announcement.ts @@ -0,0 +1,91 @@ +import { DocumentType, Role, type Document, type User } from '$lib/types'; +import dayjs from 'dayjs'; +import buddhistEra from 'dayjs/plugin/buddhistEra'; + +dayjs.extend(buddhistEra); +export // * mock data +const created_at_1 = '2022-01-01'; +const created_at_2 = '2023-01-01'; +const created_at_3 = '2024-01-01'; +const created_at_4 = '2025-01-01'; +const updated_at = '2030-02-01'; + +const sgcu_admin: User = { + id: '6000000000', + first_name: 'Admin', + last_name: 'Admin', + role: Role.SGCU_SUPERADMIN, + created_at: created_at_1, + updated_at +}; +const sccu_admin: User = { + id: '6000000001', + first_name: 'Admin', + last_name: 'Admin', + role: Role.SCCU_SUPERADMIN, + created_at: created_at_2, + updated_at +}; + +export const announcements: Document[] = [ + { + id: 'DOC-09649054', + title: 'เอกสารลับจากดัมเบิลดอร์', + content: 'เนื้อหาของเอกสารลับจากดัมเบิลดอร์', + user_id: sgcu_admin.id, + type_id: DocumentType.ANNOUNCEMENT, + created_at: created_at_3, + updated_at, + author: sgcu_admin + }, + { + id: 'DOC-09649055', + title: 'ประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต 00', + content: 'เนื้อหาของประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต', + user_id: sccu_admin.id, + type_id: DocumentType.ANNOUNCEMENT, + created_at: created_at_4, + updated_at, + author: sccu_admin + }, + { + id: 'DOC-09649056', + title: 'ประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต 01', + content: 'เนื้อหาของประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต', + user_id: sgcu_admin.id, + type_id: DocumentType.ANNOUNCEMENT, + created_at: created_at_4, + updated_at, + author: sgcu_admin + }, + { + id: 'DOC-09649056', + title: 'ประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต 02', + content: 'เนื้อหาของประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต', + user_id: sccu_admin.id, + type_id: DocumentType.BUDGET, + created_at: created_at_1, + updated_at, + author: sccu_admin + }, + { + id: 'DOC-09649058', + title: 'ประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต 03', + content: 'เนื้อหาของประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต', + user_id: sccu_admin.id, + type_id: DocumentType.STATISTIC, + created_at: created_at_1, + updated_at, + author: sgcu_admin + }, + { + id: 'DOC-09649060', + title: 'ประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต 04', + content: 'เนื้อหาของประกาศรับสมัครคณะกรรมาธิการวิสามัญพิจารณางบประมาณสโมสรนิสิต', + user_id: sccu_admin.id, + type_id: DocumentType.STATISTIC, + created_at: created_at_1, + updated_at, + author: sgcu_admin + } +]; diff --git a/src/routes/announcement/+page.svelte b/src/routes/announcement/+page.svelte new file mode 100644 index 0000000..9ec0fad --- /dev/null +++ b/src/routes/announcement/+page.svelte @@ -0,0 +1,254 @@ + + +
+
+ +
+ {#each image as img} +
+ pic +
+ {/each} +
+ +
+ + +
+
+ +

+ ประกาศ +

+
+

+ เอกสารทั้งหมดในนามสโมสรนิสิตจุฬาฯ อบจ. และสภานิสิตจุฬาฯ ซึ่งเปิดเผยให้นิสิตได้อ่านโดยทั่วกัน +

+
+ + + + + + ทั้งหมด + อบจ. + สภานิสิต + + + + + + changePage(variant, direction)} + documents={paginatedAll} + totalPages={totalPages.all} + variantKey="all" + /> + + + + changePage(variant, direction)} + documents={paginatedSGCU} + totalPages={totalPages.sgcu} + variantKey="sgcu" + /> + + + + changePage(variant, direction)} + documents={paginatedSCCU} + totalPages={totalPages.sccu} + variantKey="sccu" + /> + + +
+ + +
diff --git a/src/routes/announcement/+page.ts b/src/routes/announcement/+page.ts new file mode 100644 index 0000000..e9647ea --- /dev/null +++ b/src/routes/announcement/+page.ts @@ -0,0 +1,9 @@ +import type { PageLoad } from './$types'; +import 'dayjs/locale/th'; +import { announcements } from '$lib/mock/announcement'; + +export const load: PageLoad = async () => { + return { + announcements + }; +}; diff --git a/src/routes/announcement/AnnounceList.svelte b/src/routes/announcement/AnnounceList.svelte new file mode 100644 index 0000000..4f76667 --- /dev/null +++ b/src/routes/announcement/AnnounceList.svelte @@ -0,0 +1,46 @@ + + +{#if documents.length === 0} +

No documents available.

+{:else} + {#each documents as document, i} + + {/each} +{/if} + +
+ + +