From d0b0b59e6917d4f926624fb49b96ce32aea1340c Mon Sep 17 00:00:00 2001 From: Konstantin Vinokurov Date: Mon, 30 May 2022 00:24:51 +0700 Subject: [PATCH 1/9] +Vue +edited backend --- frontend/raw/addingAdv.html | 2 +- .../{raw => src}/assets/css/addingAdv.css | 4 +- frontend/src/assets/css/profile.css | 43 +++-- frontend/src/assets/images/1.1.jpg | Bin 0 -> 26753 bytes frontend/src/assets/images/delete_log.svg | 3 + frontend/src/assets/images/image_load.png | Bin 0 -> 382 bytes frontend/src/assets/images/location.svg | 3 + frontend/src/assets/images/metr_header.svg | 3 + frontend/src/assets/images/upload_log.svg | 4 + frontend/src/components/ProfileAbout.vue | 15 +- frontend/src/components/ProfileAddOffer.vue | 177 +++++++++++++++++- frontend/src/components/RatingStars.vue | 33 ++++ frontend/src/components/TheFooter.vue | 163 ++++++++++++++++ frontend/src/views/CatalogView.vue | 71 +++---- frontend/src/views/MainView.vue | 42 +---- frontend/src/views/OfferView.vue | 77 ++++---- frontend/src/views/ProfileView.vue | 56 ++++-- 17 files changed, 545 insertions(+), 151 deletions(-) rename frontend/{raw => src}/assets/css/addingAdv.css (97%) create mode 100644 frontend/src/assets/images/1.1.jpg create mode 100644 frontend/src/assets/images/delete_log.svg create mode 100644 frontend/src/assets/images/image_load.png create mode 100644 frontend/src/assets/images/location.svg create mode 100644 frontend/src/assets/images/metr_header.svg create mode 100644 frontend/src/assets/images/upload_log.svg create mode 100644 frontend/src/components/RatingStars.vue create mode 100644 frontend/src/components/TheFooter.vue diff --git a/frontend/raw/addingAdv.html b/frontend/raw/addingAdv.html index c49bc02..7ebb984 100644 --- a/frontend/raw/addingAdv.html +++ b/frontend/raw/addingAdv.html @@ -7,7 +7,7 @@ - + Metr diff --git a/frontend/raw/assets/css/addingAdv.css b/frontend/src/assets/css/addingAdv.css similarity index 97% rename from frontend/raw/assets/css/addingAdv.css rename to frontend/src/assets/css/addingAdv.css index ccd4421..1156ff8 100644 --- a/frontend/raw/assets/css/addingAdv.css +++ b/frontend/src/assets/css/addingAdv.css @@ -66,7 +66,7 @@ h1, h2, h3, h4, h5, h6 { height: 96px; margin: 0 auto; - background: url("../images/metr.svg") center + background: url("../../../raw/assets/images/metr.svg") center no-repeat; background-size: cover; border-right: 2px solid white; @@ -189,7 +189,7 @@ h1, h2, h3, h4, h5, h6 { padding-top: 250px; background-image: linear-gradient(to top, rgb(124, 173, 201, 1), rgb(94, 196, 242, 0.6)), url( - "../images/intro.jpg"); + "../../../raw/assets/images/intro.jpg"); background-size: cover; } diff --git a/frontend/src/assets/css/profile.css b/frontend/src/assets/css/profile.css index 4c563d3..4dbbb05 100644 --- a/frontend/src/assets/css/profile.css +++ b/frontend/src/assets/css/profile.css @@ -203,18 +203,29 @@ h1, h2, h3, h4, h5, h6 { .user__info { display: flex; flex-direction: column; - justify-content: space-between; + /*justify-content: space-between;*/ margin-right: 5%; } .user__logo { - display: flex; - flex-direction: row; - justify-content: center; - border-radius: 20px; + border-radius: 50%; width: 200px; height: 200px; padding-left: 20%; + margin: 0 auto; + + background: url("@/assets/images/1.1.jpg") center + no-repeat; + background-size: cover; +} + +.user__logo > img{ + display: flex; + flex-direction: row; + justify-content: center; + border-radius: 50%; + width: 120%; + height: 100%; } .username { @@ -223,18 +234,18 @@ h1, h2, h3, h4, h5, h6 { justify-content: center; } -.user__stat { - display: flex; - flex-direction: row; - margin: 2% 0 2% 5%; -} +/*.user__stat {*/ +/* display: flex;*/ +/* flex-direction: row;*/ +/* margin: 2% 0 2% 5%;*/ +/*}*/ -.stars { - display: flex; - flex-direction: row; - margin-left: 5%; - padding-bottom: 1%; -} +/*.stars {*/ +/* display: flex;*/ +/* flex-direction: row;*/ +/* margin-left: 5%;*/ +/* padding-bottom: 1%;*/ +/*}*/ .user__hrefs { display: flex; diff --git a/frontend/src/assets/images/1.1.jpg b/frontend/src/assets/images/1.1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa281cb3e4d52867e32ff6b6041ffaa2a5d3f3f6 GIT binary patch literal 26753 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

pLN79AW(F5MRc(}p&M^mX(Nc$M4x>jkx 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/delete_log.svg b/frontend/src/assets/images/delete_log.svg new file mode 100644 index 0000000..0e6cc58 --- /dev/null +++ b/frontend/src/assets/images/delete_log.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/assets/images/image_load.png b/frontend/src/assets/images/image_load.png new file mode 100644 index 0000000000000000000000000000000000000000..4077e3730469f03b43d144978624118ce687a733 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^(}6gXgAGWUvu_jtQk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFKsjMg7srqa#dthYi5sV(@hJb6Mw<&;$T) CPKhf3 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/location.svg b/frontend/src/assets/images/location.svg new file mode 100644 index 0000000..30df2b5 --- /dev/null +++ b/frontend/src/assets/images/location.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/assets/images/metr_header.svg b/frontend/src/assets/images/metr_header.svg new file mode 100644 index 0000000..6690b48 --- /dev/null +++ b/frontend/src/assets/images/metr_header.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/assets/images/upload_log.svg b/frontend/src/assets/images/upload_log.svg new file mode 100644 index 0000000..7c0c19a --- /dev/null +++ b/frontend/src/assets/images/upload_log.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/components/ProfileAbout.vue b/frontend/src/components/ProfileAbout.vue index 84b4ee0..449fee0 100644 --- a/frontend/src/components/ProfileAbout.vue +++ b/frontend/src/components/ProfileAbout.vue @@ -2,9 +2,9 @@

Обо мне

- - - + + +

Занимаюсь продажей квартир более 10 лет.

@@ -32,6 +32,15 @@ export default { margin-top: 1%; } +.about__images > img { + width: 296px; + height: 204px; + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 1%; +} + .about_describtions { margin-top: 5%; } diff --git a/frontend/src/components/ProfileAddOffer.vue b/frontend/src/components/ProfileAddOffer.vue index a77e8b5..dbc07c8 100644 --- a/frontend/src/components/ProfileAddOffer.vue +++ b/frontend/src/components/ProfileAddOffer.vue @@ -1,13 +1,54 @@ @@ -19,6 +60,57 @@ export default { \ No newline at end of file diff --git a/frontend/src/components/RatingStars.vue b/frontend/src/components/RatingStars.vue new file mode 100644 index 0000000..11d1276 --- /dev/null +++ b/frontend/src/components/RatingStars.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/TheFooter.vue b/frontend/src/components/TheFooter.vue new file mode 100644 index 0000000..6c2c382 --- /dev/null +++ b/frontend/src/components/TheFooter.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index d29a121..b0ab646 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -89,44 +89,51 @@
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-

2-к. Квартира, 34 м кв

2 900 000₽

- -
-
- -
-

3-к. Квартира, 34 м кв

4 900 000₽

-
-
-
- -
-

1-к. Квартира, 34 м кв

1 900 000₽

-
> -
-
- -
-

5-к. Квартира, 34 м кв

10 900 000₽

-
-
-
- -
-

6-к. Квартира, 34 м кв

15 900 000₽

-
-
-
- -
-

3-к. Квартира, 34 м кв

5 900 000₽

+

{{offer.name}}}

{{ offer.price }}₽

+ diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue index a46c93b..7d7df13 100644 --- a/frontend/src/views/ProfileView.vue +++ b/frontend/src/views/ProfileView.vue @@ -60,21 +60,12 @@

Виктория

-
-

5

-
- - - - - -
-
+
+ > \ No newline at end of file From e20789565ea5c86b7712e9cb62b6994cf0a54c0e Mon Sep 17 00:00:00 2001 From: Konstantin Vinokurov Date: Mon, 30 May 2022 00:25:11 +0700 Subject: [PATCH 2/9] Vue, back edited,added --- frontend/src/assets/css/catalog.css | 145 ------------- frontend/src/assets/css/offer.css | 144 ------------- frontend/src/assets/css/profile.css | 144 ------------- frontend/src/assets/css/style.css | 144 ------------- frontend/src/components/ProfileAbout.vue | 16 +- frontend/src/components/ProfileAddOffer.vue | 41 +++- frontend/src/components/TheHeader.vue | 225 ++++++++++++++++++++ frontend/src/services/api.js | 17 +- frontend/src/services/offer.js | 10 + frontend/src/store/modules/auth.js | 5 + frontend/src/views/AuthView.vue | 8 +- frontend/src/views/CatalogView.vue | 71 ++---- frontend/src/views/MainView.vue | 60 +----- frontend/src/views/OfferView.vue | 58 +---- frontend/src/views/ProfileView.vue | 60 +----- 15 files changed, 340 insertions(+), 808 deletions(-) create mode 100644 frontend/src/components/TheHeader.vue create mode 100644 frontend/src/services/offer.js diff --git a/frontend/src/assets/css/catalog.css b/frontend/src/assets/css/catalog.css index 2a435a2..7753c05 100644 --- a/frontend/src/assets/css/catalog.css +++ b/frontend/src/assets/css/catalog.css @@ -27,7 +27,6 @@ h1, h2, h3, h4, h5, h6 { width: 100%; } - /* Container */ .container { width: 100%; @@ -35,150 +34,6 @@ h1, h2, h3, h4, h5, h6 { margin: 0 auto; } - -/* Header */ - -.header { - width: 100%; - - position: absolute; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} - -.header__table { - width: 1052px; - height: 100px; - border: 2px solid white; - margin: 50px auto 0; - display: flex; - flex-direction: row; - justify-content: center; - - color: white; - -} - -.header__image { - width: 140px; - height: 96px; - margin: 0 auto; - - background: url("@/assets/images/metr.svg") center - no-repeat; - background-size: cover; - border-right: 2px solid white; -} - -.header__block { - width: 145px; - height: 96px; - margin: 0 auto; - border-right: 2px solid white; -} - -.header__search { - width: 426px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: row; - justify-content: center; - - border-right: 2px solid white; -} - -.search { - width: 340px; - height: 40px; - padding-top: 25px; - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.search__block { - width: 300px; - height: 40px; - margin: 0; - padding-top: 20px; - - background: white; - border: 1px solid black; -} - -.search__img { - width: 40px; - height: 40px; - margin: 0; - padding-top: 2px; -} - -.header__contacts { - width: 46px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: column; -} - -.header__contacts__imgtop { - width: 48px; - height: 48px; - padding-top: 5px; - border-bottom: 2px solid white; -} - -.header__contacts__img { - width: 48px; - height: 48px; - padding-top: 5px; -} - -.header__block__content { - width: 70px; - height: 20px; - margin: 0 auto; - padding-top: 35px; -} - -.header__block__contenttop { - width: 145px; - height: 48px; - margin: 0 auto; - border-bottom: 2px solid white; -} - -.header__block__contentbott { - width: 145px; - height: 48px; -} - -.nav__link { - text-decoration: none; - color: white; - font-size: 15px; - - display: flex; - flex-direction: row; - justify-content: center; - padding-top: 10px; -} - -.nav__link_tomsk { - text-decoration: none; - color: white; - font-size: 15px; - -} - -.nav__link:hover, .nav__link_tomsk:hover { - color: #389EEB; - transition: color .2s linear; -} - /* Intro */ .intro { width: 100%; diff --git a/frontend/src/assets/css/offer.css b/frontend/src/assets/css/offer.css index b9ca953..c3584ac 100644 --- a/frontend/src/assets/css/offer.css +++ b/frontend/src/assets/css/offer.css @@ -35,150 +35,6 @@ h1, h2, h3, h4, h5, h6 { margin: 0 auto; } - -/* Header */ - -.header { - width: 100%; - - position: absolute; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} - -.header__table { - width: 1052px; - height: 100px; - border: 2px solid white; - margin: 50px auto 0; - display: flex; - flex-direction: row; - justify-content: center; - - color: white; - -} - -.header__image { - width: 140px; - height: 96px; - margin: 0 auto; - - background: url("../../../raw/assets/images/metr.svg") center - no-repeat; - background-size: cover; - border-right: 2px solid white; -} - -.header__block { - width: 145px; - height: 96px; - margin: 0 auto; - border-right: 2px solid white; -} - -.header__search { - width: 426px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: row; - justify-content: center; - - border-right: 2px solid white; -} - -.search { - width: 340px; - height: 40px; - padding-top: 25px; - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.search__block { - width: 300px; - height: 40px; - margin: 0; - padding-top: 20px; - - background: white; - border: 1px solid black; -} - -.search__img { - width: 40px; - height: 40px; - margin: 0; - padding-top: 2px; -} - -.header__contacts { - width: 46px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: column; -} - -.header__contacts__imgtop { - width: 48px; - height: 48px; - padding-top: 5px; - border-bottom: 2px solid white; -} - -.header__contacts__img { - width: 48px; - height: 48px; - padding-top: 5px; -} - -.header__block__content { - width: 70px; - height: 20px; - margin: 0 auto; - padding-top: 35px; -} - -.header__block__contenttop { - width: 145px; - height: 48px; - margin: 0 auto; - border-bottom: 2px solid white; -} - -.header__block__contentbott { - width: 145px; - height: 48px; -} - -.nav__link { - text-decoration: none; - color: white; - font-size: 15px; - - display: flex; - flex-direction: row; - justify-content: center; - padding-top: 10px; -} - -.nav__link_tomsk { - text-decoration: none; - color: white; - font-size: 15px; - -} - -.nav__link:hover, .nav__link_tomsk:hover { - color: #389EEB; - transition: color .2s linear; -} - /* Intro */ .intro { width: 100%; diff --git a/frontend/src/assets/css/profile.css b/frontend/src/assets/css/profile.css index 4dbbb05..ba5e2c2 100644 --- a/frontend/src/assets/css/profile.css +++ b/frontend/src/assets/css/profile.css @@ -35,150 +35,6 @@ h1, h2, h3, h4, h5, h6 { margin: 0 auto; } - -/* Header */ - -.header { - width: 100%; - - position: absolute; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} - -.header__table { - width: 1052px; - height: 100px; - border: 2px solid white; - margin: 50px auto 0; - display: flex; - flex-direction: row; - justify-content: center; - - color: white; - -} - -.header__image { - width: 140px; - height: 96px; - margin: 0 auto; - - background: url("@/assets/images/metr.svg") center - no-repeat; - background-size: cover; - border-right: 2px solid white; -} - -.header__block { - width: 145px; - height: 96px; - margin: 0 auto; - border-right: 2px solid white; -} - -.header__search { - width: 426px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: row; - justify-content: center; - - border-right: 2px solid white; -} - -.search { - width: 340px; - height: 40px; - padding-top: 25px; - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.search__block { - width: 300px; - height: 40px; - margin: 0; - padding-top: 20px; - - background: white; - border: 1px solid black; -} - -.search__img { - width: 40px; - height: 40px; - margin: 0; - padding-top: 2px; -} - -.header__contacts { - width: 46px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: column; -} - -.header__contacts__imgtop { - width: 48px; - height: 48px; - padding-top: 5px; - border-bottom: 2px solid white; -} - -.header__contacts__img { - width: 48px; - height: 48px; - padding-top: 5px; -} - -.header__block__content { - width: 70px; - height: 20px; - margin: 0 auto; - padding-top: 35px; -} - -.header__block__contenttop { - width: 145px; - height: 48px; - margin: 0 auto; - border-bottom: 2px solid white; -} - -.header__block__contentbott { - width: 145px; - height: 48px; -} - -.nav__link { - text-decoration: none; - color: white; - font-size: 15px; - - display: flex; - flex-direction: row; - justify-content: center; - padding-top: 10px; -} - -.nav__link_tomsk { - text-decoration: none; - color: white; - font-size: 15px; - -} - -.nav__link:hover, .nav__link_tomsk:hover { - color: #389EEB; - transition: color .2s linear; -} - /* Intro */ .intro { width: 100%; diff --git a/frontend/src/assets/css/style.css b/frontend/src/assets/css/style.css index bffd3ed..dea5b98 100644 --- a/frontend/src/assets/css/style.css +++ b/frontend/src/assets/css/style.css @@ -35,150 +35,6 @@ h1, h2, h3, h4, h5, h6 { margin: 0 auto; } - -/* Header */ - -.header { - width: 100%; - - position: absolute; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} - -.header__table { - width: 1052px; - height: 100px; - border: 2px solid white; - margin: 50px auto 0; - display: flex; - flex-direction: row; - justify-content: center; - - color: white; - -} - -.header__image { - width: 140px; - height: 96px; - margin: 0 auto; - - background: url("../images/metr.svg") center - no-repeat; - background-size: cover; - border-right: 2px solid white; -} - -.header__block { - width: 145px; - height: 96px; - margin: 0 auto; - border-right: 2px solid white; -} - -.header__search { - width: 426px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: row; - justify-content: center; - - border-right: 2px solid white; -} - -.search { - width: 340px; - height: 40px; - padding-top: 25px; - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.search__block { - width: 300px; - height: 40px; - margin: 0; - padding-top: 20px; - - background: white; - border: 1px solid black; -} - -.search__img { - width: 40px; - height: 40px; - margin: 0; - padding-top: 2px; -} - -.header__contacts { - width: 46px; - height: 96px; - margin: 0 auto; - display: flex; - flex-direction: column; -} - -.header__contacts__imgtop { - width: 48px; - height: 48px; - padding-top: 5px; - border-bottom: 2px solid white; -} - -.header__contacts__img { - width: 48px; - height: 48px; - padding-top: 5px; -} - -.header__block__content { - width: 70px; - height: 20px; - margin: 0 auto; - padding-top: 35px; -} - -.header__block__contenttop { - width: 145px; - height: 48px; - margin: 0 auto; - border-bottom: 2px solid white; -} - -.header__block__contentbott { - width: 145px; - height: 48px; -} - -.nav__link { - text-decoration: none; - color: white; - font-size: 15px; - - display: flex; - flex-direction: row; - justify-content: center; - padding-top: 10px; -} - -.nav__link_tomsk { - text-decoration: none; - color: white; - font-size: 15px; - -} - -.nav__link:hover, .nav__link_tomsk:hover { - color: #389EEB; - transition: color .2s linear; -} - /* Intro */ .intro { width: 100%; diff --git a/frontend/src/components/ProfileAbout.vue b/frontend/src/components/ProfileAbout.vue index 449fee0..3c58152 100644 --- a/frontend/src/components/ProfileAbout.vue +++ b/frontend/src/components/ProfileAbout.vue @@ -7,14 +7,26 @@
-

Занимаюсь продажей квартир более 10 лет.

+

Имя Фамилия:

{{ name }}

+

Почта:

{{ user.email }}

+

Телефон:

{{ user.phone || 'Не указано' }}

diff --git a/frontend/src/components/ProfileAddOffer.vue b/frontend/src/components/ProfileAddOffer.vue index dbc07c8..f4a3f23 100644 --- a/frontend/src/components/ProfileAddOffer.vue +++ b/frontend/src/components/ProfileAddOffer.vue @@ -50,12 +50,51 @@ + diff --git a/frontend/src/components/TheHeader.vue b/frontend/src/components/TheHeader.vue new file mode 100644 index 0000000..2d3bbc0 --- /dev/null +++ b/frontend/src/components/TheHeader.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js index ce14510..f98c0b8 100644 --- a/frontend/src/services/api.js +++ b/frontend/src/services/api.js @@ -1,6 +1,21 @@ import axios from 'axios'; -export default axios.create({ +const instance = axios.create({ baseURL: 'http://tusur.tk:9080/api', withCredentials: true, }); + +instance.interceptors.request.use(function (config) { + const savedUser = JSON.parse(localStorage.getItem('auth')) || null; + if (savedUser === null) + return config; + + const token = savedUser.data.token; + config.headers.Authorization = `Bearer ${token}`; + + return config; +}, function (error) { + return Promise.reject(error); +}); + +export default instance; diff --git a/frontend/src/services/offer.js b/frontend/src/services/offer.js new file mode 100644 index 0000000..de028b6 --- /dev/null +++ b/frontend/src/services/offer.js @@ -0,0 +1,10 @@ +import api from "@/services/api"; + +export const OfferService = { + async add(data) { + const resp = await api.post('/offers', data); + return resp; + }, +}; + +export default OfferService; diff --git a/frontend/src/store/modules/auth.js b/frontend/src/store/modules/auth.js index 162aabb..975b56f 100644 --- a/frontend/src/store/modules/auth.js +++ b/frontend/src/store/modules/auth.js @@ -8,6 +8,11 @@ export const state = { }; export const actions = { + async registration({ commit }, { email, password }) { + const { data: user } = await authService.registration(email, password); + commit('SET_USER', user.data); + commit('SET_TOKEN', user.token); + }, async login({ commit }, { email, password }) { const { data: user } = await authService.login(email, password); commit('SET_USER', user.data); diff --git a/frontend/src/views/AuthView.vue b/frontend/src/views/AuthView.vue index d58dc20..fdd813a 100644 --- a/frontend/src/views/AuthView.vue +++ b/frontend/src/views/AuthView.vue @@ -52,7 +52,9 @@ export default { }); }, registration() { - + this.$store.dispatch('registration', this.credentials).then(() => { + this.$router.push('/profile'); + }); }, auth() { if (this.authForm) @@ -60,6 +62,10 @@ export default { else this.registration(); } + }, + mounted() { + if (this.$store.getters.userAuthenticated) + this.$router.push('/profile'); } } > diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index b0ab646..70ce36f 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -1,60 +1,5 @@ diff --git a/frontend/src/views/MainView.vue b/frontend/src/views/MainView.vue index c6a4c13..1603f33 100644 --- a/frontend/src/views/MainView.vue +++ b/frontend/src/views/MainView.vue @@ -1,58 +1,5 @@ + + \ No newline at end of file diff --git a/frontend/src/components/ProfileMyOffers.vue b/frontend/src/components/ProfileMyOffers.vue index e1bf498..f42f95a 100644 --- a/frontend/src/components/ProfileMyOffers.vue +++ b/frontend/src/components/ProfileMyOffers.vue @@ -1,13 +1,24 @@ @@ -20,19 +31,46 @@ export default { \ No newline at end of file diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 45d7855..fb5b61b 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -29,7 +29,7 @@ const router = createRouter({ component: ProfileView }, { - path: '/offer', + path: '/catalog/:id', name: 'offer', component: OfferView }, diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index 70ce36f..1b6d867 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -6,74 +6,58 @@

Найти недвижимость

-
-
-
-

Квартира

- -
-
-
-
-

Купить

- -
-
-
-
-

Комнаты

- -
-
-
-
-

Цена

- -
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- +
-

{{offer.name}}}

{{ offer.price }}₽

+

{{offer.name}}

{{ offer.price }}₽

@@ -84,12 +68,16 @@ @@ -103,7 +127,6 @@ export default { .about__load{ position: absolute; width: 100%; - margin-left: 40%; } diff --git a/frontend/src/components/ProfileMyOffers.vue b/frontend/src/components/ProfileMyOffers.vue index f42f95a..6586e91 100644 --- a/frontend/src/components/ProfileMyOffers.vue +++ b/frontend/src/components/ProfileMyOffers.vue @@ -24,8 +24,27 @@ @@ -44,7 +63,6 @@ export default { .about__images { display: flex; - flex-direction: row; justify-content: space-between; margin-top: 1%; } diff --git a/frontend/src/services/offer.js b/frontend/src/services/offer.js index de028b6..feda739 100644 --- a/frontend/src/services/offer.js +++ b/frontend/src/services/offer.js @@ -5,6 +5,18 @@ export const OfferService = { const resp = await api.post('/offers', data); return resp; }, + async update(id, data) { + const resp = await api.put(`/offers/${id}`, data); + return resp; + }, + async allUserOffers() { + const resp = await api.get('/users/offers'); + return resp; + }, + async getById(id) { + const resp = await api.get(`/offers/${id}`); + return resp; + } }; export default OfferService; diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index 1b6d867..9ed2d15 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -66,7 +66,7 @@ diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue index 57bb122..4f8d1d9 100644 --- a/frontend/src/views/ProfileView.vue +++ b/frontend/src/views/ProfileView.vue @@ -80,7 +80,7 @@ export default { this.$router.push('/'); }); } - } + }, } > From 7cd8e5e1ba53ca1b986927b5ab064c98836b7e74 Mon Sep 17 00:00:00 2001 From: Konstantin Vinokurov Date: Wed, 1 Jun 2022 00:22:29 +0700 Subject: [PATCH 5/9] +Vue +edited backend --- frontend/src/assets/css/catalog.css | 24 +++++++++---- frontend/src/assets/css/profile.css | 2 +- frontend/src/assets/images/user_standart.png | Bin 0 -> 12053 bytes frontend/src/components/ProfileAbout.vue | 6 ++-- frontend/src/components/ProfileAddOffer.vue | 7 +++- frontend/src/services/images.js | 4 +++ frontend/src/views/CatalogView.vue | 34 ++++++++++++------ frontend/src/views/MainView.vue | 36 ++++++++++--------- 8 files changed, 74 insertions(+), 39 deletions(-) create mode 100644 frontend/src/assets/images/user_standart.png create mode 100644 frontend/src/services/images.js diff --git a/frontend/src/assets/css/catalog.css b/frontend/src/assets/css/catalog.css index f57a2df..8110559 100644 --- a/frontend/src/assets/css/catalog.css +++ b/frontend/src/assets/css/catalog.css @@ -199,7 +199,8 @@ h1, h2, h3, h4, h5, h6 { .suggestions__title { font-size: 25px; - padding-left: 10%; + /*padding-left: 10%;*/ + margin: 0% 12%; } .suggestions__images { @@ -253,6 +254,7 @@ h1, h2, h3, h4, h5, h6 { .podlozhka { position: relative; + width: 369px; } .podlozhka:hover .sugg__img { @@ -306,7 +308,7 @@ h1, h2, h3, h4, h5, h6 { display: flex; justify-content: space-between; align-items: left; - margin: 2% 40% 2% 10%; + margin: 2% 12%; } .parametrs { @@ -391,6 +393,7 @@ h1, h2, h3, h4, h5, h6 { .parametrs__block ul { + padding:0; margin:0; list-style: none; @@ -399,23 +402,32 @@ h1, h2, h3, h4, h5, h6 { /* применяем inline-block позиционирование к элементам навигации */ .parametrs__block ul li { - margin: 0px -7px 0 0; + + margin: 0px 28px 0 0; display:inline-block; - background-color: #E64A19; + border-radius: 0px; + background-color: #1A89C9; } /* стилизуем ссылки */ .parametrs__block a { + display:block; - padding:0 10px; + padding:0 20px; color:#FFF; font-size:20px; line-height: 60px; text-decoration:none; } +.parametrs__block b { + display:block; + padding:0 20px; +} + /* изменяем цвет фона при наведении курсора */ .parametrs__block a:hover { + background-color: #000000; } @@ -433,7 +445,7 @@ h1, h2, h3, h4, h5, h6 { /* первый уровень выпадающего списка */ .parametrs__block ul ul li { z-index: 100; - min-width:170px; + min-width: 200px; float:none; display:list-item; position: relative; diff --git a/frontend/src/assets/css/profile.css b/frontend/src/assets/css/profile.css index ec13cef..858a405 100644 --- a/frontend/src/assets/css/profile.css +++ b/frontend/src/assets/css/profile.css @@ -70,7 +70,7 @@ h1, h2, h3, h4, h5, h6 { padding-left: 20%; margin: 0 auto; - background: url("@/assets/images/1.1.jpg") center + background: url("@/assets/images/user_standart.png") center no-repeat; background-size: cover; } diff --git a/frontend/src/assets/images/user_standart.png b/frontend/src/assets/images/user_standart.png new file mode 100644 index 0000000000000000000000000000000000000000..4353808aea6b4504251a82f5edc5c71fdbe001d0 GIT binary patch literal 12053 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 IExcm?7yE8}(EtDd literal 0 HcmV?d00001 diff --git a/frontend/src/components/ProfileAbout.vue b/frontend/src/components/ProfileAbout.vue index 3c58152..6f55361 100644 --- a/frontend/src/components/ProfileAbout.vue +++ b/frontend/src/components/ProfileAbout.vue @@ -2,9 +2,9 @@

Обо мне

- - - + + +

Имя Фамилия:

{{ name }}

diff --git a/frontend/src/components/ProfileAddOffer.vue b/frontend/src/components/ProfileAddOffer.vue index 8000e6c..5453f87 100644 --- a/frontend/src/components/ProfileAddOffer.vue +++ b/frontend/src/components/ProfileAddOffer.vue @@ -39,7 +39,12 @@

Кол-во комнат:

- +

Площадь:

diff --git a/frontend/src/services/images.js b/frontend/src/services/images.js new file mode 100644 index 0000000..68d8dc3 --- /dev/null +++ b/frontend/src/services/images.js @@ -0,0 +1,4 @@ +export const getURL = (path) => { + const image = path.replace('public/', ''); + return `http://tusur.tk:9080/storage/${image}`; +}; \ No newline at end of file diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index 9ed2d15..394f1b7 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -34,23 +34,35 @@
diff --git a/frontend/src/views/MainView.vue b/frontend/src/views/MainView.vue index 1603f33..12eaa5e 100644 --- a/frontend/src/views/MainView.vue +++ b/frontend/src/views/MainView.vue @@ -18,7 +18,9 @@ 1 580 000₽
- посмотреть + + посмотреть +
@@ -36,24 +38,24 @@ -
-
-

Интересные предложения

-
-
+ + + + + -
-
-

{{offer.name}}}

{{ offer.price }}₽

-
+ + + + -
-
-

Это подборка лучших вариантов, найденных

-

нашими сотрудниками.

-

Вдруг ваше будущее жилье здесь?

-
-
+ + + + + + + From e41ff264c1e124efbe177bb85b9a7cb1a8e1f118 Mon Sep 17 00:00:00 2001 From: Konstantin Vinokurov Date: Wed, 1 Jun 2022 00:22:46 +0700 Subject: [PATCH 6/9] Vue, back edited,added --- frontend/src/components/ProfileAddOffer.vue | 44 ++++++++++++++------- frontend/src/components/ProfileMyOffers.vue | 9 ++++- frontend/src/services/offer.js | 20 +++++++++- frontend/src/views/CatalogView.vue | 16 ++++++-- 4 files changed, 67 insertions(+), 22 deletions(-) diff --git a/frontend/src/components/ProfileAddOffer.vue b/frontend/src/components/ProfileAddOffer.vue index 5453f87..e0baf0a 100644 --- a/frontend/src/components/ProfileAddOffer.vue +++ b/frontend/src/components/ProfileAddOffer.vue @@ -3,14 +3,15 @@

{{ editable ? 'Изменить' : 'Добавить' }} объявление

- - -
- -
-
+ +
+ + +
+ +
@@ -61,6 +62,7 @@ From bac23e1df8446e634e1bfcacffacbffd2ed11bbd Mon Sep 17 00:00:00 2001 From: robonen Date: Wed, 1 Jun 2022 20:47:42 +0700 Subject: [PATCH 7/9] Catalog filters --- frontend/src/assets/css/catalog.css | 12 +++-- frontend/src/views/CatalogView.vue | 78 +++++++++++++++++++++++------ frontend/src/views/OfferView.vue | 10 +++- 3 files changed, 80 insertions(+), 20 deletions(-) diff --git a/frontend/src/assets/css/catalog.css b/frontend/src/assets/css/catalog.css index 8110559..f46575a 100644 --- a/frontend/src/assets/css/catalog.css +++ b/frontend/src/assets/css/catalog.css @@ -212,10 +212,12 @@ h1, h2, h3, h4, h5, h6 { } .sugg__img { - flex-basis: 30%; - height: 460px; + width: 100%; + height: 100%; margin: 4% 0 1% auto; - background: linear-gradient(to top, rgba(1, 80, 140, 1), rgba(37, 45, 45, 0.6)); + /*background: linear-gradient(to top, rgba(1, 80, 140, 1), rgba(37, 45, 45, 0.6));*/ + background-repeat: no-repeat; + background-size: cover; transition: transform .2s linear; } @@ -255,6 +257,7 @@ h1, h2, h3, h4, h5, h6 { .podlozhka { position: relative; width: 369px; + height: 460px; } .podlozhka:hover .sugg__img { @@ -426,8 +429,7 @@ h1, h2, h3, h4, h5, h6 { } /* изменяем цвет фона при наведении курсора */ -.parametrs__block a:hover { - +.parametrs__block a:hover, .parametrs__block__selected { background-color: #000000; } diff --git a/frontend/src/views/CatalogView.vue b/frontend/src/views/CatalogView.vue index fbcf57a..f76308f 100644 --- a/frontend/src/views/CatalogView.vue +++ b/frontend/src/views/CatalogView.vue @@ -36,31 +36,45 @@ @@ -92,12 +106,48 @@ export default { data () { return { offers: [], - componentForm: '' + sortParams: [], + spaceParams: { + min: null, + max: null, + }, + priceParams: { + min: null, + max: null, + }, } }, methods: { url(path) { return `url(${getURL(path)})`; + }, + isSelected(name, value) { + return this.sortParams.some((e) => e.name === name && e.value === value) ? 'parametrs__block__selected' : ''; + }, + addSortParam(name, value, isRange = false) { + const element = this.sortParams.findIndex((e) => e.name === name && e.value === value); + + if (~element && !isRange) { + this.sortParams.splice(element, 1); + return; + } + + this.sortParams = this.sortParams.filter((e) => e.name !== name); + this.sortParams.push({ name, value }); + }, + addRangeSortParam(range, paramName) { + const min = this[range].min; + const max = this[range].max; + + if (min) + this.addSortParam('start' + paramName, min, true); + else + this.addSortParam('start' + paramName, min); + + if (max) + this.addSortParam('end' + paramName, max, true); + else + this.addSortParam('end' + paramName, max); } }, async mounted() { diff --git a/frontend/src/views/OfferView.vue b/frontend/src/views/OfferView.vue index 2e94bd3..47171f3 100644 --- a/frontend/src/views/OfferView.vue +++ b/frontend/src/views/OfferView.vue @@ -58,7 +58,7 @@

Адрес: {{ offer.location }}

-

Кол-во комнат: {{ offer.rooms }}

+

Кол-во комнат: {{ roomType }}

Общая площадь: {{ offer.space }} м²

@@ -127,6 +127,14 @@ export default { 'House': 'Дом', 'Land': 'Участок', }[this.offer.type]; + }, + roomType() { + return { + 'Studio': 'Студия', + 'Room1': '1 комната', + 'Room2': '2 комнаты', + 'Room3More': '3 комнаты и больше', + }[this.offer.rooms] } }, async mounted() { From a7e10cc94417175c31495db4332e710248bc3220 Mon Sep 17 00:00:00 2001 From: Konstantin Vinokurov Date: Wed, 1 Jun 2022 23:31:50 +0700 Subject: [PATCH 8/9] +Vue +edited backend --- frontend/src/assets/css/catalog.css | 9 ++-- frontend/src/assets/css/offer.css | 26 ++++++++++++ frontend/src/components/ProfileAbout.vue | 14 ++++--- frontend/src/views/CatalogView.vue | 52 ++++++++---------------- 4 files changed, 57 insertions(+), 44 deletions(-) diff --git a/frontend/src/assets/css/catalog.css b/frontend/src/assets/css/catalog.css index f46575a..550f793 100644 --- a/frontend/src/assets/css/catalog.css +++ b/frontend/src/assets/css/catalog.css @@ -206,7 +206,7 @@ h1, h2, h3, h4, h5, h6 { .suggestions__images { margin: 2% 12%; display: flex; - justify-content: space-between; + /*justify-content: space-between;*/ flex-wrap: wrap; align-items: center; } @@ -215,7 +215,7 @@ h1, h2, h3, h4, h5, h6 { width: 100%; height: 100%; margin: 4% 0 1% auto; - /*background: linear-gradient(to top, rgba(1, 80, 140, 1), rgba(37, 45, 45, 0.6));*/ + background: linear-gradient(to top, rgba(1, 80, 140, 1), rgba(37, 45, 45, 0.6)); background-repeat: no-repeat; background-size: cover; transition: transform .2s linear; @@ -235,7 +235,6 @@ h1, h2, h3, h4, h5, h6 { } .gradient { - display: inline-block; position: relative; line-height: 0; @@ -258,6 +257,10 @@ h1, h2, h3, h4, h5, h6 { position: relative; width: 369px; height: 460px; + + margin-top: 1em; + margin-left: 1em; + margin-right: 1em; } .podlozhka:hover .sugg__img { diff --git a/frontend/src/assets/css/offer.css b/frontend/src/assets/css/offer.css index c3584ac..a983465 100644 --- a/frontend/src/assets/css/offer.css +++ b/frontend/src/assets/css/offer.css @@ -115,10 +115,27 @@ h1, h2, h3, h4, h5, h6 { flex-direction: row; } +.main__image { + width: 728px; + height: 416px; + + background-size: cover; + background-repeat: no-repeat; + transition: background 0.2s ease; +} + .other__images a{ + margin-top: 2%; margin-right: 2%; } +.other__images a > img{ + margin-right: 2%; + + width: 220px; + height: 140px; +} + .adv__host { display: flex; flex-direction: row; @@ -134,6 +151,15 @@ h1, h2, h3, h4, h5, h6 { margin: 3% 0; } +.userlogo { + width: 148px; + height: 148px; + border-radius: 50%; + + background: center no-repeat; + background-size: cover; +} + .host__stat { display: flex; flex-direction: row; diff --git a/frontend/src/components/ProfileAbout.vue b/frontend/src/components/ProfileAbout.vue index 6f55361..46ee91a 100644 --- a/frontend/src/components/ProfileAbout.vue +++ b/frontend/src/components/ProfileAbout.vue @@ -1,11 +1,11 @@