From 8cee47890339e8ccddd677d18e966697b83be182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= Date: Sat, 7 Sep 2024 11:02:06 +0500 Subject: [PATCH 1/7] fix a little trouble --- src/app/components.d.ts | 3 --- src/modules/entities/EntityItem.vue | 4 ++-- src/pages/authorization/signIn.vue | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/app/components.d.ts b/src/app/components.d.ts index 7120db4..6641692 100644 --- a/src/app/components.d.ts +++ b/src/app/components.d.ts @@ -9,7 +9,6 @@ declare module 'vue' { export interface GlobalComponents { App: typeof import('./App.vue')['default'] AuthorizationForm: typeof import('./../modules/authorization/AuthorizationForm.vue')['default'] - Avatar: typeof import('primevue/avatar')['default'] BaseDivider: typeof import('./../shared/BaseDivider.vue')['default'] BaseLoader: typeof import('./../shared/BaseLoader.vue')['default'] BaseSidebarMenu: typeof import('./../modules/BaseSidebarMenu.vue')['default'] @@ -33,7 +32,6 @@ declare module 'vue' { ImageStateMenu: typeof import('./../components/entities/image/ImageStateMenu.vue')['default'] LogoAndLabel: typeof import('./../components/LogoAndLabel.vue')['default'] MenuHeader: typeof import('./../modules/MenuHeader.vue')['default'] - page: typeof import('./../modules/Home page.vue')['default'] PageBackgroundMenu: typeof import('./../modules/PageBackgroundMenu.vue')['default'] PageHeader: typeof import('./../modules/PageHeader.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] @@ -51,6 +49,5 @@ declare module 'vue' { TextStateMenu: typeof import('./../components/entities/text/TextStateMenu.vue')['default'] ToggleSwitch: typeof import('primevue/toggleswitch')['default'] Tree: typeof import('primevue/tree')['default'] - UserInfoHeaderWithSettings: typeof import('./../components/UserInfoHeaderWithSettings.vue')['default'] } } diff --git a/src/modules/entities/EntityItem.vue b/src/modules/entities/EntityItem.vue index d43a073..efbe165 100644 --- a/src/modules/entities/EntityItem.vue +++ b/src/modules/entities/EntityItem.vue @@ -15,7 +15,7 @@ const entity = useVModel(props, 'entity', emit);
diff --git a/src/pages/authorization/signIn.vue b/src/pages/authorization/signIn.vue index d879ed0..684b02d 100644 --- a/src/pages/authorization/signIn.vue +++ b/src/pages/authorization/signIn.vue @@ -1,5 +1,5 @@ - + -- GitLab From 71a0dd299a060777336a38b58bd736d48508b1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= Date: Sun, 8 Sep 2024 17:56:48 +0500 Subject: [PATCH 2/7] remove PrimeVue and add Modal and Drawer components --- package-lock.json | 109 -------------------------- package.json | 4 - src/app/App.vue | 1 - src/app/assets/icons/close-circle.svg | 4 + src/app/components.d.ts | 14 ++-- src/app/main.ts | 34 +------- src/modules/BaseSidebarMenu.vue | 2 +- src/modules/CropImageModal.vue | 14 ++-- src/modules/MenuHeader.vue | 11 +-- src/pages/[uuid]/SheetPage.vue | 28 ++++--- src/shared/BaseDivider.vue | 2 +- src/shared/BaseDrawer.vue | 85 ++++++++++++++++++++ src/shared/BaseModal.vue | 89 +++++++++++++++++++++ src/shared/icons/CloseCircle.vue | 26 ++++++ src/shared/icons/HamgurgerMenu.vue | 26 ++++++ vite.config.ts | 2 - yarn.lock | 62 --------------- 17 files changed, 266 insertions(+), 247 deletions(-) create mode 100644 src/app/assets/icons/close-circle.svg create mode 100644 src/shared/BaseDrawer.vue create mode 100644 src/shared/BaseModal.vue create mode 100644 src/shared/icons/CloseCircle.vue create mode 100644 src/shared/icons/HamgurgerMenu.vue diff --git a/package-lock.json b/package-lock.json index dadd3a1..9396ea8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,18 +8,14 @@ "name": "ShelfNote", "version": "0.0.0", "dependencies": { - "@primevue/themes": "^4.0.4", "@vueuse/core": "^10.11.0", "pinia": "^2.1.7", - "primeicons": "^7.0.0", - "primevue": "^4.0.4", "tailwindcss": "^3.4.7", "vue": "^3.4.29", "vue-cookies": "^1.8.4", "vue-router": "^4.3.3" }, "devDependencies": { - "@primevue/auto-import-resolver": "^4.0.4", "@rushstack/eslint-patch": "^1.8.0", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.14.5", @@ -418,91 +414,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/@primeuix/styled": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.0.5.tgz", - "integrity": "sha512-pVoGn/uPkVm/DyF3TR3EmH/pL/dP4nR42FcYbVduFq9VfO3KVeOEqvcCULHXos66RZO9MCbCFUoLy6ctf9GUGQ==", - "license": "MIT", - "dependencies": { - "@primeuix/utils": "^0.0.5" - }, - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primeuix/utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.0.5.tgz", - "integrity": "sha512-ntUiUgtRtkF8KuaxHffzhYxQxoXk6LAPHm7CVlFjdqS8Rx8xRkLkZVyo84E+pO2hcNFkOGVP/GxHhQ2s94O8zA==", - "license": "MIT", - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primevue/auto-import-resolver": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@primevue/auto-import-resolver/-/auto-import-resolver-4.0.4.tgz", - "integrity": "sha512-rI91rugr0/A58lmDcC4m3nxKdMh2K2O6ntQd+6UT8oFYiptJVNXQLY+U4zweAoG1toMnIoqGR20FXOTA7lS7ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@primevue/metadata": "4.0.4" - }, - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primevue/core": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@primevue/core/-/core-4.0.4.tgz", - "integrity": "sha512-xGD2hNYL4WLnkWuoxIjMIqEXiydYpFovDuCMHMWRl3yb/AFJcHpyZpUlgZ2HnJydA5ZsLS00sGsPHEoV5u2M8A==", - "license": "MIT", - "dependencies": { - "@primeuix/styled": "^0.0.5", - "@primeuix/utils": "^0.0.5" - }, - "engines": { - "node": ">=12.11.0" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/@primevue/icons": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@primevue/icons/-/icons-4.0.4.tgz", - "integrity": "sha512-eHOuO5jIv/qb3mpo3m1qpDKJxw/B8ZFpAcsKxV4uWhAXkxWo/afmykGO38PVabKc3SSai8bq1zFVXPA1w0cg9g==", - "license": "MIT", - "dependencies": { - "@primeuix/utils": "^0.0.5", - "@primevue/core": "4.0.4" - }, - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primevue/metadata": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@primevue/metadata/-/metadata-4.0.4.tgz", - "integrity": "sha512-j1Cb6qxuKDHyT0vjlFiLjiHILN7D6xC2zIaHRcYn0XcQS27r5ianzGFIiW98OVRFTUqWAf4k0TSCrgZPawPjRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primevue/themes": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@primevue/themes/-/themes-4.0.4.tgz", - "integrity": "sha512-eknRgSo1KQY+r7LEtb/jERhVHq4/Vlu5BKBQ8/Sc/G3DBDHaeJTDqYHWWoTxdaTJkXbC2pJMKFaJ/Vs7LuoIOw==", - "license": "MIT", - "dependencies": { - "@primeuix/styled": "^0.0.5" - }, - "engines": { - "node": ">=12.11.0" - } - }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -2965,26 +2876,6 @@ "node": ">=6.0.0" } }, - "node_modules/primeicons": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-7.0.0.tgz", - "integrity": "sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==" - }, - "node_modules/primevue": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/primevue/-/primevue-4.0.4.tgz", - "integrity": "sha512-1moEddbczJ1+yEyfeYQk3xOQB64iCjjM//f+HSXs6YrKVVC0QjPFx9XPNXrr2JjHlp+6D7EpPZtsmcrfA9jWkA==", - "license": "MIT", - "dependencies": { - "@primeuix/styled": "^0.0.5", - "@primeuix/utils": "^0.0.5", - "@primevue/core": "4.0.4", - "@primevue/icons": "4.0.4" - }, - "engines": { - "node": ">=12.11.0" - } - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", diff --git a/package.json b/package.json index f799f2e..2ff40ec 100644 --- a/package.json +++ b/package.json @@ -13,12 +13,9 @@ "format": "prettier --write src/" }, "dependencies": { - "@primevue/themes": "^4.0.4", "@vueuse/core": "^10.11.0", "@vueuse/integrations": "^10.11.0", "pinia": "^2.1.7", - "primeicons": "^7.0.0", - "primevue": "^4.0.4", "universal-cookie": "^7", "uuid": "^10.0.0", "vue": "^3.4.29", @@ -26,7 +23,6 @@ "vue-router": "^4.3.3" }, "devDependencies": { - "@primevue/auto-import-resolver": "^4.0.4", "@rushstack/eslint-patch": "^1.8.0", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.14.5", diff --git a/src/app/App.vue b/src/app/App.vue index 32edf7f..8b88d7d 100644 --- a/src/app/App.vue +++ b/src/app/App.vue @@ -1,5 +1,4 @@ + + diff --git a/src/modules/BaseSidebarMenu.vue b/src/modules/BaseSidebarMenu.vue index b46b63e..dd58ce5 100644 --- a/src/modules/BaseSidebarMenu.vue +++ b/src/modules/BaseSidebarMenu.vue @@ -1,65 +1,69 @@ diff --git a/src/modules/entities/menu/TextMenu.vue b/src/modules/entities/menu/TextMenu.vue deleted file mode 100644 index 91eaf4c..0000000 --- a/src/modules/entities/menu/TextMenu.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/src/output.css b/src/output.css index a5cbb16..4c24ee2 100644 --- a/src/output.css +++ b/src/output.css @@ -628,10 +628,6 @@ video { left: 0.5rem; } -.right-2 { - right: 0.5rem; -} - .right-6 { right: 1.5rem; } @@ -718,6 +714,10 @@ video { margin-left: 0px; } +.ml-4 { + margin-left: 1rem; +} + .ml-auto { margin-left: auto; } @@ -762,6 +762,10 @@ video { display: grid; } +.hidden { + display: none; +} + .size-10 { width: 2.5rem; height: 2.5rem; @@ -1178,10 +1182,6 @@ video { padding-bottom: 1.5rem; } -.pl-0 { - padding-left: 0px; -} - .pl-1 { padding-left: 0.25rem; } @@ -1247,6 +1247,10 @@ video { font-weight: 600; } +.italic { + font-style: italic; +} + .leading-none { line-height: 1; } @@ -1255,6 +1259,11 @@ video { line-height: 1.5; } +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + .text-gray-400 { --tw-text-opacity: 1; color: rgb(156 163 175 / var(--tw-text-opacity)); @@ -1265,11 +1274,6 @@ video { color: rgb(248 113 113 / var(--tw-text-opacity)); } -.text-red-500 { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity)); -} - .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -1291,6 +1295,14 @@ video { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); @@ -1301,11 +1313,39 @@ video { transition-duration: 300ms; } +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} + .hover\:cursor-pointer:hover { cursor: pointer; } +.hover\:bg-slate-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(51 65 85 / var(--tw-bg-opacity)); +} + +.hover\:bg-slate-800:hover { + --tw-bg-opacity: 1; + background-color: rgb(30 41 59 / var(--tw-bg-opacity)); +} + .hover\:text-gray-300:hover { --tw-text-opacity: 1; color: rgb(209 213 219 / var(--tw-text-opacity)); +} + +.hover\:brightness-75:hover { + --tw-brightness: brightness(.75); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.hover\:brightness-125:hover { + --tw-brightness: brightness(1.25); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } \ No newline at end of file diff --git a/src/pages/[uuid]/SheetPage.vue b/src/pages/[uuid]/SheetPage.vue index 2470a59..8f15594 100644 --- a/src/pages/[uuid]/SheetPage.vue +++ b/src/pages/[uuid]/SheetPage.vue @@ -6,10 +6,7 @@ import { useWebsocketStore } from '@/app/stores/websocket'; import type { IEntity } from '@/app/interfaces/environment'; import type { IImageMainInfo } from '@/app/interfaces'; import { createEntity, fetchForEntities, setDefaultPageBackground } from '@/app/helpers'; -import TelegramSection from '@/modules/TelegramSection.vue'; import cookies from '@/app/plugins/Cookie'; -import HamgurgerMenu from '@/shared/icons/HamgurgerMenu.vue'; -import BaseDrawer from '@/shared/BaseDrawer.vue'; const dataStore = useDataStore(); const interfaceStore = useInterfaceStore(); @@ -21,6 +18,7 @@ const entities = computed(() => dataStore.entities); const backgroundUrl = computed(() => interfaceStore.pageBackground); const defaultBackgroundUrl = computed(() => interfaceStore.defaultPageBackground); const isFetchedForBackground = computed(() => interfaceStore.isFetchedForBackground); +const isDarkMode = computed(() => interfaceStore.isDarkMode); // const pageTitle = computed(() => dataStore.currentPage.page_title); const isMenuVisible = ref(false); @@ -82,14 +80,18 @@ const closeMenu = () => (isMenuVisible.value = false); diff --git a/src/shared/icons/ExitIcon.vue b/src/shared/icons/ExitIcon.vue new file mode 100644 index 0000000..ffff729 --- /dev/null +++ b/src/shared/icons/ExitIcon.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/shared/icons/HamgurgerMenu.vue b/src/shared/icons/HamgurgerMenu.vue index bc67560..bdbe96a 100644 --- a/src/shared/icons/HamgurgerMenu.vue +++ b/src/shared/icons/HamgurgerMenu.vue @@ -18,7 +18,7 @@ defineProps(); fill-rule="evenodd" clip-rule="evenodd" d="M3.46447 20.5355C4.92893 22 7.28595 22 12 22C16.714 22 19.0711 22 20.5355 20.5355C22 19.0711 22 16.714 22 12C22 7.28595 22 4.92893 20.5355 3.46447C19.0711 2 16.714 2 12 2C7.28595 2 4.92893 2 3.46447 3.46447C2 4.92893 2 7.28595 2 12C2 16.714 2 19.0711 3.46447 20.5355ZM18.75 16C18.75 16.4142 18.4142 16.75 18 16.75H6C5.58579 16.75 5.25 16.4142 5.25 16C5.25 15.5858 5.58579 15.25 6 15.25H18C18.4142 15.25 18.75 15.5858 18.75 16ZM18 12.75C18.4142 12.75 18.75 12.4142 18.75 12C18.75 11.5858 18.4142 11.25 18 11.25H6C5.58579 11.25 5.25 11.5858 5.25 12C5.25 12.4142 5.58579 12.75 6 12.75H18ZM18.75 8C18.75 8.41421 18.4142 8.75 18 8.75H6C5.58579 8.75 5.25 8.41421 5.25 8C5.25 7.58579 5.58579 7.25 6 7.25H18C18.4142 7.25 18.75 7.58579 18.75 8Z" - fill="#1C274C" + :fill="color ?? '#1C274C'" /> diff --git a/src/shared/icons/HomeIcon.vue b/src/shared/icons/HomeIcon.vue new file mode 100644 index 0000000..50dabe0 --- /dev/null +++ b/src/shared/icons/HomeIcon.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/shared/icons/NavigationIcon.vue b/src/shared/icons/NavigationIcon.vue new file mode 100644 index 0000000..fcd6ccf --- /dev/null +++ b/src/shared/icons/NavigationIcon.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/shared/icons/SettingsIcon.vue b/src/shared/icons/SettingsIcon.vue new file mode 100644 index 0000000..41b9327 --- /dev/null +++ b/src/shared/icons/SettingsIcon.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/shared/icons/VerticalArrowsIcon.vue b/src/shared/icons/VerticalArrowsIcon.vue new file mode 100644 index 0000000..07ca726 --- /dev/null +++ b/src/shared/icons/VerticalArrowsIcon.vue @@ -0,0 +1,34 @@ + + + + + -- GitLab From dbf0e6dae96001f58591ac1353b74fa288124c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= Date: Sun, 15 Sep 2024 18:56:06 +0500 Subject: [PATCH 5/7] add MenuDial and refactor --- src/app/assets/icons/close-circle.svg | 4 - src/app/assets/main.css | 4 + src/app/components.d.ts | 5 +- src/components/PageMenuButton.vue | 17 +++ src/pages/[uuid]/SheetPage.vue | 24 +--- src/shared/MenuDial.vue | 106 ++++++++++++++++++ .../{HamgurgerMenu.vue => HamburgerMenu.vue} | 0 7 files changed, 134 insertions(+), 26 deletions(-) delete mode 100644 src/app/assets/icons/close-circle.svg create mode 100644 src/components/PageMenuButton.vue create mode 100644 src/shared/MenuDial.vue rename src/shared/icons/{HamgurgerMenu.vue => HamburgerMenu.vue} (100%) diff --git a/src/app/assets/icons/close-circle.svg b/src/app/assets/icons/close-circle.svg deleted file mode 100644 index 22022e7..0000000 --- a/src/app/assets/icons/close-circle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/app/assets/main.css b/src/app/assets/main.css index 0c447b6..e1a9b3e 100644 --- a/src/app/assets/main.css +++ b/src/app/assets/main.css @@ -242,6 +242,10 @@ label { legend { display: block; } +input[type=file], /* FF, IE7+, chrome (except button) */ +input[type=file]::-webkit-file-upload-button { + cursor: pointer; +} ::-webkit-scrollbar { width: 10px; } diff --git a/src/app/components.d.ts b/src/app/components.d.ts index 9d8258e..827970b 100644 --- a/src/app/components.d.ts +++ b/src/app/components.d.ts @@ -27,7 +27,7 @@ declare module 'vue' { EntityPositionSettings: typeof import('./../components/entities/settings/EntityPositionSettings.vue')['default'] EntityTitle: typeof import('./../components/entities/share/EntityTitle.vue')['default'] ExitIcon: typeof import('./../shared/icons/ExitIcon.vue')['default'] - HamgurgerMenu: typeof import('./../shared/icons/HamgurgerMenu.vue')['default'] + HamburgerMenu: typeof import('./../shared/icons/HamburgerMenu.vue')['default'] HomeIcon: typeof import('./../shared/icons/HomeIcon.vue')['default'] ImageItem: typeof import('./../modules/entities/ImageItem.vue')['default'] ImageMenu: typeof import('./../components/entities/settings/ImageMenu.vue')['default'] @@ -35,11 +35,13 @@ declare module 'vue' { 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/MenuDial.vue')['default'] MenuHeader: typeof import('./../modules/MenuHeader.vue')['default'] Modal: typeof import('./../shared/Modal.vue')['default'] NavigationIcon: typeof import('./../shared/icons/NavigationIcon.vue')['default'] PageBackgroundMenu: typeof import('./../modules/PageBackgroundMenu.vue')['default'] PageHeader: typeof import('./../modules/PageHeader.vue')['default'] + PageMenuButton: typeof import('./../components/PageMenuButton.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SettingsIcon: typeof import('./../shared/icons/SettingsIcon.vue')['default'] @@ -47,7 +49,6 @@ declare module 'vue' { SignIn: typeof import('./../pages/authorization/signIn.vue')['default'] SignUp: typeof import('./../pages/authorization/signUp.vue')['default'] SolidIcon: typeof import('./../shared/icons/SolidIcon.vue')['default'] - SpeedDial: typeof import('primevue/speeddial')['default'] TelegramSection: typeof import('./../modules/TelegramSection.vue')['default'] TextFontMenu: typeof import('./../components/entities/share/TextFontMenu.vue')['default'] TextItem: typeof import('./../modules/entities/TextItem.vue')['default'] diff --git a/src/components/PageMenuButton.vue b/src/components/PageMenuButton.vue new file mode 100644 index 0000000..8cbf136 --- /dev/null +++ b/src/components/PageMenuButton.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/src/pages/[uuid]/SheetPage.vue b/src/pages/[uuid]/SheetPage.vue index 8f15594..83a2354 100644 --- a/src/pages/[uuid]/SheetPage.vue +++ b/src/pages/[uuid]/SheetPage.vue @@ -7,6 +7,7 @@ import type { IEntity } from '@/app/interfaces/environment'; import type { IImageMainInfo } from '@/app/interfaces'; import { createEntity, fetchForEntities, setDefaultPageBackground } from '@/app/helpers'; import cookies from '@/app/plugins/Cookie'; +import PageMenuButton from '@/components/PageMenuButton.vue'; const dataStore = useDataStore(); const interfaceStore = useInterfaceStore(); @@ -74,29 +75,16 @@ const saveImage = (finalImageUrl: string) => { interfaceStore.editPageBackground(finalImageUrl); isModalUploadFile.value = false; }; -const closeMenu = () => (isMenuVisible.value = false); +const openMenu = () => (isMenuVisible.value = true);