From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1740264881; bh=+uvfMc/oJSjgvXi5FhjWYnp6E8P5VIhVhSpHCOuhe4k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Message-ID:Date:From:Reply-To:Subject:To: Cc:In-Reply-To:References:Resent-Date:Resent-From:Resent-To: Resent-Cc:User-Agent:Content-Type:Content-Transfer-Encoding; b=NUoqt1cDNFU2xag880GPt8FnSORlBZFroaruSfSEXg7gnKTBoHRAJyZIm8fURMT9x kTHptABTSoIoMFGRTFbbC1Tyq5TLtx3SBO0/E+QL0YKavVkueLwa20daNsHS4vgzpg je20X/YVBfDO6PYCCPN76lIUXN5LpkulfQuuBKQMdM4PUN3C1WkWCwhCa4iAOQRPqb 8M9e63I9dfG57gQdSBM2PRksMDAVUUaJLxbKXmFOgQtBD+aKtsH3xToZPeKjxXXySK QTf7tviTO3BSdGYtPofUEOatjRIf7TI+guzxWses3eO9UTBEUhgoPpPDRJcfU1xULx 1vbb6IyGuVdIw== Received: from localhost.localdomain (unknown [101.128.125.35]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id 53E1F20744C1; Sat, 22 Feb 2025 22:54:40 +0000 (UTC) From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: [PATCH v1 00/13] Add Profile & Account Management Date: Sun, 23 Feb 2025 05:54:06 +0700 Message-ID: <20250222225423.1377-1-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.45.2.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Hello everyone, This series adds settings page for user account management. Improvements and optimizations were applied in this series, it should be no issue. Note: Profile page currently is not editable, API is not available, yet. Dependencies were upgraded: - bits-ui Components were added: - avatar - radio-group - icon-roundcube Please give it a test, any issue please report, thanks. Muhammad Rizki (13): fix(toaster): add Toaster component chore(login): remove unnecessary default data feat(constants): add settingsNav data feat(typings/common): add disabled property for Navigations refactor: update HTTP client, typings, and login method chore(schema): rename login schema feat(ui): add avatar ui chore(sidebar-menu): add active menu style chore(ui/avatar): add select-none for avatar fallback chore(deps): upgrade bits-ui version feat(ui): add radio-group ui feat(sidebar-menu): add Roundcube link feat: add settings pages package-lock.json | 50 +++--- package.json | 2 +- src/lib/components/customs/app-sidebar.svelte | 62 ++++++- .../components/icons/icon-roundcube.svelte | 29 +++ .../ui/avatar/avatar-fallback.svelte | 19 ++ .../components/ui/avatar/avatar-image.svelte | 21 +++ src/lib/components/ui/avatar/avatar.svelte | 18 ++ src/lib/components/ui/avatar/index.ts | 13 ++ src/lib/components/ui/radio-group/index.ts | 10 ++ .../ui/radio-group/radio-group-item.svelte | 30 ++++ .../ui/radio-group/radio-group.svelte | 13 ++ .../ui/sidebar/sidebar-menu-button.svelte | 6 +- src/lib/constants/navigations.ts | 13 ++ src/lib/hooks/http.svelte.ts | 170 ++++++------------ src/lib/schemas/account-schema.ts | 12 ++ src/lib/schemas/{login.ts => login-schema.ts} | 0 src/lib/schemas/profile-schema.ts | 8 + src/lib/typings/common.d.ts | 2 + src/lib/typings/http.d.ts | 22 +-- src/lib/typings/index.ts | 5 +- src/routes/(protected)/+layout.ts | 14 +- .../(components)/settings-header.svelte | 13 ++ .../settings/(components)/settings-nav.svelte | 45 +++++ .../(protected)/settings/+layout.svelte | 28 +++ src/routes/(protected)/settings/+page.ts | 11 ++ .../(protected)/settings/account/+page.svelte | 107 +++++++++++ .../(protected)/settings/account/+page.ts | 9 + .../(protected)/settings/profile/+page.svelte | 170 ++++++++++++++++++ .../(protected)/settings/profile/+page.ts | 20 +++ src/routes/+layout.svelte | 3 + src/routes/+page.svelte | 50 +++--- src/routes/+page.ts | 9 +- 32 files changed, 781 insertions(+), 203 deletions(-) create mode 100644 src/lib/components/icons/icon-roundcube.svelte create mode 100644 src/lib/components/ui/avatar/avatar-fallback.svelte create mode 100644 src/lib/components/ui/avatar/avatar-image.svelte create mode 100644 src/lib/components/ui/avatar/avatar.svelte create mode 100644 src/lib/components/ui/avatar/index.ts create mode 100644 src/lib/components/ui/radio-group/index.ts create mode 100644 src/lib/components/ui/radio-group/radio-group-item.svelte create mode 100644 src/lib/components/ui/radio-group/radio-group.svelte create mode 100644 src/lib/schemas/account-schema.ts rename src/lib/schemas/{login.ts => login-schema.ts} (100%) create mode 100644 src/lib/schemas/profile-schema.ts create mode 100644 src/routes/(protected)/settings/(components)/settings-header.svelte create mode 100644 src/routes/(protected)/settings/(components)/settings-nav.svelte create mode 100644 src/routes/(protected)/settings/+layout.svelte create mode 100644 src/routes/(protected)/settings/+page.ts create mode 100644 src/routes/(protected)/settings/account/+page.svelte create mode 100644 src/routes/(protected)/settings/account/+page.ts create mode 100644 src/routes/(protected)/settings/profile/+page.svelte create mode 100644 src/routes/(protected)/settings/profile/+page.ts base-commit: a2cd4335e18ef0c32d6984dfe8718edf99ae0cd2 -- Muhammad Rizki