diff --git a/public/no-image-dark.png b/public/no-image-dark.png new file mode 100644 index 000000000..2a20d7eb4 Binary files /dev/null and b/public/no-image-dark.png differ diff --git a/public/no-image.png b/public/no-image.png new file mode 100644 index 000000000..11d5317a9 Binary files /dev/null and b/public/no-image.png differ diff --git a/public/no-user.png b/public/no-user.png new file mode 100644 index 000000000..e090bc2eb Binary files /dev/null and b/public/no-user.png differ diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index c6722d875..980cae5b8 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -8,6 +8,7 @@ import { useQuasar } from 'quasar'; import PinnedModules from './PinnedModules.vue'; import UserPanel from 'components/UserPanel.vue'; import VnBreadcrumbs from './common/VnBreadcrumbs.vue'; +import VnImg from 'src/components/ui/VnImg.vue'; const { t } = useI18n(); const stateStore = useStateStore(); @@ -83,11 +84,12 @@ const pinnedModulesRef = ref(); id="user" > - - + {{ t('globals.userPanel') }} diff --git a/src/components/UserPanel.vue b/src/components/UserPanel.vue index 691d3db8f..38e66d67d 100644 --- a/src/components/UserPanel.vue +++ b/src/components/UserPanel.vue @@ -11,12 +11,15 @@ import VnSelect from 'src/components/common/VnSelect.vue'; import VnRow from 'components/ui/VnRow.vue'; import FetchData from 'components/FetchData.vue'; import { useClipboard } from 'src/composables/useClipboard'; +import VnImg from 'src/components/ui/VnImg.vue'; +import { useRole } from 'src/composables/useRole'; const state = useState(); const session = useSession(); const router = useRouter(); const { t, locale } = useI18n(); const { copyText } = useClipboard(); + const userLocale = computed({ get() { return locale.value; @@ -99,6 +102,7 @@ function saveUserData(param, value) { axios.post('UserConfigs/setUserConfig', { [param]: value }); localUserData(); } +const isEmployee = computed(() => useRole().hasAny(['employee']));