Commit ab450632 authored by Дмитрий Малюгин's avatar Дмитрий Малюгин 🕓
Browse files

refactor

parent 6632f9bb
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -11,17 +11,17 @@ declare module 'vue' {
    AuthorizationForm: typeof import('./../modules/authorization/AuthorizationForm.vue')['default']
    BaseLoader: typeof import('./../shared/BaseLoader.vue')['default']
    BaseSidebarMenu: typeof import('./../modules/BaseSidebarMenu.vue')['default']
    Button: typeof import('./../shared/Button.vue')['default']
    Button: typeof import('./../shared/ui/Button.vue')['default']
    CloseCircle: typeof import('./../shared/icons/CloseCircle.vue')['default']
    CreateEntityMenu: typeof import('./../components/CreateEntityMenu.vue')['default']
    CropImageModal: typeof import('./../modules/CropImageModal.vue')['default']
    DashedIcon: typeof import('./../shared/icons/DashedIcon.vue')['default']
    Divider: typeof import('./../shared/Divider.vue')['default']
    Divider: typeof import('./../shared/ui/Divider.vue')['default']
    DividerItem: typeof import('./../modules/entities/DividerItem.vue')['default']
    DividerMenu: typeof import('./../modules/entities/settings/DividerMenu.vue')['default']
    DividerSettings: typeof import('./../components/entities/settings/DividerSettings.vue')['default']
    DottedIcon: typeof import('./../shared/icons/DottedIcon.vue')['default']
    Drawer: typeof import('./../shared/Drawer.vue')['default']
    Drawer: typeof import('./../shared/ui/Drawer.vue')['default']
    EntitiesList: typeof import('./../modules/entities/EntitiesList.vue')['default']
    EntityItem: typeof import('./../modules/entities/EntityItem.vue')['default']
    EntityPositionSettings: typeof import('./../components/entities/settings/EntityPositionSettings.vue')['default']
@@ -35,8 +35,8 @@ 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']
    MenuHeader: typeof import('./../modules/MenuHeader.vue')['default']
    Modal: typeof import('./../shared/Modal.vue')['default']
    MenuHeader: typeof import('./../components/MenuHeader.vue')['default']
    Modal: typeof import('./../shared/ui/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']
@@ -54,8 +54,8 @@ declare module 'vue' {
    TextMenu: typeof import('./../components/entities/settings/TextMenu.vue')['default']
    TextPositionMenu: typeof import('./../components/entities/text/TextPositionMenu.vue')['default']
    TextStateMenu: typeof import('./../components/entities/text/TextStateMenu.vue')['default']
    ToggleSwitch: typeof import('./../shared/ToggleSwitch.vue')['default']
    Tree: typeof import('./../shared/Tree.vue')['default']
    ToggleSwitch: typeof import('./../shared/ui/ToggleSwitch.vue')['default']
    Tree: typeof import('./../shared/ui/Tree.vue')['default']
    VerticalArrowsIcon: typeof import('./../shared/icons/VerticalArrowsIcon.vue')['default']
  }
}
+77 −0
Original line number Diff line number Diff line
@@ -2,6 +2,12 @@ import type { IEntity } from '@/app/interfaces/environment';
import { useFilesWebsocketStore } from '@/app/stores/filesWebsocket';
import type { IImage } from '@/app/interfaces/entities';
import { useWebsocketStore } from '@/app/stores/websocket';
import { useInterfaceStore } from '@/app/stores/interface';

export const setDefaultPageBackground = () => {
  const interfaceStore = useInterfaceStore();
  interfaceStore.resetPageBackground();
};

export const addUrlsToImageEntities = (entities: IEntity[]) => {
  const filesWebsocketStore = useFilesWebsocketStore();
@@ -50,3 +56,74 @@ export const cropImage = async (newUrl: string, entity: IImage) => {
  };
  websocketStore.sendData(data);
};

export const getImageSpeedDialSizeSmallerLabelsToRemove = (entity: IImage) => {
  const elementsLabelsToRemove = [];
  const initialImageWidth = Math.ceil(entity.image_width / +entity.image_scale);
  const initialImageHeight = Math.ceil(entity.image_height / +entity.image_scale);
  if (initialImageWidth <= 400 || initialImageHeight <= 400) {
    elementsLabelsToRemove.push('x0.25');
    if (
      initialImageWidth <= 200 ||
      initialImageHeight <= 200 ||
      (initialImageWidth >= 1600 && entity.text_position)
    ) {
      elementsLabelsToRemove.push('x0.5');
      if (
        initialImageWidth <= 95 ||
        initialImageHeight <= 95 ||
        (initialImageWidth >= 1066 && entity.text_position)
      ) {
        elementsLabelsToRemove.push('x0.75');
      }
    }
  }
  if (
    (initialImageWidth >= 800 && entity.text_position) ||
    entity.image_width < initialImageWidth
  ) {
    elementsLabelsToRemove.push('x1');
  }
  return elementsLabelsToRemove;
};

