From 0c027566d56ed02510d5d4521c1e33eafedd6f11 Mon Sep 17 00:00:00 2001 From: Tatiana-SPB Date: Mon, 9 Mar 2026 21:42:29 +0300 Subject: [PATCH 01/10] Integrating the layout of the list of posts with the API --- api.js | 16 ++++- components/posts-page-component.js | 98 ++++++++++-------------------- components/postsBox.js | 41 +++++++++++++ index.js | 2 + 4 files changed, 88 insertions(+), 69 deletions(-) create mode 100644 components/postsBox.js diff --git a/api.js b/api.js index 123a9e3b6..5dcf06044 100644 --- a/api.js +++ b/api.js @@ -15,11 +15,23 @@ export function getPosts({ token }) { if (response.status === 401) { throw new Error("Нет авторизации"); } - return response.json(); }) .then((data) => { - return data.posts; + console.log(data); + const appPosts = data.posts.map((post) => { + return { + imageUrl: post.imageUrl, + createdAt: post.createdAt, + description: post.description, + userName: post.user.name, + userImg: post.user.imageUrl, + counterLikes: post.likes, + isLiked: false, + }; + }); + + return appPosts; }); } diff --git a/components/posts-page-component.js b/components/posts-page-component.js index 662ccdbdc..5fecbc0d2 100644 --- a/components/posts-page-component.js +++ b/components/posts-page-component.js @@ -2,94 +2,58 @@ import { USER_POSTS_PAGE } from "../routes.js"; import { renderHeaderComponent } from "./header-component.js"; import { posts, goToPage } from "../index.js"; -export function renderPostsPageComponent({ appEl }) { +/*import { formatDistanceToNow } from "/date-fns"; +//import { ru } from "/date-fns/locale"; +function formatDate(date) { + const nearDate = date; + nearDate.setSeconds(nearDate.getSeconds() - 15); + console.log(formatDistanceToNow(nearDate, { includeSeconds: true })); +} +formatDate(newDate())*/ + +export function renderPostsPageComponent(/*{ appEl }*/) { // @TODO: реализовать рендер постов из api console.log("Актуальный список постов:", posts); + const appEl = document.getElementById("app"); /** * @TODO: чтобы отформатировать дату создания поста в виде "19 минут назад" * можно использовать https://date-fns.org/v2.29.3/docs/formatDistanceToNow */ - const appHtml = ` -
-
-