diff --git a/dev-data/about-course.data.tsx b/dev-data/about-course.data.tsx
index 0b61f0d35..ff1ed0a1f 100644
--- a/dev-data/about-course.data.tsx
+++ b/dev-data/about-course.data.tsx
@@ -41,6 +41,7 @@ export const introLocalizedContent = {
[COURSE_TITLES.AWS_FUNDAMENTALS]: enIntro,
[COURSE_TITLES.AWS_CLOUD_DEVELOPER]: enIntro,
[COURSE_TITLES.AWS_DEVOPS]: enIntro,
+ [COURSE_TITLES.SHORT_TRACK]: enIntro,
};
const listData = {
@@ -250,6 +251,39 @@ const awsDevops: AboutCourseInfo[] = [
},
];
+const shortTrack: AboutCourseInfo[] = [
+ {
+ id: 5,
+ title: 'Format',
+ info: 'Group training (up to 20 participants per group), self-study with provided materials, regular Q&A sessions, mock interviews, intensive practice, and a final project. Activities can be conducted both online and offline',
+ icon: paperIcon,
+ },
+ {
+ id: 1,
+ title: 'Focus',
+ info: 'React or Angular. The specific direction for each student will be determined closer to the end of the first month of training',
+ icon: planetIcon,
+ },
+ {
+ id: 2,
+ title: 'EPAM Mentors and Experts',
+ info: 'Mentors and experts from EPAM will assist in the learning process and task reviews.',
+ icon: personIcon,
+ },
+ {
+ id: 3,
+ title: 'Duration',
+ info: 'The course runs for 3 months, with interviews at EPAM planned by April.',
+ icon: noteIcon,
+ },
+ {
+ id: 4,
+ title: 'Certificate',
+ info: 'After successful completion of the course, students will receive an digital certificate.',
+ icon: awardIcon,
+ },
+];
+
export const contentMapAbout: ContentMap = {
[COURSE_TITLES.JS_RU]: javaScriptRU(),
[COURSE_TITLES.JS_EN]: javaScriptEN(),
@@ -260,4 +294,5 @@ export const contentMapAbout: ContentMap = {
[COURSE_TITLES.AWS_FUNDAMENTALS]: angularNodejsAwsFundamentals('aws fundamentals'),
[COURSE_TITLES.AWS_CLOUD_DEVELOPER]: awsCloudDeveloper,
[COURSE_TITLES.AWS_DEVOPS]: awsDevops,
+ [COURSE_TITLES.SHORT_TRACK]: shortTrack,
};
diff --git a/dev-data/courseTitles.data.ts b/dev-data/courseTitles.data.ts
index 8b99f8627..d3b1dbea2 100644
--- a/dev-data/courseTitles.data.ts
+++ b/dev-data/courseTitles.data.ts
@@ -10,6 +10,7 @@ export const COURSE_TITLES = {
AWS_FUNDAMENTALS: 'AWS Fundamentals',
AWS_CLOUD_DEVELOPER: 'AWS Cloud Developer',
AWS_DEVOPS: 'AWS DevOps',
+ SHORT_TRACK: 'RS EPAM Short Track',
} as const;
export const AWS_FUNDAMENTALS_BADGE = `${COURSE_TITLES.AWS_FUNDAMENTALS} badge` as const;
@@ -32,4 +33,5 @@ export const DISCORD_LINKS = {
[COURSE_TITLES.AWS_FUNDAMENTALS]: 'https://discord.com/invite/WEZxwRa4J6',
[COURSE_TITLES.AWS_CLOUD_DEVELOPER]: 'https://discord.com/invite/WEZxwRa4J6',
[COURSE_TITLES.AWS_DEVOPS]: 'https://discord.com/invite/WEZxwRa4J6',
+ [COURSE_TITLES.SHORT_TRACK]: 'https://discord.com/invite/QvEYg7EaQ4',
} as const;
diff --git a/dev-data/courses-data.types.ts b/dev-data/courses-data.types.ts
index d48b8fb52..bcb04b1ab 100644
--- a/dev-data/courses-data.types.ts
+++ b/dev-data/courses-data.types.ts
@@ -13,13 +13,14 @@ export type DataMap = {
javascriptRu: JSPath[];
angular: AngularAwsPath[];
awsDev: AngularAwsPath[];
+ shortTrack: JSPath[];
};
export interface JSPath {
id: number;
title: string;
description: string;
- imageSrc: StaticImageData;
+ imageSrc?: StaticImageData;
topics?: string[];
list?: ListData;
marked?: boolean;
diff --git a/dev-data/courses.data.ts b/dev-data/courses.data.ts
index 83667798d..5debed39f 100644
--- a/dev-data/courses.data.ts
+++ b/dev-data/courses.data.ts
@@ -15,6 +15,7 @@ import javascript from '@/shared/assets/icons/javascript.webp';
import jsSecondary from '@/shared/assets/icons/js-secondary.webp';
import nodejs from '@/shared/assets/icons/node.svg';
import nodejsSecondary from '@/shared/assets/icons/nodejs-secondary.webp';
+import reactAngular from '@/shared/assets/icons/react-angular.svg';
import reactSecondary from '@/shared/assets/icons/react-secondary.webp';
import react from '@/shared/assets/icons/react.svg';
import { COURSE_LINKS, TO_BE_DETERMINED } from '@/shared/constants';
@@ -196,4 +197,25 @@ export const courses: Course[] = [
accentColor: '#7356BF',
},
},
+ {
+ id: '10',
+ title: COURSE_TITLES.SHORT_TRACK,
+ subTitle: null,
+ descriptionUrl: COURSE_LINKS.SHORT_TRACK,
+ altTitle: COURSE_TITLES.SHORT_TRACK,
+ iconSrc: reactAngular,
+ iconSmall: reactAngular,
+ secondaryIcon: reactAngular,
+ startDate: 'Feb 11, 2025',
+ registrationEndDate: 'Jan 31, 2025',
+ language: 'en',
+ mode: 'online',
+ detailsUrl: `/${ROUTES.COURSES}/${ROUTES.SHORT_TRACK}`,
+ enroll:
+ 'https://docs.google.com/forms/d/1SKjS03vVS6uxJvlNynGAZZs8spGnoWy1q3rnZUc9pyY/viewform?edit_requested=true',
+ backgroundStyle: {
+ backgroundColor: '#FFFCE9',
+ accentColor: '#FFDB20',
+ },
+ },
];
diff --git a/dev-data/faq.data.ts b/dev-data/faq.data.ts
index c1e465b90..541119ebf 100644
--- a/dev-data/faq.data.ts
+++ b/dev-data/faq.data.ts
@@ -1,4 +1,11 @@
-export const faqData = [
+export type FaqDataType = {
+ question: string;
+ answer: string | { id: number;
+ text: string;
+ title: string;
+ link: string; }[];
+};
+export const faqData: FaqDataType[] = [
{
question: 'Где можно задать вопрос?',
answer: [
@@ -58,3 +65,44 @@ export const faqData = [
'Проекты "CV", "Portfolio", "CodeJam", "JS 30" проверяются в ходе кросс-чек. Алгоритмические задания, задачи из Codewars, а также задания "CV#1. Markdown & Git", "CV#2. HTML, CSS & Git Basics" проверяются автоматически. Ваши решения необходимо сабмитнуть в RS APP до дедлайна.',
},
];
+
+export const faqDataShortTrack: FaqDataType[] = [
+ {
+ question: 'Where can I ask a question?',
+ answer: [
+ {
+ id: 0,
+ text: 'Questions can be asked in ',
+ title: 'Telegram chanel',
+ link: 'https://t.me/epamJsShortTrack',
+ },
+ ],
+ },
+ {
+ question: 'Is it possible to take the course completely online?',
+ answer: 'All stages of training can be completed online.',
+ },
+ {
+ question: 'Is there a list of interview questions? What should I prepare for?',
+ answer: [
+ {
+ id: 0,
+ text: 'You can prepare for the interview with this list of topics and questions ',
+ title: 'topics and questions',
+ link: 'https://github.com/rolling-scopes-school/epam-short-track/tree/main/screening',
+ },
+ ],
+ },
+ {
+ question:
+ 'If I’m selected for the JS Short Track, can I also continue with the classic Stage #2 and take both courses at the same time?',
+ answer:
+ 'No, you cannot take the JS Short Track alongside the classic Stage #2. You will need to choose one path.',
+ },
+ {
+ question:
+ 'If I’m not accepted into the JS Short Track course after the interview, can I continue with the JS Stage #2 course?',
+ answer:
+ 'Yes, if you are not selected for the JS Short Track, you can continue your studies in JS Stage #2. ',
+ },
+];
diff --git a/dev-data/index.ts b/dev-data/index.ts
index 7ac0bf6e2..7c5ef2bf5 100644
--- a/dev-data/index.ts
+++ b/dev-data/index.ts
@@ -34,6 +34,7 @@ export {
type TrainingProgramType,
} from './courseTitles.data';
export { type Benefit } from './benefit-mentorship.data';
+export { type FaqDataType, faqData } from './faq.data';
export { aboutMentorsData } from './about-mentors.data';
export { angular } from './angular.data';
export { angularPath } from './angular-path.data';
@@ -53,7 +54,6 @@ export { courseStatus, heroCourseLocalized } from './hero-course.data';
export { courses } from './courses.data';
export { coursesPath } from './courses-path.data';
export { events } from './events.data';
-export { faqData } from './faq.data';
export { generalMaterials } from './general.data';
export { heroPageData } from './hero-page.data';
export { javaScriptEn } from './javascript-en.data';
@@ -75,5 +75,6 @@ export { reactEn } from './react-en.data';
export { reactRu } from './react-ru.data';
export { requirementsData } from './requirements.data';
export { rsInNumbers } from './rs-in-numbers.data';
+export { shortTrackPath } from './short-track-path.data';
export { sliderPhotos } from './slider-photos.data';
export { videoTitleLocalized } from './about-video.data';
diff --git a/dev-data/required.data.ts b/dev-data/required.data.ts
index 9e1e0c591..83e3b9118 100644
--- a/dev-data/required.data.ts
+++ b/dev-data/required.data.ts
@@ -336,4 +336,44 @@ export const courseDataMap: CourseMap = {
},
],
},
+ [COURSE_TITLES.SHORT_TRACK]: {
+ title: 'What is required for course?',
+ knowBefore: {
+ title: 'Required before the start',
+ description: [
+ 'You are a current Stage#1 student or a graduate/participant of any previous RS School batches.',
+ 'You have solid front-end development skills and an English proficiency level of at least B1 (Intermediate).',
+ 'You are ready to dedicate at least 20-40 hours per week to studying.',
+ 'You reside in one of the countries below: Georgia, Uzbekistan, Kazakhstan, Kyrgyzstan, Armenia, Poland, Lithuania, Turkey, Croatia, Bulgaria, Hungary, Romania, Serbia',
+ ],
+ },
+ willLearn: [
+ {
+ title: 'Poland document requirements:',
+ description: [
+ 'EU Long-Term Residence Permit (Karta rezydenta długoterminowego UE)',
+ 'Permanent Residence Card (Karta stałego pobytu)',
+ 'Polish Citizenship (Obywatelstwo polskie)',
+ 'Temporary Residence Card (Karta czasowego pobytu) with a work market access note (dostęp do rynku pracy)',
+ ],
+ },
+ {
+ title: 'Lithuania document requirements:',
+ description: [
+ 'Citizenship of Lithuania or Latvia (Lietuvos Respublikos pilietybė)',
+ 'Permanent Residence Permit (Nuolatinis leidimas gyventi)',
+ 'Lithuanian EU Blue Card (ES mėlynoji kortelė)',
+ 'Temporary Residence Permit with the right to work (Laikinas leidimas gyventi su teise dirbti)',
+ ],
+ },
+ {
+ title: 'Turkish document requirements:',
+ description: ['Turkish citizens'],
+ },
+ {
+ title: 'Croatia, Bulgaria, Hungary, Romania, Serbia:',
+ description: ['employment might be possible depending on your documents and experience'],
+ },
+ ],
+ },
};
diff --git a/dev-data/short-track-path.data.ts b/dev-data/short-track-path.data.ts
new file mode 100644
index 000000000..f29790f7b
--- /dev/null
+++ b/dev-data/short-track-path.data.ts
@@ -0,0 +1,42 @@
+import { type JSPath } from './courses-data.types';
+import reactAngular from '@/shared/assets/icons/react-angular.svg';
+import stage1 from '@/shared/assets/stages/stage-1.webp';
+import stage2 from '@/shared/assets/stages/stage-2.webp';
+import stage3 from '@/shared/assets/stages/stage-3.webp';
+
+export const shortTrackPath: JSPath[] = [
+ {
+ id: 1,
+ title: 'Step 1',
+ description:
+ 'Fill out the application form by January 31. Expect an invitation for an interview. If there is a large number of applicants, there may be an additional test assignment.',
+ imageSrc: stage1,
+ },
+ {
+ id: 2,
+ title: 'Step 2',
+ description:
+ 'Entry Interviews: Interviews start on January 27 (to ensure all interviews are completed before Stage#2 begins on February 11). Expect an invitation to register for the course',
+ imageSrc: stage3,
+ },
+ {
+ id: 3,
+ title: 'Step 3',
+ description:
+ 'Join a team of 12-20 people under the guidance of a mentor. Self-study with provided materials, regular Q&A sessions, mock interviews, intensive practice, and a final project.',
+ imageSrc: stage2,
+ },
+ {
+ id: 4,
+ title: 'Step 4',
+ description:
+ 'At the end of the first month of the course, you will decide on a framework with your mentor. Approximate ratio: 60% React / 40% Angular',
+ imageSrc: reactAngular,
+ },
+ {
+ id: 5,
+ title: 'Step 5',
+ description:
+ 'Development of the final project in a team of 3 people under the guidance of a mentor',
+ },
+];
diff --git a/dev-data/short-track.data.ts b/dev-data/short-track.data.ts
new file mode 100644
index 000000000..dca5148f7
--- /dev/null
+++ b/dev-data/short-track.data.ts
@@ -0,0 +1,25 @@
+import type { Trainer } from '@/entities/trainer';
+import aSerhiyenia from '@/shared/assets/mentors/a-serhiyenia.webp';
+import marharytaMalets from '@/shared/assets/mentors/m-malets.webp';
+import nataliaLebedevaImg from '@/shared/assets/mentors/n-lebedeva.webp';
+
+export const shortTrackTrainers: Trainer[] = [
+ {
+ name: 'Aleh Serhiyenia',
+ role: 'Front-End Developer',
+ bio: 'Aleh Serhiyenia works at EPAM Systems, developing web applications using Angular. He was always interested in technology and computers. Aleh received his higher education at BSUIR. For a long time, he engaged in production automation. Then he became interested in graphic design, the development of banners, logos, signs, etc. Aleh has always had a passion for programming. He passed RS School and then EPAM Lab. Now Aleh is ready to share his experience and expertise with RS School students.',
+ photo: aSerhiyenia,
+ },
+ {
+ name: 'Marharyta Malets',
+ role: 'EPAM, Software Engineer',
+ bio: 'Marharyta graduated from RS School in July 2021 and by March 2022, she became a mentor for the first time. Since then, RS School has become an essential part of her life. She is sure that she is growing and learning with her mentees. Her favorite activity is participating in technical interviews. However, she is always open to new experiences and learning opportunities.',
+ photo: marharytaMalets,
+ },
+ {
+ name: 'Natalia Lebedeva',
+ role: 'EPAM, Junior Software Engineer',
+ bio: 'Natalia trained at RS School, got into the spirit of the school and became its mentor and contributor. After passing through the EPAM lab, she realized her dream and became a developer. Loves spending time in the company of like-minded people and organizes RS School community meetings in Almaty. Wants to help others on their difficult path.',
+ photo: nataliaLebedevaImg,
+ },
+];
diff --git a/dev-data/training-program.data.tsx b/dev-data/training-program.data.tsx
index a74bbac08..22fb8827f 100644
--- a/dev-data/training-program.data.tsx
+++ b/dev-data/training-program.data.tsx
@@ -9,6 +9,7 @@ import {
CourseNamesKeys,
} from './courseTitles.data';
import awsPractitionerBadge from '@/shared/assets/aws-cloud-pract-badge.webp';
+import mentorWithStudents from '@/shared/assets/mentor-with-his-students.webp';
import angularImg from '@/shared/assets/rs-slope-angular.webp';
import awsDevImg from '@/shared/assets/rs-slope-aws-dev.webp';
import awsFundamentalsImg from '@/shared/assets/rs-slope-aws-fundamentals.webp';
@@ -299,6 +300,31 @@ export const contentMap: ContentMap = {
],
image: awsDevImg,
},
+ [COURSE_TITLES.SHORT_TRACK]: {
+ title: 'About the Opportunities',
+ content: [
+
+ This a program designed for students who already possess strong foundational knowledge of
+ JavaScript/TypeScript and want to quickly level up to meet the requirements for employment
+ at EPAM.
+ ,
+
+ We are launching the Short Track now because new project positions are becoming available,
+ and we want to help you improve your skills and prepare for interviews at a fast pace to be
+ ready by April.
+ ,
+
,
+ ],
+ image: mentorWithStudents,
+ },
};
export const trainingProgramLink = {
diff --git a/dev-data/widget-communication.data.ts b/dev-data/widget-communication.data.ts
index 7d88a40f8..66f10e600 100644
--- a/dev-data/widget-communication.data.ts
+++ b/dev-data/widget-communication.data.ts
@@ -3,13 +3,17 @@ export const communicationText = {
title: 'Communication',
subTitle: 'Discord is the main communication channel in RS School',
subTitleJs: 'RS School uses two main communication channels:',
+ // subTitleST: 'RS School uses two main communication channels:',
firstParagraphFirstHalf: 'Here is link for the ',
- discordParagraphTextJs: ': Join the Discord server to see the latest news and chat with students.',
+ discordParagraphTextJs:
+ ': Join the Discord server to see the latest news and chat with students.',
discordLink: 'course Discord server',
discordLinkJs: 'Discord',
firstParagraphSecondHalf: ', where you can see latest news and chat with students.',
- telegramParagraphTextJs: ': You can also join the official Telegram channel for updates and discussions.',
- discordNote: 'Attention! In some countries, access to Discord requires the use of a VPN. If you are having trouble connecting, please try using a reliable VPN service.',
+ telegramParagraphTextJs:
+ ': You can also join the official Telegram channel for updates and discussions.',
+ discordNote:
+ 'Attention! In some countries, access to Discord requires the use of a VPN. If you are having trouble connecting, please try using a reliable VPN service.',
secondParagraphFirstHalf: 'There are channels in ',
telegramLink: 'Telegram',
secondParagraphSecondHalf:
@@ -29,7 +33,8 @@ export const communicationText = {
firstParagraphSecondHalf:
', где вы можете посмотреть последние новости, задать вопросы и общаться со студентами.',
telegramParagraphTextJs: '',
- discordNote: 'Внимание! В некоторых странах для доступа к Discord требуется использование VPN. Если у вас возникают трудности с подключением, попробуйте использовать надёжный VPN-сервис.',
+ discordNote:
+ 'Внимание! В некоторых странах для доступа к Discord требуется использование VPN. Если у вас возникают трудности с подключением, попробуйте использовать надёжный VPN-сервис.',
secondParagraphFirstHalf: 'Также есть каналы в ',
telegramLink: 'Телеграм',
secondParagraphSecondHalf:
diff --git a/src/app/courses/short-track/page.tsx b/src/app/courses/short-track/page.tsx
new file mode 100644
index 000000000..0dda6cb15
--- /dev/null
+++ b/src/app/courses/short-track/page.tsx
@@ -0,0 +1,16 @@
+import { Metadata } from 'next';
+
+import { getCourseTitle } from '@/shared/helpers/get-course-title';
+import { React } from '@/views/react';
+import { ShortTrack } from '@/views/short-track';
+import { COURSE_TITLES } from 'data';
+
+const courseName = COURSE_TITLES.SHORT_TRACK;
+
+export async function generateMetadata(): Promise {
+ return { title: await getCourseTitle(courseName) };
+}
+
+export default async function ShortTrackRoute() {
+ return ;
+}
diff --git a/src/core/const/index.ts b/src/core/const/index.ts
index 9b27a0ccf..abfac0b48 100644
--- a/src/core/const/index.ts
+++ b/src/core/const/index.ts
@@ -33,6 +33,7 @@ export const ROUTES = {
AWS_FUNDAMENTALS: 'aws-fundamentals',
AWS_DEVOPS: 'aws-devops',
REACT: 'reactjs',
+ SHORT_TRACK: 'short-track',
MENTORSHIP: 'mentorship',
DOCS_EN: 'docs/en',
DOCS_RU: 'docs/ru',
diff --git a/src/core/services/api/index.ts b/src/core/services/api/index.ts
index 84ed1ade2..734684cf7 100644
--- a/src/core/services/api/index.ts
+++ b/src/core/services/api/index.ts
@@ -6,6 +6,7 @@ import {
coursesPath,
jsPath,
jsPathRu,
+ shortTrackPath,
} from 'data';
export const dataProviders: DataMap = {
@@ -16,4 +17,5 @@ export const dataProviders: DataMap = {
javascriptRu: jsPathRu,
angular: angularPath,
awsDev: awsDevPath,
+ shortTrack: shortTrackPath,
};
diff --git a/src/shared/constants.ts b/src/shared/constants.ts
index d8454318e..8054de62c 100644
--- a/src/shared/constants.ts
+++ b/src/shared/constants.ts
@@ -21,4 +21,5 @@ export const COURSE_LINKS = {
AWS_FUNDAMENTALS: 'https://rs.school/courses/aws-fundamentals',
AWS_CLOUD_DEVELOPER: 'https://rs.school/courses/aws-cloud-developer',
AWS_DEVOPS: 'https://rs.school/courses/aws-devops',
+ SHORT_TRACK: 'https://rs.school/courses/short-track',
};
diff --git a/src/views/javascript-preschool-ru.tsx b/src/views/javascript-preschool-ru.tsx
index f1916b2b1..a7b4352ad 100644
--- a/src/views/javascript-preschool-ru.tsx
+++ b/src/views/javascript-preschool-ru.tsx
@@ -7,7 +7,7 @@ import { HeroCourse } from '@/widgets/hero-course';
import { Required } from '@/widgets/required';
import { Trainers } from '@/widgets/trainers';
import { TrainingProgram } from '@/widgets/training-program';
-import { CourseNames, preSchoolRu } from 'data';
+import { CourseNames, faqData, preSchoolRu } from 'data';
type JavaScriptPreSchoolRuProps = {
courseName: CourseNames['JS_PRESCHOOL_RU'];
@@ -23,7 +23,7 @@ export const JavaScriptPreSchoolRu = ({ courseName }: JavaScriptPreSchoolRuProps
-
+
>
);
diff --git a/src/views/short-track.tsx b/src/views/short-track.tsx
new file mode 100644
index 000000000..9612703bb
--- /dev/null
+++ b/src/views/short-track.tsx
@@ -0,0 +1,34 @@
+import { faqDataShortTrack } from '../../dev-data/faq.data';
+import { shortTrackTrainers } from '../../dev-data/short-track.data';
+import { getCourseLanguage } from '@/shared/helpers/get-course-language';
+import { AboutCourse } from '@/widgets/about-course';
+import { Breadcrumbs } from '@/widgets/breadcrumbs';
+import { Certification } from '@/widgets/certification';
+import { Faq } from '@/widgets/faq';
+import { HeroCourse } from '@/widgets/hero-course';
+import { MemberActivity } from '@/widgets/member-activity';
+import { Required } from '@/widgets/required';
+import { Trainers } from '@/widgets/trainers';
+import { TrainingProgram } from '@/widgets/training-program';
+import { CourseNames } from 'data';
+
+type JavaScriptEnProps = {
+ courseName: CourseNames['SHORT_TRACK'];
+};
+export const ShortTrack = async ({ courseName }: JavaScriptEnProps) => {
+ const language = await getCourseLanguage(courseName);
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/widgets/breadcrumbs/constants.ts b/src/widgets/breadcrumbs/constants.ts
index ca760eb8a..4d9156f21 100644
--- a/src/widgets/breadcrumbs/constants.ts
+++ b/src/widgets/breadcrumbs/constants.ts
@@ -13,4 +13,5 @@ export const breadcrumbNameMap: BreadcrumbNameMap = {
'community': 'Community',
'aws-devops': 'AWS DevOps',
'mentorship': 'Mentorship',
+ 'short-track': 'RS EPAM Short Track',
} as const;
diff --git a/src/widgets/faq/ui/faq.tsx b/src/widgets/faq/ui/faq.tsx
index 38404c458..4e4d0d6e4 100644
--- a/src/widgets/faq/ui/faq.tsx
+++ b/src/widgets/faq/ui/faq.tsx
@@ -3,19 +3,23 @@ import classNames from 'classnames/bind';
import { TextWithLink } from '@/shared/ui/text-with-link';
import { WidgetTitle } from '@/shared/ui/widget-title';
-import { faqData } from 'data';
+import { FaqDataType } from 'data';
import styles from './faq.module.scss';
const cx = classNames.bind(styles);
-export const Faq = () => {
+type FaqProps = {
+ questions: FaqDataType[];
+};
+
+export const Faq = ({ questions }: FaqProps) => {
return (
FAQ
- {faqData.map(({ question, answer }, index) => (
+ {questions.map(({ question, answer }, index) => (
-
{index + 1}. {question}
diff --git a/src/widgets/member-activity/ui/member-activity.tsx b/src/widgets/member-activity/ui/member-activity.tsx
index be61e9c48..5c98be845 100644
--- a/src/widgets/member-activity/ui/member-activity.tsx
+++ b/src/widgets/member-activity/ui/member-activity.tsx
@@ -50,7 +50,7 @@ export const LangContext = createContext('en');
export const MemberActivity = ({ path, type, activities, lang = 'en' }: StudyPathProps) => {
let coursesPath = dataProviders[path];
- const isAngularOrAwsDev = path === 'angular' || path === 'awsDev';
+ const isAngularOrAwsDev = path === 'angular' || path === 'awsDev' || path === 'shortTrack';
let title = isAngularOrAwsDev ? 'Course Curriculum' : localizedContent[lang].title;
@@ -58,6 +58,9 @@ export const MemberActivity = ({ path, type, activities, lang = 'en' }: StudyPat
? 'This program will have theory and practice on the following topic:'
: localizedContent[lang].paragraph;
+ paragraph =
+ path === 'shortTrack' ? 'The course program will consist of the following steps' : paragraph;
+
if (path === ROUTES.MENTORSHIP && activities) {
title = mentorsActivityData[lang].header;
paragraph = mentorsActivityData[lang].info;