From 40bf33a9e58183dec3c781bd9c87344e56ad6eb4 Mon Sep 17 00:00:00 2001 From: Baobeld Date: Tue, 11 Feb 2025 17:15:19 -0500 Subject: [PATCH] Residents frontend page (#82) * create modal component * refactor app layout and add residents page * add residents page * fix story * fix error * add resident edit * allow resident delete * remove page transitions, use default actions --- messages/en.json | 10 ++ .../Actions/Modal/Modal.stories.svelte | 36 +++++++ src/lib/components/Actions/Modal/Modal.svelte | 21 ++++ .../Actions/Modal/ModalActions.svelte | 13 +++ .../components/Actions/Modal/ModalBody.svelte | 13 +++ src/lib/components/Actions/Modal/index.ts | 3 + src/lib/components/Actions/index.ts | 1 + .../Navigation/Navbar/Navbar.svelte | 2 +- .../Residents/ResidentTable.stories.svelte | 28 ++++++ .../components/Residents/ResidentTable.svelte | 53 ++++++++++ src/lib/components/Residents/index.ts | 2 + src/routes/+layout.svelte | 14 +-- src/routes/app/+layout.svelte | 52 ++++++---- src/routes/app/residents/+page.server.ts | 90 +++++++++++++++++ src/routes/app/residents/+page.svelte | 98 +++++++++++++++++++ src/routes/app/settings/+page.server.ts | 2 +- src/routes/app/settings/+page.svelte | 9 +- src/routes/app/sms/+page.server.ts | 2 +- src/routes/app/sms/+page.svelte | 5 +- 19 files changed, 415 insertions(+), 39 deletions(-) create mode 100644 src/lib/components/Actions/Modal/Modal.stories.svelte create mode 100644 src/lib/components/Actions/Modal/Modal.svelte create mode 100644 src/lib/components/Actions/Modal/ModalActions.svelte create mode 100644 src/lib/components/Actions/Modal/ModalBody.svelte create mode 100644 src/lib/components/Actions/Modal/index.ts create mode 100644 src/lib/components/Residents/ResidentTable.stories.svelte create mode 100644 src/lib/components/Residents/ResidentTable.svelte create mode 100644 src/lib/components/Residents/index.ts create mode 100644 src/routes/app/residents/+page.server.ts create mode 100644 src/routes/app/residents/+page.svelte diff --git a/messages/en.json b/messages/en.json index 26ac9c8..5a5a1e0 100644 --- a/messages/en.json +++ b/messages/en.json @@ -2,6 +2,7 @@ "$schema": "https://inlang.com/schema/inlang-message-format", "nav_greeting": "Hello {name}!", "nav_menu_sms": "SMS", + "nav_menu_residents": "Residents", "nav_menu_settings": "Settings", "nav_menu_logout": "Logout", "login_tab_login": "Login", @@ -21,6 +22,15 @@ "sms_label_phone": "Phone Number", "sms_label_message": "Message", "sms_button_submit": "Send Message", + "residents_title": "Residents", + "residents_button_new": "New Resident", + "residents_table_edit": "Edit", + "residents_modal_title_new": "Create a Resident", + "residents_modal_title_edit": "Edit Resident", + "residents_modal_submit": "Submit", + "residents_modal_delete": "Delete", + "residents_modal_label_name": "Name", + "residents_modal_label_phone": "Phone Number", "settings_title": "Settings", "settings_category_twilio": "Twilio Config", "settings_twilio_account_sid": "Account SID", diff --git a/src/lib/components/Actions/Modal/Modal.stories.svelte b/src/lib/components/Actions/Modal/Modal.stories.svelte new file mode 100644 index 0000000..13decdb --- /dev/null +++ b/src/lib/components/Actions/Modal/Modal.stories.svelte @@ -0,0 +1,36 @@ + + +{#snippet template({ children: _, ...props }: Partial>)} + + + +

Hello!

+

Press ESC key or click the button below to close

+ + + +
+
+{/snippet} + + diff --git a/src/lib/components/Actions/Modal/Modal.svelte b/src/lib/components/Actions/Modal/Modal.svelte new file mode 100644 index 0000000..0e71dfb --- /dev/null +++ b/src/lib/components/Actions/Modal/Modal.svelte @@ -0,0 +1,21 @@ + + + + {@render children?.()} + {#if backdrop} + + {/if} + diff --git a/src/lib/components/Actions/Modal/ModalActions.svelte b/src/lib/components/Actions/Modal/ModalActions.svelte new file mode 100644 index 0000000..05a6fc7 --- /dev/null +++ b/src/lib/components/Actions/Modal/ModalActions.svelte @@ -0,0 +1,13 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/Actions/Modal/ModalBody.svelte b/src/lib/components/Actions/Modal/ModalBody.svelte new file mode 100644 index 0000000..cd2b785 --- /dev/null +++ b/src/lib/components/Actions/Modal/ModalBody.svelte @@ -0,0 +1,13 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/Actions/Modal/index.ts b/src/lib/components/Actions/Modal/index.ts new file mode 100644 index 0000000..b23d2e1 --- /dev/null +++ b/src/lib/components/Actions/Modal/index.ts @@ -0,0 +1,3 @@ +export { default as Modal } from './Modal.svelte'; +export { default as ModalActions } from './ModalActions.svelte'; +export { default as ModalBody } from './ModalBody.svelte'; diff --git a/src/lib/components/Actions/index.ts b/src/lib/components/Actions/index.ts index ae34e39..cc6d312 100644 --- a/src/lib/components/Actions/index.ts +++ b/src/lib/components/Actions/index.ts @@ -1 +1,2 @@ export { default as Button } from './Button.svelte'; +export * from './Modal/'; diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte index ad57fe6..841f780 100644 --- a/src/lib/components/Navigation/Navbar/Navbar.svelte +++ b/src/lib/components/Navigation/Navbar/Navbar.svelte @@ -4,7 +4,7 @@ let { start, center, end }: { start?: Snippet; center?: Snippet; end?: Snippet } = $props(); -