Skip to content

Commit

Permalink
refactor(admin): modal folder structure and some ux writing
Browse files Browse the repository at this point in the history
  • Loading branch information
punchanabu committed Dec 22, 2024
1 parent a78b699 commit 2331e69
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
let contentFiles: File[] = [];
let documentFiles: File[] = [];
let mainCoverIndex = 0;
let variant: 'announcement' | 'statistic' = 'announcement';
let dragOver = {
cover: false,
content: false,
Expand Down Expand Up @@ -103,7 +104,7 @@
<form on:submit|preventDefault={handleSubmit} class="space-y-6">
<!-- Title -->
<div class="space-y-1">
<span class="text-sm text-sucu-dark-gray font-semibold">ชื่อประกาศ</span>
<span class="text-sm text-sucu-dark-gray font-semibold">{variant === 'announcement' ? 'ชื่อประกาศ' : 'ชื่อสถิติ'}</span>
<input
type="text"
bind:value={title}
Expand All @@ -125,7 +126,7 @@
<!-- Cover Images Section -->
<div class="grid grid-cols-2 gap-4">
<div>
<span class="text-xl text-sucu-dark-gray font-semibold">เพิ่มรูปปกของหน้าประกาศ</span>
<span class="text-xl text-sucu-dark-gray font-semibold">{variant === 'announcement' ? 'เพิ่มรูปภาพของหน้าประกาศ' : 'เพิ่มรูปปกหน้าสถิติและงบประมาณ'}</span>
<input
type="file"
bind:this={coverFileInput}
Expand Down Expand Up @@ -192,7 +193,7 @@
<!-- Documents Section -->
<div class="grid grid-cols-2 gap-4">
<div>
<span class="text-sm text-sucu-dark-gray font-semibold text-xl">เพิ่มเอกสารในหน้าประกาศ</span>
<span class="text-sm text-sucu-dark-gray font-semibold text-xl">{variant === 'announcement' ? 'เพิ่มเอกสารในหน้าประกาศ' : 'เพิ่มเอกสารในหน้าสถิติและงบประมาณ'}</span>
<input
type="file"
bind:this={documentFileInput}
Expand Down
Empty file.
99 changes: 82 additions & 17 deletions src/lib/components/BackofficePlayground.svelte
Original file line number Diff line number Diff line change
@@ -1,27 +1,92 @@
<script lang="ts">
import { getModalStore } from '@skeletonlabs/skeleton';
import { createConfirmationModal } from './ConfirmationModal/ConfirmationModal';
const modalStore = getModalStore();
function showCustomModal() {
const customModal = createConfirmationModal({
title: '<div class="text-2xl font-bold sucu-gray-dark">ยืนยันการลบเอกสาร </div>',
body: '<div class="text-md sucu-gray">หากทำการยืนยันเอกสารที่เลือกจะถูกลบและไม่สามารถย้อนกลับได้</div>',
confirmText: 'ยืนยัน',
cancelText: 'ยกเลิก'
});
modalStore.trigger(customModal);
import CreateStatisticModal from './Backoffice/CreateStatisticModal.svelte';
import EditUserModal from './Backoffice/EditUserModal.svelte';
import ChangePasswordModal from './Backoffice/Modal/ChangePasswordModal.svelte';
let changePasswordModalOpen = false;
let StatisticModalOpen = false;
let confirmationModalOpen = false;
import ConfirmationModal from './Backoffice/ConfirmationModal.svelte';
let editUserModalOpen = false;
import CreateDocumentModal from './Backoffice/CreateDocumentModal.svelte';
let createDocumentModalOpen = false;
import CreateAnnouncementModal from './Backoffice/CreateAnnouncementModal.svelte';
let createAnnouncementModalOpen = false;
function showConfirmationModal() {
confirmationModalOpen = true;
}
function handleConfirm() {
console.log('Confirmed');
confirmationModalOpen = false;
}
function handleCancel() {
console.log('Cancelled');
confirmationModalOpen = false;
}
function showEditUserModal() {
editUserModalOpen = true;
}
</script>

<main class="h-screen">
<section class="section mb-5">
<h2 class="font-bold text-2xl mb-4">Custom Modal</h2>
<button
on:click={showCustomModal}
class="px-4 py-2 bg-rose-400 text-white rounded-lg"
>
Open Custom Modal
<div class="space-x-4">
<ConfirmationModal
bind:isOpen={confirmationModalOpen}
title="ยืนยันการลบเอกสาร"
body="หากทำการยืนยันเอกสารที่เลือกจะถูกลบและไม่สามารถย้อนกลับได้"
confirmText="ยืนยัน"
cancelText="ยกเลิก"
onConfirm={handleConfirm}
onCancel={handleCancel}
/>
<button
class="px-4 py-2 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"
on:click={showConfirmationModal}
>
Open Confirmation Modal
</button>

<button
class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"
on:click={() => StatisticModalOpen = true}
>
เปิดฟอร์มสถิติ
</button>

<button
class="px-4 py-2 bg-green-500 text-white rounded-lg hover:bg-green-600 transition-colors"
on:click={showEditUserModal}
>
แก้ไขผู้ใช้งาน
</button>
</div>

<CreateStatisticModal bind:open={StatisticModalOpen} />
<EditUserModal bind:open={editUserModalOpen} />

<button on:click={() => changePasswordModalOpen = true}>
เปลี่ยนรหัสผ่าน
</button>

<ChangePasswordModal bind:open={changePasswordModalOpen} />


<button on:click={() => createDocumentModalOpen = true}>
สร้างเอกสาร
</button>

<CreateDocumentModal bind:isOpen={createDocumentModalOpen} />



<button on:click={() => createAnnouncementModalOpen = true}>
สร้างประกาศ
</button>

<CreateAnnouncementModal bind:open={createAnnouncementModalOpen} />
</section>
</main>

0 comments on commit 2331e69

Please sign in to comment.