Add:Nav button in side drawer and item more menu to go to web client #1079

This commit is contained in:
advplyr 2024-03-22 17:54:56 -05:00
parent f04eebe0d8
commit 3c6d4b5f19
24 changed files with 69 additions and 7 deletions

View file

@ -79,7 +79,10 @@ export default {
return this.$store.state.serverSettings || {} return this.$store.state.serverSettings || {}
}, },
username() { username() {
return this.user ? this.user.username : '' return this.user?.username || ''
},
userIsAdminOrUp() {
return this.$store.getters['user/getIsAdminOrUp']
}, },
navItems() { navItems() {
var items = [ var items = [
@ -132,6 +135,13 @@ export default {
}) })
if (this.serverConnectionConfig) { if (this.serverConnectionConfig) {
if (this.userIsAdminOrUp) {
items.push({
icon: 'language',
text: this.$strings.ButtonGoToWebClient,
action: 'openWebClient'
})
}
items.push({ items.push({
icon: 'login', icon: 'login',
text: this.$strings.ButtonSwitchServerUser, text: this.$strings.ButtonSwitchServerUser,
@ -151,6 +161,10 @@ export default {
if (action === 'logout') { if (action === 'logout') {
await this.logout() await this.logout()
this.$router.push('/connect') this.$router.push('/connect')
} else if (action === 'openWebClient') {
this.show = false
let path = `/library/${this.$store.state.libraries.currentLibraryId}`
await this.$store.dispatch('user/openWebClient', path)
} }
}, },
clickBackground() { clickBackground() {

View file

@ -135,6 +135,14 @@ export default {
} }
} }
if (this.isConnectedToServer && this.userIsAdminOrUp) {
items.push({
text: this.$strings.ButtonGoToWebClient,
value: 'openWebClient',
icon: 'language'
})
}
if (!this.episode) { if (!this.episode) {
items.push({ items.push({
text: this.$strings.LabelMoreInfo, text: this.$strings.LabelMoreInfo,
@ -285,6 +293,8 @@ export default {
this.clickRSSFeed() this.clickRSSFeed()
} else if (action === 'sendEbook') { } else if (action === 'sendEbook') {
this.showSendEbookDevicesModal = true this.showSendEbookDevicesModal = true
} else if (action === 'openWebClient') {
this.$store.dispatch('user/openWebClient', `/item/${this.serverLibraryItemId}`)
} }
}, },
async toggleFinished() { async toggleFinished() {

View file

@ -1,3 +1,5 @@
import { Browser } from '@capacitor/browser'
export const state = () => ({ export const state = () => ({
user: null, user: null,
serverConnectionConfig: null, serverConnectionConfig: null,
@ -115,6 +117,21 @@ export const actions = {
commit('setSettings', userSettings) commit('setSettings', userSettings)
this.$eventBus.$emit('user-settings', state.settings) this.$eventBus.$emit('user-settings', state.settings)
} }
},
async openWebClient({ getters }, path = null) {
const serverAddress = getters.getServerAddress
if (!serverAddress) {
console.error('openWebClient: No server address')
return
}
try {
let url = serverAddress.replace(/\/$/, '') // Remove trailing slash
if (path?.startsWith('/')) url += path
await Browser.open({ url })
} catch (error) {
console.error('Error opening browser', error)
}
} }
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Smazat místní položku", "ButtonDeleteLocalItem": "Smazat místní položku",
"ButtonDisableAutoTimer": "Zakázat automatický časovač", "ButtonDisableAutoTimer": "Zakázat automatický časovač",
"ButtonDisconnect": "Odpojit", "ButtonDisconnect": "Odpojit",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Historie", "ButtonHistory": "Historie",
"ButtonHome": "Domů", "ButtonHome": "Domů",
"ButtonIssues": "Problémy", "ButtonIssues": "Problémy",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Hjem", "ButtonHome": "Hjem",
"ButtonIssues": "Problemer", "ButtonIssues": "Problemer",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Podcast oprettet med succes", "ToastPodcastCreateSuccess": "Podcast oprettet med succes",
"ToastRSSFeedCloseFailed": "Mislykkedes lukning af RSS-feed", "ToastRSSFeedCloseFailed": "Mislykkedes lukning af RSS-feed",
"ToastRSSFeedCloseSuccess": "RSS-feed lukket" "ToastRSSFeedCloseSuccess": "RSS-feed lukket"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Lösche lokales Element", "ButtonDeleteLocalItem": "Lösche lokales Element",
"ButtonDisableAutoTimer": "Deaktiviere automatischen Timer", "ButtonDisableAutoTimer": "Deaktiviere automatischen Timer",
"ButtonDisconnect": "Trennen", "ButtonDisconnect": "Trennen",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Historie", "ButtonHistory": "Historie",
"ButtonHome": "Startseite", "ButtonHome": "Startseite",
"ButtonIssues": "Probleme", "ButtonIssues": "Probleme",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Podcast erstellt", "ToastPodcastCreateSuccess": "Podcast erstellt",
"ToastRSSFeedCloseFailed": "RSS-Feed konnte nicht geschlossen werden", "ToastRSSFeedCloseFailed": "RSS-Feed konnte nicht geschlossen werden",
"ToastRSSFeedCloseSuccess": "RSS-Feed geschlossen" "ToastRSSFeedCloseSuccess": "RSS-Feed geschlossen"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Home", "ButtonHome": "Home",
"ButtonIssues": "Issues", "ButtonIssues": "Issues",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Podcast created successfully", "ToastPodcastCreateSuccess": "Podcast created successfully",
"ToastRSSFeedCloseFailed": "Failed to close RSS feed", "ToastRSSFeedCloseFailed": "Failed to close RSS feed",
"ToastRSSFeedCloseSuccess": "RSS feed closed" "ToastRSSFeedCloseSuccess": "RSS feed closed"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Inicio", "ButtonHome": "Inicio",
"ButtonIssues": "Problemas", "ButtonIssues": "Problemas",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Accueil", "ButtonHome": "Accueil",
"ButtonIssues": "Parutions", "ButtonIssues": "Parutions",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "ઘર", "ButtonHome": "ઘર",
"ButtonIssues": "સમસ્યાઓ", "ButtonIssues": "સમસ્યાઓ",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "घर", "ButtonHome": "घर",
"ButtonIssues": "समस्याएं", "ButtonIssues": "समस्याएं",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Početna stranica", "ButtonHome": "Početna stranica",
"ButtonIssues": "Problemi", "ButtonIssues": "Problemi",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Helyi elem törlése", "ButtonDeleteLocalItem": "Helyi elem törlése",
"ButtonDisableAutoTimer": "Automatikus időzítő letiltása", "ButtonDisableAutoTimer": "Automatikus időzítő letiltása",
"ButtonDisconnect": "Kapcsolat bontása", "ButtonDisconnect": "Kapcsolat bontása",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Előzmények", "ButtonHistory": "Előzmények",
"ButtonHome": "Kezdőlap", "ButtonHome": "Kezdőlap",
"ButtonIssues": "Problémák", "ButtonIssues": "Problémák",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Elimina oggetto locale", "ButtonDeleteLocalItem": "Elimina oggetto locale",
"ButtonDisableAutoTimer": "Disattiva Auto Timer", "ButtonDisableAutoTimer": "Disattiva Auto Timer",
"ButtonDisconnect": "Disconnetti", "ButtonDisconnect": "Disconnetti",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Cronologia", "ButtonHistory": "Cronologia",
"ButtonHome": "Home", "ButtonHome": "Home",
"ButtonIssues": "Errori", "ButtonIssues": "Errori",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Pradžia", "ButtonHome": "Pradžia",
"ButtonIssues": "Problemos", "ButtonIssues": "Problemos",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Home", "ButtonHome": "Home",
"ButtonIssues": "Issues", "ButtonIssues": "Issues",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Hjem", "ButtonHome": "Hjem",
"ButtonIssues": "Problemer", "ButtonIssues": "Problemer",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Usuń lokalny element", "ButtonDeleteLocalItem": "Usuń lokalny element",
"ButtonDisableAutoTimer": "Wyłącz automatyczny wyłącznik", "ButtonDisableAutoTimer": "Wyłącz automatyczny wyłącznik",
"ButtonDisconnect": "Rozłącz", "ButtonDisconnect": "Rozłącz",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Historia", "ButtonHistory": "Historia",
"ButtonHome": "Strona główna", "ButtonHome": "Strona główna",
"ButtonIssues": "Błędy", "ButtonIssues": "Błędy",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Apagar item local", "ButtonDeleteLocalItem": "Apagar item local",
"ButtonDisableAutoTimer": "Desativar Timer Automático", "ButtonDisableAutoTimer": "Desativar Timer Automático",
"ButtonDisconnect": "Desconectar", "ButtonDisconnect": "Desconectar",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Histórico", "ButtonHistory": "Histórico",
"ButtonHome": "Principal", "ButtonHome": "Principal",
"ButtonIssues": "Problemas", "ButtonIssues": "Problemas",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Podcast criado", "ToastPodcastCreateSuccess": "Podcast criado",
"ToastRSSFeedCloseFailed": "Falha ao fechar feed RSS", "ToastRSSFeedCloseFailed": "Falha ao fechar feed RSS",
"ToastRSSFeedCloseSuccess": "Feed RSS fechado" "ToastRSSFeedCloseSuccess": "Feed RSS fechado"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Удалить локальный элемент", "ButtonDeleteLocalItem": "Удалить локальный элемент",
"ButtonDisableAutoTimer": "Отключить автоматический таймер", "ButtonDisableAutoTimer": "Отключить автоматический таймер",
"ButtonDisconnect": "Отключиться", "ButtonDisconnect": "Отключиться",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "История", "ButtonHistory": "История",
"ButtonHome": "Домой", "ButtonHome": "Домой",
"ButtonIssues": "Проблемы", "ButtonIssues": "Проблемы",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Delete local item", "ButtonDeleteLocalItem": "Delete local item",
"ButtonDisableAutoTimer": "Disable Auto Timer", "ButtonDisableAutoTimer": "Disable Auto Timer",
"ButtonDisconnect": "Disconnect", "ButtonDisconnect": "Disconnect",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "History", "ButtonHistory": "History",
"ButtonHome": "Hem", "ButtonHome": "Hem",
"ButtonIssues": "Problem", "ButtonIssues": "Problem",

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Видалити локальний елемент", "ButtonDeleteLocalItem": "Видалити локальний елемент",
"ButtonDisableAutoTimer": "Вимкнути автотаймер", "ButtonDisableAutoTimer": "Вимкнути автотаймер",
"ButtonDisconnect": "Відключитися", "ButtonDisconnect": "Відключитися",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Історія", "ButtonHistory": "Історія",
"ButtonHome": "Головна", "ButtonHome": "Головна",
"ButtonIssues": "Проблеми", "ButtonIssues": "Проблеми",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Подкаст успішно створено", "ToastPodcastCreateSuccess": "Подкаст успішно створено",
"ToastRSSFeedCloseFailed": "Не вдалося закрити RSS-канал", "ToastRSSFeedCloseFailed": "Не вдалося закрити RSS-канал",
"ToastRSSFeedCloseSuccess": "RSS-канал закрито" "ToastRSSFeedCloseSuccess": "RSS-канал закрито"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "Xóa mục địa phương", "ButtonDeleteLocalItem": "Xóa mục địa phương",
"ButtonDisableAutoTimer": "Tắt Bộ Đếm Tự Động", "ButtonDisableAutoTimer": "Tắt Bộ Đếm Tự Động",
"ButtonDisconnect": "Ngắt Kết Nối", "ButtonDisconnect": "Ngắt Kết Nối",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "Lịch Sử", "ButtonHistory": "Lịch Sử",
"ButtonHome": "Trang Chủ", "ButtonHome": "Trang Chủ",
"ButtonIssues": "Vấn Đề", "ButtonIssues": "Vấn Đề",
@ -291,4 +292,4 @@
"ToastPodcastCreateSuccess": "Tạo podcast thành công", "ToastPodcastCreateSuccess": "Tạo podcast thành công",
"ToastRSSFeedCloseFailed": "Không thể đóng RSS feed", "ToastRSSFeedCloseFailed": "Không thể đóng RSS feed",
"ToastRSSFeedCloseSuccess": "Đóng RSS feed thành công" "ToastRSSFeedCloseSuccess": "Đóng RSS feed thành công"
} }

View file

@ -19,6 +19,7 @@
"ButtonDeleteLocalItem": "删除本地项目", "ButtonDeleteLocalItem": "删除本地项目",
"ButtonDisableAutoTimer": "禁用自动定时器", "ButtonDisableAutoTimer": "禁用自动定时器",
"ButtonDisconnect": "断开连接", "ButtonDisconnect": "断开连接",
"ButtonGoToWebClient": "Go to Web Client",
"ButtonHistory": "历史", "ButtonHistory": "历史",
"ButtonHome": "首页", "ButtonHome": "首页",
"ButtonIssues": "问题", "ButtonIssues": "问题",