From c8b5b7be6bdfb2fb2765bb64cb17608e20ab22f7 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Sat, 8 Feb 2025 23:46:47 +0330 Subject: [PATCH 01/21] added date picker --- frontend/package-lock.json | 51 +++++++++++++++++++++++++++++++++++++- frontend/package.json | 3 ++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4ba8abb..619a606 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -29,7 +29,8 @@ "vue": "latest", "vue-router": "latest", "vue-scrollto": "^2.20.0", - "vue-skeletor": "^1.0.6" + "vue-skeletor": "^1.0.6", + "vue3-persian-datetime-picker": "^1.2.2" }, "devDependencies": { "@nuxt/test-utils": "^3.15.4", @@ -7528,6 +7529,12 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jalaali-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.7.tgz", + "integrity": "sha512-gE+YHWSbygYAoJa+Xg8LWxGILqFOxZSBQQw39ghel01fVFUxV7bjL0x1JFsHcLQ3uPjvn81HQMa+kxwyPWnxGQ==", + "license": "MIT" + }, "node_modules/jiti": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", @@ -8520,6 +8527,39 @@ "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==", "license": "MIT" }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/moment-jalaali": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.9.6.tgz", + "integrity": "sha512-v8wXjQplvk5ez+sUqgsWIrafwIf1BEXXvzTYwsg1wHcqh27nSgKPCJ6FnZRrCz03MoNyB9N31L0oms+vE8Rq7g==", + "license": "MIT", + "dependencies": { + "jalaali-js": "^1.1.0", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "rimraf": "^3.0.2" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.47", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.47.tgz", + "integrity": "sha512-UbNt/JAWS0m/NJOebR0QMRHBk0hu03r5dx9GK8Cs0AS3I81yDcOc9k+DytPItgVvBP7J6Mf6U2n3BPAacAV9oA==", + "license": "MIT", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -12704,6 +12744,15 @@ "integrity": "sha512-ER4vHlFSXCW3ixK2DlczUE6CZliHsn4d2TvZ9/26C6Oq8zoyEY23BsqweMPtF8QULSz1+G5m2New1BwKNVOZhQ==", "license": "MIT" }, + "node_modules/vue3-persian-datetime-picker": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vue3-persian-datetime-picker/-/vue3-persian-datetime-picker-1.2.2.tgz", + "integrity": "sha512-d7nkj5vgtUvEXZboSdRmP1uwBfXvXgXqdvsOOMQb34jiMZU/aBDrTYWTEe1N+XKF9pvTTJn8Rws9ttJmyhK/hw==", + "license": "MIT", + "dependencies": { + "moment-jalaali": "^0.9.4" + } + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 1c2f2e2..518b021 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -35,7 +35,8 @@ "vue": "latest", "vue-router": "latest", "vue-scrollto": "^2.20.0", - "vue-skeletor": "^1.0.6" + "vue-skeletor": "^1.0.6", + "vue3-persian-datetime-picker": "^1.2.2" }, "devDependencies": { "@nuxt/test-utils": "^3.15.4", From 22095b8540d7d562620a56964100ec8a6e8b1733 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Sat, 8 Feb 2025 23:46:56 +0330 Subject: [PATCH 02/21] customized date picker --- frontend/assets/css/tailwind.css | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/frontend/assets/css/tailwind.css b/frontend/assets/css/tailwind.css index c4265cd..daa5770 100644 --- a/frontend/assets/css/tailwind.css +++ b/frontend/assets/css/tailwind.css @@ -271,4 +271,40 @@ button { @apply cursor-pointer; } + + .vpd-main { + @apply !w-full !border-none !p-0; + } + + .vpd-input-group { + @apply !flex-row-reverse; + } + + .vpd-input-group > input { + @apply !border-e-0 !rounded-none !rounded-s-100 !px-4; + } + + .vpd-input-group > label { + @apply !rounded-e-100; + } + + .vpd-main > .vpd-wrapper > .vpd-container { + @apply !rounded-xl !overflow-hidden; + } + + .vpd-main.error > .vpd-input-group > #vpd-vpd-date-picker { + @apply border-danger-600 border-2; + } + + .vpd-main > .vpd-input-group > .vpd-icon-btn { + @apply !bg-black; + } + + .vpd-main.error > .vpd-input-group > .vpd-icon-btn { + @apply bg-danger-600 border-danger-600 border-t-2 border-r-2 border-b; + } + + .vpd-controls button { + @apply flex justify-center items-center; + } } From 490f7e9a7a2bb1e5ff051db2a81ef777bc353383 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Sat, 8 Feb 2025 23:47:07 +0330 Subject: [PATCH 03/21] added date picker component --- frontend/components/global/Datepicker.vue | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 frontend/components/global/Datepicker.vue diff --git a/frontend/components/global/Datepicker.vue b/frontend/components/global/Datepicker.vue new file mode 100644 index 0000000..5cabbeb --- /dev/null +++ b/frontend/components/global/Datepicker.vue @@ -0,0 +1,48 @@ + + + From ee3821f57d3330d8d3a2f8e2d4a0f3dfc9e259f0 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Sat, 8 Feb 2025 23:47:19 +0330 Subject: [PATCH 04/21] added alt for user profile --- frontend/components/global/Header.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/components/global/Header.vue b/frontend/components/global/Header.vue index d94de13..0ee91ea 100644 --- a/frontend/components/global/Header.vue +++ b/frontend/components/global/Header.vue @@ -43,7 +43,7 @@ const isHomePage = computed(() => route.path === "/"); ? `${account.first_name.charAt( 0 )} ${account.last_name.charAt(0)}` - : '' + : 'بدون نام کاربری' " /> From 4925f0d0641ca87c0ae38f976b10b0114cb2c93a Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Sat, 8 Feb 2025 23:47:35 +0330 Subject: [PATCH 05/21] changed input defaults --- frontend/components/global/Input.vue | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/components/global/Input.vue b/frontend/components/global/Input.vue index 7481b6b..f467f30 100644 --- a/frontend/components/global/Input.vue +++ b/frontend/components/global/Input.vue @@ -5,15 +5,17 @@ type Props = { error?: boolean; message?: string; placeholder?: string; - modelValue?: string; + modelValue: string; }; // props const props = withDefaults(defineProps(), { variant: "solid", + disabled: false, + placeholder: "وارد نشده", }); -const { variant, message, error, disabled } = toRefs(props); +const { variant, message, error, disabled, modelValue } = toRefs(props); // emits @@ -25,6 +27,11 @@ const inputRef = ref(null); // computed +const value = computed({ + get: () => modelValue.value ?? "", + set: (value) => emit("update:modelValue", value), +}); + const classes = computed(() => { return [ "flex items-center text-black justify-between cursor-text transition-all border-[1.5px] gap-3 typo-label-md px-4 py-3.5 selection:bg-slate-100 rounded-100", @@ -38,12 +45,6 @@ const classes = computed(() => { }, ]; }); - -// methods - -const onInput = (e: any) => { - emit("update:modelValue", e.target.value); -};