diff --git a/.gitignore b/.gitignore index 9d78a2b8be2f6beac79d4fa4c2ad357b5d73500d..65d271cb9af9982e1f437b7d583b6ca4596113b9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ logs *.log npm-debug.log* +.yarn yarn-debug.log* yarn-error.log* pnpm-debug.log* @@ -29,3 +30,4 @@ coverage *.sw? *.tsbuildinfo +/.yarnrc.yml diff --git a/package.json b/package.json index 2ff40ecddc163a4d2ddb3a6aa753b1b30386b848..09eb325106801b80d0a4eae7a90fadbda11e52ce 100644 --- a/package.json +++ b/package.json @@ -62,5 +62,9 @@ "ecmaVersion": 2020 }, "rules": {} + }, + "volta": { + "node": "20.17.0", + "yarn": "4.5.0" } } diff --git a/src/app/assets/main.css b/src/app/assets/main.css index b47853571053b9a5d0bfbe1237d5e80d18155216..0932c7d841603dcf520d95b766f2db03f91745ce 100644 --- a/src/app/assets/main.css +++ b/src/app/assets/main.css @@ -285,9 +285,6 @@ input[type=file]::-webkit-file-upload-button { 0% { transform: scale(0); } - 50% { - transform: scale(1.25); - } 100% { transform: scale(1); } diff --git a/src/app/components.d.ts b/src/app/components.d.ts index 0cde006fd1bc6d43e96ae235e9198204515cae20..8d24d3dfa47e2fa3c35a9149c78f8ec47a578f5a 100644 --- a/src/app/components.d.ts +++ b/src/app/components.d.ts @@ -15,7 +15,9 @@ declare module 'vue' { BaseLoader: typeof import('./../shared/BaseLoader.vue')['default'] Button: typeof import('./../shared/ui/Button.vue')['default'] CloseCircle: typeof import('./../shared/icons/CloseCircle.vue')['default'] + ConfirmDeleteEntityModal: typeof import('./../modules/ConfirmDeleteEntityModal.vue')['default'] CreateEntityMenu: typeof import('./../components/CreateEntityMenu.vue')['default'] + CropIcon: typeof import('./../shared/icons/CropIcon.vue')['default'] CropImageModal: typeof import('./../modules/CropImageModal.vue')['default'] DashedIcon: typeof import('./../shared/icons/DashedIcon.vue')['default'] Divider: typeof import('./../shared/ui/Divider.vue')['default'] @@ -33,11 +35,8 @@ declare module 'vue' { HorizontalLineIcon: typeof import('./../shared/icons/HorizontalLineIcon.vue')['default'] ImageIcon: typeof import('./../shared/icons/ImageIcon.vue')['default'] ImageItem: typeof import('./../modules/entities/ImageItem.vue')['default'] - ImagePositionMenu: typeof import('./../components/entities/image/ImagePositionMenu.vue')['default'] ImageSettings: typeof import('./../components/entities/settings/ImageSettings.vue')['default'] ImageSettingsList: typeof import('./../components/entities/settings/lists/ImageSettingsList.vue')['default'] - ImageSizeMenu: typeof import('./../components/entities/image/ImageSizeMenu.vue')['default'] - ImageStateMenu: typeof import('./../components/entities/image/ImageStateMenu.vue')['default'] LogoAndLabel: typeof import('./../components/LogoAndLabel.vue')['default'] MenuDial: typeof import('./../shared/ui/MenuDial.vue')['default'] Modal: typeof import('./../shared/ui/Modal.vue')['default'] @@ -56,7 +55,6 @@ declare module 'vue' { SettingsIcon: typeof import('./../shared/icons/SettingsIcon.vue')['default'] SheetPage: typeof import('./../pages/[uuid]/SheetPage.vue')['default'] SidebarMenuContent: typeof import('./../modules/SidebarMenuContent.vue')['default'] - SidebarMenuHeader: typeof import('./../modules/SidebarMenuHeader.vue')['default'] SignIn: typeof import('./../pages/authorization/signIn.vue')['default'] SignUp: typeof import('./../pages/authorization/signUp.vue')['default'] Slider: typeof import('./../shared/ui/Slider.vue')['default'] diff --git a/src/components/PageMenuButton.vue b/src/components/PageMenuButton.vue index bd289f831e169b8a1616b991cffea34591937b45..604868448ca157e15807a7c0ffc93709fc30acff 100644 --- a/src/components/PageMenuButton.vue +++ b/src/components/PageMenuButton.vue @@ -3,7 +3,7 @@ const emit = defineEmits(['openMenu']); diff --git a/src/components/entities/share/TextFontMenu.vue b/src/components/entities/share/TextFontMenu.vue deleted file mode 100644 index a75bb2ce55a0b272edfc7d374a7ce5bd7c8924f7..0000000000000000000000000000000000000000 --- a/src/components/entities/share/TextFontMenu.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - diff --git a/src/components/entities/text/TextPositionMenu.vue b/src/components/entities/text/TextPositionMenu.vue deleted file mode 100644 index c8c48db7aab44c7b89418ebd59ed6b726476283f..0000000000000000000000000000000000000000 --- a/src/components/entities/text/TextPositionMenu.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - - diff --git a/src/components/entities/text/TextStateMenu.vue b/src/components/entities/text/TextStateMenu.vue deleted file mode 100644 index 961fad600aad952d3eddf8be5110ebc392f49e83..0000000000000000000000000000000000000000 --- a/src/components/entities/text/TextStateMenu.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - diff --git a/src/modules/ConfirmDeleteEntityModal.vue b/src/modules/ConfirmDeleteEntityModal.vue new file mode 100644 index 0000000000000000000000000000000000000000..157ad23bf5049841e9cf19b6085d17bbd4f820ab --- /dev/null +++ b/src/modules/ConfirmDeleteEntityModal.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/modules/CropImageModal.vue b/src/modules/CropImageModal.vue index 1e4c5eb1d3536b35b4925adf25a7f3a81b3b0ad8..6977648828d31e2aad8663586e3062d70b965296 100644 --- a/src/modules/CropImageModal.vue +++ b/src/modules/CropImageModal.vue @@ -90,11 +90,6 @@ const submitForm = () => { diff --git a/src/modules/PageHeader.vue b/src/modules/PageHeader.vue index c6d747ed52d49df57f305b138d6357be3bfd07c4..970214147200152328a3e56b4395b248ac551d24 100644 --- a/src/modules/PageHeader.vue +++ b/src/modules/PageHeader.vue @@ -15,7 +15,7 @@ const themeColor: TTheme = cookies.get('favorite_color'); diff --git a/src/output.css b/src/output.css index 525aad9a23d22960d63a1a479cd931cf47fb14c6..4e7c8f97d6b7038322fd1d314905d3cf5bf0be47 100644 --- a/src/output.css +++ b/src/output.css @@ -646,6 +646,10 @@ video { z-index: 50; } +.z-20 { + z-index: 20; +} + .order-1 { order: 1; } @@ -774,10 +778,6 @@ video { height: 2rem; } -.h-12 { - height: 3rem; -} - .h-20 { height: 5rem; } @@ -794,10 +794,6 @@ video { width: 50%; } -.w-12 { - width: 3rem; -} - .w-2 { width: 0.5rem; } @@ -810,10 +806,6 @@ video { width: 5rem; } -.w-4 { - width: 1rem; -} - .w-48 { width: 12rem; } @@ -849,16 +841,6 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.-translate-y-2 { - --tw-translate-y: -0.5rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-y-4 { - --tw-translate-y: -1rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - .-translate-y-full { --tw-translate-y: -100%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -868,10 +850,6 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.cursor-not-allowed { - cursor: not-allowed; -} - .cursor-pointer { cursor: pointer; } @@ -1093,11 +1071,6 @@ video { background-color: rgb(34 197 94 / var(--tw-bg-opacity)); } -.bg-orange-500 { - --tw-bg-opacity: 1; - background-color: rgb(249 115 22 / var(--tw-bg-opacity)); -} - .bg-red-500 { --tw-bg-opacity: 1; background-color: rgb(239 68 68 / var(--tw-bg-opacity)); @@ -1305,10 +1278,6 @@ video { opacity: 0; } -.opacity-50 { - opacity: 0.5; -} - .outline { outline-style: solid; } diff --git a/src/pages/[uuid]/SheetPage.vue b/src/pages/[uuid]/SheetPage.vue index 79cf5628e4c89b06795b5d4744f04656b503fd71..fead8d6153a6781d09be45e20c487f7b8e684b61 100644 --- a/src/pages/[uuid]/SheetPage.vue +++ b/src/pages/[uuid]/SheetPage.vue @@ -82,7 +82,10 @@ const openMenu = () => (isMenuVisible.value = true); - + diff --git a/src/shared/icons/CropIcon.vue b/src/shared/icons/CropIcon.vue new file mode 100644 index 0000000000000000000000000000000000000000..6446f2ea82997acd5491459acdaa9cabc9009842 --- /dev/null +++ b/src/shared/icons/CropIcon.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/shared/ui/MenuDial.vue b/src/shared/ui/MenuDial.vue index 40287cc3a28020386b65c931d4ef7584017bfd95..45ecc4d49944c4e9431b9600a912093ddba3f27b 100644 --- a/src/shared/ui/MenuDial.vue +++ b/src/shared/ui/MenuDial.vue @@ -53,6 +53,18 @@ const menuListStyles = computed(() => { return `transform: translateY(${isActive.value ? 20 : 0}px)`; } }); +const onClick = () => { + isActive.value = false; +}; +watch(isActive, () => { + if (isActive.value) { + setTimeout(() => { + document.addEventListener('click', onClick); + }, 0); + } else { + document.removeEventListener('click', onClick); + } +});