1
0
mirror of https://github.com/robonen/metr.git synced 2026-03-20 10:54:41 +00:00

Vue added + redacted

This commit is contained in:
Konstantin Vinokurov
2022-05-28 22:55:49 +07:00
parent 1071177df9
commit eaca99aaf1
13 changed files with 338 additions and 30 deletions

View File

@@ -0,0 +1,366 @@
/* Fonts */
@import url("@/assets/fonts/StapelS/style.css");
body {
margin: 0;
font-family: 'Inter', sans-serif;
background-color: rgba(124, 173, 201, 1);
font-size: 17px;
color: white;
background: black;
line-height: 1.6;
}
*,
*:before,
*:after {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
}
/* Main */
.main {
width: 100%;
}
/* Container */
.container {
width: 100%;
max-width: 1920px;
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%;
height: 170vh;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 250px;
background-image: linear-gradient(to top, rgb(124, 173, 201, 1), rgb(94, 196, 242, 0.6)), url(
"../../../raw/assets/images/intro.jpg");
background-size: cover;
}
.main {
display: flex;
flex-direction: column;
justify-content: center;
}
.adv__info {
display: flex;
flex-direction: row;
justify-content: center;
}
.adv__main {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-right: 2%;
}
.adv__main__title {
display: flex;
flex-direction: column;
}
.mprice__fav {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.favorite {
display: flex;
flex-direction: row;
justify-content: center;
border-radius: 5px;
padding: 5px;
background-color: rgba(26, 137, 201, 1);
}
.favoritext {
text-decoration: none;
color: white;
font-weight: 400;
}
.favoritextinf {
text-decoration: none;
color: white;
font-weight: 400;
display: flex;
flex-direction: row;
justify-content: center;
}
.adv__main__images {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 1%;
}
.other__images {
display: flex;
flex-direction: row;
}
.other__images a{
margin-right: 2%;
}
.adv__host {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.adv__host__about__user {
display: flex;
flex-direction: column;
}
.username {
margin: 3% 0;
}
.host__stat {
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 3% 0;
}
.stat {
margin-right: 2%;
}
.stars {
display: flex;
flex-direction: row;
padding-bottom: 5%;
}
.number {
width: 150px;
height: 30px;
display: flex;
flex-direction: column;
justify-content: space-around;
background-color: rgba(26, 137, 201, 1);
border-radius: 5px;
margin: 3% 0;
padding: 10% 0;
}
.message {
width: 150px;
height: 30px;
background-color: rgba(26, 137, 201, 1);
border-radius: 5px;
margin: 3% 0;
}
.userlogo {
margin-left: 2%;
}
.about__adv {
display: flex;
flex-direction: column;
margin: 0 23%;
}
.about__adv__info {
}
.about__adv__descriptions {
}
.reviews {
display: flex;
flex-direction: column;
margin: 0 23%;
}
.reviews__blocks {
display: flex;
flex-direction: column;
}
.review {
width: 730px;
height: 50px;
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
background-color: rgba(26, 137, 201, 1);
border-radius: 5px;
margin: 1% 0;
}
.review__stars {
display: flex;
flex-direction: row;
}

View File

@@ -250,5 +250,6 @@ h1, h2, h3, h4, h5, h6 {
color: white;
font-size: 15px;
font-weight: 600;
cursor: pointer;
}

View File

Before

Width:  |  Height:  |  Size: 473 KiB

After

Width:  |  Height:  |  Size: 473 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -0,0 +1,38 @@
<template>
<div class="about__user">
<div class="about__title"><h2>Добавить обьявление</h2></div>
<div class="about__images">
<img src="@/assets/images/metr.svg" alt="">
<img src="@/assets/images/metr.svg" alt="">
<img src="@/assets/images/metr.svg" alt="">
</div>
<div class="about_describtions">
<h3>Однушка на Елизаровых, 44</h3>
</div>
</div>
</template>
<script>
export default {
name: "ProfileAbout"
}
</script>
<style scoped>
.about__user {
display: flex;
flex-direction: column;
}
.about__images {
width: 105%;
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 1%;
}
.about_describtions {
margin-top: 5%;
}
</style>

View File

@@ -0,0 +1,38 @@
<template>
<div class="about__user">
<div class="about__title"><h2>Мои объявления</h2></div>
<div class="about__images">
<img src="@/assets/images/metr.svg" alt="">
<img src="@/assets/images/metr.svg" alt="">
<img src="@/assets/images/metr.svg" alt="">
</div>
<div class="about_describtions">
<h3>Однушка на Елизаровых, 44</h3>
</div>
</div>
</template>
<script>
export default {
name: "ProfileAbout"
}
</script>
<style scoped>
.about__user {
display: flex;
flex-direction: column;
}
.about__images {
width: 105%;
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 1%;
}
.about_describtions {
margin-top: 5%;
}
</style>

View File

@@ -3,6 +3,7 @@ import MainView from '@/views/MainView.vue'
import AuthView from '@/views/AuthView.vue'
import CatalogView from "@/views/CatalogView.vue";
import ProfileView from "@/views/ProfileView.vue";
import OfferView from "@/views/OfferView.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -27,6 +28,11 @@ const router = createRouter({
name: 'profile',
component: ProfileView
},
{
path: '/offer',
name: 'offer',
component: OfferView
},
]
})

