[web] Change to div elements

This commit is contained in:
Alain Nussbaumer 2025-03-16 21:17:46 +01:00
parent 59b680db9b
commit fa1f10fae9
12 changed files with 67 additions and 74 deletions

View File

@ -13,9 +13,9 @@
size="16"
/>
</div>
<p v-if="$slots.help" class="help mb-4">
<div v-if="$slots.help" class="help mb-4">
<slot name="help" />
</p>
</div>
</div>
</fieldset>
</template>

View File

@ -1,9 +1,9 @@
<template>
<div class="field">
<p class="control has-icons-left">
<div class="control has-icons-left">
<input
ref="input"
v-model="url"
v-model="value"
class="input"
type="url"
pattern="http[s]?://.+"
@ -13,8 +13,8 @@
@input="validate"
/>
<mdicon class="icon is-left" :name="icon" size="16" />
</p>
<p v-if="help" class="help" v-text="help" />
</div>
<div v-if="help" class="help" v-text="help" />
</div>
</template>
@ -27,11 +27,11 @@ export default {
loading: { default: false, type: Boolean },
placeholder: { required: true, type: String }
},
emits: ['url-changed'],
emits: ['input'],
data() {
return {
disabled: true,
url: ''
value: ''
}
},
mounted() {
@ -43,7 +43,7 @@ export default {
validate(event) {
const { validity } = event.target
this.disabled = validity.patternMismatch || validity.valueMissing
this.$emit('url-changed', this.url, this.disabled)
this.$emit('input', this.value, this.disabled)
}
}
}

View File

