diff --git a/nuxt.config.ts b/nuxt.config.ts index c57264a..2b5194a 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -121,6 +121,11 @@ export default defineNuxtConfig({ name: "hadithRules", path: "/hadith/rules", file: "~/systems/hadith_ui/pages/hadith/public-pages/rules.vue", + }, + { + name: "hadithLogin", + path: "/hadith/login", + file: "~/systems/hadith_ui/pages/hadith/login.vue", } // --------------------- end: hadith routes --------------------- @@ -172,6 +177,12 @@ export default defineNuxtConfig({ "@nuxt/image", // "@nuxtjs/supabase", ], + icon: { + customCollections: [{ + prefix: 'haditha', + dir: `./systems/${buildName}_ui/assets/${buildName}/svg` + }] + }, // ui: { // prefix: 'Nuxt', //Use the prefix option to change the prefix of the components. Default: U // fonts: false, // Use the fonts option to enable or disable the @nuxt/fonts module. Default: true diff --git a/package-lock.json b/package-lock.json index 1fda93b..22e891e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,8 @@ "i18next-vue": "^5.0.0", "jalali-moment": "^3.3.11", "jquery": "^3.7.1", + "lucide": "^0.477.0", + "lucide-vue-next": "^0.477.0", "mammoth": "^1.8.0", "mitt": "^3.0.1", "npm": "^11.1.0", @@ -54,9 +56,12 @@ "vue3-persian-datetime-picker": "^1.2.2", "vue3-tree-vue": "^2.0.11", "vuejs-paginate": "^2.1.0", - "vuejs-paginate-next": "^1.0.2" + "vuejs-paginate-next": "^1.0.2", + "zod": "^3.24.2" }, "devDependencies": { + "@iconify-json/lucide": "^1.2.28", + "@iconify-json/vscode-icons": "^1.2.16", "@nuxt/test-utils": "^3.14.4", "@nuxtjs/i18n": "^9.0.0-rc.2", "@types/bootstrap": "^5.2.10", @@ -1461,6 +1466,26 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@iconify-json/lucide": { + "version": "1.2.28", + "resolved": "https://registry.npmjs.org/@iconify-json/lucide/-/lucide-1.2.28.tgz", + "integrity": "sha512-SPeAoh1YKhALpNSto/FBspf3GZ0eAr3ka/OI7cJJ5HljLzycIITv0s4Rd2+sRVzFtD1I991mJJmYohQeOSZ+Og==", + "dev": true, + "license": "ISC", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/vscode-icons": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@iconify-json/vscode-icons/-/vscode-icons-1.2.16.tgz", + "integrity": "sha512-hstc2yVq2UJ6v6FrgjftzXRvphGZBsKxvSeXoFLP1Hgx89TPZKrGE5SV6vqsoeIlLYaQ7OZbXmAoVGroTfGmVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iconify/types": "*" + } + }, "node_modules/@iconify/collections": { "version": "1.0.516", "resolved": "https://registry.npmjs.org/@iconify/collections/-/collections-1.0.516.tgz", @@ -10930,6 +10955,21 @@ "dev": true, "license": "MIT" }, + "node_modules/lucide": { + "version": "0.477.0", + "resolved": "https://registry.npmjs.org/lucide/-/lucide-0.477.0.tgz", + "integrity": "sha512-lEgt1ni9sKohbLsYWSnM3mKVRkvUrJ3Ijj01RAdM5F0iyvxkCcy3gPrb1G2ux6zE4y20ptcitfMa0OOFXI57gw==", + "license": "ISC" + }, + "node_modules/lucide-vue-next": { + "version": "0.477.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.477.0.tgz", + "integrity": "sha512-C7azIKO7aJKf5MD7OIzV7NRDtnjXH3KSXfyJgGqRIMemuMzW/9esuMxDXIXDhBZcJgRtXMUN0FcJwOJZQ8SywA==", + "license": "ISC", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, "node_modules/magic-regexp": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/magic-regexp/-/magic-regexp-0.8.0.tgz", @@ -21009,6 +21049,15 @@ "node": ">= 14" } }, + "node_modules/zod": { + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/zrender": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz", diff --git a/package.json b/package.json index c952da0..58306a1 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,8 @@ "i18next-vue": "^5.0.0", "jalali-moment": "^3.3.11", "jquery": "^3.7.1", + "lucide": "^0.477.0", + "lucide-vue-next": "^0.477.0", "mammoth": "^1.8.0", "mitt": "^3.0.1", "npm": "^11.1.0", @@ -62,9 +64,12 @@ "vue3-persian-datetime-picker": "^1.2.2", "vue3-tree-vue": "^2.0.11", "vuejs-paginate": "^2.1.0", - "vuejs-paginate-next": "^1.0.2" + "vuejs-paginate-next": "^1.0.2", + "zod": "^3.24.2" }, "devDependencies": { + "@iconify-json/lucide": "^1.2.28", + "@iconify-json/vscode-icons": "^1.2.16", "@nuxt/test-utils": "^3.14.4", "@nuxtjs/i18n": "^9.0.0-rc.2", "@types/bootstrap": "^5.2.10", diff --git a/public/img/background.png b/public/img/background.png new file mode 100644 index 0000000..7ec7756 Binary files /dev/null and b/public/img/background.png differ diff --git a/systems/hadith_ui b/systems/hadith_ui index 7e9244e..658c28e 160000 --- a/systems/hadith_ui +++ b/systems/hadith_ui @@ -1 +1 @@ -Subproject commit 7e9244ede88d90ef35c40b5a181a504540d499c0 +Subproject commit 658c28e45c1cda4c0a27e282639cfdca13f4a34c diff --git a/yarn.lock b/yarn.lock index 3875d5b..48eeaa5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -536,6 +536,20 @@ resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz" integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== +"@iconify-json/lucide@^1.2.28": + version "1.2.28" + resolved "https://registry.npmjs.org/@iconify-json/lucide/-/lucide-1.2.28.tgz" + integrity sha512-SPeAoh1YKhALpNSto/FBspf3GZ0eAr3ka/OI7cJJ5HljLzycIITv0s4Rd2+sRVzFtD1I991mJJmYohQeOSZ+Og== + dependencies: + "@iconify/types" "*" + +"@iconify-json/vscode-icons@^1.2.16": + version "1.2.16" + resolved "https://registry.npmjs.org/@iconify-json/vscode-icons/-/vscode-icons-1.2.16.tgz" + integrity sha512-hstc2yVq2UJ6v6FrgjftzXRvphGZBsKxvSeXoFLP1Hgx89TPZKrGE5SV6vqsoeIlLYaQ7OZbXmAoVGroTfGmVQ== + dependencies: + "@iconify/types" "*" + "@iconify/collections@^1.0.496": version "1.0.516" resolved "https://registry.npmjs.org/@iconify/collections/-/collections-1.0.516.tgz" @@ -5830,6 +5844,16 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lucide-vue-next@^0.477.0: + version "0.477.0" + resolved "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.477.0.tgz" + integrity sha512-C7azIKO7aJKf5MD7OIzV7NRDtnjXH3KSXfyJgGqRIMemuMzW/9esuMxDXIXDhBZcJgRtXMUN0FcJwOJZQ8SywA== + +lucide@^0.477.0: + version "0.477.0" + resolved "https://registry.npmjs.org/lucide/-/lucide-0.477.0.tgz" + integrity sha512-lEgt1ni9sKohbLsYWSnM3mKVRkvUrJ3Ijj01RAdM5F0iyvxkCcy3gPrb1G2ux6zE4y20ptcitfMa0OOFXI57gw== + magic-regexp@^0.8.0: version "0.8.0" resolved "https://registry.npmjs.org/magic-regexp/-/magic-regexp-0.8.0.tgz" @@ -9814,6 +9838,11 @@ zip-stream@^6.0.1: compress-commons "^6.0.2" readable-stream "^4.0.0" +zod@^3.24.2: + version "3.24.2" + resolved "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz" + integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== + zrender@5.6.0: version "5.6.0" resolved "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz"