AppTopbar.vue
6.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<template>
<div class="layout-topbar">
<div class="layout-topbar-logo" @click="$router.push({ path: '/' })">
<img class="logo" src="/layout/images/logo.png" alt="" />
</div>
<a class="layout-menu-button" href="#" @click="onMenuButtonClick">
<i class="pi pi-bars"></i>
</a>
<ul class="layout-topbar-menu">
<li :class="[{ 'active-topmenuitem': activeTopbarItem === 'settings' }]" class="layout-topbar-item" @click="$emit('topbar-item-click', { originalEvent: $event, item: 'settings' })">
<a class="layout-topbar-icon first">
<i class="topbar-icon pi pi-cog"></i>
</a>
<transition name="layout-submenu-container">
<ul class="fadeInDown" v-show="activeTopbarItem === 'settings'">
<li>
<a href="#" class="layout-topbar-icon" @click="togeulSamples">
<i class="topbar-icon pi pi-gift"></i>
</a>
<div class="layout-quickmenu-tooltip">
<div class="layout-quickmenu-tooltip-arrow"></div>
<div class="layout-quickmenu-tooltip-text">{{ sampleTitle }}</div>
</div>
</li>
</ul>
</transition>
</li>
<li :class="[{ 'active-topmenuitem': activeTopbarItem === 'language' }]" class="layout-topbar-item" @click="$emit('topbar-item-click', { originalEvent: $event, item: 'language' })">
<a class="layout-topbar-icon first">
<i class="topbar-icon pi pi-language"></i>
</a>
<transition name="layout-submenu-container">
<ul class="fadeInDown" v-show="activeTopbarItem === 'language'">
<li>
<a href="#" class="layout-topbar-text" @click="changing('ko')">Ko</a>
</li>
<li>
<a href="#" class="layout-topbar-text" @click="changing('en')">En</a>
</li>
</ul>
</transition>
</li>
<li :class="['topbar-search', { 'active-topmenuitem': activeTopbarItem === 'search' }]" class="layout-topbar-item" @click="$emit('topbar-item-click', { originalEvent: $event, item: 'search' })">
<a href="#" class="layout-topbar-icon first">
<i class="topbar-icon pi pi-search"></i>
</a>
<input type="text" placeholder="Type to search..." />
</li>
<li :class="[{ 'active-topmenuitem': activeTopbarItem === 'profile' }]" class="user-profile" @click="$emit('topbar-item-click', { originalEvent: $event, item: 'profile' })">
<a href="#">
<div class="user-profile-info profile-link">
<span class="user-profile-name">{{ store.getters.getLoginId }}</span>
<span class="user-profile-role">{{ store.getters.getCompanyName }}</span>
</div>
<i class="pi pi-android" style="font-size: 3.5rem"></i>
</a>
<transition name="layout-submenu-container">
<ul class="fadeInDown" v-show="activeTopbarItem === 'profile'">
<li>
<router-link to="/logout">
<a href="#" class="profile-detail-icon">
<i class="pi pi-sign-out"></i>
<div class="menu-text">
<span class="menu-title">Logout</span>
<span class="menu-subtitle">Logout from current User</span>
</div>
</a>
</router-link>
</li>
<li>
<a href="#">
<i class="pi pi-user"></i>
<div class="menu-text">
<span class="menu-title">Profile</span>
<span class="menu-subtitle">Edit your profile</span>
</div>
<i class="right-icon pi pi-angle-right"></i>
</a>
</li>
<li>
<a href="#">
<i class="pi pi-cog"></i>
<div class="menu-text">
<span class="menu-title">Settings</span>
<span class="menu-subtitle">Dashboard Settings</span>
</div>
<i class="right-icon pi pi-angle-right"></i>
</a>
</li>
</ul>
</transition>
</li>
</ul>
</div>
</template>
<script setup>
import { ref } from "vue";
import { useI18n } from 'vue-i18n';
import { useStore } from "vuex";
import router from '../router';
const props = defineProps({
topbarMenuActive: Boolean,
activeTopbarItem: String,
});
const { locale } = useI18n();
const changing = (la)=>{
console.log(la);
locale.value = la;
}
const onMenuButtonClick = (event)=> {
this.$emit('menubutton-click', event);
}
const store = useStore();
const sampleTitle = ref(!store.state.samplePages?'Go Sample Pages':'Go Normal Pages');
const togeulSamples = (event) => {
let blnSamples = !store.state.samplePages;
store.commit("setSamplePages", blnSamples);
sampleTitle.value = !store.state.samplePages?'Go Sample Pages':'Go Normal Pages';
}
</script>