From: Muhammad Rizki <[email protected]>
To: Ammar Faizi <[email protected]>
Cc: Muhammad Rizki <[email protected]>,
Alviro Iskandar Setiawan <[email protected]>,
GNU/Weeb Mailing List <[email protected]>
Subject: [PATCH v1 02/17] refactor: optimize icon imports to reduce bundle size
Date: Wed, 5 Mar 2025 21:40:01 +0700 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
Previously, all lucide-Svelte icons were imported, increasing the bundle
size. This update changes the import to only include specific icons,
reducing the lucide-svelte-related bundle size.
Signed-off-by: Muhammad Rizki <[email protected]>
---
| 4 +++-
src/lib/components/ui/input/input-password.svelte | 3 ++-
src/lib/constants/navigations.ts | 3 ++-
src/routes/(protected)/settings/profile/+page.svelte | 4 ++--
4 files changed, 9 insertions(+), 5 deletions(-)
--git a/src/lib/components/customs/app-sidebar.svelte b/src/lib/components/customs/app-sidebar.svelte
index 2fba975..7ccc59c 100644
--- a/src/lib/components/customs/app-sidebar.svelte
+++ b/src/lib/components/customs/app-sidebar.svelte
@@ -3,7 +3,9 @@
import Separator from "$components/ui/separator/separator.svelte";
import * as Sidebar from "$lib/components/ui/sidebar";
import { useAuth } from "$lib/hooks/auth.svelte";
- import { LogOut, Mails, SquareArrowOutUpRight } from "lucide-svelte";
+ import LogOut from "lucide-svelte/icons/log-out";
+ import Mails from "lucide-svelte/icons/mails";
+ import SquareArrowOutUpRight from "lucide-svelte/icons/square-arrow-out-up-right";
import type { ComponentProps } from "svelte";
import { goto } from "$app/navigation";
import Button from "$components/ui/button/button.svelte";
diff --git a/src/lib/components/ui/input/input-password.svelte b/src/lib/components/ui/input/input-password.svelte
index ac1df87..6e2c1ab 100644
--- a/src/lib/components/ui/input/input-password.svelte
+++ b/src/lib/components/ui/input/input-password.svelte
@@ -3,7 +3,8 @@
import type { HTMLInputAttributes } from "svelte/elements";
import Input from "./input.svelte";
import Button from "$components/ui/button/button.svelte";
- import { EyeIcon, EyeOffIcon } from "lucide-svelte";
+ import EyeIcon from "lucide-svelte/icons/eye";
+ import EyeOffIcon from "lucide-svelte/icons/eye-off";
let {
ref = $bindable(null),
diff --git a/src/lib/constants/navigations.ts b/src/lib/constants/navigations.ts
index ada0e40..ca5e77b 100644
--- a/src/lib/constants/navigations.ts
+++ b/src/lib/constants/navigations.ts
@@ -1,5 +1,6 @@
import * as typing from "$typings";
-import { Home, Settings } from "lucide-svelte";
+import Home from "lucide-svelte/icons/home"
+import Settings from "lucide-svelte/icons/settings"
export const navigations: typing.Navigations[] = [
{
diff --git a/src/routes/(protected)/settings/profile/+page.svelte b/src/routes/(protected)/settings/profile/+page.svelte
index 442e271..05f62b8 100644
--- a/src/routes/(protected)/settings/profile/+page.svelte
+++ b/src/routes/(protected)/settings/profile/+page.svelte
@@ -3,7 +3,7 @@
import { superForm } from "sveltekit-superforms";
import { zodClient } from "sveltekit-superforms/adapters";
import { profileSchema } from "$lib/schemas/profile-schema";
- import { Pencil } from "lucide-svelte";
+ import Pencil from "lucide-svelte/icons/pencil";
import * as Avatar from "$lib/components/ui/avatar";
import * as Form from "$lib/components/ui/form";
import * as RadioGroup from "$lib/components/ui/radio-group";
@@ -18,7 +18,7 @@
const form = superForm(data.form, {
SPA: true,
- validators: zodClient(profileSchema),
+ validators: zodClient(profileSchema)
});
const getShortName = () => {
--
Muhammad Rizki
next prev parent reply other threads:[~2025-03-05 14:40 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-05 14:39 [PATCH v1 00/17] Profile Page, SEO, Fixed API structure, Docs Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 01/17] fix(typing): add user_info type prop Muhammad Rizki
2025-03-05 14:40 ` Muhammad Rizki [this message]
2025-03-05 14:40 ` [PATCH v1 03/17] chore(change-pwd): adjust change password heading styling Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 04/17] chore(settings/layout): use prose: for " Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 05/17] fix(profile): fix edit avatar button position Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 06/17] fix(breadcrumb): Move settingsNav to settings items navigations Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 07/17] chore(responsive): adjust styling Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 08/17] chore(navigations): Replace index /settings url Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 09/17] feat(ui): Add popover and dialog UI component Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 10/17] feat(http): Use PUBLIC_BASE_URL for each environment Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 11/17] feat(icons): Add social icons Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 12/17] feat(typing/enum): add Gender and IsActive enum Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 13/17] refactor!:feat: update API response structure, update profile page Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 14/17] chore(meta): rename favicon.png to favicon.ico Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 15/17] feat(seo): add SEO for site metadata Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 16/17] chore(login): use $derived() instead of function based Muhammad Rizki
2025-03-05 14:40 ` [PATCH v1 17/17] docs: update README.md Muhammad Rizki
2025-03-05 16:54 ` [PATCH v1 00/17] Profile Page, SEO, Fixed API structure, Docs Ammar Faizi
2025-03-05 16:57 ` Alviro Iskandar Setiawan
2025-03-06 7:01 ` Muhammad Rizki
2025-03-06 7:02 ` Alviro Iskandar Setiawan
2025-03-06 7:04 ` Muhammad Rizki
2025-03-06 2:02 ` Muhammad Rizki
2025-03-06 3:37 ` Ammar Faizi
2025-03-05 17:04 ` Ammar Faizi
2025-03-05 18:14 ` Alviro Iskandar Setiawan
2025-03-06 1:59 ` Muhammad Rizki
2025-03-06 3:35 ` Ammar Faizi
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] \
/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