Merge remote-tracking branch 'upstream/upcoming' into upcoming
This commit is contained in:
commit
061f83deb8
14 changed files with 104 additions and 55 deletions
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<!-- https://github.com/electron/electron-notarize#prerequisites -->
|
|
||||||
<key>com.apple.security.cs.allow-jit</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
|
||||||
<true/>
|
|
||||||
<!-- https://github.cm/electron-userland/electron-builder/issues/3940 -->
|
|
||||||
<key>com.apple.security.cs.disable-library-validation</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
|
@ -95,8 +95,8 @@
|
||||||
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
||||||
},
|
},
|
||||||
"appId": "cider",
|
"appId": "cider",
|
||||||
"afterPack": "./build/afterPack.js",
|
"afterPack": "./resources/afterPack.js",
|
||||||
"afterSign": "./build/notarize.js",
|
"afterSign": "./resources/notarize.js",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
{
|
{
|
||||||
"name": "Cider",
|
"name": "Cider",
|
||||||
|
@ -158,8 +158,8 @@
|
||||||
"gatekeeperAssess": false,
|
"gatekeeperAssess": false,
|
||||||
"icon": "./resources/icons/icon.icns",
|
"icon": "./resources/icons/icon.icns",
|
||||||
"category": "public.app-category.music",
|
"category": "public.app-category.music",
|
||||||
"entitlements": "build/entitlements.mac.plist",
|
"entitlements": "./resources/entitlements.mac.plist",
|
||||||
"entitlementsInherit": "build/entitlements.mac.plist",
|
"entitlementsInherit": "./resources/entitlements.mac.plist",
|
||||||
"darkModeSupport": true,
|
"darkModeSupport": true,
|
||||||
"target": [
|
"target": [
|
||||||
"dmg"
|
"dmg"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
|
<!-- https://github.com/electron/electron-notarize#prerequisites -->
|
||||||
|
<key>com.apple.security.cs.allow-jit</key>
|
||||||
|
<true/>
|
||||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<!-- https://github.cm/electron-userland/electron-builder/issues/3940 -->
|
||||||
<key>com.apple.security.cs.disable-library-validation</key>
|
<key>com.apple.security.cs.disable-library-validation</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
|
@ -71,7 +71,9 @@
|
||||||
"term.enabled": "Enabled",
|
"term.enabled": "Enabled",
|
||||||
"term.disabled": "Disabled",
|
"term.disabled": "Disabled",
|
||||||
"term.connect": "Connect",
|
"term.connect": "Connect",
|
||||||
"term.connecting": "Connecting...",
|
"term.connecting": "Connecting",
|
||||||
|
"term.disconnect": "Disconnect",
|
||||||
|
"term.authed": "Authed",
|
||||||
"term.confirm": "Confirm ?",
|
"term.confirm": "Confirm ?",
|
||||||
"term.more": "More",
|
"term.more": "More",
|
||||||
"term.less": "Less",
|
"term.less": "Less",
|
||||||
|
@ -215,6 +217,9 @@
|
||||||
"settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'",
|
"settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'",
|
||||||
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle
|
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle
|
||||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||||
|
"settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Delay (%)",
|
||||||
|
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable LastFM Now Playing",
|
||||||
|
"settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)",
|
||||||
// Refer to term.connect for the connect button
|
// Refer to term.connect for the connect button
|
||||||
|
|
||||||
// Settings - Experimental
|
// Settings - Experimental
|
||||||
|
@ -222,6 +227,25 @@
|
||||||
"settings.header.experimental.description": "Adjust the experimental settings for Cider.",
|
"settings.header.experimental.description": "Adjust the experimental settings for Cider.",
|
||||||
"settings.option.experimental.compactUI": "Compact UI", // Toggle
|
"settings.option.experimental.compactUI": "Compact UI", // Toggle
|
||||||
// Refer to term.disabled & term.enabled
|
// Refer to term.disabled & term.enabled
|
||||||
|
|
||||||
|
// Spatialization Menu
|
||||||
|
"spatial.spatialProperties" : "Spatial Properties",
|
||||||
|
"spatial.width" : "Width",
|
||||||
|
"spatial.height" : "Height",
|
||||||
|
"spatial.depth" : "Depth",
|
||||||
|
"spatial.roomMaterials" : "Room Materials",
|
||||||
|
"spatial.roomDimensions" : "Room Dimensions",
|
||||||
|
"spatial.roomPositions" : "Room Positions",
|
||||||
|
"spatial.setDimensions" : "Set Dimensions",
|
||||||
|
"spatial.setPositions" : "Set Positions",
|
||||||
|
"spatial.up" : "Up",
|
||||||
|
"spatial.front" : "Front",
|
||||||
|
"spatial.left" : "Left",
|
||||||
|
"spatial.right" : "Right",
|
||||||
|
"spatial.back" : "Back",
|
||||||
|
"spatial.down" : "Down",
|
||||||
|
"spatial.listener" : "Listener",
|
||||||
|
"spatial.audioSource" : "Audio Source",
|
||||||
|
|
||||||
// Settings - Unfinished
|
// Settings - Unfinished
|
||||||
"settings.header.unfinished": "Unfinished",
|
"settings.header.unfinished": "Unfinished",
|
||||||
|
|
|
@ -60,7 +60,8 @@ export class ConfigStore {
|
||||||
"animated_artwork_qualityLevel": 1,
|
"animated_artwork_qualityLevel": 1,
|
||||||
"bg_artwork_rotation": false,
|
"bg_artwork_rotation": false,
|
||||||
"hw_acceleration": "default", // default, webgpu, disabled
|
"hw_acceleration": "default", // default, webgpu, disabled
|
||||||
"showuserinfo": true
|
"showuserinfo": true,
|
||||||
|
"miniplayer_top_toggle": true
|
||||||
},
|
},
|
||||||
"lyrics": {
|
"lyrics": {
|
||||||
"enable_mxm": false,
|
"enable_mxm": false,
|
||||||
|
|
|
@ -430,6 +430,10 @@ export class Win {
|
||||||
this.win.setMinimumSize(width,height);
|
this.win.setMinimumSize(width,height);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
electron.ipcMain.on("windowontop", (event, ontop) => {
|
||||||
|
this.win.setAlwaysOnTop(ontop);
|
||||||
|
});
|
||||||
|
|
||||||
// Set scale
|
// Set scale
|
||||||
electron.ipcMain.on("windowresize", (event, width, height, lock = false) => {
|
electron.ipcMain.on("windowresize", (event, width, height, lock = false) => {
|
||||||
this.win.setContentSize(width, height);
|
this.win.setContentSize(width, height);
|
||||||
|
|
|
@ -3296,11 +3296,11 @@ const app = new Vue({
|
||||||
const element = document.getElementById('lfmConnect');
|
const element = document.getElementById('lfmConnect');
|
||||||
// new key : f9986d12aab5a0fe66193c559435ede3
|
// new key : f9986d12aab5a0fe66193c559435ede3
|
||||||
window.open('https://www.last.fm/api/auth?api_key=f9986d12aab5a0fe66193c559435ede3&cb=cider://auth/lastfm');
|
window.open('https://www.last.fm/api/auth?api_key=f9986d12aab5a0fe66193c559435ede3&cb=cider://auth/lastfm');
|
||||||
element.innerText = app.getLz('term.connecting');
|
element.innerText = app.getLz('term.connecting') + '...';
|
||||||
|
|
||||||
/* Just a timeout for the button */
|
/* Just a timeout for the button */
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (element.innerText === app.getLz('term.connecting')) {
|
if (element.innerText === app.getLz('term.connecting') +'...') {
|
||||||
element.innerText = app.getLz('term.connect');
|
element.innerText = app.getLz('term.connect');
|
||||||
console.warn('[LastFM] Attempted connection timed out.');
|
console.warn('[LastFM] Attempted connection timed out.');
|
||||||
}
|
}
|
||||||
|
@ -3309,7 +3309,7 @@ const app = new Vue({
|
||||||
ipcRenderer.on('LastfmAuthenticated', function(_event, lfmAuthKey) {
|
ipcRenderer.on('LastfmAuthenticated', function(_event, lfmAuthKey) {
|
||||||
app.cfg.lastfm.auth_token = lfmAuthKey;
|
app.cfg.lastfm.auth_token = lfmAuthKey;
|
||||||
app.cfg.lastfm.enabled = true;
|
app.cfg.lastfm.enabled = true;
|
||||||
element.innerHTML = `Disconnect\n<p style="font-size: 8px"><i>(Authed: ${lfmAuthKey})</i></p>`;
|
element.innerHTML = `${app.getLz('term.disconnect')}\n<p style="font-size: 8px"><i>(${app.getLz('term.authed')}: ${lfmAuthKey})</i></p>`;
|
||||||
element.onclick = app.LastFMDeauthorize;
|
element.onclick = app.LastFMDeauthorize;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3357,9 +3357,20 @@ const app = new Vue({
|
||||||
} else {
|
} else {
|
||||||
ipcRenderer.send('windowmin', 844, 410)
|
ipcRenderer.send('windowmin', 844, 410)
|
||||||
ipcRenderer.send('windowresize', this.tmpWidth, this.tmpHeight, false)
|
ipcRenderer.send('windowresize', this.tmpWidth, this.tmpHeight, false)
|
||||||
|
ipcRenderer.send('windowontop', false)
|
||||||
|
this.cfg.visual.miniplayer_top_toggle = true;
|
||||||
app.appMode = 'player';
|
app.appMode = 'player';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
pinMiniPlayer() {
|
||||||
|
if (this.cfg.visual.miniplayer_top_toggle) {
|
||||||
|
ipcRenderer.send('windowontop', true)
|
||||||
|
this.cfg.visual.miniplayer_top_toggle = false
|
||||||
|
} else {
|
||||||
|
ipcRenderer.send('windowontop', false)
|
||||||
|
this.cfg.visual.miniplayer_top_toggle = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
formatTimezoneOffset: (e = new Date) => {
|
formatTimezoneOffset: (e = new Date) => {
|
||||||
let leadingZeros = (e, s = 2) => {
|
let leadingZeros = (e, s = 2) => {
|
||||||
let n = "" + e;
|
let n = "" + e;
|
||||||
|
|
|
@ -4799,6 +4799,24 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
||||||
-webkit-app-region: no-drag;
|
-webkit-app-region: no-drag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.player-pin {
|
||||||
|
z-index: 3;
|
||||||
|
position: absolute;
|
||||||
|
min-width: 20px;
|
||||||
|
min-height: 20px;
|
||||||
|
top: 5px;
|
||||||
|
right: 30px;
|
||||||
|
-webkit-app-region: no-drag;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mini-pin{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player-pin:hover #mini-pin {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.playback-button--small {
|
.playback-button--small {
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
<script type="text/x-template" id="mini-view">
|
<script type="text/x-template" id="mini-view">
|
||||||
<div class="mini-view" tabindex="0">
|
<div class="mini-view" tabindex="0">
|
||||||
<div class="background">
|
<div class="background">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="player-pin" title="Pin to Top" @click="app.pinMiniPlayer()">
|
||||||
|
<span id="mini-pin">📌</span>
|
||||||
|
</div>
|
||||||
<div class="player-exit" title="Close" @click="app.miniPlayer(false)">
|
<div class="player-exit" title="Close" @click="app.miniPlayer(false)">
|
||||||
<svg fill="#323232e3" xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"
|
<svg fill="#323232e3" xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"
|
||||||
aria-role="presentation" focusable="false">
|
aria-role="presentation" focusable="false">
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
<div class="modal-fullscreen spatialproperties-panel">
|
<div class="modal-fullscreen spatialproperties-panel">
|
||||||
<div class="modal-window" v-if="ready">
|
<div class="modal-window" v-if="ready">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<div class="modal-title">Spatial Properties</div>
|
<div class="modal-title">{{$root.getLz('spatial.spatialProperties')}}</div>
|
||||||
<button class="close-btn" @click="close()"></button>
|
<button class="close-btn" @click="close()"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<template v-if="roomEditType == 'dimensions'">
|
<template v-if="roomEditType == 'dimensions'">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col"><h3>Room Dimensions</h3></div>
|
<div class="col"><h3>{{$root.getLz('spatial.roomDimensions')}}</h3></div>
|
||||||
<div class="col-auto flex-center">
|
<div class="col-auto flex-center">
|
||||||
<button class="md-btn" @click="roomEditType = 'positions'">Set Positions</button>
|
<button class="md-btn" @click="roomEditType = 'positions'">{{$root.getLz('spatial.setPositions')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Width
|
{{$root.getLz('spatial.width')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Height
|
{{$root.getLz('spatial.height')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Depth
|
{{$root.getLz('spatial.depth')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -73,9 +73,9 @@
|
||||||
</template>
|
</template>
|
||||||
<template v-if="roomEditType == 'positions'">
|
<template v-if="roomEditType == 'positions'">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col"><h3>Room Positions</h3></div>
|
<div class="col"><h3>{{$root.getLz('spatial.roomPositons')}}</h3></div>
|
||||||
<div class="col-auto flex-center">
|
<div class="col-auto flex-center">
|
||||||
<button class="md-btn" @click="roomEditType = 'dimensions'">Set Dimensions</button>
|
<button class="md-btn" @click="roomEditType = 'dimensions'">{{$root.getLz('spatial.setDimensions')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
X (Listener)
|
X ({{$root.getLz('spatial.listener')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Y (Listener)
|
Y ({{$root.getLz('spatial.listener')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Z (Listener)
|
Z ({{$root.getLz('spatial.listener')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
X (Audio Source)
|
X ({{$root.getLz('spatial.audioSource')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -139,7 +139,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Y (Audio Source)
|
Y ({{$root.getLz('spatial.audioSource')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 flex-center">
|
<div class="col-3 flex-center">
|
||||||
Z (Audio Source)
|
Z ({{$root.getLz('spatial.audioSource')}})
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
<input type="range" class="md-slider" min="0" max="100" @change="setRoom()" style="width: 100%;"
|
||||||
|
@ -179,13 +179,13 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col"><h3>Room Materials</h3></div>
|
<div class="col"><h3>{{$root.getLz('spatial.roomMaterials')}}</h3></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<label>
|
<label>
|
||||||
Up
|
{{$root.getLz('spatial.up')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.up">
|
v-model="room_materials.up">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
|
@ -197,7 +197,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<label>
|
<label>
|
||||||
Left
|
{{$root.getLz('spatial.left')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.left">
|
v-model="room_materials.left">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
|
@ -206,14 +206,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<label>
|
<label>
|
||||||
Front
|
{{$root.getLz('spatial.front')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.front">
|
v-model="room_materials.front">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
Back
|
{{$root.getLz('spatial.back')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.back">
|
v-model="room_materials.back">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
|
@ -222,7 +222,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<label>
|
<label>
|
||||||
Right
|
{{$root.getLz('spatial.right')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.right">
|
v-model="room_materials.right">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
<div class="col flex-center">
|
<div class="col flex-center">
|
||||||
<label>
|
<label>
|
||||||
Down
|
{{$root.getLz('spatial.down')}}
|
||||||
<select class="md-select" @change="setRoom()"
|
<select class="md-select" @change="setRoom()"
|
||||||
v-model="room_materials.down">
|
v-model="room_materials.down">
|
||||||
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
<option v-for="prop in roomProps" :value="prop">{{ prop }}</option>
|
||||||
|
|
|
@ -441,11 +441,11 @@
|
||||||
let month, year;
|
let month, year;
|
||||||
try {
|
try {
|
||||||
const releaseDate = new Date(date);
|
const releaseDate = new Date(date);
|
||||||
month = new Intl.DateTimeFormat('en-US', {month: 'long'}).format(releaseDate);
|
// month = new Intl.DateTimeFormat(this.app.cfg.general.language.replace('_','-'), {month: 'long'}).format(releaseDate);
|
||||||
date = releaseDate.getDate();
|
// date = releaseDate.getDate();
|
||||||
year = releaseDate.getFullYear();
|
// year = releaseDate.getFullYear();
|
||||||
|
|
||||||
return prefix + date + " " + month + " " + year;
|
return prefix + new Intl.DateTimeFormat(this.app.cfg.general.language?.replace('_','-') ?? 'en-US', {day:'numeric',month: 'long', year: 'numeric'}).format(releaseDate);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -472,7 +472,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
LastFM Scrobble Delay (%)
|
{{$root.getLz('settings.option.connectivity.lastfmScrobble.delay')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto" >
|
<div class="md-option-segment md-option-segment_auto" >
|
||||||
<input type="number" min="50" max="100" v-model="app.cfg.lastfm.scrobble_after"/>
|
<input type="number" min="50" max="100" v-model="app.cfg.lastfm.scrobble_after"/>
|
||||||
|
@ -480,7 +480,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
Enable LastFM Now Playing
|
{{$root.getLz('settings.option.connectivity.lastfmScrobble.nowPlaying')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto" >
|
<div class="md-option-segment md-option-segment_auto" >
|
||||||
<input type="checkbox" v-model="app.cfg.lastfm.NowPlaying" switch/>
|
<input type="checkbox" v-model="app.cfg.lastfm.NowPlaying" switch/>
|
||||||
|
@ -488,7 +488,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
Remove featuring artists from song title (LastFM)
|
{{$root.getLz('settings.option.connectivity.lastfmScrobble.removeFeatured')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto" >
|
<div class="md-option-segment md-option-segment_auto" >
|
||||||
<input type="checkbox" v-model="app.cfg.lastfm.enabledRemoveFeaturingArtists" switch/>
|
<input type="checkbox" v-model="app.cfg.lastfm.enabledRemoveFeaturingArtists" switch/>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue