261 lines
6.8 KiB
TypeScript
261 lines
6.8 KiB
TypeScript
import { ImageType } from '../api/routes/image/controller';
|
||
|
||
export const enum PAGE_LINK {
|
||
ABOUT = '/about',
|
||
BIRTHDAY = '/holidays/birthday',
|
||
CONTACTS = '/contacts',
|
||
COOPERATION = '/cooperation',
|
||
ESCORT = '/escort',
|
||
FAQ = '/faq',
|
||
FEEDBACK = '/feedback',
|
||
FRANCHISE = '/franchise',
|
||
GALLERY = '/gallery',
|
||
GRADUATION = '/holidays/graduation',
|
||
HOLIDAYS = '/holidays',
|
||
HOME = '/',
|
||
MASTER_CLASSES = '/services/master-classes',
|
||
NEW_YEAR = '/new_year',
|
||
OUTDOORS = '/holidays/outdoors',
|
||
PARTNERS = '/partners',
|
||
PRICE = '/price',
|
||
QUESTS = '/quests',
|
||
RENT = '/rent',
|
||
SERVICES = '/services',
|
||
SHOW_PROGRAMS = '/services/show-programs',
|
||
THEMED_COMBOS = '/services/themed-combos',
|
||
}
|
||
|
||
export type PAGE_LINK_LABEL_TYPE = {
|
||
[key in PAGE_LINK]: string;
|
||
};
|
||
|
||
export const PAGE_LINK_LABEL: PAGE_LINK_LABEL_TYPE = {
|
||
[PAGE_LINK.ABOUT]: 'Информация о парке',
|
||
[PAGE_LINK.BIRTHDAY]: 'День Рождения',
|
||
[PAGE_LINK.HOLIDAYS]: 'Праздники',
|
||
[PAGE_LINK.HOME]: 'Главная',
|
||
[PAGE_LINK.CONTACTS]: 'Контакты',
|
||
[PAGE_LINK.COOPERATION]: 'Сотрудничество',
|
||
[PAGE_LINK.ESCORT]: 'Сопровождение',
|
||
[PAGE_LINK.FAQ]: 'Частые вопросы',
|
||
[PAGE_LINK.FEEDBACK]: 'Отзывы',
|
||
[PAGE_LINK.FRANCHISE]: 'Франшиза',
|
||
[PAGE_LINK.GRADUATION]: 'Выпускные',
|
||
[PAGE_LINK.GALLERY]: 'Галерея',
|
||
[PAGE_LINK.MASTER_CLASSES]: 'Мастер классы',
|
||
[PAGE_LINK.NEW_YEAR]: 'Новый год',
|
||
[PAGE_LINK.OUTDOORS]: 'Выездные праздники',
|
||
[PAGE_LINK.PARTNERS]: 'Корпоративным клиентам и партнёрам',
|
||
[PAGE_LINK.PRICE]: 'Цены',
|
||
[PAGE_LINK.QUESTS]: 'Квесты',
|
||
[PAGE_LINK.RENT]: 'Аренда залов',
|
||
[PAGE_LINK.SERVICES]: 'Услуги',
|
||
[PAGE_LINK.SHOW_PROGRAMS]: 'Шоу-программы',
|
||
[PAGE_LINK.THEMED_COMBOS]: 'Тематические комбо',
|
||
};
|
||
|
||
export enum TextSection {
|
||
BANNER = 'banner',
|
||
DESCRIPTION = 'description',
|
||
INFO = 'info',
|
||
PARK = 'parkInfo',
|
||
TITLE = 'title',
|
||
}
|
||
|
||
export enum SERVICE {
|
||
ANIMATION = 'animation',
|
||
ANIMATOR = 'animator',
|
||
CRYO_SHOW = 'cryoShow',
|
||
DECORATION = 'decoration',
|
||
DIPLOMA = 'diploma',
|
||
DURATION = 'duration',
|
||
FACE_PAINTING = 'facePainting',
|
||
HALL = 'hall',
|
||
MASTERCLASS = 'masterclass',
|
||
PHOTOGRAPHER = 'photographer',
|
||
PHOTOS = 'photos',
|
||
QUEST = 'quest',
|
||
SCREENWRITER = 'screenWriter',
|
||
SHOW_DISCO = 'showDisco',
|
||
TABLEWARE_FESTIVE = 'tablewareFestive',
|
||
TEAM_BUILDING = 'teamBuilding',
|
||
}
|
||
|
||
export type ServiceType = {
|
||
enabled: boolean;
|
||
id: SERVICE;
|
||
name: string;
|
||
tooltip?: boolean;
|
||
};
|
||
|
||
export type ServiceItemType = {
|
||
age: { text: string };
|
||
description: string;
|
||
id: string;
|
||
image: ImageType;
|
||
partySize: { max: number; min: number };
|
||
price: number;
|
||
priceDescription: string;
|
||
time: { text: string };
|
||
title: string;
|
||
variant?: 'bubble'
|
||
| 'chemistry'
|
||
| 'disko'
|
||
| 'hexadecimal'
|
||
| 'lab'
|
||
| 'magic'
|
||
| 'neon'
|
||
| 'primary'
|
||
| 'quaternary'
|
||
| 'quinary'
|
||
| 'secondary'
|
||
| 'tertiary';
|
||
};
|
||
|
||
export enum ApiRoute {
|
||
BREADCRUMBS = '/breadcrumbs',
|
||
FAQ = '/faq',
|
||
HALLS = '/halls',
|
||
IMAGE = '/image',
|
||
INFO = '/info',
|
||
QUESTS = '/quests',
|
||
RATE = '/rate',
|
||
SERVICES = '/services',
|
||
STATISTIC_INFO = '/statistic',
|
||
STORIES = '/stories',
|
||
TEXT = '/text',
|
||
}
|
||
|
||
export const servicesList: { [k in SERVICE]: ServiceType } = {
|
||
[SERVICE.QUEST]: {
|
||
enabled: true,
|
||
id: SERVICE.QUEST,
|
||
name: 'Квест',
|
||
},
|
||
[SERVICE.ANIMATION]: {
|
||
enabled: true,
|
||
id: SERVICE.ANIMATION,
|
||
name: 'Тематическая анимация',
|
||
},
|
||
[SERVICE.DURATION]: {
|
||
enabled: true,
|
||
id: SERVICE.DURATION,
|
||
name: 'Продолжительность',
|
||
},
|
||
[SERVICE.ANIMATOR]: {
|
||
enabled: true,
|
||
id: SERVICE.ANIMATOR,
|
||
name: 'Аниматор',
|
||
},
|
||
[SERVICE.CRYO_SHOW]: {
|
||
enabled: true,
|
||
id: SERVICE.CRYO_SHOW,
|
||
name: 'Крио-Шоу',
|
||
},
|
||
[SERVICE.DECORATION]: {
|
||
enabled: true,
|
||
id: SERVICE.DECORATION,
|
||
name: 'Украшение зала',
|
||
},
|
||
[SERVICE.DIPLOMA]: {
|
||
enabled: true,
|
||
id: SERVICE.DIPLOMA,
|
||
name: 'Диплом выпускника',
|
||
},
|
||
[SERVICE.FACE_PAINTING]: {
|
||
enabled: true,
|
||
id: SERVICE.FACE_PAINTING,
|
||
name: 'Аква грим',
|
||
},
|
||
[SERVICE.HALL]: {
|
||
enabled: true,
|
||
id: SERVICE.HALL,
|
||
name: 'Зал для праздника',
|
||
tooltip: true,
|
||
},
|
||
[SERVICE.MASTERCLASS]: {
|
||
enabled: true,
|
||
id: SERVICE.MASTERCLASS,
|
||
name: 'Мастер класс',
|
||
},
|
||
[SERVICE.PHOTOGRAPHER]: {
|
||
enabled: true,
|
||
id: SERVICE.PHOTOGRAPHER,
|
||
name: 'Фотограф',
|
||
},
|
||
[SERVICE.PHOTOS]: {
|
||
enabled: true,
|
||
id: SERVICE.PHOTOS,
|
||
name: 'Фотографии',
|
||
},
|
||
[SERVICE.SCREENWRITER]: {
|
||
enabled: true,
|
||
id: SERVICE.SCREENWRITER,
|
||
name: 'Сценарист',
|
||
},
|
||
[SERVICE.SHOW_DISCO]: {
|
||
enabled: true,
|
||
id: SERVICE.SHOW_DISCO,
|
||
name: 'Шоу дискотека',
|
||
},
|
||
[SERVICE.TABLEWARE_FESTIVE]: {
|
||
enabled: true,
|
||
id: SERVICE.TABLEWARE_FESTIVE,
|
||
name: 'Праздничная посуда',
|
||
},
|
||
[SERVICE.TEAM_BUILDING]: {
|
||
enabled: true,
|
||
id: SERVICE.TEAM_BUILDING,
|
||
name: 'Тимбилдинг',
|
||
},
|
||
};
|
||
|
||
export enum ColorVariant {
|
||
BLACK,
|
||
BLACK_LIGHT,
|
||
GRADIENT_PERI,
|
||
GRADIENT_PERI2,
|
||
GRADIENT_PERI3,
|
||
GRADIENT_PERI4,
|
||
GRADIENT_RED,
|
||
GRADIENT_RED_DARK,
|
||
GRADIENT_YELLOW,
|
||
GRADIENT_ORANGE,
|
||
GRADIENT_GREEN,
|
||
GREEN,
|
||
GREY,
|
||
ORANGE,
|
||
TRANSPARENT,
|
||
VERI_PERI,
|
||
VERI_PERI_DARK,
|
||
WHITE,
|
||
}
|
||
type ColorType = {
|
||
[k in ColorVariant]: string;
|
||
};
|
||
export const COLORS: ColorType = {
|
||
[ColorVariant.BLACK]: '#000000',
|
||
[ColorVariant.BLACK_LIGHT]: '#3C3C3C',
|
||
[ColorVariant.GRADIENT_PERI]: 'linear-gradient(120.58deg, #33CC99 7.16%, #9966FF 92.98%)',
|
||
[ColorVariant.GRADIENT_PERI2]: 'linear-gradient(134.56deg, #6767AB 11.78%, #FF3399 84.81%)',
|
||
[ColorVariant.GRADIENT_PERI3]: 'linear-gradient(118.78deg, #9966FF 23.28%, #33CC99 97.07%)',
|
||
[ColorVariant.GRADIENT_PERI4]: 'linear-gradient(120.58deg, #968CE0 7.16%, #3748AA 92.98%)',
|
||
[ColorVariant.GRADIENT_RED]: 'linear-gradient(134.56deg, #FF5C00 11.78%, #FF3399 84.81%)',
|
||
[ColorVariant.GRADIENT_RED_DARK]: 'linear-gradient(134.56deg, #FF5F04 11.78%, #FE007F 84.81%)',
|
||
[ColorVariant.GRADIENT_YELLOW]: 'linear-gradient(154.56deg, #FDF041 -35.9%, #FBAB01 129.39%)',
|
||
[ColorVariant.GRADIENT_ORANGE]: 'linear-gradient(135.23deg, #FFB76F 20.94%, #FB5858 75.76%)',
|
||
[ColorVariant.GRADIENT_GREEN]: 'linear-gradient(120.58deg, #E9CA26 12.53%, #33CC99 92.98%)',
|
||
[ColorVariant.GREEN]: '#15B555',
|
||
[ColorVariant.GREY]: '#F1F7FD',
|
||
[ColorVariant.ORANGE]: '#FFB76F',
|
||
[ColorVariant.TRANSPARENT]: 'transparent',
|
||
[ColorVariant.VERI_PERI]: '#6767AB',
|
||
[ColorVariant.VERI_PERI_DARK]: '#5656A9',
|
||
[ColorVariant.WHITE]: '#FFFFFF',
|
||
};
|
||
|
||
export enum ImageSection {
|
||
BANNER = 'banner',
|
||
TITLE = 'title',
|
||
}
|