From 4a3d44adc2c714bd0faa5a71e348fc221458329a Mon Sep 17 00:00:00 2001 From: danilych Date: Tue, 13 Feb 2024 09:45:40 +0100 Subject: [PATCH] feat(view-course): implement layout of course block and content display --- app/data/view-course.ts | 22 ++++++ app/features/course-element.tsx | 78 ++++++++++++++++++++ app/features/index.ts | 1 + app/features/list-element.tsx | 22 ++++++ app/routes/courses.$course.tsx | 109 ++++++++++++++++++++++++++-- assets/images/index.ts | 1 + assets/images/view-course-image.png | Bin 0 -> 27295 bytes 7 files changed, 227 insertions(+), 6 deletions(-) create mode 100644 app/data/view-course.ts create mode 100644 app/features/course-element.tsx create mode 100644 app/features/list-element.tsx create mode 100644 assets/images/view-course-image.png diff --git a/app/data/view-course.ts b/app/data/view-course.ts new file mode 100644 index 0000000..2348c88 --- /dev/null +++ b/app/data/view-course.ts @@ -0,0 +1,22 @@ +export const whatYouWillLearn = [ + { + title: 'Крок за кроком детально вивчите основні теми SQL', + text: 'Ви матимете змогу розглянути різні аспекти SQL, такі як створення, зчитування, оновлення і видалення даних в базі даних крок за кроком.', + }, + { + title: 'Навчитеся писати SELECT-и різної складності', + text: 'SQL використовується для роботи з базами даних, і запити типу SELECT використовуються для вибірки даних з бази даних.', + }, + { + title: "Зможете працювати з безліччю різних об'єктів у базах даних", + text: 'Ви вивчите мову баз даних, будете вміти з’єднувати таблиці, працювати зі специфічними видами даних та вміти автиматизувати їх обробку.', + }, + { + title: 'Повністю підготуєтеся до іспиту Oracle SQL 1Z0-071', + text: 'Цей іспит є сертифікаційним тестом від Oracle, який оцінює ваші знання та навички у сфері SQL, зокрема в Oracle Database', + }, + { + title: 'Навчитеся змінювати, додавати, видаляти інформацію в базах даних', + text: 'Ви опануєте навички роботи з базами даних. Це важлива навичка для управління і зберігання інформації в структурованому вигляді.', + }, +] diff --git a/app/features/course-element.tsx b/app/features/course-element.tsx new file mode 100644 index 0000000..a26da25 --- /dev/null +++ b/app/features/course-element.tsx @@ -0,0 +1,78 @@ +import clsx from 'clsx' +import { useState } from 'react' +import { DeleteIcon, EditIcon } from 'assets/icons' +import { useDispatch } from 'react-redux' +import type { ThunkDispatch } from '@reduxjs/toolkit' +import toast from 'react-hot-toast' +import { removeBlock } from '~/redux/slices/course' +import { delay } from '~/widgets/helpers/delay' +import { ToasterWithOptions, TransparentButton } from '~/shared' +import { Link } from '@remix-run/react' + +interface Props { + header: string + index: number + id: string + className?: string + items: any + lecturesCount: string +} + +export function CourseElement({ + header, + index, + className, + id, + items, + lecturesCount, +}: Props) { + const [isVisibly, setVisibly] = useState(false) + + function changeVisibly() { + setVisibly(!isVisibly) + } + + return ( +
+
+
+

{index}.

+

+ {header} +

+
+
+

+ {lecturesCount} лекцій +

+
+
+
+ {items.map((item: any, index: number) => ( +
+

+ {item.elementName} +

+
+ ))} +
+ + +
+ ) +} diff --git a/app/features/index.ts b/app/features/index.ts index fa36846..e7d00c0 100644 --- a/app/features/index.ts +++ b/app/features/index.ts @@ -2,3 +2,4 @@ export * from './join-us-form' export * from './language-dropbox' export * from './faq-question' export * from './hidden-list-component' +export * from './list-element' diff --git a/app/features/list-element.tsx b/app/features/list-element.tsx new file mode 100644 index 0000000..c6d2b39 --- /dev/null +++ b/app/features/list-element.tsx @@ -0,0 +1,22 @@ +interface Props { + header: string + index: number + text: string +} + +export function ListElement({ header, index, text }: Props) { + return ( +
+
+

+ {index}. +

+

+ {header} +

+
+ +

{text}

+
+ ) +} diff --git a/app/routes/courses.$course.tsx b/app/routes/courses.$course.tsx index 0b54f31..9a235b6 100644 --- a/app/routes/courses.$course.tsx +++ b/app/routes/courses.$course.tsx @@ -1,9 +1,15 @@ import type { ThunkDispatch } from '@reduxjs/toolkit' import { useParams } from '@remix-run/react' +import { ViewCourseImage } from 'assets/images' import { Spinner } from 'flowbite-react' import { useEffect, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import { whatYouWillLearn } from '~/data/view-course' +import { ListElement } from '~/features' +import { CourseElement } from '~/features/course-element' import { fetchCourse } from '~/redux/slices/courses' +import { fetchUser } from '~/redux/slices/user' +import { FilledButton, Header2, Header3, Header4, Text } from '~/shared' export default function Course() { const params = useParams() @@ -11,23 +17,27 @@ export default function Course() { const dispatch = useDispatch>() // @ts-ignore - const { courses } = useSelector(state => state.courses) + const { course } = useSelector(state => state.course) const [isPostsLoading, setIsPostLoading] = useState(true) useEffect(() => { - let formData = new FormData(); + let formData = new FormData() formData.append('CourseID', params.course as string) - formData.append('UserID', window.localStorage.getItem("userId") as string) + formData.append('UserID', window.localStorage.getItem('userId') as string) dispatch(fetchCourse(formData)) + + }, []) useEffect(() => { - if (courses.status === 'loaded') setIsPostLoading(false) + if (course.status === 'loading') setIsPostLoading(true) + + if (course.status === 'loaded') setIsPostLoading(false) }) return ( -
+
{isPostsLoading ? (
) : ( -

Hello world

+
+ {course.data.name} + + + +
+
+ Про курс + + Цей курс містить: + + + {course.data.description} + + +
+ Вартість курсу + + + {course.data.price} грн + + + + Придбати + +
+
+ +
+ Чому ви навчитесь + +
+ + +
+ {whatYouWillLearn.map((item, index) => ( + + ))} +
+
+
+ +
+ Програма курсу + +
+ {/* ts-ignore */} + {course.data.courseElementsList.map( + (element: any, index: number) => ( +
+ +
+ ) + )} +
+
+ +
+ Ваш викладач + +
+ +
+
+
+
)}
) diff --git a/assets/images/index.ts b/assets/images/index.ts index 1a99349..3331af2 100644 --- a/assets/images/index.ts +++ b/assets/images/index.ts @@ -12,3 +12,4 @@ export { default as AddImageCover } from './add-image-cover.png' export { default as AddVideoCover } from './add-video-cover.png' export { default as EmptyAvatar } from './empty-avatar.png' export { default as AddCourseCard } from './add-course-card.png' +export { default as ViewCourseImage } from './view-course-image.png' diff --git a/assets/images/view-course-image.png b/assets/images/view-course-image.png new file mode 100644 index 0000000000000000000000000000000000000000..846dffe0f0e4ed75ad402500601d04ae02d359a5 GIT binary patch literal 27295 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 KMNUMnLSTXgXh8@7 literal 0 HcmV?d00001