mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-24 09:13:50 +02:00
* Update Vue devtools
* upgrade vue pinia element-plus vue-i18n, add vite
* fix: i18n
* global components
* change v-deep
* upgrade vue-lazyload
* data table
* update enlint and safe-dialog
* package.json and vite.config.js
* el-icon
* el-message
* vue 2 -> vue3 migration changes
* $pinia
* dialog
* el-popover slot
* lint
* chore
* slot
* scss
* remote state access
* misc
* jsconfig
* el-button size mini -> small
* :model-value
* ElMessageBox
* datatable
* remove v-lazyload
* template #dropdown
* mini -> small
* css
* byebye hideTooltips
* use sass-embedded
* Update SQLite, remove unneeded libraries
* Fix shift remove local avatar favorites
* Electron arm64
* arm64 support
* bye pug
* f-word vite hah
* misc
* remove safe dialog component
* Add self invite to launch dialog
* Fix errors
* Icons 1
* improve localfavorite loading performance
* improve favorites world item performance
* dialog visibility changes for Element Plus
* clear element plus error
* import performance
* revert App.vue hah
* hah
* Revert "Add self invite to launch dialog"
This reverts commit 4801cfad58.
* Toggle self invite/open in-game
* Self invite on launch dialog
* el-button icon
* el-icon
* fix user dialog tab switching logic
* fix PlayerList
* Formatting changes
* More icons
* Fix friend log table
* loading margin
* fix markdown
* fix world dialog tab switching issue
* Fixes and formatting
* fix: global i18n.t export
* fix favorites world tab not working
* Create instance, displayName
* Remove group members sort by userId
* Fix loading dialog tabs on swtich
* Star
* charts console.warn
* wip: fix charts
* wip: fix charts
* wip: charts composables
* fix favorite item tooltip warning
* Fixes and formatting
* Clean up image dialogs
* Remove unused method
* Fix platform/size border
* Fix platform/size border
* $vr
* fix friendExportDialogVisible binding
* ElMessageBox and Settings
* Login formatting
* Rename VR overlay query
* Fix image popover and userdialog badges
* Formatting
* Big buttons
* Fixes, update Cef
* Fix gameLog table nav buttons jumping around while using nav buttons
* Fix z-index
* vr overlay
* vite input add theme
* defineAsyncComponent
* ISO 639-1
* fix i18n
* clean t
* Formatting, fix calendar, rotate arrows
* Show user status when user is offline
* Fix VR overlay
* fix theme and clean up
* split InstanceActivity
* tweak
* Fix VR overlay formatting
* fix scss var
* AppDebug hahahaha
* Years
* remove reactive
* improve perf
* state hah…
* fix user rendering poblems when user object is not yet loaded
* improve perf
* Update avatar/world image uploader, licenses, remove previous images dialog (old images are now deleted)
* improve perf 1
* Suppress stray errors
* fix traveling location display issue
* Fix empty instance creator
* improve friend list refresh performance
* fix main charts
* fix chart
* Fix darkmode
* Fix avatar dialog tags
---------
Co-authored-by: pa <maplenagisa@gmail.com>
84 lines
3.4 KiB
Vue
84 lines
3.4 KiB
Vue
<template>
|
|
<div class="x-menu-container">
|
|
<div v-if="updateInProgress" class="pending-update" @click="showVRCXUpdateDialog">
|
|
<el-progress
|
|
type="circle"
|
|
width="50"
|
|
:stroke-width="3"
|
|
:percentage="updateProgress"
|
|
:format="updateProgressText"></el-progress>
|
|
</div>
|
|
<div v-else-if="pendingVRCXUpdate || pendingVRCXInstall" class="pending-update">
|
|
<el-button
|
|
type="default"
|
|
size="small"
|
|
:icon="Download"
|
|
circle
|
|
style="font-size: 14px; height: 50px; width: 50px"
|
|
@click="showVRCXUpdateDialog" />
|
|
</div>
|
|
<el-menu
|
|
ref="navRef"
|
|
collapse
|
|
:default-active="menuActiveIndex"
|
|
:collapse-transition="false"
|
|
@select="selectMenu">
|
|
<el-menu-item
|
|
v-for="item in navItems"
|
|
:key="item.index"
|
|
:index="item.index"
|
|
:class="{ notify: notifiedMenus.includes(item.index) }">
|
|
<i :class="item.icon"></i>
|
|
<template #title>
|
|
<span>{{ t(item.tooltip) }}</span>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { Download } from '@element-plus/icons-vue';
|
|
import { storeToRefs } from 'pinia';
|
|
import { useI18n } from 'vue-i18n';
|
|
import { useUiStore, useVRCXUpdaterStore } from '../stores';
|
|
|
|
const { t } = useI18n();
|
|
|
|
const navItems = [
|
|
{ index: 'feed', icon: 'ri-rss-line', tooltip: 'nav_tooltip.feed' },
|
|
{ index: 'gameLog', icon: 'ri-history-line', tooltip: 'nav_tooltip.game_log' },
|
|
{ index: 'playerList', icon: 'ri-group-3-line', tooltip: 'nav_tooltip.player_list' },
|
|
{ index: 'search', icon: 'ri-search-line', tooltip: 'nav_tooltip.search' },
|
|
{ index: 'favorite', icon: 'ri-star-line', tooltip: 'nav_tooltip.favorites' },
|
|
{ index: 'friendLog', icon: 'ri-contacts-book-3-line', tooltip: 'nav_tooltip.friend_log' },
|
|
{ index: 'moderation', icon: 'ri-user-forbid-line', tooltip: 'nav_tooltip.moderation' },
|
|
{ index: 'notification', icon: 'ri-notification-2-line', tooltip: 'nav_tooltip.notification' },
|
|
{ index: 'friendList', icon: 'ri-contacts-book-2-line', tooltip: 'nav_tooltip.friend_list' },
|
|
{ index: 'charts', icon: 'ri-bar-chart-line', tooltip: 'nav_tooltip.charts' },
|
|
{ index: 'tools', icon: 'ri-tools-line', tooltip: 'nav_tooltip.tools' },
|
|
{ index: 'profile', icon: 'ri-user-line', tooltip: 'nav_tooltip.profile' },
|
|
{ index: 'settings', icon: 'ri-settings-3-line', tooltip: 'nav_tooltip.settings' }
|
|
];
|
|
|
|
const VRCXUpdaterStore = useVRCXUpdaterStore();
|
|
const { pendingVRCXUpdate, pendingVRCXInstall, updateInProgress, updateProgress } = storeToRefs(VRCXUpdaterStore);
|
|
const { showVRCXUpdateDialog, updateProgressText } = VRCXUpdaterStore;
|
|
const uiStore = useUiStore();
|
|
const { menuActiveIndex, notifiedMenus } = storeToRefs(uiStore);
|
|
const { selectMenu } = uiStore;
|
|
</script>
|
|
|
|
<style scoped>
|
|
.el-menu-item i[class*='ri-'] {
|
|
font-size: 19px;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
}
|
|
</style>
|