You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.1 KiB
80 lines
2.1 KiB
<template>
|
|
<div class="home-page">
|
|
<div class="banner">
|
|
<div class="container">
|
|
<h1 class="logo-font">conduit</h1>
|
|
<p>A place to share your knowledge.</p>
|
|
</div>
|
|
</div>
|
|
<div class="container page">
|
|
<div class="row">
|
|
<div class="col-md-9">
|
|
<div class="feed-toggle">
|
|
<ul class="nav nav-pills outline-active">
|
|
<li v-if="isAuthenticated" class="nav-item">
|
|
<router-link
|
|
:to="{ name: 'home-my-feed' }"
|
|
class="nav-link"
|
|
active-class="active"
|
|
>
|
|
Your Feed
|
|
</router-link>
|
|
</li>
|
|
<li class="nav-item">
|
|
<router-link
|
|
:to="{ name: 'home' }"
|
|
exact
|
|
class="nav-link"
|
|
active-class="active"
|
|
>
|
|
Global Feed
|
|
</router-link>
|
|
</li>
|
|
<li class="nav-item" v-if="tag">
|
|
<router-link
|
|
:to="{ name: 'home-tag', params: { tag } }"
|
|
class="nav-link"
|
|
active-class="active"
|
|
>
|
|
<i class="ion-pound"></i> {{ tag }}
|
|
</router-link>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<router-view></router-view>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="sidebar">
|
|
<p>Popular Tags</p>
|
|
<div class="tag-list">
|
|
<RwvTag v-for="(tag, index) in tags" :name="tag" :key="index">
|
|
</RwvTag>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapGetters } from "vuex";
|
|
import RwvTag from "@/components/VTag";
|
|
import { FETCH_TAGS } from "@/store/actions.type";
|
|
|
|
export default {
|
|
name: "home",
|
|
components: {
|
|
RwvTag
|
|
},
|
|
mounted() {
|
|
this.$store.dispatch(FETCH_TAGS);
|
|
},
|
|
computed: {
|
|
...mapGetters(["isAuthenticated", "tags"]),
|
|
tag() {
|
|
return this.$route.params.tag;
|
|
}
|
|
}
|
|
};
|
|
</script>
|