export const getImageSpeedDialSizeBiggerLabelsToRemove = (entity: IImage) => {
  const elementsLabelsToRemove = [];
  const initialImageWidth = Math.ceil(entity.image_width / +entity.image_scale);
  const initialImageHeight = Math.ceil(entity.image_height / +entity.image_scale);
  if (
    (initialImageWidth >= 800 && entity.text_position) ||
    entity.image_width > initialImageWidth
  ) {
    elementsLabelsToRemove.push('x1');
  }
  if (
    initialImageWidth >= 960 ||
    initialImageHeight >= 560 ||
    (initialImageWidth >= 640 && entity.text_position)
  ) {
    elementsLabelsToRemove.push('x1.25');
    if (
      initialImageWidth >= 800 ||
      initialImageHeight >= 467 ||
      (initialImageWidth >= 533 && entity.text_position)
    ) {
      elementsLabelsToRemove.push('x1.5');
      if (
        initialImageWidth >= 685 ||
        initialImageHeight >= 400 ||
        (initialImageWidth >= 457 && entity.text_position)
      ) {
        elementsLabelsToRemove.push('x1.75');
        if (
          initialImageWidth >= 600 ||
          initialImageHeight >= 350 ||
          (initialImageWidth >= 400 && entity.text_position)
        ) {
          elementsLabelsToRemove.push('x2');
        }
      }
    }
  }
  return elementsLabelsToRemove;
};
+37 −74
Original line number Diff line number Diff line
import { useInterfaceStore } from '@/app/stores/interface';
import { useDataStore } from '@/app/stores/data';
import { useWebsocketStore } from '@/app/stores/websocket';
import type { IEntity } from '@/app/interfaces/environment';
import type { IEntity, TTheme } from '@/app/interfaces/environment';
import { checkIsImage } from '@/app/helpers/images';
import { useFilesWebsocketStore } from '@/app/stores/filesWebsocket';
import type { IImage } from '@/app/interfaces/entities';
import cookies from '@/app/plugins/Cookie';

export const setDefaultPageBackground = () => {
  const interfaceStore = useInterfaceStore();
  interfaceStore.resetPageBackground();
};
export const fetchForEntities = (page_uuid: string) => {
  const dataStore = useDataStore();
  const interfaceStore = useInterfaceStore();
@@ -86,73 +81,41 @@ export const changeEntitiesOrder = (entityUuid: string, direction: 'up' | 'down'
  websocketStore.sendData(data);
};

export const getImageSpeedDialSizeSmallerLabelsToRemove = (entity: IImage) => {
  const elementsLabelsToRemove = [];
  const initialImageWidth = Math.ceil(entity.image_width / +entity.image_scale);
  const initialImageHeight = Math.ceil(entity.image_height / +entity.image_scale);
  if (initialImageWidth <= 400 || initialImageHeight <= 400) {
    elementsLabelsToRemove.push('x0.25');
    if (
      initialImageWidth <= 200 ||
      initialImageHeight <= 200 ||
      (initialImageWidth >= 1600 && entity.text_position)
    ) {
      elementsLabelsToRemove.push('x0.5');
      if (
        initialImageWidth <= 95 ||
        initialImageHeight <= 95 ||
        (initialImageWidth >= 1066 && entity.text_position)
      ) {
        elementsLabelsToRemove.push('x0.75');
      }
    }
  }
  if (
    (initialImageWidth >= 800 && entity.text_position) ||
    entity.image_width < initialImageWidth
  ) {
    elementsLabelsToRemove.push('x1');
  }
  return elementsLabelsToRemove;
};

export const getImageSpeedDialSizeBiggerLabelsToRemove = (entity: IImage) => {
  const elementsLabelsToRemove = [];
  const initialImageWidth = Math.ceil(entity.image_width / +entity.image_scale);
  const initialImageHeight = Math.ceil(entity.image_height / +entity.image_scale);
  if (
    (initialImageWidth >= 800 && entity.text_position) ||
    entity.image_width > initialImageWidth
  ) {
    elementsLabelsToRemove.push('x1');
  }
  if (
    initialImageWidth >= 960 ||
    initialImageHeight >= 560 ||
    (initialImageWidth >= 640 && entity.text_position)
  ) {
    elementsLabelsToRemove.push('x1.25');
    if (
      initialImageWidth >= 800 ||
      initialImageHeight >= 467 ||
      (initialImageWidth >= 533 && entity.text_position)
    ) {
      elementsLabelsToRemove.push('x1.5');
      if (
        initialImageWidth >= 685 ||
        initialImageHeight >= 400 ||
        (initialImageWidth >= 457 && entity.text_position)
      ) {
        elementsLabelsToRemove.push('x1.75');
        if (
          initialImageWidth >= 600 ||
          initialImageHeight >= 350 ||
          (initialImageWidth >= 400 && entity.text_position)
        ) {
          elementsLabelsToRemove.push('x2');
        }
      }
    }
export const convertThemeToColorWhiteDefault = (theme: string) => {
  if (!theme) return '#0ea5e9';
  switch (theme) {
    case 'white':
      return '#ffffff';
    case 'slate':
      return '#64748b';
    case 'blue':
      return '#3b82f6';
    case 'sky':
      return '#0ea5e9';
    case 'teal':
      return '#14b8a6';
    case 'lime':
      return '#84cc16';
    case 'green':
      return '#22c55e';
    case 'yellow':
      return '#eab308';
    case 'orange':
      return '#f97316';
    case 'pink':
      return '#ec4899';
    case 'fuchsia':
      return '#d946ef';
    case 'purple':
      return '#a855f7';
    case 'indigo':
      return '#6366f1';
    case 'rose':
      return '#f43f5e';
    case 'red':
      return '#ef4444';
    case 'black':
      return '#000000';
  }
  return elementsLabelsToRemove;
  return '#ffffff';
};
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ import type { IImage } from '@/app/interfaces/entities';
import {
  getImageSpeedDialSizeBiggerLabelsToRemove,
  getImageSpeedDialSizeSmallerLabelsToRemove
} from '@/app/helpers';
} from '@/app/helpers/images';

interface Props {
  entityData: IImage;
Loading