diff --git a/js/app.js b/js/app.js
index 87485b7..8c269f5 100644
--- a/js/app.js
+++ b/js/app.js
@@ -385,11 +385,11 @@ document.addEventListener('DOMContentLoaded', async () => {
const api = new MusicAPI(apiSettings);
const audioPlayer = document.getElementById('audio-player');
- // i love ios and macos!!!! webkit fucking SUCKS BULLSHIT sorry ios/macos heads yall getting lossless only
+ // i love ios and macos!!!! webkit fucking SUCKS BULLSHIT sorry ios/macos heads yall getting lossless only playback
// Use isIos from platform-detection (set before UA spoof in index.html) so detection works on real iOS.
if (isIos || isSafari) {
const qualitySelect = document.getElementById('streaming-quality-setting');
- const downloadSelect = document.getElementById('download-quality-setting');
+ const downloadQualitySelect = document.getElementById('download-quality-setting');
const removeHiRes = (select) => {
if (!select) return;
@@ -398,7 +398,10 @@ document.addEventListener('DOMContentLoaded', async () => {
};
removeHiRes(qualitySelect);
- removeHiRes(downloadSelect);
+
+ if (isIos) {
+ document.querySelector('#hi-res-download-warning').style.display = '';
+ }
const currentQualitySetting = localStorage.getItem('playback-quality');
if (!currentQualitySetting || currentQualitySetting === 'HI_RES_LOSSLESS') {
diff --git a/js/platform-detection.ts b/js/platform-detection.ts
index 22bb798..a44ac38 100644
--- a/js/platform-detection.ts
+++ b/js/platform-detection.ts
@@ -4,9 +4,9 @@ export const originalUserAgent = navigator.userAgent;
/** A lowercase version of the original user agent string. */
const lowerCaseOriginalUserAgent = originalUserAgent.toLowerCase();
-/** If the device is an iOS device. */
+/** If the device is an iOS device. (iPhone, iPad, iPod, or Apple Vision) */
export const isIos =
- /iphone|ipad|ipod/.test(lowerCaseOriginalUserAgent) ||
+ /iphone|ipad|ipod|applevision/.test(lowerCaseOriginalUserAgent) ||
(lowerCaseOriginalUserAgent.includes('mac') && navigator.maxTouchPoints > 1);
/** If the browser is Safari (excluding Chrome, Chromium-based browsers, and Android browsers). */
diff --git a/styles.css b/styles.css
index 75775b9..4917c89 100644
--- a/styles.css
+++ b/styles.css
@@ -2737,6 +2737,15 @@ input[type='search']::-webkit-search-cancel-button {
color: var(--muted-foreground);
}
+.setting-item .info.setting-details {
+ width: 100%;
+ display: block;
+}
+
+.setting-item .info.setting-details .description {
+ font-size: 0.8rem;
+}
+
.setting-item select,
.setting-item input[type='number'] {
background-color: var(--input);
@@ -4936,7 +4945,6 @@ input:checked + .slider::before {
margin-bottom: 1rem;
}
-
.customize-shortcut-item {
display: flex;
justify-content: space-between;