|
9 | 9 | <v-toolbar-title class="nav-title"> |
10 | 10 | <span :class="{'clickable': auth}" @click.stop.prevent="showNavigation()">{{ page.title }}</span> |
11 | 11 | </v-toolbar-title> |
12 | | - <v-speed-dial |
13 | | - v-model="speedDial" |
14 | | - direction="bottom" |
15 | | - transition="slide-y-transition" |
16 | | - class="mobile-dial" |
17 | | - open-on-hover |
18 | | - dark |
| 12 | + <v-btn |
| 13 | + fab dark :ripple="false" |
| 14 | + color="transparent" |
| 15 | + class="mobile-menu-trigger elevation-0" |
| 16 | + @click.stop.prevent="speedDial = true" |
19 | 17 | > |
20 | | - <template #activator> |
21 | | - <v-btn |
22 | | - v-model="speedDial" |
23 | | - dark fab icon flat |
24 | | - :ripple="false" |
25 | | - class="nav-menu-trigger" |
26 | | - > |
27 | | - <v-icon>more_vert</v-icon> |
28 | | - <v-icon>close</v-icon> |
29 | | - </v-btn> |
30 | | - </template> |
31 | | - <v-btn |
32 | | - v-if="!routeName('browse')" to="/browse" class="nav-menu-browse elevation-5 highlight" |
33 | | - fab dark small |
34 | | - > |
35 | | - <v-icon>search</v-icon> |
36 | | - </v-btn> |
37 | | - <v-btn |
38 | | - v-if="auth && !config.readonly && $config.feature('upload')" class="nav-menu-upload elevation-5 highlight" |
39 | | - fab dark small |
40 | | - @click.prevent="openUpload()" |
41 | | - > |
42 | | - <v-icon>cloud_upload</v-icon> |
43 | | - </v-btn> |
44 | | - <v-btn |
45 | | - v-if="!config.disable.settings && !routeName('settings')" to="/settings" class="nav-menu-settings elevation-5" |
46 | | - fab dark small |
47 | | - > |
48 | | - <v-icon>settings</v-icon> |
49 | | - </v-btn> |
50 | | - <v-btn |
51 | | - v-if="auth && !isPublic" class="nav-menu-reload elevation-4" |
52 | | - fab dark small |
53 | | - @click.prevent="reloadApp"> |
54 | | - <v-icon>refresh</v-icon> |
55 | | - </v-btn> |
56 | | - <v-btn |
57 | | - v-if="auth && !isPublic" class="nav-menu-logout elevation-4" |
58 | | - fab dark small |
59 | | - @click.prevent="logout"> |
60 | | - <v-icon>power_settings_new</v-icon> |
61 | | - </v-btn> |
62 | | - </v-speed-dial> |
| 18 | + <v-icon dark>more_vert</v-icon> |
| 19 | + </v-btn> |
| 20 | + <div id="mobile-menu" :class="{'active': speedDial}" @click.stop="speedDial = false"> |
| 21 | + <div class="menu-content grow-top-right"> |
| 22 | + <div class="menu-icons"> |
| 23 | + <a v-if="auth && !isPublic" href="#" :title="$gettext('Logout')" @click.prevent="logout"><v-icon>power_settings_new</v-icon></a> |
| 24 | + <a href="#" :title="$gettext('Reload')" @click.prevent="reloadApp"><v-icon>refresh</v-icon></a> |
| 25 | + <router-link v-if="!auth && !isPublic" :to="{ name: 'login' }" :title="$gettext('Login')"> |
| 26 | + <v-icon>login</v-icon> |
| 27 | + </router-link> |
| 28 | + <router-link v-if="auth && !routeName('library') && $config.feature('library')" :to="{ name: 'library_logs' }" :title="$gettext('Logs')"><v-icon>feed</v-icon></router-link> |
| 29 | + <router-link v-if="auth && !config.disable.settings && !routeName('settings')" to="/settings" :title="$gettext('Settings')"> |
| 30 | + <v-icon>settings</v-icon> |
| 31 | + </router-link> |
| 32 | + <a v-if="auth && !config.readonly && $config.feature('upload')" href="#" :title="$gettext('Upload')" @click.prevent="openUpload()"><v-icon>cloud_upload</v-icon></a> |
| 33 | + </div> |
| 34 | + <div class="menu-actions"> |
| 35 | + <div v-if="auth && !routeName('browse')" class="menu-action"><router-link to="/browse"><v-icon>search</v-icon> <translate>Search</translate></router-link></div> |
| 36 | + <div v-if="auth && !routeName('albums') && $config.feature('albums')" class="menu-action"><router-link to="/albums"><v-icon>bookmark</v-icon> <translate>Albums</translate></router-link></div> |
| 37 | + <div v-if="auth && !routeName('library') && $config.feature('library')" class="menu-action"><router-link :to="{ name: 'library' }"><v-icon>camera_roll</v-icon> <translate>Index</translate></router-link></div> |
| 38 | + <div v-if="auth && !routeName('files') && $config.feature('library')" class="menu-action"><router-link to="/library/files"><v-icon>folder</v-icon> <translate>Files</translate></router-link></div> |
| 39 | + <div v-if="auth && !config.disable.settings && !routeName('settings')" class="menu-action"><router-link :to="{ name: 'settings_sync' }"><v-icon>sync</v-icon> <translate>Connect</translate></router-link></div> |
| 40 | + <div v-if="auth && !config.disable.settings && !routeName('settings')" class="menu-action"><router-link :to="{ name: 'settings_account' }"><v-icon>person</v-icon> <translate>Account</translate></router-link></div> |
| 41 | + <div class="menu-action"><a href="https://link.photoprism.app/docs" target="_blank"><v-icon>auto_stories</v-icon> <translate>User Guide</translate></a></div> |
| 42 | + <div v-if="!isSponsor" class="menu-action"><a href="https://link.photoprism.app/membership" target="_blank"><v-icon>workspace_premium</v-icon> <translate>Become a sponsor</translate></a></div> |
| 43 | + <div v-if="config.imprintUrl" class="menu-action"><a :href="config.imprintUrl" target="_blank"><v-icon>info</v-icon> <translate>Legal Information</translate></a></div> |
| 44 | + </div> |
| 45 | + </div> |
| 46 | + </div> |
63 | 47 | </v-toolbar> |
64 | 48 | </template> |
65 | 49 | <template v-else-if="visible && !auth"> |
|
0 commit comments