View File

@@ -2,7 +2,10 @@
<header class="header">
<div class="container">
<div class="header__table">
<div class="header__image"></div>
<div class="header__image">
<router-link to="/" class="nav__link" href="#">
</router-link>
</div>
<div class="header__block">
<div class="header__block__content">
<img src="~@/assets/images/location.png" alt="">
@@ -44,9 +47,9 @@
</a>
</div>
<div class="header__contacts__img">
<a class="nav__link" href="#">
<router-link to="/auth" class="nav__link" href="#" id="user">
<img src="@/assets/images/user.jpg" alt="">
</a>
</router-link>
</div>
</div>
</div>
@@ -87,28 +90,40 @@
</div>
<div class="suggestions__images">
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/1.jpg" alt=""></a></div>
<div class="sugg__text"><p>2-к. Квартира, 34 м кв</p><h2>2 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/1.jpg" alt=""></a></div>
<div class="sugg__text"><p>2-к. Квартира, 34 м кв</p><h2>2 900 000</h2></div>
</router-link>
</div>
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/1.jpg" alt=""></a></div>
<div class="sugg__text"><p>3-к. Квартира, 34 м кв</p><h2>4 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/1.jpg" alt=""></a></div>
<div class="sugg__text"><p>3-к. Квартира, 34 м кв</p><h2>4 900 000</h2></div>
</router-link>
</div>
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/3.jpg" alt=""></a></div>
<div class="sugg__text"><p>1-к. Квартира, 34 м кв</p><h2>1 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/3.jpg" alt=""></a></div>
<div class="sugg__text"><p>1-к. Квартира, 34 м кв</p><h2>1 900 000</h2></div>
</router-link>>
</div>
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/4.jpg" alt=""></a></div>
<div class="sugg__text"><p>5-к. Квартира, 34 м кв</p><h2>10 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/4.jpg" alt=""></a></div>
<div class="sugg__text"><p>5-к. Квартира, 34 м кв</p><h2>10 900 000</h2></div>
</router-link>
</div>
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/6.jpg" alt=""></a></div>
<div class="sugg__text"><p>6-к. Квартира, 34 м кв</p><h2>15 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/6.jpg" alt=""></a></div>
<div class="sugg__text"><p>6-к. Квартира, 34 м кв</p><h2>15 900 000</h2></div>
</router-link>
</div>
<div class="podlozhka">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/6.jpg" alt=""></a></div>
<div class="sugg__text"><p>3-к. Квартира, 34 м кв</p><h2>5 900 000</h2></div>
<router-link to="/offer" class="nav__link" href="#">
<div class="sugg__img"><a class="gradient" href="#"><img src="@/assets/images/6.jpg" alt=""></a></div>
<div class="sugg__text"><p>3-к. Квартира, 34 м кв</p><h2>5 900 000</h2></div>
</router-link>
</div>
</div>
</section>

View File

