Repository: htmlacademy-univer-javascript-3/2579379-six-cities-5
Pull request #6: Больше подробностей (часть 2)
Author: login: ValentinaKobtseva
Created: 2025-03-31T13:28:38Z | Merged: 2025-04-01T07:24:36Z

Добавление комментариев и карты в конкретное предложение

---
:mortar_board: [Больше подробностей (часть 2)](https://up.htmlacademy.ru/univer-js3/5/user/2579379/tasks/7)


Diff:
diff --git a/src/components/app/App.tsx b/src/components/app/App.tsx
index dc1e124..22e521b 100644
--- a/src/components/app/App.tsx
+++ b/src/components/app/App.tsx
@@ -7,13 +7,14 @@ import { Offer } from '../../pages/offer/Offer';
 import { Error } from '../../pages/error/error';
 import { AuthorizationStatus } from '../../consts/consts';
 import { PrivateRoute } from '../private-route/private-route';
-import { OfferType } from '../../types';
+import { OfferType, Review } from '../../types';
 
 type AppProps = {
   offers: OfferType[];
+  reviews: Review[];
 }
 
-export const App = ({offers}: AppProps) => (
+export const App = ({offers, reviews}: AppProps) => (
   <BrowserRouter>
     <Routes>
       <Route path={AppRoute.Main}
@@ -33,7 +34,7 @@ export const App = ({offers}: AppProps) => (
         }
       />
       <Route path={AppRoute.Offer}
-        element={<Offer offers={offers}/>}
+        element={<Offer offers={offers} reviews={reviews}/>}
       />
       <Route path={AppRoute.NotFound}
         element={<Error/>}
diff --git a/src/components/card/Card.consts.ts b/src/components/card/Card.consts.ts
new file mode 100644
index 0000000..c4314fb
--- /dev/null
+++ b/src/components/card/Card.consts.ts
@@ -0,0 +1,12 @@
+type Size = 'small' | 'medium';
+
+interface SizeParams {
+  width: number;
+  height: number;
+}
+
+export const cardsSizes: Record<Size, SizeParams> = {
+  small: {width: 150, height: 110},
+  medium: {width: 260, height: 200},
+};
+
diff --git a/src/components/card/Card.tsx b/src/components/card/Card.tsx
index b3da7a3..a2bf884 100644
--- a/src/components/card/Card.tsx
+++ b/src/components/card/Card.tsx
@@ -1,17 +1,21 @@
 import { AppRoute } from '../../consts/consts';
-import { OfferType } from '../../types';
+import { OfferType, CardType, CardSize } from '../../types';
 import { Link } from 'react-router-dom';
+import { cardsSizes } from './Card.consts';
 
 type CardProps = {
   offer: OfferType;
   onMouseHover: () => void;
   onMouseLeave: () => void;
+  size: CardSize;
+  cardType: CardType;
+
 }
 
-export const Card = ({offer, onMouseHover, onMouseLeave}: CardProps) => {
+export const Card = ({offer, onMouseHover, onMouseLeave, size, cardType}: CardProps) => {
   const {id, title, type, price, isFavorite, isPremium, rating, previewImage} = offer;
   return (
-    <article className="cities__card place-card"
+    <article className={`${cardType}__card place-card`}
       onMouseEnter={onMouseHover}
       onMouseLeave={onMouseLeave}
     >
@@ -19,9 +23,9 @@ export const Card = ({offer, onMouseHover, onMouseLeave}: CardProps) => {
         <div className="place-card__mark">
           <span>Premium</span>
         </div>}
-      <div className="cities__image-wrapper place-card__image-wrapper">
+      <div className={`${cardType}__image-wrapper place-card__image-wrapper`}>
         <Link to={`${AppRoute.BaseOffer}/${id}`}>
-          <img className="place-card__image" src={previewImage} width="260" height="200" alt="Place image"/>
+          <img className="place-card__image" src={previewImage} width={cardsSizes[size].width} height={cardsSizes[size].height} alt="Place image"/>
         </Link>
       </div>
       <div className="place-card__info">
diff --git a/src/components/location-favorites/LocationFavorites.tsx b/src/components/location-favorites/LocationFavorites.tsx
index 64041dc..e3e8620 100644
--- a/src/components/location-favorites/LocationFavorites.tsx
+++ b/src/components/location-favorites/LocationFavorites.tsx
@@ -16,7 +16,7 @@ export const LocationFavorites = ({city, favoriteOffers}: LocationFavoritesProps
       </div>
     </div>
     <div className="favorites__places">
-      <OffersList offers={favoriteOffers}/>
+      <OffersList offers={favoriteOffers} cardType='favorites' size={'small'}/>
     </div>
   </li>
 );
diff --git a/src/components/map/Map.tsx b/src/components/map/Map.tsx
index 78aac37..d7ac9da 100644
--- a/src/components/map/Map.tsx
+++ b/src/components/map/Map.tsx
@@ -1,6 +1,6 @@
 import leaflet from 'leaflet';
 import 'leaflet/dist/leaflet.css';
-import { City, Point } from '../../types';
+import { City, Point, MapType } from '../../types';
 import { useEffect, useRef } from 'react';
 import { useMap } from '../../hooks/useMap';
 import { DEFAULT_MARKER, CURRENT_MARKER } from './Map.consts';
@@ -8,10 +8,11 @@ import { DEFAULT_MARKER, CURRENT_MARKER } from './Map.consts';
 type MapPrors = {
   city: City;
   points: Point[];
-  selectedPoint: Point | undefined;
+  selectedPoint?: Point | undefined;
+  mapType: MapType;
 }
 
-export const Map = ({city, points, selectedPoint}: MapPrors) => {
+export const Map = ({city, points, selectedPoint, mapType}: MapPrors) => {
   const mapRef = useRef(null);
   const map = useMap(mapRef, city);
 
@@ -31,7 +32,7 @@ export const Map = ({city, points, selectedPoint}: MapPrors) => {
   }, [map, points, selectedPoint]);
 
   return (
-    <div style={{height: '500px'}}
+    <div className={`${mapType}__map map`}
       ref={mapRef}
     >
     </div>
diff --git a/src/components/offers-list/OffersList.tsx b/src/components/offers-list/OffersList.tsx
index 54554a7..f4c55e8 100644
--- a/src/components/offers-list/OffersList.tsx
+++ b/src/components/offers-list/OffersList.tsx
@@ -1,18 +1,22 @@
 import { Card } from '../card/Card';
-import { OfferType } from '../../types';
+import { OfferType, CardType, CardSize } from '../../types';
 
 type OffersListProps = {
   offers: OfferType[];
   onItemMouseHover?: (offerId: string) => void;
   onItemMouseLeave?: () => void;
+  cardType: CardType;
+  size: CardSize;
 }
 
-export const OffersList = ({offers, onItemMouseHover, onItemMouseLeave}: OffersListProps) => (
+export const OffersList = ({offers, onItemMouseHover, onItemMouseLeave, cardType, size}: OffersListProps) => (
   <div className="cities__places-list places__list tabs__content">
     {offers.map((item) => (
       <Card
         key={item.id}
         offer={item}
+        cardType={cardType}
+        size={size}
         onMouseHover={() => onItemMouseHover?.(item.id)}
         onMouseLeave={() => onItemMouseLeave?.()}
       />)
diff --git a/src/components/rating/Rating.tsx b/src/components/rating/Rating.tsx
index 837fab6..efc6d5e 100644
--- a/src/components/rating/Rating.tsx
+++ b/src/components/rating/Rating.tsx
@@ -3,8 +3,8 @@ import { ChangeEvent } from 'react';
 type RatingProps = {
   title: string;
   rating: number;
-  isChecked: boolean;
-  onChangeFeild: (event: ChangeEvent<HTMLInputElement>) => void;
+  isChecked?: boolean;
+  onChangeFeild?: (event: ChangeEvent<HTMLInputElement>) => void;
 }
 
 export const Rating = ({title, rating, isChecked, onChangeFeild}: RatingProps) => (
diff --git a/src/components/review-item/ReviewItem.tsx b/src/components/review-item/ReviewItem.tsx
new file mode 100644
index 0000000..53e5a1b
--- /dev/null
+++ b/src/components/review-item/ReviewItem.tsx
@@ -0,0 +1,35 @@
+import { Review } from '../../types';
+import { Rating } from '../rating/Rating';
+
+type reviewsItemProps = {
+  review: Review;
+};
+
+export const ReviewItem = ({review}: reviewsItemProps) => (
+  <li className="reviews__item">
+    <div className="reviews__user user">
+      <div className="reviews__avatar-wrapper user__avatar-wrapper">
+        <img className="reviews__avatar user__avatar" src={review.user.avatarUrl} width="54" height="54" alt="Reviews avatar"/>
+      </div>
+      <span className="reviews__user-name">
+        {review.user.name}
+      </span>
+    </div>
+    <div className="reviews__info">
+      <div className="reviews__rating rating">
+        <div className="reviews__stars rating__stars">
+          <span style={{width: `${review.rating * 20}%`}}></span>
+          <span className="visually-hidden">
+            <Rating title={review.id} rating={review.rating}/>
+          </span>
+        </div>
+      </div>
+      <p className="reviews__text">
+        {review.comment}
+      </p>
+      <time className="reviews__time" dateTime={review.date.toISOString()}>
+        {review.date.toLocaleDateString('en-EN', {month: 'long', year: 'numeric'})}
+      </time>
+    </div>
+  </li>
+);
diff --git a/src/components/reviews-list/ReviewsList.tsx b/src/components/reviews-list/ReviewsList.tsx
new file mode 100644
index 0000000..f5f6f59
--- /dev/null
+++ b/src/components/reviews-list/ReviewsList.tsx
@@ -0,0 +1,17 @@
+import { Review } from '../../types';
+import { ReviewItem } from '../review-item/ReviewItem';
+
+type reviewsListProps = {
+  reviews: Review[];
+};
+
+export const ReviewsList = ({reviews}: reviewsListProps) => (
+  <section className="offer__reviews reviews">
+    <h2 className="reviews__title">Reviews &middot; {reviews.length}</h2>
+    <ul className="reviews__list">
+      {reviews.map((review) => (
+        <ReviewItem key={review.id} review={review}/>
+      ))}
+    </ul>
+  </section>
+);
diff --git a/src/index.tsx b/src/index.tsx
index 50e63ed..21ad6f2 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,6 +1,6 @@
 import React from 'react';
 import ReactDOM from 'react-dom/client';
-//import { MainComponentProps } from './consts/consts';
+import { Reviews } from './mock/reviews-mock';
 import { App } from './components/app/App';
 import { offers } from './mock/offers-mock';
 
@@ -10,6 +10,6 @@ const root = ReactDOM.createRoot(
 
 root.render(
   <React.StrictMode>
-    <App offers={offers}/>
+    <App offers={offers} reviews={Reviews}/>
   </React.StrictMode>
 );
diff --git a/src/mock/reviews-mock.ts b/src/mock/reviews-mock.ts
index 60071c3..1668d8a 100644
--- a/src/mock/reviews-mock.ts
+++ b/src/mock/reviews-mock.ts
@@ -1,12 +1,12 @@
-import { Comment } from '../types';
+import { Review } from '../types';
 
-export const Comments: Comment[] = [
+export const Reviews: Review[] = [
   {
     id: '1',
-    date: '2019-05-08T14:13:56.569Z',
+    date: new Date('2019-05-08T14:13:56.569Z'),
     user: {
       name: 'Egor',
-      avatarUrl: 'https://ru.pinterest.com/pin/25543922885171304/',
+      avatarUrl: 'img/avatar-max.jpg',
       isPro: true,
     },
     comment: 'Cool!',
@@ -14,10 +14,10 @@ export const Comments: Comment[] = [
   },
   {
     id: '2',
-    date: '2023-04-08T14:13:55.569Z',
+    date: new Date('2020-05-08T14:12:36.569Z'),
     user: {
       name: 'Eva',
-      avatarUrl: 'https://ru.pinterest.com/pin/5559199536439760/',
+      avatarUrl: 'img/avatar-angelina.jpg',
       isPro: false,
     },
     comment: 'Nice!',
@@ -25,13 +25,14 @@ export const Comments: Comment[] = [
   },
   {
     id: '3',
-    date: '2021-04-08T14:13:55.569Z',
+    date: new Date('2021-05-08T14:10:49.569Z'),
     user: {
       name: 'Pixel',
-      avatarUrl: 'https://ru.pinterest.com/pin/6403624465226038/',
+      avatarUrl: 'img/avatar-max.jpg',
       isPro: true,
     },
     comment: 'Normal!',
     rating: 3,
   }
 ];
+
diff --git a/src/pages/main/Main.tsx b/src/pages/main/Main.tsx
index 5e66863..bf26c39 100644
--- a/src/pages/main/Main.tsx
+++ b/src/pages/main/Main.tsx
@@ -84,14 +84,12 @@ export const Main = ({offers} : MainProps) => {
                   <li className="places__option" tabIndex={0}>Top rated first</li>
                 </ul>
               </form>
-              <OffersList offers={offers} onItemMouseHover={setHoveredCardById}
-                onItemMouseLeave={() => setHoveredCardById(null)}
+              <OffersList cardType='cities' offers={offers} onItemMouseHover={setHoveredCardById}
+                onItemMouseLeave={() => setHoveredCardById(null)} size={'medium'}
               />
             </section>
             <div className="cities__right-section">
-              <section className="cities__map map">
-                <Map city={currentCity} points={offers} selectedPoint={selectedOffer}/>
-              </section>
+              <Map city={currentCity} points={offers} selectedPoint={selectedOffer} mapType='cities'/>
             </div>
           </div>
         </div>
diff --git a/src/pages/offer/Offer.tsx b/src/pages/offer/Offer.tsx
index 6887d6d..b79709a 100644
--- a/src/pages/offer/Offer.tsx
+++ b/src/pages/offer/Offer.tsx
@@ -1,18 +1,24 @@
 import { Navigate, useParams } from 'react-router-dom';
 import { Header } from '../../components/header/Header';
-import { OfferType } from '../../types';
+import { OfferType, Review } from '../../types';
 import { AppRoute } from '../../consts/consts';
 import { ReviewsForm } from '../../components/reviews-form/ReviewForm';
+import { ReviewsList } from '../../components/reviews-list/ReviewsList';
+import { Map } from '../../components/map/Map';
+import { OffersList } from '../../components/offers-list/OffersList';
 
 type OfferPrors = {
   offers: OfferType[];
+  reviews: Review[];
 }
 
-export const Offer = ({offers}: OfferPrors) => {
+export const Offer = ({offers, reviews}: OfferPrors) => {
 
   const {id} = useParams();
   const offer = offers.find((item) => item.id === id);
 
+  const closest = offers.filter((item) => item.id !== id);
+
   if(!offer){
     return <Navigate to={AppRoute.NotFound} />;
   }
@@ -140,139 +146,18 @@ export const Offer = ({offers}: OfferPrors) => {
                 </div>
               </div>
               <section className="offer__reviews reviews">
-                <h2 className="reviews__title">Reviews &middot; <span className="reviews__amount">1</span></h2>
-                <ul className="reviews__list">
-                  <li className="reviews__item">
-                    <div className="reviews__user user">
-                      <div className="reviews__avatar-wrapper user__avatar-wrapper">
-                        <img className="reviews__avatar user__avatar" src="img/avatar-max.jpg" width="54" height="54" alt="Reviews avatar"/>
-                      </div>
-                      <span className="reviews__user-name">
-                        Max
-                      </span>
-                    </div>
-                    <div className="reviews__info">
-                      <div className="reviews__rating rating">
-                        <div className="reviews__stars rating__stars">
-                          <span style={{width: '80%'}}></span>
-                          <span className="visually-hidden">Rating</span>
-                        </div>
-                      </div>
-                      <p className="reviews__text">
-                        A quiet cozy and picturesque that hides behind a a river by the unique lightness of Amsterdam. The building is green and from 18th century.
-                      </p>
-                      <time className="reviews__time" dateTime="2019-04-24">April 2019</time>
-                    </div>
-                  </li>
-                </ul>
+                <ReviewsList reviews={reviews}/>
                 <ReviewsForm/>
               </section>
             </div>
           </div>
-          <section className="offer__map map"></section>
+          <Map city={offers[0].city} points={closest} mapType='offer'/>
         </section>
         <div className="container">
           <section className="near-places places">
             <h2 className="near-places__title">Other places in the neighbourhood</h2>
             <div className="near-places__list places__list">
-              <article className="near-places__card place-card">
-                <div className="near-places__image-wrapper place-card__image-wrapper">
-                  <a href="#">
-                    <img className="place-card__image" src="img/room.jpg" width="260" height="200" alt="Place image"/>
-                  </a>
-                </div>
-                <div className="place-card__info">
-                  <div className="place-card__price-wrapper">
-                    <div className="place-card__price">
-                      <b className="place-card__price-value">&euro;80</b>
-                      <span className="place-card__price-text">&#47;&nbsp;night</span>
-                    </div>
-                    <button className="place-card__bookmark-button place-card__bookmark-button--active button" type="button">
-                      <svg className="place-card__bookmark-icon" width="18" height="19">
-                        <use xlinkHref="#icon-bookmark"></use>
-                      </svg>
-                      <span className="visually-hidden">In bookmarks</span>
-                    </button>
-                  </div>
-                  <div className="place-card__rating rating">
-                    <div className="place-card__stars rating__stars">
-                      <span style={{width: '80%'}}></span>
-                      <span className="visually-hidden">Rating</span>
-                    </div>
-                  </div>
-                  <h2 className="place-card__name">
-                    <a href="#">Wood and stone place</a>
-                  </h2>
-                  <p className="place-card__type">Room</p>
-                </div>
-              </article>
-
-              <article className="near-places__card place-card">
-                <div className="near-places__image-wrapper place-card__image-wrapper">
-                  <a href="#">
-                    <img className="place-card__image" src="img/apartment-02.jpg" width="260" height="200" alt="Place image"/>
-                  </a>
-                </div>
-                <div className="place-card__info">
-                  <div className="place-card__price-wrapper">
-                    <div className="place-card__price">
-                      <b className="place-card__price-value">&euro;132</b>
-                      <span className="place-card__price-text">&#47;&nbsp;night</span>
-                    </div>
-                    <button className="place-card__bookmark-button button" type="button">
-                      <svg className="place-card__bookmark-icon" width="18" height="19">
-                        <use xlinkHref="#icon-bookmark"></use>
-                      </svg>
-                      <span className="visually-hidden">To bookmarks</span>
-                    </button>
-                  </div>
-                  <div className="place-card__rating rating">
-                    <div className="place-card__stars rating__stars">
-                      <span style={{width: '80%'}}></span>
-                      <span className="visually-hidden">Rating</span>
-                    </div>
-                  </div>
-                  <h2 className="place-card__name">
-                    <a href="#">Canal View Prinsengracht</a>
-                  </h2>
-                  <p className="place-card__type">Apartment</p>
-                </div>
-              </article>
-
-              <article className="near-places__card place-card">
-                <div className="place-card__mark">
-                  <span>Premium</span>
-                </div>
-                <div className="near-places__image-wrapper place-card__image-wrapper">
-                  <a href="#">
-                    <img className="place-card__image" src="img/apartment-03.jpg" width="260" height="200" alt="Place image"/>
-                  </a>
-                </div>
-                <div className="place-card__info">
-                  <div className="place-card__price-wrapper">
-                    <div className="place-card__price">
-                      <b className="place-card__price-value">&euro;180</b>
-                      <span className="place-card__price-text">&#47;&nbsp;night</span>
-                    </div>
-                    <button className="place-card__bookmark-button button" type="button">
-                      <svg className="place-card__bookmark-icon" width="18" height="19">
-                        <use xlinkHref="#icon-bookmark"></use>
-                      </svg>
-                      <span className="visually-hidden">To bookmarks</span>
-                    </button>
-                  </div>
-                  <div className="place-card__rating rating">
-                    <div className="place-card__stars rating__stars">
-                      <span style={{width: '100%'}}></span>
-                      <span className="visually-hidden">Rating</span>
-                    </div>
-                  </div>
-                  <h2 className="place-card__name">
-                    <a href="#">Nice, cozy, warm big bed apartment</a>
-                  </h2>
-                  <p className="place-card__type">Apartment</p>
-                </div>
-              </article>
+              <OffersList cardType={'near-places'} offers={closest} size={'medium'} />
             </div>
           </section>
         </div>
diff --git a/src/types.ts b/src/types.ts
index 3d82bf0..028e780 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -22,9 +22,9 @@ type Location = {
   zoom: number;
 }
 
-export type Comment = {
+export type Review = {
   id: string;
-  date: string;
+  date: Date;
   user: HostOrUser;
   comment: string;
   rating: number;
@@ -45,3 +45,9 @@ export type Point = {
   title: string;
   location: Location;
 }
+
+export type MapType = 'cities' | 'offer';
+
+export type CardType = 'near-places' | 'cities' | 'favorites';
+
+export type CardSize = 'small' | 'medium';


Reviews:
user: login: nesen-kontur
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-31T19:06:45Z
user: login: nesen-kontur
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-31T19:16:14Z
user: login: ValentinaKobtseva
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-01T03:30:55Z
user: login: nesen-kontur
state: COMMENTED
author_association: NONE
submitted_at: 2025-04-01T06:31:17Z

Review comments:
diff_hunk: @@ -45,3 +45,9 @@ export type Point = {
   title: string;
   location: Location;
 }
+
+export type MapClass = 'cities' | 'offer';
path: src/types.ts
user: login: nesen-kontur
body: вместо слова Class в типе лучше использовать что-нибудь вроде Type или Variant - чтобы не было путанницы а то можно подумать что это полное название css-класса
created_at: 2025-03-31T18:59:50Z
author_association: NONE
diff_hunk: @@ -0,0 +1,17 @@
+import { Comment } from '../../types';
+import { ReviewItem } from '../review-item/ReviewItem';
+
+type reviewsListProps = {
+  reviews: Comment[];
path: src/components/reviews-list/ReviewsList.tsx
user: login: nesen-kontur
body: может и тип назвать не Comment, а Review или   UserReview
created_at: 2025-03-31T19:02:32Z
author_association: NONE
diff_hunk: @@ -0,0 +1,4 @@
+export const cardImgSize = {
path: src/components/card/Card.consts.ts
user: login: nesen-kontur
body: тут надо типизировать - указав что можно использовать только конкретные ключи, а значения должны иметь определенную структуру - посмотри как работает дженерик Record 
created_at: 2025-03-31T19:06:33Z
author_association: NONE
diff_hunk: @@ -0,0 +1,3 @@
+import { months } from './review-item.consts';
+
+export const dateToString = (date: Date) => `${`${months[date.getMonth() + 1] } ${ date.getFullYear()}`}`;
path: src/components/review-item/review-item.utils.ts
user: login: nesen-kontur
body: кажется вместо этой функции тебе может подойти toLocaleDateString
created_at: 2025-03-31T19:15:55Z
author_association: NONE
diff_hunk: @@ -0,0 +1,3 @@
+import { months } from './review-item.consts';
+
+export const dateToString = (date: Date) => `${`${months[date.getMonth() + 1] } ${ date.getFullYear()}`}`;
path: src/components/review-item/review-item.utils.ts
user: login: ValentinaKobtseva
body: так, определенно, проще :)
created_at: 2025-04-01T03:30:55Z
author_association: CONTRIBUTOR
diff_hunk: @@ -31,7 +32,8 @@ export const Map = ({city, points, selectedPoint}: MapPrors) => {
   }, [map, points, selectedPoint]);
 
   return (
-    <div style={{height: '500px'}}
+    <div className={`${mapType}__map map`}
+      style={{height: '500px'}}
path: src/components/map/Map.tsx
user: login: nesen-kontur
body: из-за этого высота картинки на главной сломалась (=
created_at: 2025-04-01T06:31:17Z
author_association: NONE

PR comments:
user: login: github-actions[bot]
created_at: 2025-03-31T13:29:30Z
body: Ваш пулреквест опубликован. Посмотреть можно [здесь](https://htmlacademy-univer-javascript-3.github.io/2579379-six-cities-5/6/)
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-03-31T14:28:20Z
body: Ваш пулреквест опубликован. Посмотреть можно [здесь](https://htmlacademy-univer-javascript-3.github.io/2579379-six-cities-5/6/)
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-01T03:31:11Z
body: Ваш пулреквест опубликован. Посмотреть можно [здесь](https://htmlacademy-univer-javascript-3.github.io/2579379-six-cities-5/6/)
author_association: NONE
user: login: nesen-kontur
created_at: 2025-04-01T06:28:51Z
body: на главной надо бы поправить компонент карты - убрать картинку заглушку и карту сделать таких же размеров какими обладала заглушка
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-01T06:41:02Z
body: Ваш пулреквест опубликован. Посмотреть можно [здесь](https://htmlacademy-univer-javascript-3.github.io/2579379-six-cities-5/6/)
author_association: NONE
user: login: ValentinaKobtseva
created_at: 2025-04-01T06:41:46Z
body: > на главной надо бы поправить компонент карты - убрать картинку заглушку и карту сделать таких же размеров какими обладала заглушка

Вроде, теперь все одинаково 👀 
author_association: CONTRIBUTOR