Skip to content
This repository has been archived by the owner on Nov 29, 2023. It is now read-only.

feat/landing-fifth-step #17

Merged
merged 47 commits into from
Sep 27, 2023
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
df4833c
feat: add images in project
Mirved64 Aug 25, 2023
b0253cb
feat: add background images in project
Mirved64 Aug 25, 2023
00abda0
feat: add empty library page
Mirved64 Aug 25, 2023
431cc8f
feat: add cards in library section
Mirved64 Aug 26, 2023
a7a2ab7
feat: add background images in library page, rework navigation section
Mirved64 Aug 26, 2023
c0905d2
fix: rework useActive hook
Mirved64 Aug 28, 2023
c558c3d
feat: add ui/input, add search input in library section
Mirved64 Aug 28, 2023
26cd1b3
fix: rework library page, background images are shown
Mirved64 Aug 28, 2023
73936fe
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Aug 29, 2023
3ac9e86
chore: check lineHeight and divider color
Mirved64 Aug 29, 2023
aa358ab
feat: add ui/modal
Mirved64 Aug 29, 2023
91ebb44
feat: add ui/form
Mirved64 Aug 29, 2023
34f3301
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Aug 29, 2023
30e4ad1
feat: add form in faq section
Mirved64 Aug 30, 2023
fad6ea9
refactor: add hover, focus, fill , change button in search input
Mirved64 Aug 30, 2023
accb492
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Aug 30, 2023
f44fbf5
refactor: rework modal, form, input in faq section
Mirved64 Aug 31, 2023
e297b13
Merge branch 'feat/landing-fourth-step' into 'feat/landing-fifth-step'
Mirved64 Sep 4, 2023
ea48732
fix: check dependencies, check interfaces, check layout
Mirved64 Sep 4, 2023
bfa5fb6
fix: return image in cards
Mirved64 Sep 5, 2023
2195611
refactor: fix misprint, add type to icon in ui/button and ui/input, r…
Mirved64 Sep 6, 2023
178ab55
refactor: add space for title text in hero section
Mirved64 Sep 7, 2023
3cb745c
feat: add parallax effect in courses and process sections
Mirved64 Sep 7, 2023
80a7f44
feat: add parallax effect in library page, check layout
Mirved64 Sep 7, 2023
d7a38c1
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Sep 7, 2023
6a10714
fix: resolve typecheck errors
Mirved64 Sep 7, 2023
11c565f
fix: remove parallax effect from mobile
Mirved64 Sep 7, 2023
ee67a6a
refactor: add vertical-align in delimiter
Mirved64 Sep 7, 2023
5cd057e
feat: add scroll on button in courses section, check dependencies
Mirved64 Sep 7, 2023
30df2b1
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Sep 8, 2023
623ab5b
refactor: divide components in navigation section
Mirved64 Sep 8, 2023
af08b24
refactor: change font, add space to slogan
Mirved64 Sep 8, 2023
b5f090f
refactor: change type object to JSX.Element
Mirved64 Sep 8, 2023
80975bf
refactor: remove hardcode
Mirved64 Sep 8, 2023
e5b0632
Merge branch 'feat/landing-fourth-step' into feat/landing-fifth-step
Mirved64 Sep 11, 2023
ad63bdd
fix: resolve merge errors
Mirved64 Sep 11, 2023
9538583
refactor: remove needless props interfaces
Mirved64 Sep 11, 2023
695dc65
refactor: change primary font, add regular font
Mirved64 Sep 11, 2023
2217ad6
chore: replace icons from @ui/accordion to ui/icons
Mirved64 Sep 25, 2023
b88ec25
chore: replace any type of children from ui/drawer to ReactNode
Mirved64 Sep 25, 2023
4f271f6
chore: replace icon component of ui/logo to icon directory
Mirved64 Sep 25, 2023
bfb0970
chore: fix typo in question modal component
Mirved64 Sep 26, 2023
cbce69e
chore: rename purpur to purple
Mirved64 Sep 26, 2023
a5a4bcf
refactor: add space in theme, change padding prop in card in library …
Mirved64 Sep 26, 2023
575e722
refactor: backgroundColor of backdrop in modal from theme
Mirved64 Sep 26, 2023
ed858a3
feat: control background props in ui/background from theme
Mirved64 Sep 26, 2023
267f546
chore: type some functions
Mirved64 Sep 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,202 changes: 1,070 additions & 132 deletions .pnp.cjs

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions landing/entrypoints/renderer/locales/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,23 @@
"courses.title": "Курсы и материалы",
"faq.button": "Задать вопрос",
"faq.title": "Вопросы и ответы",
"form.button.send": "Отправить сообщение",
"form.success-message": "Мы получили твой вопрос, вернёмся с ответом asap.",
"form.message.placeholder": "Сообщение",
"form.name.placeholder": "Имя",
"form.phone-number.placeholder": "Телефон",
"form.agreement.you-agree": "Нажимая на кнопку «Оставить заявку», вы принимаете",
"form.agreement.agreement": "«Соглашение об обработке персональных данных»",
"hero.slogan-desktop": "Мы не учим программированию и дизайну, мы учим мышлению, способному реализовывать невозможные идеи",
"hero.slogan-we-dont-teach-mobile": "Мы не учим программированию и дизайну,",
"hero.slogan-we-teach-mobile": "мы учим мышлению, способному реализовывать невозможные идеи",
"hero.title.it": "IT",
"hero.title.text": "Обучаем профессионалов для революции в",
"library.search-button": "Искать",
"library.search.placeholder": "Введите ваш запрос",
"library.title": "Наша библиотека",
"library.text": "Здесь собраны материалы и статьи, которые пригодятся в процессе обучения. Сюда стоит пойти за ответом на любой возникший вопрос.",
"modal.title": "Задай вопрос",
"navigation.button": "Курсы",
"process.item.text": "Являясь серым кардиналом Atlantis имеет влияние на сферу IT.",
"process.item.create-environment": "Создание среды",
Expand Down
1 change: 1 addition & 0 deletions landing/entrypoints/renderer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"@formatjs/cli": "6.1.3",
"@formatjs/ts-transformer": "3.13.3",
"@landing/index-page": "workspace:0.0.1",
"@landing/library-page": "workspace:0.0.1",
"@types/node": "18",
"@types/react": "18.2.9",
"@types/react-dom": "18.2.4",
Expand Down
8 changes: 1 addition & 7 deletions landing/entrypoints/renderer/src/pages/index.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
import React from 'react'