@@ -0,0 +1,200 @@
<template>
<header class="header">
<div class="container">
<div class="header__table">
<div class="header__image">
<router-link to="/" class="nav__link" href="#">
</router-link>
</div>
<div class="header__block">
<div class="header__block__content">
<img src="@/assets/images/location.png" alt="">
<a class="nav__link_tomsk" href="#">Томск</a>
</div>
</div>
<div class="header__block">
<div class="header__block__contenttop">
<router-link to="/catalog" class="nav__link" href="#">каталог</router-link>
</div>
<div class="header__block__contentdown">
<a class="nav__link" href="#">блог</a>
</div>
</div>
<div class="header__block">
<div class="header__block__contenttop">
<a class="nav__link" href="#">контакты</a>
</div>
<div class="header__block__contentdown">
<a class="nav__link" href="#">помощь</a>
</div>
</div>
<div class="header__search">
<div class="search">
<div class="search__block">
</div>
<div class="search__img">
<a class="nav__link" href="#">
<img src="@/assets/images/search.jpg" alt="">
</a>
</div>
</div>
</div>
<div class="header__contacts">
<div class="header__contacts__imgtop">
<a class="nav__link" href="#">
<img src="@/assets/images/tell.jpg" alt="">
</a>
</div>
<div class="header__contacts__img">
<router-link to="/auth" class="nav__link" href="#" id="user">
<img src="@/assets/images/user.jpg" alt="">
</router-link>
</div>
</div>
</div>
</div>
</header>
<div class="intro">
<div class="main">
<div class="adv__info">
<div class="adv__main">
<div class="adv__main__title">
<div class="mtitle">
<h2>4-к. квартира, 78,4 м², 20/28 эт.</h2>
</div>
<div class="mprice__fav">
<div class="price">
<h2>40 610 000 </h2>
</div>
<!-- <a href="#" class="favoritext"><div class="favorite">-->
<!-- <h4>Добавить в избранное</h4>-->
<!-- <img src="@/assets/images/heart.png" alt="">-->
<!-- </div></a>-->
</div>
</div>
<div class="adv__main__images">
<div class="main__image">
<a href="#"><img src="../assets/images/offer1.png" alt=""></a>
</div>
<div class="other__images">
<a href="#"><img src="../assets/images/offer3.png" alt=""></a>
<a href="#"><img src="../assets/images/offer2.png" alt=""></a>
<a href="#"><img src="@/assets/images/adv4.png" alt=""></a>
</div>
</div>
</div>
<div class="adv__host">
<div class="adv__host__about__user">
<div class="username">
<h2>Виктория</h2>
</div>
<div class="host__stat">
<div class="stat">
<h3>5</h3>
</div>
<div class="stars">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
</div>
</div>
<div class="number">
<a href="#" class="favoritextinf"><h5>Показать номер</h5></a>
</div>
<!-- <div class="message">-->
<!-- <a href="#" class="favoritextinf"><h5>Написать владельцу</h5></a>-->
<!-- </div>-->
</div>
<div class="userlogo">
<img src="@/assets/images/userlogosmall.png" alt="">
</div>
</div>
</div>
<div class="about__adv">
<div class="about__adv__title">
<h2>О квартире</h2>
</div>
<div class="about__adv__info">
<h4>Кол-во комнат: 4</h4>
<h4>Общая площадь: 78.4 м²</h4>
<h4>Площадь кухни: 12 м²</h4>
<h4>Этаж: 20</h4>
</div>
<div class="about__adv__descriptions">
<p>Продается 4х комнатная квартира, уютная, светлая, теплая. Натяжные потолки,
ламинат, деревянные евроокна, два кондиционера. Теплые полы в туалете, ванной,
кухне, частично в прихожей. Хороший вид из окна.</p>
</div>
</div>
<div class="reviews">
<div class="reviews__title">
<h2>Отзывы</h2>
</div>
<div class="reviews__blocks">
<div class="review">
<div class="review__avatar">
<img src="@/assets/images/forcomment.png" alt="">
</div>
<div class="rewiew__comment">
<h5>Очень приятный владелец, все чисто и опрятно</h5>
</div>
<div class="rewiew__stars">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
</div>
</div>
<div class="review">
<div class="review__avatar">
<img src="@/assets/images/forcomment.png" alt="">
</div>
<div class="rewiew__comment">
<h5>Очень приятный владелец, все чисто и опрятно</h5>
</div>
<div class="rewiew__stars">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
</div>
</div>
<div class="review">
<div class="review__avatar">
<img src="@/assets/images/forcomment.png" alt="">
</div>
<div class="rewiew__comment">
<h5>Очень приятный владелец, все чисто и опрятно</h5>
</div>
<div class="rewiew__stars">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
<img src="@/assets/images/star.png" alt="">
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "OfferView"
}
</script>
<style scoped>
@import url("@/assets/css/offer.css");
</style>

View File

@@ -2,7 +2,10 @@
<header class="header">
<div class="container">
<div class="header__table">
<div class="header__image"></div>
<div class="header__image">
<router-link to="/" class="nav__link" href="#">
</router-link>
</div>
<div class="header__block">
<div class="header__block__content">
<img src="@/assets/images/location.png" alt="">
@@ -11,7 +14,7 @@
</div>
<div class="header__block">
<div class="header__block__contenttop">
<a class="nav__link" href="#">каталог</a>
<router-link to="/catalog" class="nav__link" href="#">каталог</router-link>
</div>
<div class="header__block__contentdown">
<a class="nav__link" href="#">блог</a>
@@ -74,30 +77,37 @@
</div>
<div class="user__hrefs">
<div class="aboutme">
<a href="#"><h2>Обо мне</h2></a>
<a @click.prevent="activeTab = 'profile-about'">
<h2>Обо мне</h2>
</a>
</div>
<div class="my__notice">
<a href="#"><h2>Мои объявления</h2></a>
<a @click.prevent="activeTab = 'profile-my-offers'">
<h2>Мои объявления</h2></a>
</div>
<div class="add__notice">
<a @click.prevent="activeTab = 'profile-add-offer'">
<h2>Добавить объявление</h2>
</a>
</div>
<!-- <div class="add__notice">-->
<!-- <a href="#"><h2>Добавить объявление</h2></a>-->
<!-- </div>-->
<!-- <div class="favorites">-->
<!-- <a href="#"><h2>Избранное</h2></a>-->
<!-- </div>-->
</div>
</div>
<profile-about></profile-about>
<component :is="activeTab"></component>
</div>
</div>
</template>
<script>
import ProfileAbout from "@/components/ProfileAbout.vue";
import ProfileMyOffers from "@/components/ProfileMyOffers.vue";
import ProfileAddOffer from "@/components/ProfileAddOffer.vue";
export default {
components: {ProfileAbout},
components: {ProfileAbout, ProfileMyOffers, ProfileAddOffer},
data () {
return { ButtonForm: true }
return { activeTab : "profile-about" }
}
}
</script>>