diff --git a/src/components/app/index.tsx b/src/components/app/index.tsx
new file mode 100644
index 0000000..52651aa
--- /dev/null
+++ b/src/components/app/index.tsx
@@ -0,0 +1,11 @@
+import MainPage from './../../pages/main-page';
+
+type AppProps = {
+ countOffer: number;
+};
+
+function App(props: AppProps) {
+ return ;
+}
+
+export default App;
diff --git a/src/components/card/card.tsx b/src/components/card/card.tsx
new file mode 100644
index 0000000..8f10ab1
--- /dev/null
+++ b/src/components/card/card.tsx
@@ -0,0 +1,40 @@
+function Card() {
+ return (
+
+
+ Premium
+
+
+
+
+
+ €120
+ / night
+
+
+
+
+
+ To bookmarks
+
+
+
+
+
Apartment
+
+
+ );
+}
+
+export default Card;
diff --git a/src/index.tsx b/src/index.tsx
index be81a6e..74e1fac 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,12 +1,15 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
+import App from './components/app';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
+const COUNT_OFFER = 5;
+
root.render(
- Hello, World!
+
);
diff --git a/src/pages/favorites-page.tsx b/src/pages/favorites-page.tsx
new file mode 100644
index 0000000..10b9f89
--- /dev/null
+++ b/src/pages/favorites-page.tsx
@@ -0,0 +1,171 @@
+function FavoritesPage() {
+ return (
+
+
+
+
+
+
+ Saved listing
+
+
+
+
+
+
+ Premium
+
+
+
+
+
+ €180
+ / night
+
+
+
+
+
+ In bookmarks
+
+
+
+
+
Apartment
+
+
+
+
+
+
+
+
+ €80
+ / night
+
+
+
+
+
+ In bookmarks
+
+
+
+
+
Room
+
+
+
+
+
+
+
+
+
+
+
+
+
+ €180
+ / night
+
+
+
+
+
+ In bookmarks
+
+
+
+
+
Apartment
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default FavoritesPage;
diff --git a/src/pages/login-page.tsx b/src/pages/login-page.tsx
new file mode 100644
index 0000000..352c74c
--- /dev/null
+++ b/src/pages/login-page.tsx
@@ -0,0 +1,46 @@
+function LoginPage() {
+
+ return (
+
+ );
+}
+
+export default LoginPage;
diff --git a/src/pages/main-page.tsx b/src/pages/main-page.tsx
new file mode 100644
index 0000000..54e2ca7
--- /dev/null
+++ b/src/pages/main-page.tsx
@@ -0,0 +1,120 @@
+import Card from './../components/card/card';
+
+type MainPageProps = {
+ countOffer: number;
+};
+
+function MainPage({ countOffer }: MainPageProps) {
+ const mockArray = new Array(countOffer).fill(1).map((el, idx) => el + idx);
+
+ return (
+
+
+
+
+ Cities
+
+
+
+
+
+
+ Places
+ 312 places to stay in Amsterdam
+
+
+
+
+ {mockArray.map((idx) => (
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default MainPage;
diff --git a/src/pages/offer-page.tsx b/src/pages/offer-page.tsx
new file mode 100644
index 0000000..5f57975
--- /dev/null
+++ b/src/pages/offer-page.tsx
@@ -0,0 +1,339 @@
+function OfferPage() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Premium
+
+
+
+ Beautiful & luxurious studio at great location
+
+
+
+
+
+ To bookmarks
+
+
+
+
+
+ Apartment
+
+
+ 3 Bedrooms
+
+
+ Max 4 adults
+
+
+
+ €120
+ night
+
+
+
What's inside
+
+
+ Wi-Fi
+
+
+ Washing machine
+
+
+ Towels
+
+
+ Heating
+
+
+ Coffee machine
+
+
+ Baby seat
+
+
+ Kitchen
+
+
+ Dishwasher
+
+
+ Cabel TV
+
+
+ Fridge
+
+
+
+
+
Meet the host
+
+
+
+
+
+ Angelina
+
+
+ Pro
+
+
+
+
+ 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.
+
+
+ An independent House, strategically located between Rembrand Square and National Opera, but where the bustle of the city comes to rest in this alley flowery and colorful.
+
+
+
+
+ Reviews · 1
+
+
+
+
+
+
+
+ Max
+
+
+
+
+
+ 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.
+
+
April 2019
+
+
+
+
+
+
+
+
+
+
+
+ Other places in the neighbourhood
+
+
+
+
+
+
+ €80
+ / night
+
+
+
+
+
+ In bookmarks
+
+
+
+
+
Room
+
+
+
+
+
+
+
+
+ €132
+ / night
+
+
+
+
+
+ To bookmarks
+
+
+
+
+
Apartment
+
+
+
+
+
+ Premium
+
+
+
+
+
+ €180
+ / night
+
+
+
+
+
+ To bookmarks
+
+
+
+
+
Apartment
+
+
+
+
+
+
+
+ );
+}
+
+export default OfferPage;