style: move /me/friends to /me/index
This commit is contained in:
parent
e87edbc967
commit
0f583f085e
3 changed files with 45 additions and 58 deletions
|
@ -6,7 +6,7 @@
|
||||||
</div>
|
</div>
|
||||||
<VerticalSpacer />
|
<VerticalSpacer />
|
||||||
|
|
||||||
<NuxtLink class="user-item" :href="`/me/friends`" tabindex="0">
|
<NuxtLink class="user-item" :href="`/me`" tabindex="0">
|
||||||
<Icon class="user-avatar" name="lucide:user" />
|
<Icon class="user-avatar" name="lucide:user" />
|
||||||
<span class="user-display-name">Friends</span>
|
<span class="user-display-name">Friends</span>
|
||||||
</NuxtLink>
|
</NuxtLink>
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
<template>
|
|
||||||
<NuxtLayout name="client">
|
|
||||||
<DirectMessagesSidebar />
|
|
||||||
<div :id="$style['page-content']">
|
|
||||||
<div :id="$style['navigation-bar']">
|
|
||||||
<Button :text="`All Friends – ${friends?.length}`" variant="neutral" :callback="() => updateFilter('all')" />
|
|
||||||
<Button :text="`Online – ${0}`" variant="neutral" :callback="() => updateFilter('online')" />
|
|
||||||
<Button :text="`Pending – ${0}`" variant="neutral" :callback="() => updateFilter('pending')" />
|
|
||||||
<Button text="Add Friend" variant="normal" :callback="() => updateFilter('add')" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<AddFriend v-if="filter == 'add'"></AddFriend>
|
|
||||||
<FriendsList v-else :variant="filter"></FriendsList>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</NuxtLayout>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
|
||||||
import DirectMessagesSidebar from '~/components/Me/DirectMessagesSidebar.vue';
|
|
||||||
import Button from '~/components/UserInterface/Button.vue';
|
|
||||||
import AddFriend from '~/components/Me/AddFriend.vue';
|
|
||||||
import FriendsList from '~/components/Me/FriendsList.vue';
|
|
||||||
|
|
||||||
const { fetchFriends } = useApi();
|
|
||||||
|
|
||||||
let filter = ref("all");
|
|
||||||
|
|
||||||
const friends = await fetchFriends()
|
|
||||||
|
|
||||||
function updateFilter(newFilter: string) {
|
|
||||||
filter.value = newFilter;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style module>
|
|
||||||
#page-content {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
flex-grow: 1;
|
|
||||||
|
|
||||||
margin: .75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#navigation-bar {
|
|
||||||
display: flex;
|
|
||||||
align-items: left;
|
|
||||||
text-align: left;
|
|
||||||
flex-direction: row;
|
|
||||||
|
|
||||||
gap: .5em;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,13 +1,56 @@
|
||||||
<template>
|
<template>
|
||||||
<NuxtLayout name="client">
|
<NuxtLayout name="client">
|
||||||
<DirectMessagesSidebar />
|
<DirectMessagesSidebar />
|
||||||
|
<div :id="$style['page-content']">
|
||||||
|
<div :id="$style['navigation-bar']">
|
||||||
|
<Button :text="`All Friends – ${friends?.length}`" variant="neutral" :callback="() => updateFilter('all')" />
|
||||||
|
<Button :text="`Online – ${0}`" variant="neutral" :callback="() => updateFilter('online')" />
|
||||||
|
<Button :text="`Pending – ${0}`" variant="neutral" :callback="() => updateFilter('pending')" />
|
||||||
|
<Button text="Add Friend" variant="normal" :callback="() => updateFilter('add')" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<AddFriend v-if="filter == 'add'"></AddFriend>
|
||||||
|
<FriendsList v-else :variant="filter"></FriendsList>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</NuxtLayout>
|
</NuxtLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import DirectMessagesSidebar from '~/components/Me/DirectMessagesSidebar.vue';
|
import DirectMessagesSidebar from '~/components/Me/DirectMessagesSidebar.vue';
|
||||||
|
import Button from '~/components/UserInterface/Button.vue';
|
||||||
|
import AddFriend from '~/components/Me/AddFriend.vue';
|
||||||
|
import FriendsList from '~/components/Me/FriendsList.vue';
|
||||||
|
|
||||||
|
const { fetchFriends } = useApi();
|
||||||
|
|
||||||
|
let filter = ref("all");
|
||||||
|
|
||||||
|
const friends = await fetchFriends()
|
||||||
|
|
||||||
|
function updateFilter(newFilter: string) {
|
||||||
|
filter.value = newFilter;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style module>
|
||||||
|
#page-content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
margin: .75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation-bar {
|
||||||
|
display: flex;
|
||||||
|
align-items: left;
|
||||||
|
text-align: left;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
gap: .5em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
Loading…
Add table
Add a link
Reference in a new issue