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": {
|
||||
"@types/cors": "2.8.13",
|
||||
"@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": {
|
||||
"dev": "nodemon 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: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",
|
||||
|
||||
@ -1,29 +1,31 @@
|
||||
import express, { Router } from 'express';
|
||||
import express from 'express';
|
||||
|
||||
import { ApiRoute } from '../constants';
|
||||
|
||||
import breadcrumbsRouter from './routes/breadcrumbs';
|
||||
import faqRouter from './routes/faq';
|
||||
import hallsRouter from './routes/halls';
|
||||
import imageRouter from './routes/image';
|
||||
import infoRouter from './routes/info';
|
||||
import questRouter from './routes/quests';
|
||||
import rateRouter from './routes/rate';
|
||||
import servicesRouter from './routes/services';
|
||||
import statisticsRouter from './routes/statistic';
|
||||
import storiesRouter from './routes/stories';
|
||||
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()
|
||||
|
||||
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)
|
||||
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.IMAGE, imageRouter);
|
||||
|
||||
export default apiRouter;
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
import { PAGE_LINK, PAGE_LINK_LABEL } from '../../../constants';
|
||||
|
||||
export type BreadcrumbsType = {
|
||||
@ -29,6 +30,10 @@ const questsPageBreadcrumbs: BreadcrumbsType[] = [
|
||||
{ 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) => {
|
||||
// @ts-ignore
|
||||
@ -51,7 +56,11 @@ export const getBreadcrumbs = (req: Request, res: Response) => {
|
||||
return res.status(200).json(questsPageBreadcrumbs);
|
||||
}
|
||||
|
||||
case PAGE_LINK.FAQ: {
|
||||
return res.status(200).json(faqPageBreadcrumbs);
|
||||
}
|
||||
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getBreadcrumbs } from './controller';
|
||||
|
||||
const router = express.Router()
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/', (req: Request, res: Response) => {
|
||||
return getBreadcrumbs(req, res);
|
||||
})
|
||||
router.post('/', (req: Request, res: Response) => getBreadcrumbs(req, res));
|
||||
|
||||
export default router;
|
||||
|
||||
@ -1,59 +1,81 @@
|
||||
import { Request, Response } from 'express';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { PAGE_LINK } from '../../../constants';
|
||||
|
||||
export type QuestionType = {
|
||||
answer: string;
|
||||
id: string;
|
||||
question: string;
|
||||
};
|
||||
|
||||
export type QuestionCategoryType = {
|
||||
id: string;
|
||||
questions: QuestionType[];
|
||||
title: string;
|
||||
};
|
||||
const birthdayQuestions: QuestionType[] = [
|
||||
{
|
||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
||||
id: uuid(),
|
||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||
},
|
||||
{
|
||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
||||
+ 'Мероприятие оплачивается на месте перед его началом.',
|
||||
id: uuid(),
|
||||
question: 'Как производится оплата мероприятия?',
|
||||
},
|
||||
{
|
||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||
id: uuid(),
|
||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||
},
|
||||
];
|
||||
|
||||
const graduationQuestions: QuestionType[] = [
|
||||
{
|
||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
||||
answer: 'Ответ на вопрос как забронировать зал для проведения выпускного?',
|
||||
id: uuid(),
|
||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||
},
|
||||
{
|
||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона.'
|
||||
+ ' Мероприятие оплачивается на месте перед его началом.',
|
||||
id: uuid(),
|
||||
question: 'Как производится оплата мероприятия?',
|
||||
},
|
||||
{
|
||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||
id: uuid(),
|
||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||
},
|
||||
];
|
||||
|
||||
const outdoorsQuestions: QuestionType[] = [
|
||||
{
|
||||
answer: 'Ответ на вопрос как забронировать зал для проведения Дня рождения?',
|
||||
answer: 'Ответ на вопрос как забронировать зал для проведения выездного праздника?',
|
||||
id: uuid(),
|
||||
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||
},
|
||||
{
|
||||
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
||||
+ 'Мероприятие оплачивается на месте перед его началом.',
|
||||
id: uuid(),
|
||||
question: 'Как производится оплата мероприятия?',
|
||||
},
|
||||
{
|
||||
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||
id: uuid(),
|
||||
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||
},
|
||||
];
|
||||
|
||||
type QuestionsType = {
|
||||
categories: QuestionCategoryType[];
|
||||
group: string;
|
||||
id: string;
|
||||
};
|
||||
|
||||
export const getFaq = (req: Request, res: Response) => {
|
||||
// @ts-ignore
|
||||
const { id, page } = req.body;
|
||||
@ -90,4 +112,103 @@ export const getFaq = (req: Request, res: Response) => {
|
||||
default:
|
||||
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 { getFaq } from './controller';
|
||||
const router = express.Router()
|
||||
|
||||
router.post('/', (req: Request, res: Response) => {
|
||||
return getFaq(req, res)
|
||||
})
|
||||
import { getFaq, getAllFaq } from './controller';
|
||||
|
||||
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;
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { Request, Response } from 'express';
|
||||
import * as path from 'path';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
const imageRootDir = 'static/images/information/halls/';
|
||||
|
||||
const Hall1Image = path.join(imageRootDir, 'hall1.jpg')
|
||||
const Hall2Image = path.join(imageRootDir, 'hall2.jpg')
|
||||
const Hall3Image = path.join(imageRootDir, 'hall3.jpg')
|
||||
const Hall1Image = path.join(imageRootDir, 'hall1.jpg');
|
||||
const Hall2Image = path.join(imageRootDir, 'hall2.jpg');
|
||||
const Hall3Image = path.join(imageRootDir, 'hall3.jpg');
|
||||
|
||||
export type HallType = {
|
||||
area: number;
|
||||
@ -23,6 +23,4 @@ const halls: HallType[] = [
|
||||
{ area: 60, img: { alt: 'Зал Лофт', src: Hall3Image }, name: 'Зал Лофт' },
|
||||
];
|
||||
|
||||
export const getHalls = (req: Request, res: Response) => {
|
||||
return res.status(200).json(halls);
|
||||
}
|
||||
export const getHalls = (req: Request, res: Response) => res.status(200).json(halls);
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
import { getHalls } from './controller';
|
||||
const hallsRouter = express.Router()
|
||||
|
||||
hallsRouter.get('/', (req: Request, res: Response) => {
|
||||
return getHalls(req, res)
|
||||
})
|
||||
import { getHalls } from './controller';
|
||||
|
||||
const hallsRouter = express.Router();
|
||||
|
||||
hallsRouter.get('/', (req: Request, res: Response) => getHalls(req, res));
|
||||
|
||||
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 { PAGE_LINK } from '../../../constants';
|
||||
|
||||
const videoLink = 'https://www.youtube.com/watch?v=VqWkQCRsKD0';
|
||||
|
||||
type HomeInfo = {
|
||||
video: string;
|
||||
};
|
||||
type ReturnInfoType = HomeInfo;
|
||||
|
||||
export const getInfo = (req: Request, res: Response) => {
|
||||
// @ts-ignore
|
||||
const body = req.body;
|
||||
const { body } = req;
|
||||
|
||||
const { page } = body;
|
||||
|
||||
@ -21,5 +17,4 @@ export const getInfo = (req: Request, res: Response) => {
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getInfo } from './controller';
|
||||
|
||||
const router = express.Router()
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/', (req: Request, res: Response) => {
|
||||
return getInfo(req, res);
|
||||
})
|
||||
router.post('/', (req: Request, res: Response) => getInfo(req, res));
|
||||
|
||||
export default router;
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
import { Request, Response } from 'express';
|
||||
import * as path from 'path';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { COLORS, ColorVariant } from '../../../constants';
|
||||
import { StoryType } from '../stories/controller';
|
||||
import {v4 as uuid} from 'uuid';
|
||||
|
||||
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 egerPlotMobileImage = path.join(imageRootDir, 'stories/eger/mobile/plot.png');
|
||||
|
||||
const egerBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/eger/desktop/background.png')
|
||||
const egerBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/eger/mobile/background.png')
|
||||
const egerBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/eger/desktop/background.png');
|
||||
const egerBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/eger/mobile/background.png');
|
||||
|
||||
const egerCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/eger-card.png')
|
||||
const egerCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/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 faraonFeedbackImage = path.join(imageRootDir, 'stories/faraon/desktop/feedback.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 faraonPlotMobileImage = path.join(imageRootDir, 'stories/faraon/mobile/plot.png');
|
||||
|
||||
const faraonBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/faraon/desktop/background.png')
|
||||
const faraonBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/faraon/mobile/background.png')
|
||||
const faraonBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/faraon/desktop/background.png');
|
||||
const faraonBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/faraon/mobile/background.png');
|
||||
|
||||
const faraonCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/faraon-card.png')
|
||||
const faraonCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/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 multFeedbackImage = path.join(imageRootDir, '/stories/mult/desktop/feedback.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 multPlotMobileImage = path.join(imageRootDir, '/stories/mult/mobile/plot.png');
|
||||
|
||||
const multBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/mult/desktop/background.png')
|
||||
const multBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/mult/mobile/background.png')
|
||||
const multBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/mult/desktop/background.png');
|
||||
const multBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/mult/mobile/background.png');
|
||||
|
||||
const multCardBackgroundDesktopImage = path.join(imageRootDir, '/backgrounds/main/desktop/mult-card.png')
|
||||
const multCardBackgroundMobileImage = path.join(imageRootDir, '/backgrounds/main/mobile/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');
|
||||
|
||||
export type QuestItemType = {
|
||||
age: {
|
||||
@ -420,13 +422,10 @@ export const getOne = (req: Request, res: Response) => {
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export const getAll = (req: Request, res: Response) => {
|
||||
return res.status(200).json([
|
||||
export const getAll = (req: Request, res: Response) => res.status(200).json([
|
||||
egerQuest,
|
||||
faraonQuest,
|
||||
multQuest,
|
||||
])
|
||||
}
|
||||
]);
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getAll, getOne } from './controller';
|
||||
|
||||
const questRouter = express.Router()
|
||||
const questRouter = express.Router();
|
||||
|
||||
questRouter.get('/', (req: Request, res: Response) => {
|
||||
return getAll(req, res);
|
||||
})
|
||||
questRouter.get('/', (req: Request, res: Response) => getAll(req, res));
|
||||
|
||||
questRouter.get('/:id', (req: Request, res: Response) => {
|
||||
return getOne(req, res);
|
||||
})
|
||||
questRouter.get('/:id', (req: Request, res: Response) => getOne(req, res));
|
||||
|
||||
export default questRouter;
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { Request, Response } from 'express';
|
||||
import * as path from 'path';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
import { PAGE_LINK, SERVICE } from '../../../constants';
|
||||
|
||||
const imageRootDir = 'static/images/rate/';
|
||||
@ -529,4 +531,4 @@ export const getRate = (req: Request, res: Response) => {
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getRate } from './controller';
|
||||
|
||||
const rateRouter = express.Router()
|
||||
const rateRouter = express.Router();
|
||||
|
||||
rateRouter.post('/', (req: Request, res: Response) => {
|
||||
return getRate(req, res);
|
||||
})
|
||||
rateRouter.post('/', (req: Request, res: Response) => getRate(req, res));
|
||||
|
||||
export default rateRouter;
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
import { Request, Response } from 'express';
|
||||
import { PAGE_LINK, SERVICE, servicesList, ServiceType } from '../../../constants';
|
||||
|
||||
import {
|
||||
PAGE_LINK, SERVICE, servicesList, ServiceType,
|
||||
} from '../../../constants';
|
||||
|
||||
const birthdayPageServices: ServiceType[] = [
|
||||
servicesList[SERVICE.QUEST],
|
||||
@ -43,8 +45,7 @@ const outdoorsPageServices: ServiceType[] = [
|
||||
export const getServices = (req: Request, res: Response) => {
|
||||
// @ts-ignore
|
||||
const { page } = req.body;
|
||||
// @ts-ignore
|
||||
console.log('Body', req.body);
|
||||
|
||||
switch (page) {
|
||||
case PAGE_LINK.BIRTHDAY: {
|
||||
return res.status(200).json(birthdayPageServices);
|
||||
@ -61,4 +62,4 @@ export const getServices = (req: Request, res: Response) => {
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
import {
|
||||
getServices } from './controller';
|
||||
|
||||
const router = express.Router()
|
||||
import { getServices } from './controller';
|
||||
|
||||
router.post('/', (req: Request, res: Response) => {
|
||||
return getServices(req, res);
|
||||
})
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/', (req: Request, res: Response) => getServices(req, res));
|
||||
|
||||
export default router;
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { Request, Response } from 'express';
|
||||
import * as path from 'path';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
import { PAGE_LINK } from '../../../constants';
|
||||
|
||||
const imageRootDir = 'static/images/information/statistics';
|
||||
@ -37,6 +39,8 @@ const StarMobileImg = path.join(imageRootDir, 'mobile/star.png');
|
||||
export type StatisticsItem = {
|
||||
img?: {
|
||||
alt: string;
|
||||
height: number;
|
||||
mobileHeight?: number;
|
||||
mobilePosition?: {
|
||||
bottom?: number;
|
||||
left?: number;
|
||||
@ -44,6 +48,7 @@ export type StatisticsItem = {
|
||||
top?: number;
|
||||
};
|
||||
mobileSrc?: string;
|
||||
mobileWidth?: number;
|
||||
position?: {
|
||||
bottom?: number;
|
||||
left?: number;
|
||||
@ -51,9 +56,6 @@ export type StatisticsItem = {
|
||||
top?: number;
|
||||
};
|
||||
src: string;
|
||||
height: number;
|
||||
mobileHeight?: number;
|
||||
mobileWidth?: number;
|
||||
width: number;
|
||||
};
|
||||
mobileOrder?: number;
|
||||
@ -81,12 +83,13 @@ const birthdayItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'combo',
|
||||
height: 90,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
right: 12,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: RateMobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 60,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -94,7 +97,6 @@ const birthdayItems: StatisticsItem[] = [
|
||||
},
|
||||
src: RateDesktopImg,
|
||||
width: 80,
|
||||
height: 90
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -107,12 +109,13 @@ const birthdayItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'programs',
|
||||
height: 96,
|
||||
mobileHeight: 84,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: -20,
|
||||
},
|
||||
mobileSrc: ProgramsMobileImg,
|
||||
mobileHeight: 84,
|
||||
mobileWidth: 110,
|
||||
position: {
|
||||
right: 0,
|
||||
@ -120,7 +123,6 @@ const birthdayItems: StatisticsItem[] = [
|
||||
},
|
||||
src: ProgramsDesktopImg,
|
||||
width: 72,
|
||||
height: 96
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -133,12 +135,13 @@ const birthdayItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 80,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: DecorationMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 90,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -146,7 +149,6 @@ const birthdayItems: StatisticsItem[] = [
|
||||
},
|
||||
src: DecorationDesktopImg,
|
||||
width: 106,
|
||||
height: 80
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -159,12 +161,13 @@ const birthdayItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 108,
|
||||
mobilePosition: {
|
||||
right: 26,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: KidsMobileImg,
|
||||
mobileHeight: 108,
|
||||
mobileWidth: 74,
|
||||
position: {
|
||||
right: -10,
|
||||
@ -172,7 +175,6 @@ const birthdayItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
mobileText: 'для детей разных возрастов',
|
||||
size: {
|
||||
@ -198,16 +200,16 @@ const homeItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'pinata',
|
||||
height: 120,
|
||||
mobileHeight: 131,
|
||||
mobilePosition: {
|
||||
left: 37,
|
||||
top: -40,
|
||||
},
|
||||
mobileSrc: PinataMobileImg,
|
||||
mobileHeight: 131,
|
||||
mobileWidth: 128,
|
||||
src: PinataDesktopImg,
|
||||
width: 123,
|
||||
height: 120
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -220,12 +222,13 @@ const homeItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'star',
|
||||
height: 66,
|
||||
mobileHeight: 112,
|
||||
mobilePosition: {
|
||||
right: 6,
|
||||
top: -20,
|
||||
},
|
||||
mobileSrc: StarMobileImg,
|
||||
mobileHeight: 112,
|
||||
mobileWidth: 112,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -233,7 +236,6 @@ const homeItems: StatisticsItem[] = [
|
||||
},
|
||||
src: StarDesktopImg,
|
||||
width: 66,
|
||||
height: 66
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -246,12 +248,13 @@ const homeItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'like',
|
||||
height: 72,
|
||||
mobileHeight: 89,
|
||||
mobilePosition: {
|
||||
right: 17,
|
||||
top: -14,
|
||||
},
|
||||
mobileSrc: LikeMobileImg,
|
||||
mobileHeight: 89,
|
||||
mobileWidth: 87,
|
||||
position: {
|
||||
right: 5,
|
||||
@ -259,7 +262,6 @@ const homeItems: StatisticsItem[] = [
|
||||
},
|
||||
src: LikeDesktopImg,
|
||||
width: 76,
|
||||
height: 72
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -272,15 +274,15 @@ const homeItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'cup',
|
||||
height: 101,
|
||||
mobileHeight: 131,
|
||||
mobilePosition: {
|
||||
right: 3,
|
||||
top: -29,
|
||||
},
|
||||
mobileWidth: 131,
|
||||
src: CupMobileImg,
|
||||
height: 101,
|
||||
width: 101,
|
||||
mobileHeight: 131,
|
||||
mobileWidth: 131
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -305,12 +307,13 @@ const graduationItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'combo',
|
||||
height: 90,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
left: 12,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: RateMobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 60,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -318,7 +321,6 @@ const graduationItems: StatisticsItem[] = [
|
||||
},
|
||||
src: RateDesktopImg,
|
||||
width: 80,
|
||||
height: 90
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -331,12 +333,13 @@ const graduationItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'diploma',
|
||||
height: 85,
|
||||
mobileHeight: 90,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: DiplomaMobileImg,
|
||||
mobileHeight: 90,
|
||||
mobileWidth: 100,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -344,7 +347,6 @@ const graduationItems: StatisticsItem[] = [
|
||||
},
|
||||
src: DiplomaDesktopImg,
|
||||
width: 76,
|
||||
height: 85
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -357,12 +359,13 @@ const graduationItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 80,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: DecorationMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 90,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -370,7 +373,6 @@ const graduationItems: StatisticsItem[] = [
|
||||
},
|
||||
src: DecorationDesktopImg,
|
||||
width: 106,
|
||||
height: 80
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -383,12 +385,13 @@ const graduationItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 108,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: KidsMobileImg,
|
||||
mobileHeight: 108,
|
||||
mobileWidth: 74,
|
||||
position: {
|
||||
right: -10,
|
||||
@ -396,7 +399,6 @@ const graduationItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -421,12 +423,13 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'combo',
|
||||
height: 90,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
left: 12,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: RateMobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 60,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -434,7 +437,6 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
},
|
||||
src: RateDesktopImg,
|
||||
width: 80,
|
||||
height: 90
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -447,12 +449,13 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'programs',
|
||||
height: 98,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: 10,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: StatScooterMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 114,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -460,7 +463,6 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
},
|
||||
src: StatScooterDesktopImg,
|
||||
width: 94,
|
||||
height: 98
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -473,12 +475,13 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 108,
|
||||
mobileHeight: 76,
|
||||
mobilePosition: {
|
||||
right: 14,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: StatDecorMobileImg,
|
||||
mobileHeight: 76,
|
||||
mobileWidth: 136,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -486,7 +489,6 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
},
|
||||
src: StatDecorDesktopImg,
|
||||
width: 60,
|
||||
height: 108
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -499,12 +501,13 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 108,
|
||||
mobilePosition: {
|
||||
left: 28,
|
||||
top: -10,
|
||||
},
|
||||
mobileSrc: KidsMobileImg,
|
||||
mobileHeight: 108,
|
||||
mobileWidth: 74,
|
||||
position: {
|
||||
right: -10,
|
||||
@ -512,7 +515,6 @@ const outdoorsItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
size: {
|
||||
sm: 2,
|
||||
@ -537,12 +539,13 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
right: 15,
|
||||
top: -20,
|
||||
},
|
||||
mobileSrc: Kids2MobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 110,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -550,7 +553,6 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 1,
|
||||
order: 1,
|
||||
@ -565,12 +567,13 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'programs',
|
||||
height: 90,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: -20,
|
||||
top: 5,
|
||||
},
|
||||
mobileSrc: BooksMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 122,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -578,7 +581,6 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: BooksDesktopImg,
|
||||
width: 109,
|
||||
height: 90
|
||||
},
|
||||
mobileOrder: 4,
|
||||
order: 2,
|
||||
@ -593,12 +595,13 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 94,
|
||||
mobileHeight: 68,
|
||||
mobilePosition: {
|
||||
right: 14,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: MapMobileImg,
|
||||
mobileHeight: 68,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -606,7 +609,6 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: MapDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 3,
|
||||
order: 3,
|
||||
@ -621,12 +623,13 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 64,
|
||||
mobilePosition: {
|
||||
right: 0,
|
||||
top: -15,
|
||||
},
|
||||
mobileSrc: KeysMobileImg,
|
||||
mobileHeight: 64,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 30,
|
||||
@ -634,7 +637,6 @@ const egerQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KeysDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 2,
|
||||
order: 4,
|
||||
@ -661,12 +663,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
right: 15,
|
||||
top: -20,
|
||||
},
|
||||
mobileSrc: Kids2MobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 110,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -674,7 +677,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 1,
|
||||
order: 1,
|
||||
@ -689,12 +691,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'programs',
|
||||
height: 90,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: -20,
|
||||
top: 5,
|
||||
},
|
||||
mobileSrc: BooksMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 122,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -702,7 +705,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: BooksDesktopImg,
|
||||
width: 109,
|
||||
height: 90
|
||||
},
|
||||
mobileOrder: 4,
|
||||
order: 2,
|
||||
@ -717,12 +719,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 94,
|
||||
mobileHeight: 68,
|
||||
mobilePosition: {
|
||||
right: 14,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: MapMobileImg,
|
||||
mobileHeight: 68,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -730,7 +733,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: MapDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 3,
|
||||
order: 3,
|
||||
@ -745,12 +747,13 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 64,
|
||||
mobilePosition: {
|
||||
right: 0,
|
||||
top: -15,
|
||||
},
|
||||
mobileSrc: KeysMobileImg,
|
||||
mobileHeight: 64,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 30,
|
||||
@ -758,7 +761,6 @@ const faraonQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KeysDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 2,
|
||||
order: 4,
|
||||
@ -785,12 +787,13 @@ const multQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 106,
|
||||
mobilePosition: {
|
||||
right: 15,
|
||||
top: -20,
|
||||
},
|
||||
mobileSrc: Kids2MobileImg,
|
||||
mobileHeight: 106,
|
||||
mobileWidth: 110,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -798,7 +801,6 @@ const multQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KidsDesktopImg,
|
||||
width: 90,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 1,
|
||||
order: 1,
|
||||
@ -813,12 +815,13 @@ const multQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'programs',
|
||||
height: 90,
|
||||
mobileHeight: 116,
|
||||
mobilePosition: {
|
||||
right: -20,
|
||||
top: 5,
|
||||
},
|
||||
mobileSrc: BooksMobileImg,
|
||||
mobileHeight: 116,
|
||||
mobileWidth: 122,
|
||||
position: {
|
||||
right: 22,
|
||||
@ -826,7 +829,6 @@ const multQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: BooksDesktopImg,
|
||||
width: 109,
|
||||
height: 90
|
||||
},
|
||||
mobileOrder: 4,
|
||||
order: 2,
|
||||
@ -841,12 +843,13 @@ const multQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'decor',
|
||||
height: 94,
|
||||
mobileHeight: 68,
|
||||
mobilePosition: {
|
||||
right: 14,
|
||||
top: 10,
|
||||
},
|
||||
mobileSrc: MapMobileImg,
|
||||
mobileHeight: 68,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 35,
|
||||
@ -854,7 +857,6 @@ const multQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: MapDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 3,
|
||||
order: 3,
|
||||
@ -869,12 +871,13 @@ const multQuestItems: StatisticsItem[] = [
|
||||
{
|
||||
img: {
|
||||
alt: 'kids',
|
||||
height: 94,
|
||||
mobileHeight: 64,
|
||||
mobilePosition: {
|
||||
right: 0,
|
||||
top: -15,
|
||||
},
|
||||
mobileSrc: KeysMobileImg,
|
||||
mobileHeight: 64,
|
||||
mobileWidth: 94,
|
||||
position: {
|
||||
right: 30,
|
||||
@ -882,7 +885,6 @@ const multQuestItems: StatisticsItem[] = [
|
||||
},
|
||||
src: KeysDesktopImg,
|
||||
width: 69,
|
||||
height: 94
|
||||
},
|
||||
mobileOrder: 2,
|
||||
order: 4,
|
||||
@ -898,7 +900,7 @@ const multQuestItems: StatisticsItem[] = [
|
||||
|
||||
export const getStatistics = (req: Request, res: Response) => {
|
||||
// @ts-ignore
|
||||
const {page, id} = req.body;
|
||||
const { id, page } = req.body;
|
||||
|
||||
switch (page) {
|
||||
case PAGE_LINK.BIRTHDAY: {
|
||||
@ -936,4 +938,4 @@ export const getStatistics = (req: Request, res: Response) => {
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getStatistics } from './controller';
|
||||
|
||||
const statisticsRouter = express.Router()
|
||||
const statisticsRouter = express.Router();
|
||||
|
||||
statisticsRouter.post('/', (req: Request, res: Response) => {
|
||||
return getStatistics(req, res);
|
||||
})
|
||||
statisticsRouter.post('/', (req: Request, res: Response) => getStatistics(req, res));
|
||||
|
||||
export default statisticsRouter;
|
||||
|
||||
@ -1,19 +1,21 @@
|
||||
import { Request, Response } from 'express';
|
||||
import * as path from 'path';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { PAGE_LINK } from '../../../constants';
|
||||
|
||||
const imageRootDir = 'static/images/stories/';
|
||||
|
||||
const faqImage = path.join(imageRootDir, 'birthday/faq.png')
|
||||
const faqMobileImage = path.join(imageRootDir, 'birthday/faq_mobile.png')
|
||||
const feedbackImage = path.join(imageRootDir, 'birthday/feedback.png')
|
||||
const feedbackMobileImage = path.join(imageRootDir, 'birthday/feedback_mobile.png')
|
||||
const photoImage = path.join(imageRootDir, 'birthday/photo.png')
|
||||
const photoMobileImage = path.join(imageRootDir, 'birthday/photo_mobile.png')
|
||||
const faqImage = path.join(imageRootDir, 'birthday/faq.png');
|
||||
const faqMobileImage = path.join(imageRootDir, 'birthday/faq_mobile.png');
|
||||
const feedbackImage = path.join(imageRootDir, 'birthday/feedback.png');
|
||||
const feedbackMobileImage = path.join(imageRootDir, 'birthday/feedback_mobile.png');
|
||||
const photoImage = path.join(imageRootDir, 'birthday/photo.png');
|
||||
const photoMobileImage = path.join(imageRootDir, 'birthday/photo_mobile.png');
|
||||
|
||||
const example = path.join(imageRootDir, 'example.png')
|
||||
const example2 = path.join(imageRootDir, 'example2.jpg')
|
||||
const example = path.join(imageRootDir, 'example.png');
|
||||
const example2 = path.join(imageRootDir, 'example2.jpg');
|
||||
|
||||
export type StoryFeedbackModalType = {};
|
||||
export type StoryGalleryModalType = {};
|
||||
@ -48,8 +50,6 @@ export type StoryType = {
|
||||
title?: string;
|
||||
};
|
||||
|
||||
|
||||
|
||||
const birthdayPageStories: StoryType[] = [
|
||||
{
|
||||
id: uuid(),
|
||||
@ -321,7 +321,11 @@ export const getStories = (req: Request, res: Response) => {
|
||||
return res.status(200).json(homePageStories);
|
||||
}
|
||||
|
||||
case PAGE_LINK.FAQ: {
|
||||
return res.status(200).json([]);
|
||||
}
|
||||
|
||||
default:
|
||||
return res.status(404);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
|
||||
import { getStories } from './controller';
|
||||
|
||||
const storiesRouter = express.Router()
|
||||
const storiesRouter = express.Router();
|
||||
|
||||
storiesRouter.post('/', (req: Request, res: Response) => {
|
||||
return getStories(req, res);
|
||||
})
|
||||
storiesRouter.post('/', (req: Request, res: Response) => getStories(req, res));
|
||||
|
||||
export default storiesRouter;
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
import { PAGE_LINK, TextSection } from '../../../constants';
|
||||
|
||||
const birthdayTitleText = {
|
||||
@ -26,6 +27,11 @@ const questsTitleText = {
|
||||
title: 'Квесты',
|
||||
};
|
||||
|
||||
const faqTitleText = {
|
||||
description: 'Раздел с подробной информацией по каждой услуге. Чтобы посмотреть ответы на вопросы, выберите интересующую Вас категорию',
|
||||
title: 'Часто задаваемые вопросы',
|
||||
};
|
||||
|
||||
const parkInfo = {
|
||||
text: '-интерактивный парк нового поколения,\n'
|
||||
+ ' объединяющий популярные услуги\n'
|
||||
@ -34,11 +40,8 @@ const parkInfo = {
|
||||
};
|
||||
|
||||
export const getTitle = (req: Request, res: Response) => {
|
||||
console.log('headers', req.headers);
|
||||
|
||||
// @ts-ignore
|
||||
const body = req.body;
|
||||
console.log('body', body);
|
||||
const { body } = req;
|
||||
const { page, section } = body;
|
||||
|
||||
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:
|
||||
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 { getTitle } from './controller';
|
||||
const router = express.Router()
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
// middleware that is specific to this router
|
||||
router.use((req: Request, res: Response, next: NextFunction) => {
|
||||
console.log('Time: ', Date.now())
|
||||
next()
|
||||
})
|
||||
next();
|
||||
});
|
||||
|
||||
router.get('/', (req: Request, res: Response) => {
|
||||
return res.send('Api text GET response')
|
||||
})
|
||||
router.get('/', (req: Request, res: Response) => res.send('Api text GET response'));
|
||||
|
||||
router.post('/', (req: Request, res: Response) => {
|
||||
return getTitle(req, res);
|
||||
})
|
||||
router.post('/', (req: Request, res: Response) => getTitle(req, res));
|
||||
|
||||
export default router;
|
||||
|
||||
@ -85,6 +85,7 @@ export enum ApiRoute {
|
||||
BREADCRUMBS = '/breadcrumbs',
|
||||
FAQ = '/faq',
|
||||
HALLS = '/halls',
|
||||
IMAGE = '/image',
|
||||
INFO = '/info',
|
||||
QUESTS = '/quests',
|
||||
RATE = '/rate',
|
||||
@ -178,7 +179,6 @@ export const servicesList: { [k in SERVICE]: ServiceType } = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
export enum ColorVariant {
|
||||
BLACK,
|
||||
BLACK_LIGHT,
|
||||
@ -203,22 +203,22 @@ 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.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",
|
||||
[ColorVariant.VERI_PERI]: '#6767AB',
|
||||
[ColorVariant.VERI_PERI_DARK]: '#5656A9',
|
||||
[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