@ -11,7 +11,7 @@
:help="$t('dialog.add.rss.help')"
:loading="loading"
:placeholder="$t('dialog.add.rss.placeholder')"
@url-changed="onUrlChanged"
@input="onUrlChange"
/>
</template>
</modal-dialog>
@ -67,7 +67,7 @@ export default {
cancel() {
this.$emit('close')
},
onUrlChanged(url, disabled) {
onUrlChange(url, disabled) {
this.url = url
this.disabled = disabled
}

View File

@ -11,7 +11,7 @@
icon="web"
:loading="loading"
:placeholder="$t('dialog.add.stream.placeholder')"
@url-changed="onUrlChanged"
@input="onUrlChange"
/>
</form>
</template>
@ -73,7 +73,7 @@ export default {
cancel() {
this.$emit('close')
},
onUrlChanged(url, disabled) {
onUrlChange(url, disabled) {
this.url = url
this.disabled = disabled
},

View File

@ -8,7 +8,7 @@
<template #content>
<form @submit.prevent="save">
<div class="field">
<p class="control has-icons-left">
<div class="control has-icons-left">
<input
ref="playlist_name_field"
v-model="playlistName"
@ -21,7 +21,7 @@
@input="check"
/>
<mdicon class="icon is-left" name="playlist-music" size="16" />
</p>
</div>
</div>
</form>
</template>

View File

@ -21,7 +21,8 @@
"send": "Senden",
"show-more": "Zeige mehr",
"shuffle": "Zufallswiedergabe",
"update": "Neu einlesen"
"update": "Neu einlesen",
"verify": "Verifizieren"
},
"count": {
"albums": "{count} Album|{count} Album|{count} Alben",
@ -268,8 +269,7 @@
"pairing": "Pairing Remote",
"speaker-pairing-info": "Wenn der Laufsprecher PIN-basiertes Pairing verlangt, aktiviere ihn hier und gib dann den hier PIN an, der am Lautsprecher angezeigt wird.",
"speaker-pairing": "Lautsprecher-Pairing und Geräteverifikation",
"verification-code": "Verifikationscode",
"verify": "Verifizieren"
"verification-code": "Verifikationscode"
},
"general": {
"audiobooks": "Hörbücher",
@ -295,20 +295,19 @@
},
"services": {
"lastfm": {
"grant-access": "Melde Dich mit Deinem Last.fm-Benutzernamen und Passwort an, um Scrobbeln zu aktivieren",
"grant-access": "Melde Dich mit Deinem Last.fm-Benutzernamen und Passwort an, um Scrobbeln zu aktivieren.",
"info": "OwnTone wird den Benutzernamen und das Passwort von last.fm nicht speichern, nur den Sitzungs-Schlüssel. Dieser läuft nicht ab.",
"title": "Last.fm",
"no-support": "OwnTone wurde ohne Unterstützung für Last.fm erstellt."
},
"spotify": {
"authorize": "Authorisiere API-Zugriff",
"grant-access": "Zugriff auf die Spotify API gestatten.",
"no-support": "OwnTone wurde entweder ohne Unterstützung für Spotify erstellt oder libspotify ist nicht installiert.",
"logged-as": "Angemeldet als ",
"requirements": "Spotify Premium Abo erforderlich. Zugriff auf die Spotify Web-Api ermöglicht scannen der Spotify-Blibliothek. Erforderliche scopes sind: ",
"user": "Zugriff gestattet für ",
"authorize": "Authorisiere Web-API-Zugriff",
"grant-access": "Zugriff auf die Spotify Web-API gestatten",
"reauthorize": "Bitte den Zugriff der Web-API durch setzen folgender Zugriffsrechte für OwnTone: ",
"title": "Spotify"
"reauthorize": "Bitte den Zugriff der API durch setzen folgender Zugriffsrechte für OwnTone: {scopes}.",
"requirements": "Spotify Premium Abo erforderlich. Zugriff auf die Spotify API ermöglicht scannen der Spotify-Blibliothek. Erforderliche scopes sind: {scopes}.",
"title": "Spotify",
"user": "Zugriff gestattet für {user}."
},
"password": "Passwort",
"username": "Benutzername"

View File

@ -21,7 +21,8 @@
"send": "Send",
"show-more": "Show more",
"shuffle": "Shuffle",
"update": "Update"
"update": "Update",
"verify": "Verify"
},
"count": {
"albums": "{count} album|{count} album|{count} albums",
@ -268,8 +269,7 @@
"pairing": "Remote Pairing",
"speaker-pairing-info": "If your speaker requires pairing then activate it below and enter the PIN that it displays.",
"speaker-pairing": "Speaker pairing and device verification",
"verification-code": "Verification code",
"verify": "Verify"
"verification-code": "Verification code"
},
"general": {
"audiobooks": "Audiobooks",
@ -295,20 +295,19 @@
},
"services": {
"lastfm": {
"grant-access": "Login with your Last.fm username and password to enable scrobbling",
"grant-access": "Login with your Last.fm username and password to enable scrobbling.",
"info": "OwnTone will not store your Last.fm username/password, only the session key. The session key does not expire.",
"title": "Last.fm",
"no-support": "OwnTone was built without support for Last.fm."
},
"spotify": {
"authorize": "Authorize API access",
"grant-access": "Grant access to the Spotify API.",
"no-support": "OwnTone was either built without support for Spotify or libspotify is not installed.",
"logged-as": "Logged in as ",
"requirements": "You must have a Spotify premium account. Access to the Spotify Web API enables scanning of your Spotify library. Required scopes are: ",
"user": "Access granted for ",
"authorize": "Authorize Web API access",
"grant-access": "Grant access to the Spotify Web API",
"reauthorize": "Please reauthorize Web API access to grant OwnTone the following additional access rights: ",
"title": "Spotify"
"reauthorize": "Please reauthorize API access to grant OwnTone the following additional access rights: {scopes}.",
"requirements": "You must have a Spotify premium account. Access to the Spotify API enables scanning of your Spotify library. Required scopes are: {scopes}.",
"title": "Spotify",
"user": "Access granted for {user}"
},
"password": "Password",
"username": "Username"

View File

@ -21,7 +21,8 @@
"send": "Envoyer",
"show-more": "Afficher plus",
"shuffle": "Lecture aléatoire",
"update": "Actualiser"
"update": "Actualiser",
"verify": "Vérifier"
},
"count": {
"albums": "{count} album|{count} album|{count} albums",
@ -268,8 +269,7 @@
"pairing": "Jumelage de télécommande",
"speaker-pairing-info": "Si votre enceinte nécessite un jumelage, activez-la ci-dessous et entrez le code PIN quelle affiche.",
"speaker-pairing": "Jumelage denceinte et vérification dappareil",
"verification-code": "Code de vérification",
"verify": "Vérifier"
"verification-code": "Code de vérification"
},
"general": {
"audiobooks": "Livres audio",
@ -301,14 +301,13 @@
"no-support": "Loption Last.fm nest pas présente."
},
"spotify": {
"no-support": "Loption Spotify nest pas présente.",
"logged-as": "Connecté en tant que ",
"requirements": "Vous devez posséder un compte Spotify Premium. Laccès à lAPI de Spotify permet lanalyse de votre bibliothèque Spotify. Les champs dapplication requis sont les suivants :",
"user": "Accès autorisé pour ",
"authorize": "Autoriser laccès à lAPI",
"grant-access": "Accordez laccès à lAPI de Spotify",
"reauthorize": "Veuillez autoriser à nouveau laccès à lAPI pour accorder à OwnTone les droits daccès supplémentaires suivants :",
"title": "Spotify"
"grant-access": "Accordez laccès à lAPI de Spotify.",
"no-support": "Loption Spotify nest pas présente.",
"reauthorize": "Veuillez autoriser à nouveau laccès à lAPI pour accorder à OwnTone les droits daccès supplémentaires suivants : {scopes}.",
"requirements": "Vous devez posséder un compte Spotify Premium. Laccès à lAPI de Spotify permet lanalyse de votre bibliothèque Spotify. Les champs dapplication requis sont les suivants : {scopes}.",
"title": "Spotify",
"user": "Accès autorisé pour {user}."
},
"password": "Mot de passe",
"username": "Nom dutilisateur"

View File

@ -21,7 +21,8 @@
"send": "发送",
"show-more": "显示更多",
"shuffle": "随机播放",
"update": "更新"
"update": "更新",
"verify": "验证"
},
"count": {
"albums": "{count} 张专辑|{count} 张专辑",
@ -268,8 +269,7 @@
"pairing": "遥控配对",
"speaker-pairing-info": "如果您的扬声器需要配对,请在下面输入它显示的 PIN以激活",
"speaker-pairing": "扬声器配对和设备验证",
"verification-code": "验证码",
"verify": "验证"
"verification-code": "验证码"
},
"general": {
"audiobooks": "有声读物",
@ -301,14 +301,13 @@
"no-support": "OwnTone的构建没有来自Last.fm的官方支持"
},
"spotify": {
"authorize": "授权 API 访问",
"grant-access": "授予对 Spotify API 的访问权限",
"no-support": "OwnTone的构建没有来自 Spotify 官方的支持,也未安装 libspotify",
"logged-as": "登录为 ",
"requirements": "您必须拥有 Spotify付费帐户。访问 Spotify Web API 可以扫描您的 Spotify库。所需范围是",
"user": "授予访问权限",
"authorize": "授权 Web API 访问",
"grant-access": "授予对 Spotify Web API 的访问权限",
"reauthorize": "请重新授权 Web API 访问权限,以授予 OwnTone 以下附加访问权限:",
"title": "Spotify"
"reauthorize": "请重新授权 API 访问权限,以授予 OwnTone 以下附加访问权限:{scopes}",
"requirements": "您必须拥有 Spotify付费帐户。访问 Spotify API 可以扫描您的 Spotify库。所需范围是{scopes}",
"title": "Spotify",
"user": "授予访问权限 {user}"
},
"password": "密码",
"username": "用户名"

View File

@ -21,7 +21,8 @@
"send": "發送",
"show-more": "顯示更多",
"shuffle": "隨機播放",
"update": "更新"
"update": "更新",
"verify": "驗證"
},
"count": {
"albums": "{count} 張專輯|{count} 張專輯",
@ -268,8 +269,7 @@
"pairing": "遙控配對",
"speaker-pairing-info": "如果您的揚聲器需要配對,請在下面輸入它顯示的 PIN以啓用",
"speaker-pairing": "揚聲器配對和設備驗證",
"verification-code": "驗證碼",
"verify": "驗證"
"verification-code": "驗證碼"
},
"general": {
"audiobooks": "有聲書",
@ -301,14 +301,13 @@
"no-support": "OwnTone並無Last.fm的官方支持"
},
"spotify": {
"authorize": "授權 API 訪問",
"grant-access": "授予對 Spotify API 的訪問權限",
"no-support": "OwnTone並無 Spotify 官方的支持,也未安裝 libspotify",
"logged-as": "登入為 ",
"requirements": "您必須擁有 Spotify付費帳戶。訪問 Spotify Web API 可以掃描您的 Spotify庫。所需範圍是",
"user": "授予訪問權限",
"authorize": "授權 Web API 訪問",
"grant-access": "授予對 Spotify Web API 的訪問權限",
"reauthorize": "請重新授權 Web API 訪問權限,以授予 OwnTone 以下附加訪問權限:",
"title": "Spotify"
"reauthorize": "請重新授權 API 訪問權限,以授予 OwnTone 以下附加訪問權限:{scopes}",
"requirements": "您必須擁有 Spotify付費帳戶。訪問 Spotify API 可以掃描您的 Spotify庫。所需範圍是{scopes}",
"title": "Spotify",
"user": "授予訪問權限 {user}"
},
"password": "密碼",
"username": "用戶名"

View File

@ -34,9 +34,7 @@
</div>
</form>
</div>
<div v-else>
<p v-text="$t('page.settings.devices.no-active-pairing')" />
</div>
<div v-else v-text="$t('page.settings.devices.no-active-pairing')" />
</template>
</content-with-heading>
<content-with-heading>
@ -46,7 +44,7 @@
/>
</template>
<template #content>
<p
<div
class="content"
v-text="$t('page.settings.devices.speaker-pairing-info')"
/>
@ -78,7 +76,7 @@
<button
class="button"
type="submit"
v-text="$t('page.settings.devices.verify')"
v-text="$t('actions.verify')"
/>
</div>
</div>

View File

@ -21,8 +21,8 @@
/>
</template>
<template #content>
<p
class="content"
<div
class=" "
v-text="$t('page.settings.general.navigation-item-selection')"
/>
<div