add show programs page
@ -51,6 +51,12 @@ const masterClassesPageBreadcrumbs: BreadcrumbsType[] = [
|
|||||||
{ href: PAGE_LINK.MASTER_CLASSES, label: PAGE_LINK_LABEL[PAGE_LINK.MASTER_CLASSES] },
|
{ href: PAGE_LINK.MASTER_CLASSES, label: PAGE_LINK_LABEL[PAGE_LINK.MASTER_CLASSES] },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const showProgramsPageBreadcrumbs: BreadcrumbsType[] = [
|
||||||
|
{ href: PAGE_LINK.HOME, label: PAGE_LINK_LABEL[PAGE_LINK.HOME] },
|
||||||
|
{ href: PAGE_LINK.SERVICES, label: PAGE_LINK_LABEL[PAGE_LINK.SERVICES] },
|
||||||
|
{ href: PAGE_LINK.SHOW_PROGRAMS, label: PAGE_LINK_LABEL[PAGE_LINK.SHOW_PROGRAMS] },
|
||||||
|
];
|
||||||
|
|
||||||
export const getBreadcrumbs = (req: Request, res: Response) => {
|
export const getBreadcrumbs = (req: Request, res: Response) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const { page } = req.body;
|
const { page } = req.body;
|
||||||
@ -88,6 +94,10 @@ export const getBreadcrumbs = (req: Request, res: Response) => {
|
|||||||
return res.status(200).json(masterClassesPageBreadcrumbs);
|
return res.status(200).json(masterClassesPageBreadcrumbs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.SHOW_PROGRAMS: {
|
||||||
|
return res.status(200).json(showProgramsPageBreadcrumbs);
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,6 +89,25 @@ const masterClassesQuestions: QuestionType[] = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const showPragramsQuestions: QuestionType[] = [
|
||||||
|
{
|
||||||
|
answer: 'Ответ на вопрос как забронировать зал для проведения выездного праздника?',
|
||||||
|
id: uuid(),
|
||||||
|
question: 'Как забронировать зал для проведения Дня рождения?',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
answer: 'Мы не требуем предоплату. Для бронирования мероприятия достаточно Вашего номера телефона. '
|
||||||
|
+ 'Мероприятие оплачивается на месте перед его началом.',
|
||||||
|
id: uuid(),
|
||||||
|
question: 'Как производится оплата мероприятия?',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
answer: 'Ответ на вопрос какое максимальное количество детей допустимо на празднике?',
|
||||||
|
id: uuid(),
|
||||||
|
question: 'Какое максимальное количество детей допустимо на празднике?',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
type QuestionsType = {
|
type QuestionsType = {
|
||||||
categories: QuestionCategoryType[];
|
categories: QuestionCategoryType[];
|
||||||
group: string;
|
group: string;
|
||||||
@ -116,6 +135,10 @@ export const getFaq = (req: Request, res: Response) => {
|
|||||||
return res.status(200).json(masterClassesQuestions);
|
return res.status(200).json(masterClassesQuestions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.SHOW_PROGRAMS: {
|
||||||
|
return res.status(200).json(showPragramsQuestions);
|
||||||
|
}
|
||||||
|
|
||||||
case PAGE_LINK.QUESTS: {
|
case PAGE_LINK.QUESTS: {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case 'eger':
|
case 'eger':
|
||||||
|
|||||||
@ -37,6 +37,9 @@ const aboutDesktopImage = path.join(imageRootDir, 'about/desktop.png');
|
|||||||
const masterClassesMobileImage = path.join(imageRootDir, 'master-classes/mobile.png');
|
const masterClassesMobileImage = path.join(imageRootDir, 'master-classes/mobile.png');
|
||||||
const masterClassesDesktopImage = path.join(imageRootDir, 'master-classes/desktop.png');
|
const masterClassesDesktopImage = path.join(imageRootDir, 'master-classes/desktop.png');
|
||||||
|
|
||||||
|
const showProgramsMobileImage = path.join(imageRootDir, 'show-programs/mobile.png');
|
||||||
|
const showProgramsDesktopImage = path.join(imageRootDir, 'show-programs/desktop.png');
|
||||||
|
|
||||||
export const getTitleImage = (req: Request, res: Response<ImageType>) => {
|
export const getTitleImage = (req: Request, res: Response<ImageType>) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const { body } = req;
|
const { body } = req;
|
||||||
@ -111,6 +114,14 @@ export const getTitleImage = (req: Request, res: Response<ImageType>) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.SHOW_PROGRAMS: {
|
||||||
|
return res.status(200).json({
|
||||||
|
alt: 'show-programs',
|
||||||
|
mobileSrc: showProgramsMobileImage,
|
||||||
|
src: showProgramsDesktopImage,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,13 @@ const fishImage = path.join(imageRootDir, 'master-classes/desktop/fish.png');
|
|||||||
const paintImage = path.join(imageRootDir, 'master-classes/desktop/paint.png');
|
const paintImage = path.join(imageRootDir, 'master-classes/desktop/paint.png');
|
||||||
const shopImage = path.join(imageRootDir, 'master-classes/desktop/shop.png');
|
const shopImage = path.join(imageRootDir, 'master-classes/desktop/shop.png');
|
||||||
|
|
||||||
|
const bubbleImage = path.join(imageRootDir, 'show-programs/desktop/bubble.png');
|
||||||
|
const chemistryImage = path.join(imageRootDir, 'show-programs/desktop/chemistry.png');
|
||||||
|
const diskoImage = path.join(imageRootDir, 'show-programs/desktop/disko.png');
|
||||||
|
const egerImage = path.join(imageRootDir, 'show-programs/desktop/eger.png');
|
||||||
|
const magicImage = path.join(imageRootDir, 'show-programs/desktop/magic.png');
|
||||||
|
const neonImage = path.join(imageRootDir, 'show-programs/desktop/neon.png');
|
||||||
|
|
||||||
const cakesMobileImage = path.join(imageRootDir, 'master-classes/mobile/cakes.png');
|
const cakesMobileImage = path.join(imageRootDir, 'master-classes/mobile/cakes.png');
|
||||||
const cupImMobileImage = path.join(imageRootDir, 'master-classes/mobile/cup.png');
|
const cupImMobileImage = path.join(imageRootDir, 'master-classes/mobile/cup.png');
|
||||||
const cutImMobileImage = path.join(imageRootDir, 'master-classes/mobile/cut.png');
|
const cutImMobileImage = path.join(imageRootDir, 'master-classes/mobile/cut.png');
|
||||||
@ -23,6 +30,13 @@ const fishIMobileImage = path.join(imageRootDir, 'master-classes/mobile/fish.png
|
|||||||
const paintMobileImage = path.join(imageRootDir, 'master-classes/mobile/paint.png');
|
const paintMobileImage = path.join(imageRootDir, 'master-classes/mobile/paint.png');
|
||||||
const shopIMobileImage = path.join(imageRootDir, 'master-classes/mobile/shop.png');
|
const shopIMobileImage = path.join(imageRootDir, 'master-classes/mobile/shop.png');
|
||||||
|
|
||||||
|
const bubbleMobileImage = path.join(imageRootDir, 'show-programs/mobile/bubble.png');
|
||||||
|
const chemistryMobileImage = path.join(imageRootDir, 'show-programs/mobile/chemistry.png');
|
||||||
|
const diskoMobileImage = path.join(imageRootDir, 'show-programs/mobile/disko.png');
|
||||||
|
const egerMobileImage = path.join(imageRootDir, 'show-programs/mobile/eger.png');
|
||||||
|
const magicMobileImage = path.join(imageRootDir, 'show-programs/mobile/magic.png');
|
||||||
|
const neonMobileImage = path.join(imageRootDir, 'show-programs/mobile/neon.png');
|
||||||
|
|
||||||
const birthdayPageServices: ServiceType[] = [
|
const birthdayPageServices: ServiceType[] = [
|
||||||
servicesList[SERVICE.QUEST],
|
servicesList[SERVICE.QUEST],
|
||||||
servicesList[SERVICE.HALL],
|
servicesList[SERVICE.HALL],
|
||||||
@ -282,6 +296,233 @@ const masterClassItems: ServiceItemType[] = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const showProgramsItems: ServiceItemType[] = [
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Активное шоу для детей всех возрастов. Огромное количество переливающейся\n'
|
||||||
|
+ 'серебряной бумаги не оставит равнодушным любого ребёнка: вместе с ведущим дети\n'
|
||||||
|
+ 'окунутся в мир развлечений с головой, подбрасывая вверх волшебные бумажные фонтаны,\n'
|
||||||
|
+ 'а световое сопровождение превратит праздник в настоящую дискотеку',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Бумажная дискотека',
|
||||||
|
height: 241,
|
||||||
|
mobileHeight: 160,
|
||||||
|
mobilePosition: {
|
||||||
|
left: -10,
|
||||||
|
top: -24,
|
||||||
|
},
|
||||||
|
mobileSrc: diskoMobileImage,
|
||||||
|
mobileWidth: 330,
|
||||||
|
position: {
|
||||||
|
left: -20,
|
||||||
|
top: -24,
|
||||||
|
},
|
||||||
|
src: diskoImage,
|
||||||
|
width: 300,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 5000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Бумажная дискотека',
|
||||||
|
variant: 'disko',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Интерактивное шоу, где каждый ребёнок примет участие в безопасных опытах.\n'
|
||||||
|
+ 'Вместе мы проведём эксперименты по изменению цвета жидкости и созданию вулкана,\n'
|
||||||
|
+ 'познакомимся с сухим льдом и попробуем волшебный дым на вкус, запустим пузыри\n'
|
||||||
|
+ 'с дымом и сделаем волшебную ракету из огромного шара',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Химическое шоу',
|
||||||
|
height: 254,
|
||||||
|
mobileHeight: 235,
|
||||||
|
mobilePosition: {
|
||||||
|
left: 10,
|
||||||
|
top: -50,
|
||||||
|
},
|
||||||
|
mobileSrc: chemistryMobileImage,
|
||||||
|
mobileWidth: 310,
|
||||||
|
position: {
|
||||||
|
left: 5,
|
||||||
|
top: -38,
|
||||||
|
},
|
||||||
|
src: chemistryImage,
|
||||||
|
width: 240,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 8000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Химическое шоу',
|
||||||
|
variant: 'chemistry',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Здесь будет описание шоу-программы “Школа магии” по типу описания шоу-программы “Бумажная дискотека”',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Школа магии ',
|
||||||
|
height: 225,
|
||||||
|
mobileHeight: 210,
|
||||||
|
mobilePosition: {
|
||||||
|
left: 10,
|
||||||
|
top: -35,
|
||||||
|
},
|
||||||
|
mobileSrc: magicMobileImage,
|
||||||
|
mobileWidth: 310,
|
||||||
|
position: {
|
||||||
|
left: 20,
|
||||||
|
top: -25,
|
||||||
|
},
|
||||||
|
src: magicImage,
|
||||||
|
width: 260,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 5000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Школа магии ',
|
||||||
|
variant: 'magic',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Отправляемся в волшебный мир, где познакомим детей с мыльными пузырями\n'
|
||||||
|
+ 'различных размеров и форм: пузыри-малыши, двойные пузыри, пузыри-бабочки,\n'
|
||||||
|
+ 'цветная радуга, волшебные облака, пузыри с дымом и даже пузырь, в котором будет\n'
|
||||||
|
+ 'более 10 пузырей! Завершит программу опыт «окажись внутри пузыря»',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Шоу мыльных пузырей',
|
||||||
|
height: 241,
|
||||||
|
mobileHeight: 218,
|
||||||
|
mobilePosition: {
|
||||||
|
left: 10,
|
||||||
|
top: -30,
|
||||||
|
},
|
||||||
|
mobileSrc: bubbleMobileImage,
|
||||||
|
mobileWidth: 310,
|
||||||
|
position: {
|
||||||
|
left: -13,
|
||||||
|
top: -15,
|
||||||
|
},
|
||||||
|
src: bubbleImage,
|
||||||
|
width: 254,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 8000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Шоу мыльных пузырей',
|
||||||
|
variant: 'bubble',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Дети попадают на вечеринку, где под неоновым освещением пространство начинает играть\n'
|
||||||
|
+ 'яркими красками: белая одежда приобретает новый оттенок, неоновый аквагрим будет сиять\n'
|
||||||
|
+ 'на лицах, а светящаяся бумага сделает праздник незабываемым! В подарок дети получают\n'
|
||||||
|
+ 'неоновые браслеты и переводные неоновые татуировки',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Неоновая дискотека',
|
||||||
|
height: 264,
|
||||||
|
mobileHeight: 253,
|
||||||
|
mobilePosition: {
|
||||||
|
left: -30,
|
||||||
|
top: -47,
|
||||||
|
},
|
||||||
|
mobileSrc: neonMobileImage,
|
||||||
|
mobileWidth: 370,
|
||||||
|
position: {
|
||||||
|
left: -6,
|
||||||
|
top: -30,
|
||||||
|
},
|
||||||
|
src: neonImage,
|
||||||
|
width: 250,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 8000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Неоновая дискотека',
|
||||||
|
variant: 'neon',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
age: {
|
||||||
|
text: '5+',
|
||||||
|
},
|
||||||
|
description: 'Здесь будет описание шоу-программы\n'
|
||||||
|
+ '“Химическое шоу” по типу описания\n'
|
||||||
|
+ 'шоу-программы “Бумажная дискотека”',
|
||||||
|
id: uuid(),
|
||||||
|
image: {
|
||||||
|
alt: 'Лаборатория егеря',
|
||||||
|
height: 238,
|
||||||
|
mobileHeight: 230,
|
||||||
|
mobilePosition: {
|
||||||
|
left: 38,
|
||||||
|
top: -35,
|
||||||
|
},
|
||||||
|
mobileSrc: egerMobileImage,
|
||||||
|
mobileWidth: 257,
|
||||||
|
position: {
|
||||||
|
left: 20,
|
||||||
|
top: -38,
|
||||||
|
},
|
||||||
|
src: egerImage,
|
||||||
|
width: 244,
|
||||||
|
},
|
||||||
|
partySize: {
|
||||||
|
max: 30,
|
||||||
|
min: 4,
|
||||||
|
},
|
||||||
|
price: 5000,
|
||||||
|
priceDescription: 'Цена за группу до 12 человек, далее +500 ₽/участник',
|
||||||
|
time: {
|
||||||
|
text: '60 минут',
|
||||||
|
},
|
||||||
|
title: 'Лаборатория егеря',
|
||||||
|
variant: 'lab',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
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;
|
||||||
@ -303,6 +544,10 @@ export const getServices = (req: Request, res: Response) => {
|
|||||||
return res.status(200).json(masterClassItems);
|
return res.status(200).json(masterClassItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.SHOW_PROGRAMS: {
|
||||||
|
return res.status(200).json(showProgramsItems);
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,12 @@ const masterClassesTitleText = {
|
|||||||
title: 'Мастер-классы',
|
title: 'Мастер-классы',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const showProgramsTitleText = {
|
||||||
|
description: 'Сделайте праздник ярче, добавив фирменное шоу\\n'
|
||||||
|
+ ' к любой комбо-программе из категорий «День Рождения», «Выпускной», «Выездной праздник»',
|
||||||
|
title: 'ШОУ-ПРОГРАММЫ\\n И ДИСКОТЕКИ',
|
||||||
|
};
|
||||||
|
|
||||||
const masterClassesInfo = [
|
const masterClassesInfo = [
|
||||||
'Знакомимся и проводим общий инструктаж',
|
'Знакомимся и проводим общий инструктаж',
|
||||||
'Рассказываем и показываем, как пользоваться реквизитом',
|
'Рассказываем и показываем, как пользоваться реквизитом',
|
||||||
@ -208,6 +214,16 @@ export const getTitle = (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PAGE_LINK.SHOW_PROGRAMS: {
|
||||||
|
switch (section) {
|
||||||
|
case TextSection.TITLE:
|
||||||
|
return res.status(200).json(showProgramsTitleText);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return res.status(404);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return res.status(404);
|
return res.status(404);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,7 +51,7 @@ export const PAGE_LINK_LABEL: PAGE_LINK_LABEL_TYPE = {
|
|||||||
[PAGE_LINK.QUESTS]: 'Квесты',
|
[PAGE_LINK.QUESTS]: 'Квесты',
|
||||||
[PAGE_LINK.RENT]: 'Аренда залов',
|
[PAGE_LINK.RENT]: 'Аренда залов',
|
||||||
[PAGE_LINK.SERVICES]: 'Услуги',
|
[PAGE_LINK.SERVICES]: 'Услуги',
|
||||||
[PAGE_LINK.SHOW_PROGRAMS]: 'Шоу программы',
|
[PAGE_LINK.SHOW_PROGRAMS]: 'Шоу-программы',
|
||||||
};
|
};
|
||||||
|
|
||||||
export enum TextSection {
|
export enum TextSection {
|
||||||
@ -97,7 +97,18 @@ export type ServiceItemType = {
|
|||||||
priceDescription: string;
|
priceDescription: string;
|
||||||
time: { text: string };
|
time: { text: string };
|
||||||
title: string;
|
title: string;
|
||||||
variant?: 'hexadecimal' | 'primary' | 'quaternary' | 'quinary' | 'secondary' | 'tertiary';
|
variant?: 'bubble'
|
||||||
|
| 'chemistry'
|
||||||
|
| 'disko'
|
||||||
|
| 'hexadecimal'
|
||||||
|
| 'lab'
|
||||||
|
| 'magic'
|
||||||
|
| 'neon'
|
||||||
|
| 'primary'
|
||||||
|
| 'quaternary'
|
||||||
|
| 'quinary'
|
||||||
|
| 'secondary'
|
||||||
|
| 'tertiary';
|
||||||
};
|
};
|
||||||
|
|
||||||
export enum ApiRoute {
|
export enum ApiRoute {
|
||||||
|
|||||||
BIN
static/images/show-programs/desktop/bubble.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
static/images/show-programs/desktop/chemistry.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
static/images/show-programs/desktop/disko.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
static/images/show-programs/desktop/eger.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
static/images/show-programs/desktop/magic.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
static/images/show-programs/desktop/neon.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
static/images/show-programs/mobile/bubble.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
static/images/show-programs/mobile/chemistry.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
static/images/show-programs/mobile/disko.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
static/images/show-programs/mobile/eger.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
static/images/show-programs/mobile/magic.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
static/images/show-programs/mobile/neon.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
static/images/title/show-programs/desktop.png
Normal file
|
After Width: | Height: | Size: 949 KiB |
BIN
static/images/title/show-programs/mobile.png
Normal file
|
After Width: | Height: | Size: 335 KiB |