import IndexPage from '@landing/index-page'

const Page = () => <IndexPage />

export default Page
export { default } from '@landing/index-page'
1 change: 1 addition & 0 deletions landing/entrypoints/renderer/src/pages/library/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from '@landing/library-page'
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export const Delimiter = () => (
border='thinnestGhost'
backgroundColor='background.whiteTransparent'
>
<Image src='./image/Default.png' width={40} height={40} />
<Image src='./image/Sphere.png' width={40} height={40} />
</Box>
</Background>
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ interface CardProps {
title: string
descriptionMobile?: string
descriptionDesktop?: string
image?: string
}

export const CadrsList: CardProps[] = [
export const CardsList: CardProps[] = [
{
id: 0,
isMobileOnly: false,
Expand All @@ -23,6 +24,7 @@ export const CadrsList: CardProps[] = [
'Вы изучите фундаментальные знания в ИТ и прокачаетесь в направлении программирования. Получите востребованную профессию и возможность открыть бизнес в сфере информационных технологий',
descriptionDesktop:
'Вы изучите фундаментальные знания в ИТ и прокачаетесь в направлении программирования. Получите востребованную профессию и возможность открыть бизнес в сфере информационных технологий',
image: './image/Object.png',
},
{
id: 1,
Expand All @@ -33,6 +35,7 @@ export const CadrsList: CardProps[] = [
'Вы изучите фундаментальные знания в ИТ и прокачаетесь в направлении программирования. Получите востребованную профессию и возможность открыть бизнес в сфере информационных технологий',
descriptionDesktop:
'Вы изучите фундаментальные знания в ИТ и прокачаетесь в направлении программирования. Получите востребованную профессию и возможность открыть бизнес в сфере информационных технологий',
image: './image/Object.png',
},
{
id: 2,
Expand Down
10 changes: 6 additions & 4 deletions landing/fragments/landing-courses/src/cards/cards.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ import { SwiperSlide } from '@ui/swiper'
import { useWindowWidth } from '@ui/utils'

import { CardCategory } from '../cards-list'
import { CadrsList } from '../cards-list'
import { CardsList } from '../cards-list'

export const CardsLearning = () => {
const { isDesktop, isMobile } = useWindowWidth()

return (
<Column>
{CadrsList.filter(
{CardsList.filter(
(card) => card.category === CardCategory.Teach || card.category === CardCategory.MiniCourse
).map((card) => (
<Column key={card.id}>
Expand All @@ -30,6 +30,7 @@ export const CardsLearning = () => {
description={card.descriptionDesktop}
indent={214}
widthCategoryBox={104}
image={card.image}
/>
</Condition>

Expand All @@ -50,6 +51,7 @@ export const CardsLearning = () => {
description={card.descriptionDesktop}
indent={56}
widthCategoryBox={112}
image={card.image}
/>
</Condition>

Expand All @@ -72,7 +74,7 @@ export const CardsLearning = () => {

export const CardsMaterials = () => (
<Row>
{CadrsList.filter(
{CardsList.filter(
(card) => card.category === CardCategory.EducationalMaterial && !card.isMobileOnly
).map((card, index, array) => (
<Row key={card.id}>
Expand Down Expand Up @@ -105,7 +107,7 @@ export const CardsMaterials = () => (

export const CardsSwiper: FC<SwiperProps> = ({ spaceBetween, slidesPerView, className }) => (
<Swiper spaceBetween={spaceBetween} slidesPerView={slidesPerView} className={className}>
{CadrsList.filter(
{CardsList.filter(
(card) => card.category === CardCategory.EducationalMaterial && card.isMobileOnly
).map((card, index, array) => (
<SwiperSlide key={card.id}>
Expand Down
26 changes: 13 additions & 13 deletions landing/fragments/landing-courses/src/courses.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,21 @@ export const Courses = () => {

<Condition match={isDesktop}>
<Box width={254} flexShrink='0'>
<Button
variant='primaryBackgroundWhiteText'
size='hugeSizeRegularRadii'
icon={<ArrowRightIcon width={16} height={16} />}
widthIcon={48}
heightIcon={48}
backgroundIcon='background.white'
radiiIcon='normal'
>
<NextLink>
<NextLink path='/library' width='100%'>
<Button
variant='primaryBackgroundWhiteText'
size='hugeSizeRegularRadii'
icon={<ArrowRightIcon width={16} height={16} />}
widthIcon={48}
heightIcon={48}
backgroundIcon='background.white'
radiiIcon='normal'
>
<Text color='white' fontSize='small' lineHeight='normal'>
<FormattedMessage id='courses.button.all-materials' />
</Text>
</NextLink>
</Button>
</Button>
</NextLink>
</Box>
</Condition>
</Row>
Expand Down Expand Up @@ -106,7 +106,7 @@ export const Courses = () => {
<Layout flexBasis={20} />

<Box flexBasis={335} flexGrow='1'>
<NextLink path='/' width='100%'>
<NextLink path='/library' width='100%'>
<Button
variant='primaryBackgroundWhiteText'
size='bigSizeNormalRadiiSmallPadding'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const Sidebar = () => {

<Condition match={isDesktop}>
<Box justifyContent='center'>
<Image src='./image/Default.png' width={240} height={240} />
<Image src='./image/Sphere.png' width={240} height={240} />
</Box>
</Condition>

Expand Down Expand Up @@ -69,7 +69,7 @@ export const Sidebar = () => {

<Condition match={isMobile}>
<Box flexShrink='0'>
<Image src='./image/Default.png' width={64} height={64} />
<Image src='./image/Sphere.png' width={64} height={64} />
</Box>
</Condition>
</Box>
Expand Down
3 changes: 3 additions & 0 deletions landing/fragments/landing-faq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
"main": "src/index.ts",
"dependencies": {
"@ui/accordion": "workspace: 0.0.1",
"@ui/background": "workspace: 0.0.1",
"@ui/button": "workspace: 0.0.1",
"@ui/condition": "workspace: 0.0.1",
"@ui/divider": "workspace: 0.0.1",
"@ui/form": "workspace: 0.0.1",
"@ui/icons": "workspace: 0.0.1",
"@ui/layout": "workspace: 0.0.1",
"@ui/modal": "workspace: 0.0.1",
"@ui/text": "workspace: 0.0.1",
"@ui/utils": "workspace: 0.0.1"
},
Expand Down
152 changes: 81 additions & 71 deletions landing/fragments/landing-faq/src/faq.component.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react'
import { FormattedMessage } from 'react-intl'
import { useState } from 'react'

import { Accordion } from '@ui/accordion'
import { Button } from '@ui/button'
Expand All @@ -14,97 +15,106 @@ import { Text } from '@ui/text'
import { useWindowWidth } from '@ui/utils'

import { Question } from './data'
import { QuestionModal } from './question-modal'

export const Faq = () => {
const { isMobile, isDesktop } = useWindowWidth()

const [open, setOpen] = useState<boolean>(false)
const handleModalOpen = () => setOpen(false)

const Items = Array.from({ length: 6 }, () => Question).map((el, index) => ({ ...el, id: index }))

return (
<Row>
<Layout flexBasis={[20, 230]} flexShrink='0' />

<Column flexGrow='1'>
<Layout flexBasis={[80, 160]} />

<Row alignItems='center'>
<Box>
<Text
color='text.primary'
fontSize={['ordinary', 'stupendous']}
lineHeight={['huge', 'normal']}
>
<FormattedMessage id='faq.title' />
</Text>
</Box>
<>
<Row>
<Layout flexBasis={[20, 230]} flexShrink='0' />

<Column flexGrow='1'>
<Layout flexBasis={[80, 160]} />

<Row alignItems='center'>
<Box>
<Text
color='text.primary'
fontSize={['ordinary', 'stupendous']}
lineHeight={['huge', 'normal']}
>
<FormattedMessage id='faq.title' />
</Text>
</Box>

<Condition match={isDesktop}>
<Layout flexBasis={[0, 20]} flexGrow='1' />

<Box width={247} flexShrink='0'>
<Button
variant='primaryBackgroundWhiteText'
size='hugeSizeRegularRadii'
icon={<MailIcon width={16} height={16} />}
widthIcon={48}
heightIcon={48}
backgroundIcon='background.white'
radiiIcon='normal'
onClick={() => setOpen(true)}
>
<Text color='white' fontSize='small' lineHeight='normal'>
<FormattedMessage id='faq.button' />
</Text>
</Button>
</Box>
</Condition>
</Row>

<Layout flexBasis={[60, 80]} />

<Condition match={isDesktop}>
<Layout flexBasis={[0, 20]} flexGrow='1' />
<Divider backgroundColor='background.grayGhost' weight={1} />

<Layout flexBasis={40} />
</Condition>

{Items.map((item, index, array) => (
<Column key={item.id}>
<Condition match={index !== 0}>
<Layout flexBasis={[16, 40]} />
</Condition>

<Box width={247} flexShrink='0'>
<Accordion
question={item.question}
answer={item.answer}
isDivider={(index !== array.length - 1 && isMobile) || isDesktop}
/>
</Column>
))}

<Condition match={isMobile}>
<Layout flexBasis={60} />

<Box>
<Button
variant='primaryBackgroundWhiteText'
size='hugeSizeRegularRadii'
icon={<MailIcon width={16} height={16} />}
widthIcon={48}
heightIcon={48}
size='bigSizeNormalRadiiSmallPadding'
icon={<MailIcon width={12} height={10} />}
widthIcon={32}
heightIcon={32}
backgroundIcon='background.white'
radiiIcon='normal'
radiiIcon='tiny'
onClick={() => setOpen(true)}
>
<Text color='white' fontSize='small' lineHeight='normal'>
<Text color='text.white' fontSize='small' lineHeight='small'>
<FormattedMessage id='faq.button' />
</Text>
</Button>
</Box>
</Condition>
</Row>

<Layout flexBasis={[60, 80]} />

<Condition match={isDesktop}>
<Divider backgroundColor='background.grayGhost' weight={1} />

<Layout flexBasis={40} />
</Condition>

{Items.map((item, index, array) => (
<Column key={item.id}>
<Condition match={index !== 0}>
<Layout flexBasis={[16, 40]} />
</Condition>

<Accordion
question={item.question}
answer={item.answer}
isDivider={(index !== array.length - 1 && isMobile) || isDesktop}
/>
</Column>
))}

<Condition match={isMobile}>
<Layout flexBasis={60} />

<Box>
<Button
variant='primaryBackgroundWhiteText'
size='bigSizeNormalRadiiSmallPadding'
icon={<MailIcon width={12} height={10} />}
widthIcon={32}
heightIcon={32}
backgroundIcon='background.white'
radiiIcon='tiny'
>
<Text color='white' fontSize='small' lineHeight='small'>
<FormattedMessage id='faq.button' />
</Text>
</Button>
</Box>
</Condition>

<Layout flexBasis={[80, 160]} />
</Column>
<Layout flexBasis={[80, 160]} />
</Column>

<Layout flexBasis={[20, 80]} flexShrink='0' />
</Row>
<Layout flexBasis={[20, 80]} flexShrink='0' />
</Row>
<QuestionModal open={open} setOpen={handleModalOpen} />
</>
)
}
1 change: 1 addition & 0 deletions landing/fragments/landing-faq/src/question-modal/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './question-modal.component'
Loading