diff --git a/README.md b/README.md index c5031ea..c12a209 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,4 @@ Inspiration, code snippets, icon, etc. - [Template Typescript](https://github.com/foxglove/template-typescript) by Foxglove. - [`shadcn` Vue](https://www.shadcn-vue.com/) - [`shadcn` UI Sidebar](https://github1s.com/salimi-my/shadcn-ui-sidebar) by Salimi +- [Iconify](https://iconify.design/) by Vjacheslav Trushkin diff --git a/package.json b/package.json index 124f4da..a5a5f68 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,9 @@ "component:add": "npx shadcn-vue@latest add" }, "devDependencies": { + "@iconify-json/lucide": "^1.1.198", + "@iconify-json/radix-icons": "^1.1.14", + "@iconify/vue": "^4.1.2", "@playwright/test": "^1.42.1", "@rushstack/eslint-patch": "^1.10.1", "@types/jsdom": "^21.1.6", @@ -42,9 +45,9 @@ "@vue/tsconfig": "^0.5.1", "@vueuse/core": "^10.11.0", "autoprefixer": "^10.4.19", - "cross-env": "^7.0.3", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", + "cross-env": "^7.0.3", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-playwright": "^1.5.4", @@ -53,7 +56,6 @@ "husky": "^9.0.11", "jsdom": "^24.0.0", "lint-staged": "^15.2.2", - "lucide-vue-next": "^0.398.0", "npm-run-all2": "^6.1.2", "postcss": "^8.4.38", "postcss-import": "^16.1.0", diff --git a/public/data/sidebar.json b/public/data/sidebar.json index 2c5faf1..fe4c8f3 100644 --- a/public/data/sidebar.json +++ b/public/data/sidebar.json @@ -2,7 +2,13 @@ { "groupLabel": "", "menus": [ - { "href": "/", "label": "Dashboard", "active": true, "icon": "LayoutGrid", "submenus": [] } + { + "href": "/", + "label": "Dashboard", + "active": true, + "icon": "lucide:layout-grid", + "submenus": [] + } ] }, { @@ -12,21 +18,33 @@ "href": "", "label": "Posts", "active": false, - "icon": "SquarePen", + "icon": "lucide:square-pen", "submenus": [ { "href": "/", "label": "All Posts", "active": false }, { "href": "/", "label": "New Post", "active": false } ] }, - { "href": "/", "label": "Categories", "active": false, "icon": "Bookmark", "submenus": [] }, - { "href": "/", "label": "Tags", "active": false, "icon": "Tag", "submenus": [] } + { + "href": "/", + "label": "Categories", + "active": false, + "icon": "lucide:bookmark", + "submenus": [] + }, + { "href": "/", "label": "Tags", "active": false, "icon": "lucide:tag", "submenus": [] } ] }, { "groupLabel": "Settings", "menus": [ - { "href": "/", "label": "Users", "active": false, "icon": "Users", "submenus": [] }, - { "href": "/", "label": "Account", "active": false, "icon": "Settings", "submenus": [] } + { "href": "/", "label": "Users", "active": false, "icon": "lucide:users", "submenus": [] }, + { + "href": "/", + "label": "Account", + "active": false, + "icon": "lucide:settings", + "submenus": [] + } ] } ] diff --git a/src/App.vue b/src/App.vue index e2a175a..c03aa1f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,7 +6,7 @@ import { useGlobalStore } from "@/stores/use-global"; const globalStore = useGlobalStore(); onMounted(function () { globalStore.loadLocale(); - globalStore.loadTheme(); + globalStore.loadDarkMode(); }); diff --git a/src/components/LoginForm.vue b/src/components/LoginForm.vue index 82755d8..ac8831d 100644 --- a/src/components/LoginForm.vue +++ b/src/components/LoginForm.vue @@ -4,7 +4,6 @@ import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { cn } from "@/utils/classname"; import { ref } from "vue"; -import { Loader2 } from "lucide-vue-next"; const isLoading = ref(false); async function onSubmit(event: Event) { @@ -58,7 +57,7 @@ async function onSubmit(event: Event) { diff --git a/src/components/ui/dark-mode/DarkModeToggle.vue b/src/components/ui/dark-mode/DarkModeToggle.vue new file mode 100644 index 0000000..26946a7 --- /dev/null +++ b/src/components/ui/dark-mode/DarkModeToggle.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/components/ui/dark-mode/index.ts b/src/components/ui/dark-mode/index.ts new file mode 100644 index 0000000..dc99203 --- /dev/null +++ b/src/components/ui/dark-mode/index.ts @@ -0,0 +1 @@ +export { default as DarkModeToggle } from "./DarkModeToggle.vue"; diff --git a/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue index e4a2da4..7953d0a 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue @@ -1,38 +1,40 @@