From c2bf5973a69636509ffeb9c24d5ce560c7e3b0c8 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, 31 Aug 2024 22:19:22 +0500 Subject: [PATCH] finished with divider and fix some issues --- src/app/components.d.ts | 5 +- src/app/helpers/index.ts | 8 +- src/app/main.ts | 26 ++- src/app/stores/data.ts | 1 + src/app/stores/websocket.ts | 4 +- src/components/CreateEntityMenu.vue | 10 +- src/components/entities/share/EntityTitle.vue | 6 +- .../entities/share/TextFontMenu.vue | 2 +- src/modules/PageHeader.vue | 26 +++ src/modules/TelegramSection.vue | 25 +++ src/modules/entities/DividerItem.vue | 3 +- src/modules/entities/EntitiesList.vue | 2 + src/modules/entities/EntityItem.vue | 19 +- src/modules/entities/ImageItem.vue | 39 ++-- src/modules/entities/TextItem.vue | 44 ++++- src/modules/entities/menu/DividerMenu.vue | 26 ++- src/modules/entities/menu/ImageMenu.vue | 35 ++-- src/output.css | 176 +++--------------- src/pages/HomePage.vue | 32 +--- 19 files changed, 250 insertions(+), 239 deletions(-) create mode 100644 src/modules/PageHeader.vue create mode 100644 src/modules/TelegramSection.vue diff --git a/src/app/components.d.ts b/src/app/components.d.ts index 2bef6d0..df56529 100644 --- a/src/app/components.d.ts +++ b/src/app/components.d.ts @@ -30,13 +30,14 @@ 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'] + 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'] RouterView: typeof import('vue-router')['RouterView'] SheetPage: typeof import('./../pages/[uuid]/SheetPage.vue')['default'] SpeedDial: typeof import('primevue/speeddial')['default'] - Splitter: typeof import('primevue/splitter')['default'] - SplitterPanel: typeof import('primevue/splitterpanel')['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'] TextMenu: typeof import('./../modules/entities/menu/TextMenu.vue')['default'] diff --git a/src/app/helpers/index.ts b/src/app/helpers/index.ts index 252d449..5bb4a9d 100644 --- a/src/app/helpers/index.ts +++ b/src/app/helpers/index.ts @@ -120,25 +120,25 @@ export const getImageSpeedDialSizeBiggerLabelsToRemove = (entity: IImage) => { } if ( initialImageWidth >= 960 || - initialImageHeight >= 960 || + initialImageHeight >= 560 || (initialImageWidth >= 640 && entity.text_position) ) { elementsLabelsToRemove.push('x1.25'); if ( initialImageWidth >= 800 || - initialImageHeight >= 800 || + initialImageHeight >= 467 || (initialImageWidth >= 533 && entity.text_position) ) { elementsLabelsToRemove.push('x1.5'); if ( initialImageWidth >= 685 || - initialImageHeight >= 685 || + initialImageHeight >= 400 || (initialImageWidth >= 457 && entity.text_position) ) { elementsLabelsToRemove.push('x1.75'); if ( initialImageWidth >= 600 || - initialImageHeight >= 600 || + initialImageHeight >= 350 || (initialImageWidth >= 400 && entity.text_position) ) { elementsLabelsToRemove.push('x2'); diff --git a/src/app/main.ts b/src/app/main.ts index b61cec8..dd3a5c7 100644 --- a/src/app/main.ts +++ b/src/app/main.ts @@ -6,14 +6,34 @@ import PrimeVue from 'primevue/config'; import App from './App.vue'; import router from './router'; import Aura from '@primevue/themes/aura'; +import { definePreset } from '@primevue/themes'; const app = createApp(App); - +const theme = 'sky'; +const MyPreset = definePreset(Aura, { + semantic: { + primary: { + 50: `{${theme}.50}`, + 100: `{${theme}.100}`, + 200: `{${theme}.200}`, + 300: `{${theme}.300}`, + 400: `{${theme}.400}`, + 500: `{${theme}.500}`, + 600: `{${theme}.600}`, + 700: `{${theme}.700}`, + 800: `{${theme}.800}`, + 900: `{${theme}.900}`, + 950: `{${theme}.950}` + } + } +}); app .use(PrimeVue, { theme: { - preset: Aura, - options: {} + preset: MyPreset, + options: { + // darkModeSelector: '.darkModeToggle' + } } }) .use(createPinia()) diff --git a/src/app/stores/data.ts b/src/app/stores/data.ts index c19d389..0e3b2e9 100644 --- a/src/app/stores/data.ts +++ b/src/app/stores/data.ts @@ -57,6 +57,7 @@ export const useDataStore = defineStore('dataStore', () => { function editHomeEntities(newState: IEntity) { homeEntities.value = newState; + console.log('homeEntities.value', homeEntities.value); } function setHomeEntities(entities: IEntity[]) { diff --git a/src/app/stores/websocket.ts b/src/app/stores/websocket.ts index 6135d33..1cc5d24 100644 --- a/src/app/stores/websocket.ts +++ b/src/app/stores/websocket.ts @@ -122,7 +122,9 @@ export const useWebsocketStore = defineStore('websocketStore', () => { watch([filesBufferLength, homeEntities], () => { if ( - (homeEntities.value.length && filesBufferLength.value === imageEntitiesCount.value) || + (homeEntities.value.length && + filesBufferLength.value === imageEntitiesCount.value && + imageEntitiesCount.value) || (isInitialAddUrlsToImageEntitiesFinished.value && filesBufferLength.value) ) { const entitiesAddedUrls = addUrlsToImageEntities(homeEntities.value); diff --git a/src/components/CreateEntityMenu.vue b/src/components/CreateEntityMenu.vue index 6c5db93..e8a6993 100644 --- a/src/components/CreateEntityMenu.vue +++ b/src/components/CreateEntityMenu.vue @@ -27,10 +27,16 @@ const addImage = async (files: FileList) => { const buffer = await blob.arrayBuffer(); const { width: windowWidth } = useWindowSize(); const maxWidth = windowWidth.value - 128; + const maxHeight = 700; if (image.width > maxWidth) { - image.height = Math.floor(maxWidth / image.width) * image.height; + image.height = Math.floor((maxWidth / image.width) * image.height); image.width = maxWidth; } + if (image.height > maxHeight) { + image.width = Math.floor((maxHeight / image.height) * image.width); + console.log('image.width', image.width); + image.height = maxHeight; + } emit('createEntity', { entity_type: 'image', entity_uuid: imageUuid, @@ -112,7 +118,7 @@ const speedDialItems = ref([