From: Muhammad Rizki <[email protected]>
To: Ammar Faizi <[email protected]>
Cc: Muhammad Rizki <[email protected]>,
Alviro Iskandar Setiawan <[email protected]>,
Dwiky Rizky Ananditya <[email protected]>,
GNU/Weeb Mailing List <[email protected]>
Subject: [PATCH v1 00/16] Refactor GNU/Weeb Mail Site
Date: Sun, 19 Jan 2025 07:38:53 +0700 [thread overview]
Message-ID: <[email protected]> (raw)
Hello everyone,
This series refactors the `mail.gnuweeb.org` website to adopt a more
modern architecture. The migration uses shadcn-svelte and sveltekit
superforms to improve development efficiency, maintainability,
and user experience.
The changes in this series include:
1. Refactored login page:
- A new user-friendly login form was added with built-in validation
using sveltekit superforms and zod.
2. Refactored home page:
- The home page was redesigned to align with modern UI/UX standards.
- shadcn-svelte components like buttons, inputs, and cards were
used to ensure consistency and accessibility.
Key benefits of this refactor include:
- Improved modularity and code reuse through sveltekit's
component-based architecture.
- Enhanced maintainability with better organization and modern
libraries.
Future enhancements may include adding animations, responsive design
improvements, and expanding form validation capabilities.
Any feedback, issues, or bugs, just tell me!
Kiizuha Kanazawa (15):
feat(routes): configure page layout options
feat(fonts): add Google fonts
feat(components): add shadcn-svelte components
feat(deps): add `axios` as HTTP client
feat(deps): add `svelte-copy` dependency
feat(constants): add navigations and mail-config constant
feat(components): add loading spinner component
feat(components): add header component
feat: initial hooks, schemas, typings for the login functions
feat(components): add app-sidebar component
feat(routes): create initial settings page
feat(routes): add home page
feat(routes): add main layout for the protected routes
feat(routes): add login page
chore(.gitignore): add patch files ignore
Muhammad Rizki (1):
chore: update README.md
.gitignore | 4 +
README.md | 117 +-
components.json | 17 +
package-lock.json | 10026 +++++++++-------
package.json | 17 +-
src/app.css | 111 +
src/lib/components/customs/app-sidebar.svelte | 74 +
src/lib/components/customs/header.svelte | 32 +
src/lib/components/customs/loading.svelte | 21 +
.../ui/breadcrumb/breadcrumb-ellipsis.svelte | 23 +
.../ui/breadcrumb/breadcrumb-item.svelte | 16 +
.../ui/breadcrumb/breadcrumb-link.svelte | 31 +
.../ui/breadcrumb/breadcrumb-list.svelte | 23 +
.../ui/breadcrumb/breadcrumb-page.svelte | 23 +
.../ui/breadcrumb/breadcrumb-separator.svelte | 27 +
.../ui/breadcrumb/breadcrumb.svelte | 15 +
src/lib/components/ui/breadcrumb/index.ts | 25 +
src/lib/components/ui/button/button.svelte | 81 +
src/lib/components/ui/button/index.ts | 17 +
.../components/ui/card/card-content.svelte | 16 +
.../ui/card/card-description.svelte | 16 +
src/lib/components/ui/card/card-footer.svelte | 16 +
src/lib/components/ui/card/card-header.svelte | 16 +
src/lib/components/ui/card/card-title.svelte | 25 +
src/lib/components/ui/card/card.svelte | 20 +
src/lib/components/ui/card/index.ts | 22 +
src/lib/components/ui/form/form-button.svelte | 7 +
.../ui/form/form-description.svelte | 17 +
.../ui/form/form-element-field.svelte | 30 +
.../ui/form/form-field-errors.svelte | 30 +
src/lib/components/ui/form/form-field.svelte | 30 +
.../components/ui/form/form-fieldset.svelte | 21 +
src/lib/components/ui/form/form-label.svelte | 21 +
src/lib/components/ui/form/form-legend.svelte | 17 +
src/lib/components/ui/form/index.ts | 33 +
src/lib/components/ui/input/index.ts | 7 +
.../components/ui/input/input-password.svelte | 46 +
src/lib/components/ui/input/input.svelte | 22 +
src/lib/components/ui/label/index.ts | 7 +
src/lib/components/ui/label/label.svelte | 19 +
src/lib/components/ui/separator/index.ts | 7 +
.../components/ui/separator/separator.svelte | 22 +
src/lib/components/ui/sheet/index.ts | 37 +
.../components/ui/sheet/sheet-content.svelte | 56 +
.../ui/sheet/sheet-description.svelte | 16 +
.../components/ui/sheet/sheet-footer.svelte | 20 +
.../components/ui/sheet/sheet-header.svelte | 20 +
.../components/ui/sheet/sheet-overlay.svelte | 19 +
.../components/ui/sheet/sheet-title.svelte | 16 +
src/lib/components/ui/sidebar/constants.ts | 6 +
.../components/ui/sidebar/context.svelte.ts | 79 +
src/lib/components/ui/sidebar/index.ts | 75 +
.../ui/sidebar/sidebar-content.svelte | 24 +
.../ui/sidebar/sidebar-footer.svelte | 21 +
.../ui/sidebar/sidebar-group-action.svelte | 36 +
.../ui/sidebar/sidebar-group-content.svelte | 21 +
.../ui/sidebar/sidebar-group-label.svelte | 34 +
.../ui/sidebar/sidebar-group.svelte | 21 +
.../ui/sidebar/sidebar-header.svelte | 21 +
.../ui/sidebar/sidebar-input.svelte | 23 +
.../ui/sidebar/sidebar-inset.svelte | 24 +
.../ui/sidebar/sidebar-menu-action.svelte | 43 +
.../ui/sidebar/sidebar-menu-badge.svelte | 29 +
.../ui/sidebar/sidebar-menu-button.svelte | 95 +
.../ui/sidebar/sidebar-menu-item.svelte | 21 +
.../ui/sidebar/sidebar-menu-skeleton.svelte | 36 +
.../ui/sidebar/sidebar-menu-sub-button.svelte | 43 +
.../ui/sidebar/sidebar-menu-sub-item.svelte | 14 +
.../ui/sidebar/sidebar-menu-sub.svelte | 25 +
.../components/ui/sidebar/sidebar-menu.svelte | 21 +
.../ui/sidebar/sidebar-provider.svelte | 59 +
.../components/ui/sidebar/sidebar-rail.svelte | 36 +
.../ui/sidebar/sidebar-separator.svelte | 18 +
.../ui/sidebar/sidebar-trigger.svelte | 34 +
src/lib/components/ui/sidebar/sidebar.svelte | 98 +
src/lib/components/ui/skeleton/index.ts | 7 +
.../components/ui/skeleton/skeleton.svelte | 17 +
src/lib/components/ui/sonner/index.ts | 1 +
src/lib/components/ui/sonner/sonner.svelte | 20 +
src/lib/components/ui/tooltip/index.ts | 18 +
.../ui/tooltip/tooltip-content.svelte | 21 +
src/lib/constants/index.ts | 4 +
src/lib/constants/mail-config.ts | 48 +
src/lib/constants/navigations.ts | 15 +
src/lib/hooks/auth.svelte.ts | 64 +
src/lib/hooks/http.svelte.ts | 129 +
src/lib/hooks/is-mobile.svelte.ts | 27 +
src/lib/schemas/login.ts | 6 +
src/lib/typings/common.d.ts | 19 +
src/lib/typings/credential.d.ts | 7 +
src/lib/typings/http.d.ts | 27 +
src/lib/typings/index.ts | 13 +
src/lib/utilities/index.ts | 3 +
src/lib/utilities/styling.ts | 6 +
src/routes/(protected)/+layout.svelte | 19 +
src/routes/(protected)/+layout.ts | 11 +
src/routes/(protected)/home/+page.svelte | 70 +
src/routes/(protected)/settings/+page.svelte | 1 +
src/routes/+layout.ts | 2 +
src/routes/+page.svelte | 124 +-
src/routes/+page.ts | 17 +
tailwind.config.ts | 91 +-
102 files changed, 8587 insertions(+), 4508 deletions(-)
create mode 100644 components.json
create mode 100644 src/lib/components/customs/app-sidebar.svelte
create mode 100644 src/lib/components/customs/header.svelte
create mode 100644 src/lib/components/customs/loading.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-item.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-link.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-list.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-page.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte
create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb.svelte
create mode 100644 src/lib/components/ui/breadcrumb/index.ts
create mode 100644 src/lib/components/ui/button/button.svelte
create mode 100644 src/lib/components/ui/button/index.ts
create mode 100644 src/lib/components/ui/card/card-content.svelte
create mode 100644 src/lib/components/ui/card/card-description.svelte
create mode 100644 src/lib/components/ui/card/card-footer.svelte
create mode 100644 src/lib/components/ui/card/card-header.svelte
create mode 100644 src/lib/components/ui/card/card-title.svelte
create mode 100644 src/lib/components/ui/card/card.svelte
create mode 100644 src/lib/components/ui/card/index.ts
create mode 100644 src/lib/components/ui/form/form-button.svelte
create mode 100644 src/lib/components/ui/form/form-description.svelte
create mode 100644 src/lib/components/ui/form/form-element-field.svelte
create mode 100644 src/lib/components/ui/form/form-field-errors.svelte
create mode 100644 src/lib/components/ui/form/form-field.svelte
create mode 100644 src/lib/components/ui/form/form-fieldset.svelte
create mode 100644 src/lib/components/ui/form/form-label.svelte
create mode 100644 src/lib/components/ui/form/form-legend.svelte
create mode 100644 src/lib/components/ui/form/index.ts
create mode 100644 src/lib/components/ui/input/index.ts
create mode 100644 src/lib/components/ui/input/input-password.svelte
create mode 100644 src/lib/components/ui/input/input.svelte
create mode 100644 src/lib/components/ui/label/index.ts
create mode 100644 src/lib/components/ui/label/label.svelte
create mode 100644 src/lib/components/ui/separator/index.ts
create mode 100644 src/lib/components/ui/separator/separator.svelte
create mode 100644 src/lib/components/ui/sheet/index.ts
create mode 100644 src/lib/components/ui/sheet/sheet-content.svelte
create mode 100644 src/lib/components/ui/sheet/sheet-description.svelte
create mode 100644 src/lib/components/ui/sheet/sheet-footer.svelte
create mode 100644 src/lib/components/ui/sheet/sheet-header.svelte
create mode 100644 src/lib/components/ui/sheet/sheet-overlay.svelte
create mode 100644 src/lib/components/ui/sheet/sheet-title.svelte
create mode 100644 src/lib/components/ui/sidebar/constants.ts
create mode 100644 src/lib/components/ui/sidebar/context.svelte.ts
create mode 100644 src/lib/components/ui/sidebar/index.ts
create mode 100644 src/lib/components/ui/sidebar/sidebar-content.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-footer.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-group-action.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-group-content.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-group-label.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-group.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-header.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-input.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-inset.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-action.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-badge.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-button.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-item.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu-sub.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-menu.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-provider.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-rail.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-separator.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar-trigger.svelte
create mode 100644 src/lib/components/ui/sidebar/sidebar.svelte
create mode 100644 src/lib/components/ui/skeleton/index.ts
create mode 100644 src/lib/components/ui/skeleton/skeleton.svelte
create mode 100644 src/lib/components/ui/sonner/index.ts
create mode 100644 src/lib/components/ui/sonner/sonner.svelte
create mode 100644 src/lib/components/ui/tooltip/index.ts
create mode 100644 src/lib/components/ui/tooltip/tooltip-content.svelte
create mode 100644 src/lib/constants/index.ts
create mode 100644 src/lib/constants/mail-config.ts
create mode 100644 src/lib/constants/navigations.ts
create mode 100644 src/lib/hooks/auth.svelte.ts
create mode 100644 src/lib/hooks/http.svelte.ts
create mode 100644 src/lib/hooks/is-mobile.svelte.ts
create mode 100644 src/lib/schemas/login.ts
create mode 100644 src/lib/typings/common.d.ts
create mode 100644 src/lib/typings/credential.d.ts
create mode 100644 src/lib/typings/http.d.ts
create mode 100644 src/lib/typings/index.ts
create mode 100644 src/lib/utilities/index.ts
create mode 100644 src/lib/utilities/styling.ts
create mode 100644 src/routes/(protected)/+layout.svelte
create mode 100644 src/routes/(protected)/+layout.ts
create mode 100644 src/routes/(protected)/home/+page.svelte
create mode 100644 src/routes/(protected)/settings/+page.svelte
create mode 100644 src/routes/+layout.ts
create mode 100644 src/routes/+page.ts
base-commit: 75cf01a9e32273e97942c3fae90749a8b69e9821
--
Muhammad Rizki
next reply other threads:[~2025-01-19 0:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-19 0:38 Muhammad Rizki [this message]
2025-01-19 0:38 ` [PATCH v1 01/16] feat(routes): configure page layout options Muhammad Rizki
2025-01-19 0:38 ` [PATCH v1 02/16] feat(fonts): add Google fonts Muhammad Rizki
2025-01-19 0:38 ` [PATCH v1 03/16] feat(components): add shadcn-svelte components Muhammad Rizki
2025-01-19 0:38 ` [PATCH v1 04/16] feat(deps): add `axios` as HTTP client Muhammad Rizki
2025-01-19 0:38 ` [PATCH v1 05/16] feat(deps): add `svelte-copy` dependency Muhammad Rizki
2025-01-19 0:38 ` [PATCH v1 06/16] feat(constants): add navigations and mail-config constant Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 07/16] feat(components): add loading spinner component Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 08/16] feat(components): add header component Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 09/16] feat: initial hooks, schemas, typings for the login functions Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 10/16] feat(components): add app-sidebar component Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 11/16] feat(routes): create initial settings page Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 12/16] feat(routes): add home page Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 13/16] feat(routes): add main layout for the protected routes Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 14/16] feat(routes): add login page Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 15/16] chore(.gitignore): add patch files ignore Muhammad Rizki
2025-01-19 0:39 ` [PATCH v1 16/16] chore: update README.md Muhammad Rizki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox