Skip to content
Snippets Groups Projects
App.js 1.05 KiB
Newer Older
lain's avatar
lain committed
import UserPanel from './components/user_panel/user_panel.vue'
lain's avatar
lain committed
import NavPanel from './components/nav_panel/nav_panel.vue'
lain's avatar
lain committed
import Notifications from './components/notifications/notifications.vue'
lain's avatar
lain committed
import UserFinder from './components/user_finder/user_finder.vue'
lain's avatar
.
lain committed

export default {
  name: 'app',
  components: {
lain's avatar
lain committed
    UserPanel,
lain's avatar
lain committed
    NavPanel,
lain's avatar
lain committed
    Notifications,
    UserFinder
lain's avatar
lain committed
  },
lain's avatar
lain committed
  data: () => ({
    mobileActivePanel: 'timeline'
  }),
lain's avatar
lain committed
  computed: {
lain's avatar
lain committed
    currentUser () { return this.$store.state.users.currentUser },
lain's avatar
lain committed
    background () {
      return this.currentUser.background_image || this.$store.state.config.background
    },
lain's avatar
lain committed
    logoStyle () { return { 'background-image': `url(${this.$store.state.config.logo})` } },
lain's avatar
lain committed
    style () { return { 'background-image': `url(${this.background})` } },
    sitename () { return this.$store.state.config.name }
lain's avatar
lain committed
  },
  methods: {
    activatePanel (panelName) {
      this.mobileActivePanel = panelName
    },
    scrollToTop () {
      window.scrollTo(0, 0)
lain's avatar
lain committed
    },
    logout () {
      this.$store.dispatch('logout')
lain's avatar
lain committed
    }
lain's avatar
.
lain committed
  }
}