Skip to content
Snippets Groups Projects
Commit e473b60e authored by VIktorGrev's avatar VIktorGrev
Browse files

feat: Adding FriendsView and AddFriendView

parent 6702b881
Branches Friends
No related tags found
1 merge request!29feat: Adding FriendsView and AddFriendView
Pipeline #275896 failed
......@@ -49,10 +49,20 @@ const routes = [
component: () => import('@/views/ShopView.vue'),
},
{
path: '/profile',
path: 'profile',
name: 'profile',
component: UserProfileView
},
{
path: 'friends',
name: 'friends',
component: () => import('@/views/User/UserFriendsView.vue'),
},
{
path: 'add-friend',
name: 'add-friend',
component: () => import('@/views/User/UserAddFriend.vue'),
},
{
path: 'admin',
name: 'admin',
......
<template>
<div class="container">
<h1>Add Friend</h1>
<div class="row">
<form class="col-md-5" id="searchBox" role="search">
<input class="form-control me-2 custom-border" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-success" type="submit">Search</button>
</form>
<div class="col-md-8">
<div class="people-nearby">
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Sophia Page</a></h5>
<p>Software Engineer</p>
<p class="text-muted">500m away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar6.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Emma Johnson</a></h5>
<p>Model at Fashion</p>
<p class="text-muted">800m away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar5.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Nora Wilson</a></h5>
<p>Writer at Newspaper</p>
<p class="text-muted">2.5km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar4.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Diana Amber</a></h5>
<p>Student</p>
<p class="text-muted">700m away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Addison Thomas</a></h5>
<p>Barber at Fashion</p>
<p class="text-muted">1.5km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Jonathon Thompson</a></h5>
<p>Fashion Designer</p>
<p class="text-muted">2km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Olivia Steward</a></h5>
<p>Creative Director</p>
<p class="text-muted">2km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar6.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Elena Foster</a></h5>
<p>Executive Officer</p>
<p class="text-muted">4km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Brian Walton</a></h5>
<p>Designer at Designer</p>
<p class="text-muted">3km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
<div class="nearby-user">
<div class="row">
<div class="col-md-2 col-sm-2">
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="user"
class="profile-photo-lg">
</div>
<div class="col-md-7 col-sm-7">
<h5><a href="#" class="profile-link">Cris Haris</a></h5>
<p>General Manager at Manager</p>
<p class="text-muted">1km away</p>
</div>
<div class="col-md-3 col-sm-3">
<button class="btn btn-primary pull-right">Add Friend</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<style scoped>
body {
margin-top: 20px;
background: #FAFAFA;
}
.people-nearby .google-maps {
background: #f8f8f8;
border-radius: 4px;
border: 1px solid #f1f2f2;
padding: 20px;
margin-bottom: 20px;
}
.people-nearby .google-maps .map {
height: 300px;
width: 100%;
border: none;
}
.people-nearby .nearby-user {
padding: 20px 0;
border-top: 1px solid #f1f2f2;
border-bottom: 1px solid #f1f2f2;
margin-bottom: 20px;
}
img.profile-photo-lg {
height: 80px;
width: 80px;
border-radius: 50%;
}
#searchBox {
margin-bottom: 20px;
display: flex;
text-wrap: nowrap;
}
.row {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.form-control.custom-border {
border-color: #222223; /* Change to your desired color */
}
</style>
\ No newline at end of file
<template>
<div class="container">
<h1>Your Friends</h1>
<div class="row">
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
</div>
</div>
<h3>Amillie Price</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="">
</div>
</div>
<h3>Victoria Fox</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
</div>
</div>
<h3>Coray Shoe</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
</div>
</div>
<h3>Christiano Mooray</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar4.png" alt="">
</div>
</div>
<h3>Lynda West</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
</div>
</div>
<h3>Jayden G</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
</div>
</div>
<h3>Julia Ann</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="">
</div>
</div>
<h3>Ava Ray</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="">
</div>
</div>
<h3>Maria Shwenstiger</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
</div>
</div>
<h3>Kate Perry</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar6.png" alt="">
</div>
</div>
<h3>Robart Gibbs</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="card card-one">
<div class="header">
<div class="avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar5.png" alt="">
</div>
</div>
<h3>Anna Winslet</h3>
<div class="desc">
Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
</div>
<div class="contacts">
<a href="#"><i class="fas fa-plus"></i></a>
<a href="#"><i class="fab fa-whatsapp"></i></a>
<a href="#"><i class="fas fa-envelope"></i></a>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { useRouter, useRoute } from 'vue-router';
import { ref, onMounted, computed } from "vue";
import { useUserInfoStore } from '@/stores/UserStore';
const userStore = useUserInfoStore();
const createdQuizzes = ref(1);
const createdQuizzesIsEmpty = ref(null);
const coAuthorQuizzes = ref(null);
const coAuthorQuizzesIsEmpty = ref(null);
const router = useRouter();
let userid = ref("");
async function fetchUserData() {
}
async function fetchLibrary() {
}
// Define the navigateToQuiz method
const navigateToFriend = (frinedID) => {
};
const removeFriend = (friendID) => {
};
onMounted(fetchUserData);
</script>
<style scoped>
body {
background-color: #f0f6ff;
color: #28384d;
}
/*social */
.card-one {
position: relative;
width: 300px;
background: #fff;
box-shadow: 0 10px 7px -5px rgba(0, 0, 0, 0.4);
}
.card {
margin-bottom: 35px;
box-shadow: 0 10px 20px 0 rgba(26, 44, 57, 0.14);
border: none;
}
.follower-wrapper li {
list-style-type: none;
color: #fff;
display: inline-block;
float: left;
margin-right: 20px;
}
.social-profile {
color: #fff;
}
.social-profile a {
color: #fff;
}
.social-profile {
position: relative;
margin-bottom: 150px;
}
.social-profile .user-profile {
position: absolute;
bottom: -75px;
width: 150px;
height: 150px;
border-radius: 50%;
left: 50px;
}
.social-nav {
position: absolute;
bottom: 0;
}
.social-prof {
color: #333;
text-align: center;
}
.social-prof .wrapper {
width: 70%;
margin: auto;
margin-top: -100px;
}
.social-prof img {
width: 150px;
height: 150px;
border-radius: 50%;
margin-bottom: 20px;
border: 5px solid #fff;
/*border: 10px solid #70b5e6ee;*/
}
.social-prof h3 {
font-size: 36px;
font-weight: 700;
margin-bottom: 0;
}
.social-prof p {
font-size: 18px;
}
.social-prof .nav-tabs {
border: none;
}
.card .nav>li {
position: relative;
display: block;
}
.card .nav>li>a {
position: relative;
display: block;
padding: 10px 15px;
font-weight: 300;
border-radius: 4px;
}
.card .nav>li>a:focus,
.card .nav>li>a:hover {
text-decoration: none;
background-color: #eee;
}
.card .s-nav>li>a.active {
text-decoration: none;
background-color: #3afe;
color: #fff;
}
.text-blue {
color: #3afe;
}
ul.friend-list {
margin: 0;
padding: 0;
}
ul.friend-list li {
list-style-type: none;
display: flex;
align-items: center;
}
ul.friend-list li:hover {
background: rgba(0, 0, 0, .1);
cursor: pointer;
}
ul.friend-list .left img {
width: 45px;
height: 45px;
border-radius: 50%;
margin-right: 20px;
}
ul.friend-list li {
padding: 10px;
}
ul.friend-list .right h3 {
font-size: 16px;
font-weight: 700;
margin-bottom: 0;
}
ul.friend-list .right p {
font-size: 11px;
color: #6c757d;
margin: 0;
}
.social-timeline-card .dropdown-toggle::after {
display: none;
}
.info-card h4 {
font-size: 15px;
}
.info-card h2 {
font-size: 18px;
margin-bottom: 20px;
}
.social-about .social-info {
font-size: 16px;
margin-bottom: 20px;
}
.social-about p {
margin-bottom: 20px;
}
.info-card i {
color: #3afe;
}
.card-one {
position: relative;
width: 300px;
background: #fff;
box-shadow: 0 10px 7px -5px rgba(0, 0, 0, 0.4);
}
.card-one .header {
position: relative;
width: 100%;
height: 60px;
background-color: #3afe;
}
.card-one .header::before,
.card-one .header::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: inherit;
}
.card-one .header::before {
-webkit-transform: skewY(-8deg);
transform: skewY(-8deg);
-webkit-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
.card-one .header::after {
-webkit-transform: skewY(8deg);
transform: skewY(8deg);
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
}
.card-one .header .avatar {
position: absolute;
left: 50%;
top: 30px;
margin-left: -50px;
z-index: 5;
width: 100px;
height: 100px;
border-radius: 50%;
overflow: hidden;
background: #ccc;
border: 3px solid #fff;
}
.card-one .header .avatar img {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 100px;
height: auto;
}
.card-one h3 {
position: relative;
margin: 80px 0 30px;
text-align: center;
}
.card-one h3::after {
content: '';
position: absolute;
bottom: -15px;
left: 50%;
margin-left: -15px;
width: 30px;
height: 1px;
background: #000;
}
.card-one .desc {
padding: 0 1rem 2rem;
text-align: center;
line-height: 1.5;
color: #777;
}
.card-one .contacts {
width: 200px;
max-width: 100%;
margin: 0 auto 3rem;
}
.card-one .contacts a {
display: block;
width: 33.333333%;
float: left;
text-align: center;
color: #c8c;
}
.card-one .contacts a:hover {
color: #333;
}
.card-one .contacts a:hover .fa::before {
color: #fff;
}
.card-one .contacts a:hover .fa::after {
width: 100%;
height: 100%;
}
.card-one .contacts a .fa {
position: relative;
width: 40px;
height: 40px;
line-height: 39px;
overflow: hidden;
text-align: center;
font-size: 1.3em;
}
.card-one .contacts a .fa:before {
position: relative;
z-index: 1;
}
.card-one .contacts a .fa::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: #c8c;
transition: width .3s, height .3s;
}
.card-one .contacts a:last-of-type .fa {
line-height: 36px;
}
.card-one .footer {
position: relative;
padding: 1rem;
background-color: #3afe;
text-align: center;
}
.card-one .footer a {
padding: 0 1rem;
color: #e2e2e2;
transition: color .4s;
}
.card-one .footer a:hover {
color: #c8c;
}
.card-one .footer::before {
content: '';
position: absolute;
top: -27px;
left: 50%;
margin-left: -15px;
border: 15px solid transparent;
border-bottom-color: #3afe;
}
#gallery li {
width: 24%;
float: left;
margin: 6px;
}
</style>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment