Skip to content

homework-4#4

Open
W0x3R wants to merge 108 commits into
mainfrom
homework-4
Open

homework-4#4
W0x3R wants to merge 108 commits into
mainfrom
homework-4

Conversation

@W0x3R
Copy link
Copy Markdown
Owner

@W0x3R W0x3R commented Aug 18, 2025

1) Настроены маршруты и созданы компоненты:

  • /posts и PostsPage — для отображения постов и комментариев.

  • /posts/:id и PostPage — для отображения отдельного поста с комментариями к нему.

  • /albums и AlbumsPage — для отображения всех альбомов.

  • /albums/:id/photos и AlbumPhotosPage — для отображения фотографий по id альбома.

  • /users и UsersPage — для отображения всех пользователей.

  • /users/:id/todos и UserTodosPage — для отображения списка дел по id пользователя.

  • /users/:id/albums и UserAlbumsPage — для отображения альбомов по id пользователя.

  • /users/:id/posts и PostPage — для отображения постов по id пользователя.

2) Создана навигация при помощи табов в Header.

3) Создан компонент BackButton для возвращения на предыдущую страницу для удобства навигации.

4) Логика фильтраций сущностей вынесены в отдельные файлы.

W0x3R added 30 commits August 4, 2025 22:34
…locks with wrapper class (Tue, Aug 5, 2025, 5:15:33 PM)
… with a description of the project. the functionality of opening/closing the modal window has been implemented
…ader have been added. (Fri, Aug 8, 2025, 4:46:46 PM)
…been created. (Fri, Aug 8, 2025, 4:50:12 PM)
W0x3R added 27 commits August 17, 2025 18:07
Comment on lines +2 to +11
import { MainLayout } from "../../../shared/layouts/MainLayout"
import { Header } from "../../../widgets/LayoutHeader/Header"
import { Footer } from "../../../widgets/LayoutFooter/Footer"
import { PostsPage } from "../../../pages/PostsPage/PostsPage"
import { PostPage } from "../../../pages/PostPage/PostPage"
import { AlbumsPage } from "../../../pages/AlbumsPage/AlbumsPage"
import { AlbumPhotosPage } from "../../../pages/AlbumPhotosPage/AlbumPhotosPage "
import { UsersPage } from "../../../pages/UsersPage/UsersPage"
import { UserAlbumsPage } from "../../../pages/UserAlbumsPage/UserAlbumsPage"
import { UserTodosPage } from "../../../pages/UserTodosPage/UserTodosPage"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Всё это лучше экспортировать через дефолтный экспорт, импортировать с помощью lazy и подключать с использованием Suspense, чтобы уменьшить время первого рендера и показать какой-нибудь лоадер, пока страница загружается


return (
<div className={`${styles["button-wrapper"]} ${styles[position]}`}>
<button onClick={() => navigate(-1)} className={styles.button}>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-1 не всегда будет работать. Например, если я напрямую открыл /users/1/posts, то кнопка "Назад" не сработает. Лучше передавать прямые пути либо проверять историю и блокировать кнопку, если она пуста. Также некоторые сохраняют предыдущую страницу в useLocation().state (например, background, from или что-то подобное)

Comment on lines +30 to +32
<a href="/">
<Logo />
</a>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше Link использовать, иначе будет перезагрузка и state всего приложения скинется

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants