add faq, eslint
This commit is contained in:
parent
cc20844885
commit
cdbe10fcc0
149
.eslintrc.json
Normal file
149
.eslintrc.json
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
{
|
||||||
|
"extends": [
|
||||||
|
"airbnb-base",
|
||||||
|
"airbnb-typescript/base",
|
||||||
|
"plugin:import/recommended",
|
||||||
|
"plugin:typescript-sort-keys/recommended"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"@typescript-eslint",
|
||||||
|
"typescript-sort-keys",
|
||||||
|
"sort-destructure-keys",
|
||||||
|
"sort-keys-fix",
|
||||||
|
"import"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@typescript-eslint/naming-convention": ["error", {
|
||||||
|
"selector": "enum",
|
||||||
|
"format": ["PascalCase", "UPPER_CASE"],
|
||||||
|
"leadingUnderscore": "allow",
|
||||||
|
"trailingUnderscore": "allow"
|
||||||
|
}],
|
||||||
|
"@typescript-eslint/member-delimiter-style": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"delimiter": "semi",
|
||||||
|
"requireLast": true
|
||||||
|
},
|
||||||
|
"singleline": {
|
||||||
|
"delimiter": "semi",
|
||||||
|
"requireLast": false
|
||||||
|
},
|
||||||
|
"multilineDetection": "brackets"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/sort-type-constituents": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"checkIntersections": true,
|
||||||
|
"checkUnions": true,
|
||||||
|
"groupOrder": [
|
||||||
|
"named",
|
||||||
|
"keyword",
|
||||||
|
"operator",
|
||||||
|
"literal",
|
||||||
|
"function",
|
||||||
|
"import",
|
||||||
|
"conditional",
|
||||||
|
"object",
|
||||||
|
"tuple",
|
||||||
|
"intersection",
|
||||||
|
"union",
|
||||||
|
"nullish"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/type-annotation-spacing": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"before": false,
|
||||||
|
"after": true,
|
||||||
|
"overrides": {
|
||||||
|
"arrow": {
|
||||||
|
"before": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"import/no-extraneous-dependencies": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"devDependencies": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"import/order": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"alphabetize": {
|
||||||
|
"order": "asc"
|
||||||
|
},
|
||||||
|
"groups": [
|
||||||
|
"builtin",
|
||||||
|
"external",
|
||||||
|
"internal",
|
||||||
|
"parent",
|
||||||
|
[
|
||||||
|
"index",
|
||||||
|
"sibling"
|
||||||
|
],
|
||||||
|
"object"
|
||||||
|
],
|
||||||
|
"newlines-between": "always",
|
||||||
|
"pathGroups": [
|
||||||
|
{
|
||||||
|
"pattern": ".*/**/*.scss",
|
||||||
|
"group": "sibling",
|
||||||
|
"position": "after"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "@/**/*",
|
||||||
|
"group": "parent",
|
||||||
|
"position": "after"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pathGroupsExcludedImportTypes": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"import/prefer-default-export": "off",
|
||||||
|
"max-len": [
|
||||||
|
"error",
|
||||||
|
140
|
||||||
|
],
|
||||||
|
"no-console": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"allow": [
|
||||||
|
"warn",
|
||||||
|
"error"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort-destructure-keys/sort-destructure-keys": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"caseSensitive": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort-keys": [
|
||||||
|
"error",
|
||||||
|
"asc",
|
||||||
|
{
|
||||||
|
"caseSensitive": true,
|
||||||
|
"natural": false,
|
||||||
|
"minKeys": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort-keys-fix/sort-keys-fix": "error"
|
||||||
|
},
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"parserOptions": {
|
||||||
|
"project": "./tsconfig.json"
|
||||||
|
},
|
||||||
|
"root": true,
|
||||||
|
"settings": {
|
||||||
|
"import/parsers": {
|
||||||
|
"@typescript-eslint/parser": [ ".ts"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
12
package.json
12
package.json
@ -17,11 +17,21 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/cors": "2.8.13",
|
"@types/cors": "2.8.13",
|
||||||
"@types/express": "4.17.17",
|
"@types/express": "4.17.17",
|
||||||
"@types/uuid": "9.0.1"
|
"@types/uuid": "9.0.1",
|
||||||
|
"@typescript-eslint/eslint-plugin": "5.59.0",
|
||||||
|
"@typescript-eslint/parser": "5.59.0",
|
||||||
|
"eslint": "8.39.0",
|
||||||
|
"eslint-config-airbnb-base": "15.0.0",
|
||||||
|
"eslint-plugin-import": "2.27.5",
|
||||||
|
"eslint-plugin-sort-destructure-keys": "1.5.0",
|
||||||
|
"eslint-plugin-sort-keys-fix": "1.1.2",
|
||||||
|
"eslint-plugin-typescript-sort-keys": "2.3.0",
|
||||||
|
"eslint-config-airbnb-typescript": "17.0.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nodemon index.ts",
|
"dev": "nodemon index.ts",
|
||||||
"start": "ts-node --esm index.ts",
|
"start": "ts-node --esm index.ts",
|
||||||
|
"lint": "eslint src --color",
|
||||||
"docker:build:dev": "docker build -f ./configs/Dockerfile.dev -t arkids-main-backend:development .",
|
"docker:build:dev": "docker build -f ./configs/Dockerfile.dev -t arkids-main-backend:development .",
|
||||||
"docker:start:dev": "docker run --rm -p 5000:5000 -t -i -v ./src:/app-backend/src --name arkids-main-backend-development --network arkids-network arkids-main-backend:development",
|
"docker:start:dev": "docker run --rm -p 5000:5000 -t -i -v ./src:/app-backend/src --name arkids-main-backend-development --network arkids-network arkids-main-backend:development",
|
||||||
"docker:remove:dev": "docker image rm arkids-main-backend:development",
|
"docker:remove:dev": "docker image rm arkids-main-backend:development",
|
||||||
|
|||||||
@ -1,29 +1,31 @@
|
|||||||
import express, { Router } from 'express';
|
import express from 'express';
|
||||||
|
|
||||||
import { ApiRoute } from '../constants';
|
import { ApiRoute } from '../constants';
|
||||||
|
|
||||||
|
import breadcrumbsRouter from './routes/breadcrumbs';
|
||||||
|
import faqRouter from './routes/faq';
|
||||||
import hallsRouter from './routes/halls';
|
import hallsRouter from './routes/halls';
|
||||||
|
import imageRouter from './routes/image';
|
||||||
|
import infoRouter from './routes/info';
|
||||||
import questRouter from './routes/quests';
|
import questRouter from './routes/quests';
|
||||||
import rateRouter from './routes/rate';
|
import rateRouter from './routes/rate';
|
||||||
|
import servicesRouter from './routes/services';
|
||||||
import statisticsRouter from './routes/statistic';
|
import statisticsRouter from './routes/statistic';
|
||||||
import storiesRouter from './routes/stories';
|
import storiesRouter from './routes/stories';
|
||||||
import textRouter from './routes/text';
|
import textRouter from './routes/text';
|
||||||
import infoRouter from './routes/info';
|
|
||||||
import breadcrumbsRouter from './routes/breadcrumbs';
|
|
||||||
import servicesRouter from './routes/services';
|
|
||||||
import faqRouter from './routes/faq';
|
|
||||||
|
|
||||||
const apiRouter = express.Router()
|
const apiRouter = express.Router();
|
||||||
|
|
||||||
apiRouter.use(ApiRoute.BREADCRUMBS, breadcrumbsRouter)
|
|
||||||
apiRouter.use(ApiRoute.FAQ, faqRouter)
|
|
||||||
apiRouter.use(ApiRoute.INFO, infoRouter)
|
|
||||||
apiRouter.use(ApiRoute.SERVICES, servicesRouter)
|
|
||||||
apiRouter.use(ApiRoute.TEXT, textRouter)
|
|
||||||
apiRouter.use(ApiRoute.HALLS, hallsRouter)
|
|
||||||
apiRouter.use(ApiRoute.RATE, rateRouter)
|
|
||||||
apiRouter.use(ApiRoute.STORIES, storiesRouter)
|
|
||||||
apiRouter.use(ApiRoute.STATISTIC_INFO, statisticsRouter)
|
|
||||||
apiRouter.use(ApiRoute.QUESTS, questRouter)
|
|
||||||
|
|
||||||
|
apiRouter.use(ApiRoute.BREADCRUMBS, breadcrumbsRouter);
|
||||||
|
apiRouter.use(ApiRoute.FAQ, faqRouter);
|
||||||
|
apiRouter.use(ApiRoute.INFO, infoRouter);
|
||||||
|
apiRouter.use(ApiRoute.SERVICES, servicesRouter);
|
||||||
|
apiRouter.use(ApiRoute.TEXT, textRouter);
|
||||||
|
apiRouter.use(ApiRoute.HALLS, hallsRouter);
|
||||||
|
apiRouter.use(ApiRoute.RATE, rateRouter);
|
||||||
|
apiRouter.use(ApiRoute.STORIES, storiesRouter);
|
||||||
|
apiRouter.use(ApiRoute.STATISTIC_INFO, statisticsRouter);
|
||||||
|
apiRouter.use(ApiRoute.QUESTS, questRouter);
|
||||||
|
apiRouter.use(ApiRoute.IMAGE, imageRouter);
|
||||||
|
|
||||||
export default apiRouter;
|
export default apiRouter;
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
import { PAGE_LINK, PAGE_LINK_LABEL } from '../../../constants';
|
import { PAGE_LINK, PAGE_LINK_LABEL } from '../../../constants';
|
||||||
|
|
||||||
export type BreadcrumbsType = {
|
export type BreadcrumbsType = {
|
||||||
@ -29,6 +30,10 @@ const questsPageBreadcrumbs: BreadcrumbsType[] = [
|
|||||||
{ href: PAGE_LINK.QUESTS, label: PAGE_LINK_LABEL[PAGE_LINK.QUESTS] },
|
{ href: PAGE_LINK.QUESTS, label: PAGE_LINK_LABEL[PAGE_LINK.QUESTS] },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const faqPageBreadcrumbs: BreadcrumbsType[] = [
|
||||||
|
{ href: PAGE_LINK.HOME, label: PAGE_LINK_LABEL[PAGE_LINK.HOME] },
|
||||||
|
{ href: PAGE_LINK.FAQ, label: PAGE_LINK_LABEL[PAGE_LINK.FAQ] },
|
||||||
|
];
|
||||||
|
|
||||||
export const getBreadcrumbs = (req: Request, res: Response) => {
|
export const getBreadcrumbs = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@ -51,7 +56,11 @@ export const getBreadcrumbs = (req: Request, res: Response) => {
|
|||||||
return res.status(200).json(questsPageBreadcrumbs);
|
return res.status(200).json(questsPageBreadcrumbs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.FAQ: {
|
||||||
|
return res.status(200).json(faqPageBreadcrumbs);
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getBreadcrumbs } from './controller';
|
import { getBreadcrumbs } from './controller';
|
||||||
|
|
||||||
const router = express.Router()
|
const router = express.Router();
|
||||||
|
|
||||||
router.post('/', (req: Request, res: Response) => {
|
router.post('/', (req: Request, res: Response) => getBreadcrumbs(req, res));
|
||||||
return getBreadcrumbs(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -1,59 +1,81 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
|
import { v4 as uuid } from 'uuid';
|
||||||
|
|
||||||
import { PAGE_LINK } from '../../../constants';
|
import { PAGE_LINK } from '../../../constants';
|
||||||
|
|
||||||
export type QuestionType = {
|
export type QuestionType = {
|
||||||
answer: string;
|
answer: string;
|
||||||
|
id: string;
|
||||||
question: string;
|
question: string;
|
||||||
};
|
};
|
||||||
|
export type QuestionCategoryType = {
|
||||||
|
id: string;
|
||||||
|
questions: QuestionType[];
|
||||||
|
title: string;
|
||||||
|
};
|
||||||
const birthdayQuestions: QuestionType[] = [
|
const birthdayQuestions: QuestionType[] = [
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
||||||
+ 'Мероприятие оплачивается на месте перед его началом.',
|
+ 'Мероприятие оплачивается на месте перед его началом.',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как производится оплата мероприятия?',
|
question: 'Как производится оплата мероприятия?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const graduationQuestions: QuestionType[] = [
|
const graduationQuestions: QuestionType[] = [
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
answer: 'Ответ на вопрос как забронировать зал для проведения выпускного?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона.'
|
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона.'
|
||||||
+ ' Мероприятие оплачивается на месте перед его началом.',
|
+ ' Мероприятие оплачивается на месте перед его началом.',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как производится оплата мероприятия?',
|
question: 'Как производится оплата мероприятия?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const outdoorsQuestions: QuestionType[] = [
|
const outdoorsQuestions: QuestionType[] = [
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
answer: 'Ответ на вопрос как забронировать зал для проведения выездного праздника?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
||||||
+ 'Мероприятие оплачивается на месте перед его началом.',
|
+ 'Мероприятие оплачивается на месте перед его началом.',
|
||||||
|
id: uuid(),
|
||||||
question: 'Как производится оплата мероприятия?',
|
question: 'Как производится оплата мероприятия?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||||
|
id: uuid(),
|
||||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
type QuestionsType = {
|
||||||
|
categories: QuestionCategoryType[];
|
||||||
|
group: string;
|
||||||
|
id: string;
|
||||||
|
};
|
||||||
|
|
||||||
export const getFaq = (req: Request, res: Response) => {
|
export const getFaq = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const { id, page } = req.body;
|
const { id, page } = req.body;
|
||||||
@ -90,4 +112,103 @@ export const getFaq = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export const getAllFaq = (req: Request, res: Response<QuestionsType[]>) => {
|
||||||
|
res.status(200).json([
|
||||||
|
{
|
||||||
|
categories: [
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: birthdayQuestions,
|
||||||
|
title: 'Расположение',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: graduationQuestions,
|
||||||
|
title: 'Бронирование и оплата',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
group: 'О парке',
|
||||||
|
id: uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
categories: [
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: outdoorsQuestions,
|
||||||
|
title: 'Общая информация',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: graduationQuestions,
|
||||||
|
title: 'Квест Егерь',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: birthdayQuestions,
|
||||||
|
title: 'Квест Фараон',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: outdoorsQuestions,
|
||||||
|
title: 'Квест Мульт',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
group: 'Квесты',
|
||||||
|
id: uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
categories: [
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: birthdayQuestions,
|
||||||
|
title: 'День Рождения',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: outdoorsQuestions,
|
||||||
|
title: 'Комбо для праздника',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: birthdayQuestions,
|
||||||
|
title: 'Тематические комбо',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: graduationQuestions,
|
||||||
|
title: 'Выпускной',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: outdoorsQuestions,
|
||||||
|
title: 'Выездной правздник',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
group: 'Праздник',
|
||||||
|
id: uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
categories: [
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: graduationQuestions,
|
||||||
|
title: 'Аренда зала',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: outdoorsQuestions,
|
||||||
|
title: 'Мастер классы',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: uuid(),
|
||||||
|
questions: birthdayQuestions,
|
||||||
|
title: 'Сопровождение детей',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
group: 'Прочее',
|
||||||
|
id: uuid(),
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
import { getFaq } from './controller';
|
|
||||||
const router = express.Router()
|
|
||||||
|
|
||||||
router.post('/', (req: Request, res: Response) => {
|
import { getFaq, getAllFaq } from './controller';
|
||||||
return getFaq(req, res)
|
|
||||||
})
|
const router = express.Router();
|
||||||
|
|
||||||
|
router.post('/', (req: Request, res: Response) => getFaq(req, res));
|
||||||
|
|
||||||
|
router.get('/', (req: Request, res: Response) => getAllFaq(req, res));
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
import { Request, Response } from 'express';
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
const imageRootDir = 'static/images/information/halls/';
|
const imageRootDir = 'static/images/information/halls/';
|
||||||
|
|
||||||
const Hall1Image = path.join(imageRootDir, 'hall1.jpg')
|
const Hall1Image = path.join(imageRootDir, 'hall1.jpg');
|
||||||
const Hall2Image = path.join(imageRootDir, 'hall2.jpg')
|
const Hall2Image = path.join(imageRootDir, 'hall2.jpg');
|
||||||
const Hall3Image = path.join(imageRootDir, 'hall3.jpg')
|
const Hall3Image = path.join(imageRootDir, 'hall3.jpg');
|
||||||
|
|
||||||
export type HallType = {
|
export type HallType = {
|
||||||
area: number;
|
area: number;
|
||||||
@ -23,6 +23,4 @@ const halls: HallType[] = [
|
|||||||
{ area: 60, img: { alt: 'Зал Лофт', src: Hall3Image }, name: 'Зал Лофт' },
|
{ area: 60, img: { alt: 'Зал Лофт', src: Hall3Image }, name: 'Зал Лофт' },
|
||||||
];
|
];
|
||||||
|
|
||||||
export const getHalls = (req: Request, res: Response) => {
|
export const getHalls = (req: Request, res: Response) => res.status(200).json(halls);
|
||||||
return res.status(200).json(halls);
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
import { getHalls } from './controller';
|
|
||||||
const hallsRouter = express.Router()
|
|
||||||
|
|
||||||
hallsRouter.get('/', (req: Request, res: Response) => {
|
import { getHalls } from './controller';
|
||||||
return getHalls(req, res)
|
|
||||||
})
|
const hallsRouter = express.Router();
|
||||||
|
|
||||||
|
hallsRouter.get('/', (req: Request, res: Response) => getHalls(req, res));
|
||||||
|
|
||||||
export default hallsRouter;
|
export default hallsRouter;
|
||||||
|
|||||||
59
src/api/routes/image/controller.ts
Normal file
59
src/api/routes/image/controller.ts
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
|
import { PAGE_LINK } from '../../../constants';
|
||||||
|
|
||||||
|
export type ImagePosition = {
|
||||||
|
bottom?: number | string;
|
||||||
|
left?: number | string;
|
||||||
|
right?: number | string;
|
||||||
|
top?: number | string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ImageType = {
|
||||||
|
alt?: string;
|
||||||
|
height?: number;
|
||||||
|
mobileHeight?: number;
|
||||||
|
mobilePosition?: ImagePosition;
|
||||||
|
mobileSrc?: string;
|
||||||
|
mobileWidth?: number;
|
||||||
|
position?: ImagePosition;
|
||||||
|
src: string;
|
||||||
|
width?: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
const imageRootDir = 'static/images/title/';
|
||||||
|
const faqMobileImage = path.join(imageRootDir, 'faq/mobile.png');
|
||||||
|
const faqDesktopImage = path.join(imageRootDir, 'faq/desktop.png');
|
||||||
|
|
||||||
|
export const getTitleImage = (req: Request, res: Response<ImageType>) => {
|
||||||
|
// @ts-ignore
|
||||||
|
const { body } = req;
|
||||||
|
const { page } = body;
|
||||||
|
|
||||||
|
switch (page) {
|
||||||
|
case PAGE_LINK.FAQ: {
|
||||||
|
return res.status(200).json({
|
||||||
|
alt: 'faq',
|
||||||
|
height: 575,
|
||||||
|
mobileHeight: 704,
|
||||||
|
mobilePosition: {
|
||||||
|
left: -20,
|
||||||
|
top: -175,
|
||||||
|
},
|
||||||
|
mobileSrc: faqMobileImage,
|
||||||
|
mobileWidth: 385,
|
||||||
|
position: {
|
||||||
|
left: 75,
|
||||||
|
top: -160,
|
||||||
|
},
|
||||||
|
src: faqDesktopImage,
|
||||||
|
width: 1153,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return res.status(404);
|
||||||
|
}
|
||||||
|
};
|
||||||
9
src/api/routes/image/index.ts
Normal file
9
src/api/routes/image/index.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
|
import { getTitleImage } from './controller';
|
||||||
|
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
router.post('/', (req: Request, res: Response) => getTitleImage(req, res));
|
||||||
|
|
||||||
|
export default router;
|
||||||
@ -1,16 +1,12 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
import { PAGE_LINK } from '../../../constants';
|
import { PAGE_LINK } from '../../../constants';
|
||||||
|
|
||||||
const videoLink = 'https://www.youtube.com/watch?v=VqWkQCRsKD0';
|
const videoLink = 'https://www.youtube.com/watch?v=VqWkQCRsKD0';
|
||||||
|
|
||||||
type HomeInfo = {
|
|
||||||
video: string;
|
|
||||||
};
|
|
||||||
type ReturnInfoType = HomeInfo;
|
|
||||||
|
|
||||||
export const getInfo = (req: Request, res: Response) => {
|
export const getInfo = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const body = req.body;
|
const { body } = req;
|
||||||
|
|
||||||
const { page } = body;
|
const { page } = body;
|
||||||
|
|
||||||
@ -21,5 +17,4 @@ export const getInfo = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
}
|
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getInfo } from './controller';
|
import { getInfo } from './controller';
|
||||||
|
|
||||||
const router = express.Router()
|
const router = express.Router();
|
||||||
|
|
||||||
router.post('/', (req: Request, res: Response) => {
|
router.post('/', (req: Request, res: Response) => getInfo(req, res));
|
||||||
return getInfo(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
import { Request, Response } from 'express';
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
import { v4 as uuid } from 'uuid';
|
||||||
|
|
||||||
import { COLORS, ColorVariant } from '../../../constants';
|
import { COLORS, ColorVariant } from '../../../constants';
|
||||||
import { StoryType } from '../stories/controller';
|
import { StoryType } from '../stories/controller';
|
||||||
import {v4 as uuid} from 'uuid';
|
|
||||||
|
|
||||||
const imageRootDir = 'static/images/quests/';
|
const imageRootDir = 'static/images/quests/';
|
||||||
|
|
||||||
@ -13,11 +15,11 @@ const egerFeedbackMobileImage = path.join(imageRootDir, 'stories/eger/mobile/fee
|
|||||||
const egerGalleryMobileImage = path.join(imageRootDir, 'stories/eger/mobile/gallery.png');
|
const egerGalleryMobileImage = path.join(imageRootDir, 'stories/eger/mobile/gallery.png');
|
||||||
const egerPlotMobileImage = path.join(imageRootDir, 'stories/eger/mobile/plot.png');
|
const egerPlotMobileImage = path.join(imageRootDir, 'stories/eger/mobile/plot.png');
|
||||||
|
|
||||||
const egerBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/eger/desktop/background.png')
|
const egerBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/eger/desktop/background.png');
|
||||||
const egerBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/eger/mobile/background.png')
|
const egerBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/eger/mobile/background.png');
|
||||||
|
|
||||||
const egerCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/eger-card.png')
|
const egerCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/eger-card.png');
|
||||||
const egerCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/eger-card.png')
|
const egerCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/eger-card.png');
|
||||||
|
|
||||||
const faraonFeedbackImage = path.join(imageRootDir, 'stories/faraon/desktop/feedback.png');
|
const faraonFeedbackImage = path.join(imageRootDir, 'stories/faraon/desktop/feedback.png');
|
||||||
const faraonGalleryImage = path.join(imageRootDir, 'stories/faraon/desktop/gallery.png');
|
const faraonGalleryImage = path.join(imageRootDir, 'stories/faraon/desktop/gallery.png');
|
||||||
@ -26,11 +28,11 @@ const faraonFeedbackMobileImage = path.join(imageRootDir, 'stories/faraon/mobile
|
|||||||
const faraonGalleryMobileImage = path.join(imageRootDir, 'stories/faraon/mobile/gallery.png');
|
const faraonGalleryMobileImage = path.join(imageRootDir, 'stories/faraon/mobile/gallery.png');
|
||||||
const faraonPlotMobileImage = path.join(imageRootDir, 'stories/faraon/mobile/plot.png');
|
const faraonPlotMobileImage = path.join(imageRootDir, 'stories/faraon/mobile/plot.png');
|
||||||
|
|
||||||
const faraonBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/faraon/desktop/background.png')
|
const faraonBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/faraon/desktop/background.png');
|
||||||
const faraonBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/faraon/mobile/background.png')
|
const faraonBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/faraon/mobile/background.png');
|
||||||
|
|
||||||
const faraonCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/faraon-card.png')
|
const faraonCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/faraon-card.png');
|
||||||
const faraonCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/faraon-card.png')
|
const faraonCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/faraon-card.png');
|
||||||
|
|
||||||
const multFeedbackImage = path.join(imageRootDir, '/stories/mult/desktop/feedback.png');
|
const multFeedbackImage = path.join(imageRootDir, '/stories/mult/desktop/feedback.png');
|
||||||
const multGalleryImage = path.join(imageRootDir, '/stories/mult/desktop/gallery.png');
|
const multGalleryImage = path.join(imageRootDir, '/stories/mult/desktop/gallery.png');
|
||||||
@ -39,11 +41,11 @@ const multFeedbackMobileImage = path.join(imageRootDir, '/stories/mult/mobile/fe
|
|||||||
const multGalleryMobileImage = path.join(imageRootDir, '/stories/mult/mobile/gallery.png');
|
const multGalleryMobileImage = path.join(imageRootDir, '/stories/mult/mobile/gallery.png');
|
||||||
const multPlotMobileImage = path.join(imageRootDir, '/stories/mult/mobile/plot.png');
|
const multPlotMobileImage = path.join(imageRootDir, '/stories/mult/mobile/plot.png');
|
||||||
|
|
||||||
const multBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/mult/desktop/background.png')
|
const multBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/mult/desktop/background.png');
|
||||||
const multBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/mult/mobile/background.png')
|
const multBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/mult/mobile/background.png');
|
||||||
|
|
||||||
const multCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/mult-card.png')
|
const multCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/mult-card.png');
|
||||||
const multCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/mult-card.png')
|
const multCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/mult-card.png');
|
||||||
|
|
||||||
export type QuestItemType = {
|
export type QuestItemType = {
|
||||||
age: {
|
age: {
|
||||||
@ -420,13 +422,10 @@ export const getOne = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export const getAll = (req: Request, res: Response) => res.status(200).json([
|
||||||
export const getAll = (req: Request, res: Response) => {
|
|
||||||
return res.status(200).json([
|
|
||||||
egerQuest,
|
egerQuest,
|
||||||
faraonQuest,
|
faraonQuest,
|
||||||
multQuest,
|
multQuest,
|
||||||
])
|
]);
|
||||||
}
|
|
||||||
|
|||||||
@ -1,14 +1,11 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getAll, getOne } from './controller';
|
import { getAll, getOne } from './controller';
|
||||||
|
|
||||||
const questRouter = express.Router()
|
const questRouter = express.Router();
|
||||||
|
|
||||||
questRouter.get('/', (req: Request, res: Response) => {
|
questRouter.get('/', (req: Request, res: Response) => getAll(req, res));
|
||||||
return getAll(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
questRouter.get('/:id', (req: Request, res: Response) => {
|
questRouter.get('/:id', (req: Request, res: Response) => getOne(req, res));
|
||||||
return getOne(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default questRouter;
|
export default questRouter;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import { Request, Response } from 'express';
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
import { PAGE_LINK, SERVICE } from '../../../constants';
|
import { PAGE_LINK, SERVICE } from '../../../constants';
|
||||||
|
|
||||||
const imageRootDir = 'static/images/rate/';
|
const imageRootDir = 'static/images/rate/';
|
||||||
@ -529,4 +531,4 @@ export const getRate = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getRate } from './controller';
|
import { getRate } from './controller';
|
||||||
|
|
||||||
const rateRouter = express.Router()
|
const rateRouter = express.Router();
|
||||||
|
|
||||||
rateRouter.post('/', (req: Request, res: Response) => {
|
rateRouter.post('/', (req: Request, res: Response) => getRate(req, res));
|
||||||
return getRate(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default rateRouter;
|
export default rateRouter;
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import { PAGE_LINK, SERVICE, servicesList, ServiceType } from '../../../constants';
|
|
||||||
|
|
||||||
|
import {
|
||||||
|
PAGE_LINK, SERVICE, servicesList, ServiceType,
|
||||||
|
} from '../../../constants';
|
||||||
|
|
||||||
const birthdayPageServices: ServiceType[] = [
|
const birthdayPageServices: ServiceType[] = [
|
||||||
servicesList[SERVICE.QUEST],
|
servicesList[SERVICE.QUEST],
|
||||||
@ -43,8 +45,7 @@ const outdoorsPageServices: ServiceType[] = [
|
|||||||
export const getServices = (req: Request, res: Response) => {
|
export const getServices = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const { page } = req.body;
|
const { page } = req.body;
|
||||||
// @ts-ignore
|
|
||||||
console.log('Body', req.body);
|
|
||||||
switch (page) {
|
switch (page) {
|
||||||
case PAGE_LINK.BIRTHDAY: {
|
case PAGE_LINK.BIRTHDAY: {
|
||||||
return res.status(200).json(birthdayPageServices);
|
return res.status(200).json(birthdayPageServices);
|
||||||
@ -61,4 +62,4 @@ export const getServices = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
import {
|
|
||||||
getServices } from './controller';
|
|
||||||
|
|
||||||
const router = express.Router()
|
import { getServices } from './controller';
|
||||||
|
|
||||||
router.post('/', (req: Request, res: Response) => {
|
const router = express.Router();
|
||||||
return getServices(req, res);
|
|
||||||
})
|
router.post('/', (req: Request, res: Response) => getServices(req, res));
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import { Request, Response } from 'express';
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
import { PAGE_LINK } from '../../../constants';
|
import { PAGE_LINK } from '../../../constants';
|
||||||
|
|
||||||
const imageRootDir = 'static/images/information/statistics';
|
const imageRootDir = 'static/images/information/statistics';
|
||||||
@ -37,6 +39,8 @@ const StarMobileImg = path.join(imageRootDir, 'mobile/star.png');
|
|||||||
export type StatisticsItem = {
|
export type StatisticsItem = {
|
||||||
img?: {
|
img?: {
|
||||||
alt: string;
|
alt: string;
|
||||||
|
height: number;
|
||||||
|
mobileHeight?: number;
|
||||||
mobilePosition?: {
|
mobilePosition?: {
|
||||||
bottom?: number;
|
bottom?: number;
|
||||||
left?: number;
|
left?: number;
|
||||||
@ -44,6 +48,7 @@ export type StatisticsItem = {
|
|||||||
top?: number;
|
top?: number;
|
||||||
};
|
};
|
||||||
mobileSrc?: string;
|
mobileSrc?: string;
|
||||||
|
mobileWidth?: number;
|
||||||
position?: {
|
position?: {
|
||||||
bottom?: number;
|
bottom?: number;
|
||||||
left?: number;
|
left?: number;
|
||||||
@ -51,9 +56,6 @@ export type StatisticsItem = {
|
|||||||
top?: number;
|
top?: number;
|
||||||
};
|
};
|
||||||
src: string;
|
src: string;
|
||||||
height: number;
|
|
||||||
mobileHeight?: number;
|
|
||||||
mobileWidth?: number;
|
|
||||||
width: number;
|
width: number;
|
||||||
};
|
};
|
||||||
mobileOrder?: number;
|
mobileOrder?: number;
|
||||||
@ -81,12 +83,13 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'combo',
|
alt: 'combo',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 12,
|
right: 12,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: RateMobileImg,
|
mobileSrc: RateMobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 60,
|
mobileWidth: 60,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -94,7 +97,6 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: RateDesktopImg,
|
src: RateDesktopImg,
|
||||||
width: 80,
|
width: 80,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -107,12 +109,13 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'programs',
|
alt: 'programs',
|
||||||
|
height: 96,
|
||||||
|
mobileHeight: 84,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: -20,
|
top: -20,
|
||||||
},
|
},
|
||||||
mobileSrc: ProgramsMobileImg,
|
mobileSrc: ProgramsMobileImg,
|
||||||
mobileHeight: 84,
|
|
||||||
mobileWidth: 110,
|
mobileWidth: 110,
|
||||||
position: {
|
position: {
|
||||||
right: 0,
|
right: 0,
|
||||||
@ -120,7 +123,6 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: ProgramsDesktopImg,
|
src: ProgramsDesktopImg,
|
||||||
width: 72,
|
width: 72,
|
||||||
height: 96
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -133,12 +135,13 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 80,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: DecorationMobileImg,
|
mobileSrc: DecorationMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 90,
|
mobileWidth: 90,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -146,7 +149,6 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: DecorationDesktopImg,
|
src: DecorationDesktopImg,
|
||||||
width: 106,
|
width: 106,
|
||||||
height: 80
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -159,12 +161,13 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 108,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 26,
|
right: 26,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: KidsMobileImg,
|
mobileSrc: KidsMobileImg,
|
||||||
mobileHeight: 108,
|
|
||||||
mobileWidth: 74,
|
mobileWidth: 74,
|
||||||
position: {
|
position: {
|
||||||
right: -10,
|
right: -10,
|
||||||
@ -172,7 +175,6 @@ const birthdayItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileText: 'для детей разных возрастов',
|
mobileText: 'для детей разных возрастов',
|
||||||
size: {
|
size: {
|
||||||
@ -198,16 +200,16 @@ const homeItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'pinata',
|
alt: 'pinata',
|
||||||
|
height: 120,
|
||||||
|
mobileHeight: 131,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
left: 37,
|
left: 37,
|
||||||
top: -40,
|
top: -40,
|
||||||
},
|
},
|
||||||
mobileSrc: PinataMobileImg,
|
mobileSrc: PinataMobileImg,
|
||||||
mobileHeight: 131,
|
|
||||||
mobileWidth: 128,
|
mobileWidth: 128,
|
||||||
src: PinataDesktopImg,
|
src: PinataDesktopImg,
|
||||||
width: 123,
|
width: 123,
|
||||||
height: 120
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -220,12 +222,13 @@ const homeItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'star',
|
alt: 'star',
|
||||||
|
height: 66,
|
||||||
|
mobileHeight: 112,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 6,
|
right: 6,
|
||||||
top: -20,
|
top: -20,
|
||||||
},
|
},
|
||||||
mobileSrc: StarMobileImg,
|
mobileSrc: StarMobileImg,
|
||||||
mobileHeight: 112,
|
|
||||||
mobileWidth: 112,
|
mobileWidth: 112,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -233,7 +236,6 @@ const homeItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: StarDesktopImg,
|
src: StarDesktopImg,
|
||||||
width: 66,
|
width: 66,
|
||||||
height: 66
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -246,12 +248,13 @@ const homeItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'like',
|
alt: 'like',
|
||||||
|
height: 72,
|
||||||
|
mobileHeight: 89,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 17,
|
right: 17,
|
||||||
top: -14,
|
top: -14,
|
||||||
},
|
},
|
||||||
mobileSrc: LikeMobileImg,
|
mobileSrc: LikeMobileImg,
|
||||||
mobileHeight: 89,
|
|
||||||
mobileWidth: 87,
|
mobileWidth: 87,
|
||||||
position: {
|
position: {
|
||||||
right: 5,
|
right: 5,
|
||||||
@ -259,7 +262,6 @@ const homeItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: LikeDesktopImg,
|
src: LikeDesktopImg,
|
||||||
width: 76,
|
width: 76,
|
||||||
height: 72
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -272,15 +274,15 @@ const homeItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'cup',
|
alt: 'cup',
|
||||||
|
height: 101,
|
||||||
|
mobileHeight: 131,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 3,
|
right: 3,
|
||||||
top: -29,
|
top: -29,
|
||||||
},
|
},
|
||||||
|
mobileWidth: 131,
|
||||||
src: CupMobileImg,
|
src: CupMobileImg,
|
||||||
height: 101,
|
|
||||||
width: 101,
|
width: 101,
|
||||||
mobileHeight: 131,
|
|
||||||
mobileWidth: 131
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -305,12 +307,13 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'combo',
|
alt: 'combo',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
left: 12,
|
left: 12,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: RateMobileImg,
|
mobileSrc: RateMobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 60,
|
mobileWidth: 60,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -318,7 +321,6 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: RateDesktopImg,
|
src: RateDesktopImg,
|
||||||
width: 80,
|
width: 80,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -331,12 +333,13 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'diploma',
|
alt: 'diploma',
|
||||||
|
height: 85,
|
||||||
|
mobileHeight: 90,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: DiplomaMobileImg,
|
mobileSrc: DiplomaMobileImg,
|
||||||
mobileHeight: 90,
|
|
||||||
mobileWidth: 100,
|
mobileWidth: 100,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -344,7 +347,6 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: DiplomaDesktopImg,
|
src: DiplomaDesktopImg,
|
||||||
width: 76,
|
width: 76,
|
||||||
height: 85
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -357,12 +359,13 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 80,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: DecorationMobileImg,
|
mobileSrc: DecorationMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 90,
|
mobileWidth: 90,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -370,7 +373,6 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: DecorationDesktopImg,
|
src: DecorationDesktopImg,
|
||||||
width: 106,
|
width: 106,
|
||||||
height: 80
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -383,12 +385,13 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 108,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: KidsMobileImg,
|
mobileSrc: KidsMobileImg,
|
||||||
mobileHeight: 108,
|
|
||||||
mobileWidth: 74,
|
mobileWidth: 74,
|
||||||
position: {
|
position: {
|
||||||
right: -10,
|
right: -10,
|
||||||
@ -396,7 +399,6 @@ const graduationItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -421,12 +423,13 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'combo',
|
alt: 'combo',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
left: 12,
|
left: 12,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: RateMobileImg,
|
mobileSrc: RateMobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 60,
|
mobileWidth: 60,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -434,7 +437,6 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: RateDesktopImg,
|
src: RateDesktopImg,
|
||||||
width: 80,
|
width: 80,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -447,12 +449,13 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'programs',
|
alt: 'programs',
|
||||||
|
height: 98,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 10,
|
right: 10,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: StatScooterMobileImg,
|
mobileSrc: StatScooterMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 114,
|
mobileWidth: 114,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -460,7 +463,6 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: StatScooterDesktopImg,
|
src: StatScooterDesktopImg,
|
||||||
width: 94,
|
width: 94,
|
||||||
height: 98
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -473,12 +475,13 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 108,
|
||||||
|
mobileHeight: 76,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 14,
|
right: 14,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: StatDecorMobileImg,
|
mobileSrc: StatDecorMobileImg,
|
||||||
mobileHeight: 76,
|
|
||||||
mobileWidth: 136,
|
mobileWidth: 136,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -486,7 +489,6 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: StatDecorDesktopImg,
|
src: StatDecorDesktopImg,
|
||||||
width: 60,
|
width: 60,
|
||||||
height: 108
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -499,12 +501,13 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 108,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
left: 28,
|
left: 28,
|
||||||
top: -10,
|
top: -10,
|
||||||
},
|
},
|
||||||
mobileSrc: KidsMobileImg,
|
mobileSrc: KidsMobileImg,
|
||||||
mobileHeight: 108,
|
|
||||||
mobileWidth: 74,
|
mobileWidth: 74,
|
||||||
position: {
|
position: {
|
||||||
right: -10,
|
right: -10,
|
||||||
@ -512,7 +515,6 @@ const outdoorsItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 2,
|
sm: 2,
|
||||||
@ -537,12 +539,13 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 15,
|
right: 15,
|
||||||
top: -20,
|
top: -20,
|
||||||
},
|
},
|
||||||
mobileSrc: Kids2MobileImg,
|
mobileSrc: Kids2MobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 110,
|
mobileWidth: 110,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -550,7 +553,6 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 1,
|
mobileOrder: 1,
|
||||||
order: 1,
|
order: 1,
|
||||||
@ -565,12 +567,13 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'programs',
|
alt: 'programs',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: -20,
|
right: -20,
|
||||||
top: 5,
|
top: 5,
|
||||||
},
|
},
|
||||||
mobileSrc: BooksMobileImg,
|
mobileSrc: BooksMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 122,
|
mobileWidth: 122,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -578,7 +581,6 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: BooksDesktopImg,
|
src: BooksDesktopImg,
|
||||||
width: 109,
|
width: 109,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
mobileOrder: 4,
|
mobileOrder: 4,
|
||||||
order: 2,
|
order: 2,
|
||||||
@ -593,12 +595,13 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 68,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 14,
|
right: 14,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: MapMobileImg,
|
mobileSrc: MapMobileImg,
|
||||||
mobileHeight: 68,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -606,7 +609,6 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: MapDesktopImg,
|
src: MapDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 3,
|
mobileOrder: 3,
|
||||||
order: 3,
|
order: 3,
|
||||||
@ -621,12 +623,13 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 64,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 0,
|
right: 0,
|
||||||
top: -15,
|
top: -15,
|
||||||
},
|
},
|
||||||
mobileSrc: KeysMobileImg,
|
mobileSrc: KeysMobileImg,
|
||||||
mobileHeight: 64,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 30,
|
right: 30,
|
||||||
@ -634,7 +637,6 @@ const egerQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KeysDesktopImg,
|
src: KeysDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 2,
|
mobileOrder: 2,
|
||||||
order: 4,
|
order: 4,
|
||||||
@ -661,12 +663,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 15,
|
right: 15,
|
||||||
top: -20,
|
top: -20,
|
||||||
},
|
},
|
||||||
mobileSrc: Kids2MobileImg,
|
mobileSrc: Kids2MobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 110,
|
mobileWidth: 110,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -674,7 +677,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 1,
|
mobileOrder: 1,
|
||||||
order: 1,
|
order: 1,
|
||||||
@ -689,12 +691,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'programs',
|
alt: 'programs',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: -20,
|
right: -20,
|
||||||
top: 5,
|
top: 5,
|
||||||
},
|
},
|
||||||
mobileSrc: BooksMobileImg,
|
mobileSrc: BooksMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 122,
|
mobileWidth: 122,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -702,7 +705,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: BooksDesktopImg,
|
src: BooksDesktopImg,
|
||||||
width: 109,
|
width: 109,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
mobileOrder: 4,
|
mobileOrder: 4,
|
||||||
order: 2,
|
order: 2,
|
||||||
@ -717,12 +719,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 68,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 14,
|
right: 14,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: MapMobileImg,
|
mobileSrc: MapMobileImg,
|
||||||
mobileHeight: 68,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -730,7 +733,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: MapDesktopImg,
|
src: MapDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 3,
|
mobileOrder: 3,
|
||||||
order: 3,
|
order: 3,
|
||||||
@ -745,12 +747,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 64,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 0,
|
right: 0,
|
||||||
top: -15,
|
top: -15,
|
||||||
},
|
},
|
||||||
mobileSrc: KeysMobileImg,
|
mobileSrc: KeysMobileImg,
|
||||||
mobileHeight: 64,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 30,
|
right: 30,
|
||||||
@ -758,7 +761,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KeysDesktopImg,
|
src: KeysDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 2,
|
mobileOrder: 2,
|
||||||
order: 4,
|
order: 4,
|
||||||
@ -785,12 +787,13 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 106,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 15,
|
right: 15,
|
||||||
top: -20,
|
top: -20,
|
||||||
},
|
},
|
||||||
mobileSrc: Kids2MobileImg,
|
mobileSrc: Kids2MobileImg,
|
||||||
mobileHeight: 106,
|
|
||||||
mobileWidth: 110,
|
mobileWidth: 110,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -798,7 +801,6 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KidsDesktopImg,
|
src: KidsDesktopImg,
|
||||||
width: 90,
|
width: 90,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 1,
|
mobileOrder: 1,
|
||||||
order: 1,
|
order: 1,
|
||||||
@ -813,12 +815,13 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'programs',
|
alt: 'programs',
|
||||||
|
height: 90,
|
||||||
|
mobileHeight: 116,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: -20,
|
right: -20,
|
||||||
top: 5,
|
top: 5,
|
||||||
},
|
},
|
||||||
mobileSrc: BooksMobileImg,
|
mobileSrc: BooksMobileImg,
|
||||||
mobileHeight: 116,
|
|
||||||
mobileWidth: 122,
|
mobileWidth: 122,
|
||||||
position: {
|
position: {
|
||||||
right: 22,
|
right: 22,
|
||||||
@ -826,7 +829,6 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: BooksDesktopImg,
|
src: BooksDesktopImg,
|
||||||
width: 109,
|
width: 109,
|
||||||
height: 90
|
|
||||||
},
|
},
|
||||||
mobileOrder: 4,
|
mobileOrder: 4,
|
||||||
order: 2,
|
order: 2,
|
||||||
@ -841,12 +843,13 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'decor',
|
alt: 'decor',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 68,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 14,
|
right: 14,
|
||||||
top: 10,
|
top: 10,
|
||||||
},
|
},
|
||||||
mobileSrc: MapMobileImg,
|
mobileSrc: MapMobileImg,
|
||||||
mobileHeight: 68,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 35,
|
right: 35,
|
||||||
@ -854,7 +857,6 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: MapDesktopImg,
|
src: MapDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 3,
|
mobileOrder: 3,
|
||||||
order: 3,
|
order: 3,
|
||||||
@ -869,12 +871,13 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
{
|
{
|
||||||
img: {
|
img: {
|
||||||
alt: 'kids',
|
alt: 'kids',
|
||||||
|
height: 94,
|
||||||
|
mobileHeight: 64,
|
||||||
mobilePosition: {
|
mobilePosition: {
|
||||||
right: 0,
|
right: 0,
|
||||||
top: -15,
|
top: -15,
|
||||||
},
|
},
|
||||||
mobileSrc: KeysMobileImg,
|
mobileSrc: KeysMobileImg,
|
||||||
mobileHeight: 64,
|
|
||||||
mobileWidth: 94,
|
mobileWidth: 94,
|
||||||
position: {
|
position: {
|
||||||
right: 30,
|
right: 30,
|
||||||
@ -882,7 +885,6 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
},
|
},
|
||||||
src: KeysDesktopImg,
|
src: KeysDesktopImg,
|
||||||
width: 69,
|
width: 69,
|
||||||
height: 94
|
|
||||||
},
|
},
|
||||||
mobileOrder: 2,
|
mobileOrder: 2,
|
||||||
order: 4,
|
order: 4,
|
||||||
@ -898,7 +900,7 @@ const multQuestItems: StatisticsItem[] = [
|
|||||||
|
|
||||||
export const getStatistics = (req: Request, res: Response) => {
|
export const getStatistics = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const {page, id} = req.body;
|
const { id, page } = req.body;
|
||||||
|
|
||||||
switch (page) {
|
switch (page) {
|
||||||
case PAGE_LINK.BIRTHDAY: {
|
case PAGE_LINK.BIRTHDAY: {
|
||||||
@ -936,4 +938,4 @@ export const getStatistics = (req: Request, res: Response) => {
|
|||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getStatistics } from './controller';
|
import { getStatistics } from './controller';
|
||||||
|
|
||||||
const statisticsRouter = express.Router()
|
const statisticsRouter = express.Router();
|
||||||
|
|
||||||
statisticsRouter.post('/', (req: Request, res: Response) => {
|
statisticsRouter.post('/', (req: Request, res: Response) => getStatistics(req, res));
|
||||||
return getStatistics(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default statisticsRouter;
|
export default statisticsRouter;
|
||||||
|
|||||||
@ -1,19 +1,21 @@
|
|||||||
import { Request, Response } from 'express';
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
import { Request, Response } from 'express';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
|
|
||||||
import { PAGE_LINK } from '../../../constants';
|
import { PAGE_LINK } from '../../../constants';
|
||||||
|
|
||||||
const imageRootDir = 'static/images/stories/';
|
const imageRootDir = 'static/images/stories/';
|
||||||
|
|
||||||
const faqImage = path.join(imageRootDir, 'birthday/faq.png')
|
const faqImage = path.join(imageRootDir, 'birthday/faq.png');
|
||||||
const faqMobileImage = path.join(imageRootDir, 'birthday/faq_mobile.png')
|
const faqMobileImage = path.join(imageRootDir, 'birthday/faq_mobile.png');
|
||||||
const feedbackImage = path.join(imageRootDir, 'birthday/feedback.png')
|
const feedbackImage = path.join(imageRootDir, 'birthday/feedback.png');
|
||||||
const feedbackMobileImage = path.join(imageRootDir, 'birthday/feedback_mobile.png')
|
const feedbackMobileImage = path.join(imageRootDir, 'birthday/feedback_mobile.png');
|
||||||
const photoImage = path.join(imageRootDir, 'birthday/photo.png')
|
const photoImage = path.join(imageRootDir, 'birthday/photo.png');
|
||||||
const photoMobileImage = path.join(imageRootDir, 'birthday/photo_mobile.png')
|
const photoMobileImage = path.join(imageRootDir, 'birthday/photo_mobile.png');
|
||||||
|
|
||||||
const example = path.join(imageRootDir, 'example.png')
|
const example = path.join(imageRootDir, 'example.png');
|
||||||
const example2 = path.join(imageRootDir, 'example2.jpg')
|
const example2 = path.join(imageRootDir, 'example2.jpg');
|
||||||
|
|
||||||
export type StoryFeedbackModalType = {};
|
export type StoryFeedbackModalType = {};
|
||||||
export type StoryGalleryModalType = {};
|
export type StoryGalleryModalType = {};
|
||||||
@ -48,8 +50,6 @@ export type StoryType = {
|
|||||||
title?: string;
|
title?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const birthdayPageStories: StoryType[] = [
|
const birthdayPageStories: StoryType[] = [
|
||||||
{
|
{
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
@ -321,7 +321,11 @@ export const getStories = (req: Request, res: Response) => {
|
|||||||
return res.status(200).json(homePageStories);
|
return res.status(200).json(homePageStories);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.FAQ: {
|
||||||
|
return res.status(200).json([]);
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import express, { Request, Response } from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
import { getStories } from './controller';
|
import { getStories } from './controller';
|
||||||
|
|
||||||
const storiesRouter = express.Router()
|
const storiesRouter = express.Router();
|
||||||
|
|
||||||
storiesRouter.post('/', (req: Request, res: Response) => {
|
storiesRouter.post('/', (req: Request, res: Response) => getStories(req, res));
|
||||||
return getStories(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default storiesRouter;
|
export default storiesRouter;
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
import { PAGE_LINK, TextSection } from '../../../constants';
|
import { PAGE_LINK, TextSection } from '../../../constants';
|
||||||
|
|
||||||
const birthdayTitleText = {
|
const birthdayTitleText = {
|
||||||
@ -26,6 +27,11 @@ const questsTitleText = {
|
|||||||
title: 'Квесты',
|
title: 'Квесты',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const faqTitleText = {
|
||||||
|
description: 'Раздел с подробной информацией по каждой услуге. Чтобы посмотреть ответы на вопросы, выберите интересующую Вас категорию',
|
||||||
|
title: 'Часто задаваемые вопросы',
|
||||||
|
};
|
||||||
|
|
||||||
const parkInfo = {
|
const parkInfo = {
|
||||||
text: '-интерактивный парк нового поколения,\n'
|
text: '-интерактивный парк нового поколения,\n'
|
||||||
+ ' объединяющий популярные услуги\n'
|
+ ' объединяющий популярные услуги\n'
|
||||||
@ -34,11 +40,8 @@ const parkInfo = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getTitle = (req: Request, res: Response) => {
|
export const getTitle = (req: Request, res: Response) => {
|
||||||
console.log('headers', req.headers);
|
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const body = req.body;
|
const { body } = req;
|
||||||
console.log('body', body);
|
|
||||||
const { page, section } = body;
|
const { page, section } = body;
|
||||||
|
|
||||||
switch (page) {
|
switch (page) {
|
||||||
@ -92,7 +95,17 @@ export const getTitle = (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.FAQ: {
|
||||||
|
switch (section) {
|
||||||
|
case TextSection.TITLE:
|
||||||
|
return res.status(200).json(faqTitleText);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return res.status(404);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
@ -1,21 +1,16 @@
|
|||||||
// const express = require('express')
|
|
||||||
|
|
||||||
import express, { NextFunction, Request, Response } from 'express';
|
import express, { NextFunction, Request, Response } from 'express';
|
||||||
|
|
||||||
import { getTitle } from './controller';
|
import { getTitle } from './controller';
|
||||||
const router = express.Router()
|
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
// middleware that is specific to this router
|
// middleware that is specific to this router
|
||||||
router.use((req: Request, res: Response, next: NextFunction) => {
|
router.use((req: Request, res: Response, next: NextFunction) => {
|
||||||
console.log('Time: ', Date.now())
|
next();
|
||||||
next()
|
});
|
||||||
})
|
|
||||||
|
|
||||||
router.get('/', (req: Request, res: Response) => {
|
router.get('/', (req: Request, res: Response) => res.send('Api text GET response'));
|
||||||
return res.send('Api text GET response')
|
|
||||||
})
|
|
||||||
|
|
||||||
router.post('/', (req: Request, res: Response) => {
|
router.post('/', (req: Request, res: Response) => getTitle(req, res));
|
||||||
return getTitle(req, res);
|
|
||||||
})
|
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -85,6 +85,7 @@ export enum ApiRoute {
|
|||||||
BREADCRUMBS = '/breadcrumbs',
|
BREADCRUMBS = '/breadcrumbs',
|
||||||
FAQ = '/faq',
|
FAQ = '/faq',
|
||||||
HALLS = '/halls',
|
HALLS = '/halls',
|
||||||
|
IMAGE = '/image',
|
||||||
INFO = '/info',
|
INFO = '/info',
|
||||||
QUESTS = '/quests',
|
QUESTS = '/quests',
|
||||||
RATE = '/rate',
|
RATE = '/rate',
|
||||||
@ -178,7 +179,6 @@ export const servicesList: { [k in SERVICE]: ServiceType } = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export enum ColorVariant {
|
export enum ColorVariant {
|
||||||
BLACK,
|
BLACK,
|
||||||
BLACK_LIGHT,
|
BLACK_LIGHT,
|
||||||
@ -203,22 +203,22 @@ type ColorType = {
|
|||||||
[k in ColorVariant]: string;
|
[k in ColorVariant]: string;
|
||||||
};
|
};
|
||||||
export const COLORS: ColorType = {
|
export const COLORS: ColorType = {
|
||||||
[ColorVariant.BLACK]: "#000000",
|
[ColorVariant.BLACK]: '#000000',
|
||||||
[ColorVariant.BLACK_LIGHT]: "#3C3C3C",
|
[ColorVariant.BLACK_LIGHT]: '#3C3C3C',
|
||||||
[ColorVariant.GRADIENT_PERI]: "linear-gradient(120.58deg, #33CC99 7.16%, #9966FF 92.98%)",
|
[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_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_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_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]: '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_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_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_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.GRADIENT_GREEN]: 'linear-gradient(120.58deg, #E9CA26 12.53%, #33CC99 92.98%)',
|
||||||
[ColorVariant.GREEN]: "#15B555",
|
[ColorVariant.GREEN]: '#15B555',
|
||||||
[ColorVariant.GREY]: "#F1F7FD",
|
[ColorVariant.GREY]: '#F1F7FD',
|
||||||
[ColorVariant.ORANGE]: "#FFB76F",
|
[ColorVariant.ORANGE]: '#FFB76F',
|
||||||
[ColorVariant.TRANSPARENT]: 'transparent',
|
[ColorVariant.TRANSPARENT]: 'transparent',
|
||||||
[ColorVariant.VERI_PERI]: "#6767AB",
|
[ColorVariant.VERI_PERI]: '#6767AB',
|
||||||
[ColorVariant.VERI_PERI_DARK]: "#5656A9",
|
[ColorVariant.VERI_PERI_DARK]: '#5656A9',
|
||||||
[ColorVariant.WHITE]: "#FFFFFF",
|
[ColorVariant.WHITE]: '#FFFFFF',
|
||||||
};
|
};
|
||||||
|
|||||||
BIN
static/images/title/faq/desktop.png
Normal file
BIN
static/images/title/faq/desktop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 289 KiB |
BIN
static/images/title/faq/mobile.png
Normal file
BIN
static/images/title/faq/mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
BIN
yarn-offline-mirror/@eslint-community-eslint-utils-4.4.0.tgz
Normal file
BIN
yarn-offline-mirror/@eslint-community-eslint-utils-4.4.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@eslint-community-regexpp-4.5.1.tgz
Normal file
BIN
yarn-offline-mirror/@eslint-community-regexpp-4.5.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@eslint-eslintrc-2.0.3.tgz
Normal file
BIN
yarn-offline-mirror/@eslint-eslintrc-2.0.3.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@eslint-js-8.39.0.tgz
Normal file
BIN
yarn-offline-mirror/@eslint-js-8.39.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@humanwhocodes-config-array-0.11.8.tgz
Normal file
BIN
yarn-offline-mirror/@humanwhocodes-config-array-0.11.8.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@humanwhocodes-module-importer-1.0.1.tgz
Normal file
BIN
yarn-offline-mirror/@humanwhocodes-module-importer-1.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@humanwhocodes-object-schema-1.2.1.tgz
Normal file
BIN
yarn-offline-mirror/@humanwhocodes-object-schema-1.2.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@nodelib-fs.scandir-2.1.5.tgz
Normal file
BIN
yarn-offline-mirror/@nodelib-fs.scandir-2.1.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@nodelib-fs.stat-2.0.5.tgz
Normal file
BIN
yarn-offline-mirror/@nodelib-fs.stat-2.0.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@nodelib-fs.walk-1.2.8.tgz
Normal file
BIN
yarn-offline-mirror/@nodelib-fs.walk-1.2.8.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@types-json-schema-7.0.11.tgz
Normal file
BIN
yarn-offline-mirror/@types-json-schema-7.0.11.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@types-json5-0.0.29.tgz
Normal file
BIN
yarn-offline-mirror/@types-json5-0.0.29.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@types-semver-7.5.0.tgz
Normal file
BIN
yarn-offline-mirror/@types-semver-7.5.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-eslint-plugin-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-eslint-plugin-5.59.0.tgz
Normal file
Binary file not shown.
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-parser-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-parser-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-scope-manager-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-scope-manager-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-scope-manager-5.59.5.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-scope-manager-5.59.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-type-utils-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-type-utils-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-types-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-types-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-types-5.59.5.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-types-5.59.5.tgz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-utils-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-utils-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-utils-5.59.5.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-utils-5.59.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-visitor-keys-5.59.0.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-visitor-keys-5.59.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/@typescript-eslint-visitor-keys-5.59.5.tgz
Normal file
BIN
yarn-offline-mirror/@typescript-eslint-visitor-keys-5.59.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/acorn-7.4.1.tgz
Normal file
BIN
yarn-offline-mirror/acorn-7.4.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/acorn-jsx-5.3.2.tgz
Normal file
BIN
yarn-offline-mirror/acorn-jsx-5.3.2.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/ajv-6.12.6.tgz
Normal file
BIN
yarn-offline-mirror/ajv-6.12.6.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/ansi-regex-5.0.1.tgz
Normal file
BIN
yarn-offline-mirror/ansi-regex-5.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/ansi-styles-4.3.0.tgz
Normal file
BIN
yarn-offline-mirror/ansi-styles-4.3.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/argparse-2.0.1.tgz
Normal file
BIN
yarn-offline-mirror/argparse-2.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/array-buffer-byte-length-1.0.0.tgz
Normal file
BIN
yarn-offline-mirror/array-buffer-byte-length-1.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/array-includes-3.1.6.tgz
Normal file
BIN
yarn-offline-mirror/array-includes-3.1.6.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/array-union-2.1.0.tgz
Normal file
BIN
yarn-offline-mirror/array-union-2.1.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/array.prototype.flat-1.3.1.tgz
Normal file
BIN
yarn-offline-mirror/array.prototype.flat-1.3.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/array.prototype.flatmap-1.3.1.tgz
Normal file
BIN
yarn-offline-mirror/array.prototype.flatmap-1.3.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/available-typed-arrays-1.0.5.tgz
Normal file
BIN
yarn-offline-mirror/available-typed-arrays-1.0.5.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/callsites-3.1.0.tgz
Normal file
BIN
yarn-offline-mirror/callsites-3.1.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/chalk-4.1.2.tgz
Normal file
BIN
yarn-offline-mirror/chalk-4.1.2.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/color-convert-2.0.1.tgz
Normal file
BIN
yarn-offline-mirror/color-convert-2.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/color-name-1.1.4.tgz
Normal file
BIN
yarn-offline-mirror/color-name-1.1.4.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/confusing-browser-globals-1.0.11.tgz
Normal file
BIN
yarn-offline-mirror/confusing-browser-globals-1.0.11.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/cross-spawn-7.0.3.tgz
Normal file
BIN
yarn-offline-mirror/cross-spawn-7.0.3.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/debug-4.3.4.tgz
Normal file
BIN
yarn-offline-mirror/debug-4.3.4.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/deep-is-0.1.4.tgz
Normal file
BIN
yarn-offline-mirror/deep-is-0.1.4.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/define-properties-1.2.0.tgz
Normal file
BIN
yarn-offline-mirror/define-properties-1.2.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/dir-glob-3.0.1.tgz
Normal file
BIN
yarn-offline-mirror/dir-glob-3.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/doctrine-2.1.0.tgz
Normal file
BIN
yarn-offline-mirror/doctrine-2.1.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/doctrine-3.0.0.tgz
Normal file
BIN
yarn-offline-mirror/doctrine-3.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/es-abstract-1.21.2.tgz
Normal file
BIN
yarn-offline-mirror/es-abstract-1.21.2.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/es-set-tostringtag-2.0.1.tgz
Normal file
BIN
yarn-offline-mirror/es-set-tostringtag-2.0.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/es-shim-unscopables-1.0.0.tgz
Normal file
BIN
yarn-offline-mirror/es-shim-unscopables-1.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/es-to-primitive-1.2.1.tgz
Normal file
BIN
yarn-offline-mirror/es-to-primitive-1.2.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/escape-string-regexp-4.0.0.tgz
Normal file
BIN
yarn-offline-mirror/escape-string-regexp-4.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-8.39.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-8.39.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-config-airbnb-base-15.0.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-config-airbnb-base-15.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-config-airbnb-typescript-17.0.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-config-airbnb-typescript-17.0.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-import-resolver-node-0.3.7.tgz
Normal file
BIN
yarn-offline-mirror/eslint-import-resolver-node-0.3.7.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-module-utils-2.8.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-module-utils-2.8.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-plugin-import-2.27.5.tgz
Normal file
BIN
yarn-offline-mirror/eslint-plugin-import-2.27.5.tgz
Normal file
Binary file not shown.
Binary file not shown.
BIN
yarn-offline-mirror/eslint-plugin-sort-keys-fix-1.1.2.tgz
Normal file
BIN
yarn-offline-mirror/eslint-plugin-sort-keys-fix-1.1.2.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-plugin-typescript-sort-keys-2.3.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-plugin-typescript-sort-keys-2.3.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-scope-5.1.1.tgz
Normal file
BIN
yarn-offline-mirror/eslint-scope-5.1.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-scope-7.2.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-scope-7.2.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-visitor-keys-1.3.0.tgz
Normal file
BIN
yarn-offline-mirror/eslint-visitor-keys-1.3.0.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/eslint-visitor-keys-3.4.1.tgz
Normal file
BIN
yarn-offline-mirror/eslint-visitor-keys-3.4.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/espree-6.2.1.tgz
Normal file
BIN
yarn-offline-mirror/espree-6.2.1.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/espree-9.5.2.tgz
Normal file
BIN
yarn-offline-mirror/espree-9.5.2.tgz
Normal file
Binary file not shown.
BIN
yarn-offline-mirror/esquery-1.5.0.tgz
Normal file
BIN
yarn-offline-mirror/esquery-1.5.0.tgz
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user