Skip to content

Commit 5adee8c

Browse files
authored
refactor(settings): update tab structure and localization strings (#662)
* refactor(settings): update tab structure and localization strings in SettingsDialog Signed-off-by: Pavel Pikta <devops@pavelpikta.com> * feat(settings): add desktop-specific hint for VLC protocol in MobileAppSettings Signed-off-by: Pavel Pikta <devops@pavelpikta.com> --------- Signed-off-by: Pavel Pikta <devops@pavelpikta.com>
1 parent dfe2790 commit 5adee8c

File tree

10 files changed

+51
-22
lines changed

10 files changed

+51
-22
lines changed

web/src/components/Settings/MobileAppSettings.jsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { FormControlLabel, FormGroup, FormHelperText, Switch } from '@material-ui/core'
2-
import { isMacOS, isAppleDevice } from 'utils/Utils'
1+
import { FormControlLabel, FormGroup, FormHelperText, Switch, Link } from '@material-ui/core'
2+
import { isMacOS, isAppleDevice, isDesktop } from 'utils/Utils'
33
import { useTranslation } from 'react-i18next'
44

55
import { SecondarySettingsContent, SettingSectionLabel } from './style'
@@ -15,6 +15,7 @@ export default function MobileAppSettings({
1515
const { t } = useTranslation()
1616
const isMac = isMacOS()
1717
const isApple = isAppleDevice()
18+
const isDesktopPlatform = isDesktop()
1819

1920
return (
2021
<SecondarySettingsContent>
@@ -26,6 +27,19 @@ export default function MobileAppSettings({
2627
labelPlacement='start'
2728
/>
2829
<FormHelperText margin='none'>{t('SettingsDialog.UseVLCHint')}</FormHelperText>
30+
{isDesktopPlatform && (
31+
<FormHelperText margin='none'>
32+
{t('SettingsDialog.UseVLCDesktopHintPrefix')}{' '}
33+
<Link
34+
href='https://github.com/northsea4/vlc-protocol'
35+
target='_blank'
36+
rel='noopener noreferrer'
37+
color='secondary'
38+
>
39+
vlc-protocol-handler
40+
</Link>
41+
</FormHelperText>
42+
)}
2943
{isApple && (
3044
<>
3145
<FormControlLabel

web/src/components/Settings/SettingsDialog.jsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,7 @@ export default function SettingsDialog({ handleClose }) {
142142

143143
<StyledTab label={t('Search')} {...a11yProps(2)} />
144144

145-
<StyledTab label={t('TMDB.Settings')} {...a11yProps(3)} />
146-
147-
<StyledTab label={t('SettingsDialog.Tabs.App')} {...a11yProps(4)} />
145+
<StyledTab label={t('SettingsDialog.Tabs.App')} {...a11yProps(3)} />
148146
</StyledTabs>
149147
</AppBar>
150148

@@ -181,9 +179,6 @@ export default function SettingsDialog({ handleClose }) {
181179

182180
<TabPanel value={selectedTab} index={3} dir={direction}>
183181
<TMDBSettings settings={settings} updateSettings={updateSettings} />
184-
</TabPanel>
185-
186-
<TabPanel value={selectedTab} index={4} dir={direction}>
187182
<MobileAppSettings
188183
isVlcUsed={isVlcUsed}
189184
setIsVlcUsed={setIsVlcUsed}

web/src/locales/bg/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "Име на DLNA сървъра",
155155
"FriendlyNameHint": "Оставете празно, за да използвате по подразбиране",
156156
"JsonFile": "JSON файл",
157-
"MobileAppSettings": "Настройки на мобилното приложение",
157+
"MobileAppSettings": "Плейъри",
158158
"PeersListenPort": "Порт за слушане на пиъри",
159159
"PeersListenPortHint": "1024 - 65535, 0 - случайно",
160160
"PreloadCache": "Предварително зареждане на кеша преди възпроизвеждане",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Допълнителен",
193193
"AdditionalDisabled": "(разрешете ПРО режим)",
194-
"App": "Плейъри",
194+
"App": "Приложение",
195195
"Main": "Основен"
196196
},
197197
"TorrentDisconnectTimeout": "Време на изчакване на връзката с торенти",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Добави бутон към Infuse плеъра за списъка с торенти",
205205
"UseVLC": "Подкана за отваряне на видео във VLC",
206206
"UseVLCHint": "Добави бутон към VLC плеъра за списъка с торенти",
207+
"UseVLCDesktopHintPrefix": "На компютър е необходим",
207208
"UseIINA": "Подкана за отваряне на видео в IINA",
208209
"UseIINAHint": "Добави бутон към IINA плеъра за списъка с торенти (само macOS)",
209210
"ViewedHistoryStorage": "Съхранение на историята на прегледите:",

web/src/locales/en/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "DLNA Server Name",
155155
"FriendlyNameHint": "Leave blank to use default",
156156
"JsonFile": "JSON File",
157-
"MobileAppSettings": "Mobile app settings",
157+
"MobileAppSettings": "Players",
158158
"PeersListenPort": "Peers Listen Port",
159159
"PeersListenPortHint": "1024 - 65535, 0 - random",
160160
"PreloadCache": "Preload Cache Before Play",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Additional",
193193
"AdditionalDisabled": "(enable PRO mode)",
194-
"App": "Players",
194+
"App": "Application",
195195
"Main": "Main"
196196
},
197197
"TorrentDisconnectTimeout": "Torrent Disconnect Timeout",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Add Infuse player button to torrent content list",
205205
"UseVLC": "Prompt to open video in VLC",
206206
"UseVLCHint": "Add VLC player button to torrent content list",
207+
"UseVLCDesktopHintPrefix": "Desktop requires",
207208
"UseIINA": "Prompt to open video in IINA",
208209
"UseIINAHint": "Add IINA player button to torrent content list (macOS only)",
209210
"ViewedHistoryStorage": "Viewed History Storage:",

web/src/locales/fr/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "Nom du serveur DLNA",
155155
"FriendlyNameHint": "Laisser vide pour utiliser la valeur par défaut",
156156
"JsonFile": "Fichier JSON",
157-
"MobileAppSettings": "Paramètres de l'application mobile",
157+
"MobileAppSettings": "Lecteurs",
158158
"PeersListenPort": "Port d'écoute des pairs",
159159
"PeersListenPortHint": "1024 - 65535, 0 - aléatoire",
160160
"PreloadCache": "Cache de préchargement avant la lecture",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Supplémentaire",
193193
"AdditionalDisabled": "(activer le mode PRO)",
194-
"App": "Lecteurs",
194+
"App": "Application",
195195
"Main": "Principal"
196196
},
197197
"TorrentDisconnectTimeout": "Délai de déconnexion du torrent",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Ajouter un bouton de lecteur Infuse à la liste de contenu du torrent",
205205
"UseVLC": "Demander d'ouvrir la vidéo dans VLC",
206206
"UseVLCHint": "Ajouter un bouton de lecteur VLC à la liste de contenu du torrent",
207+
"UseVLCDesktopHintPrefix": "Sur PC nécessite",
207208
"UseIINA": "Demander d'ouvrir la vidéo dans IINA",
208209
"UseIINAHint": "Ajouter un bouton de lecteur IINA à la liste de contenu du torrent (macOS uniquement)",
209210
"ViewedHistoryStorage": "Stockage de l'historique des vues :",

web/src/locales/ro/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "Numele serverului DLNA",
155155
"FriendlyNameHint": "Lăsați necompletat pentru a utiliza valoarea implicită",
156156
"JsonFile": "JSON File",
157-
"MobileAppSettings": "Setări aplicație mobilă",
157+
"MobileAppSettings": "Playere",
158158
"PeersListenPort": "Port pentru conexiuni de la peers",
159159
"PeersListenPortHint": "1024 - 65535, 0 - aleatoriu",
160160
"PreloadCache": "Preîncărcare cache înainte de redare",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Suplimentar",
193193
"AdditionalDisabled": "(activează modul PRO)",
194-
"App": "Playere",
194+
"App": "Aplicație",
195195
"Main": "Meniu Principal"
196196
},
197197
"TorrentDisconnectTimeout": "Timp de expirare pentru deconectarea torrentului",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Adăugați butonul Infuse player la lista de conținut torrent",
205205
"UseVLC": "Solicitare pentru deschiderea videoclipului în VLC",
206206
"UseVLCHint": "Adăugați butonul VLC player la lista de conținut torrent",
207+
"UseVLCDesktopHintPrefix": "Pe desktop necesită",
207208
"UseIINA": "Solicitare pentru deschiderea videoclipului în IINA",
208209
"UseIINAHint": "Adăugați butonul IINA player la lista de conținut torrent (doar macOS)",
209210
"ViewedHistoryStorage": "Istoricul vizualizărilor stocate:",

web/src/locales/ru/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "Имя сервера DLNA",
155155
"FriendlyNameHint": "Оставьте пустым, чтобы использовать значение по умолчанию.",
156156
"JsonFile": "JSON-файл",
157-
"MobileAppSettings": "Настройки приложения",
157+
"MobileAppSettings": "Плееры",
158158
"PeersListenPort": "Порт для входящих подключений",
159159
"PeersListenPortHint": "1024 - 65535, 0 - авто",
160160
"PreloadCache": "Буфер предзагрузки",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Расширенные",
193193
"AdditionalDisabled": "(включите ПРО-режим)",
194-
"App": "Плееры",
194+
"App": "Приложение",
195195
"Main": "Основные"
196196
},
197197
"TorrentDisconnectTimeout": "Тайм-аут отключения торрента",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Добавить кнопку проигрывателя Infuse в список торрент-контента",
205205
"UseVLC": "Предлагать открыть видео в VLC",
206206
"UseVLCHint": "Добавить кнопку проигрывателя VLC в список торрент-контента",
207+
"UseVLCDesktopHintPrefix": "На ПК требуется",
207208
"UseIINA": "Предлагать открыть видео в IINA",
208209
"UseIINAHint": "Добавить кнопку проигрывателя IINA в список торрент-контента (только macOS)",
209210
"ViewedHistoryStorage": "Хранилище истории просмотров:",

web/src/locales/ua/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "Ім'я сервера DLNA",
155155
"FriendlyNameHint": "Залиште порожнім, щоб використовувати значення за промовчанням.",
156156
"JsonFile": "JSON файл",
157-
"MobileAppSettings": "Установки моб. програми",
157+
"MobileAppSettings": "Плеєри",
158158
"PeersListenPort": "Порт для вхідних з'єднань",
159159
"PeersListenPortHint": "1024 - 65535, 0 - авто",
160160
"PreloadCache": "Буфер попер. завантаження",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "Додаткові",
193193
"AdditionalDisabled": "(включіть ПРО-режим)",
194-
"App": "Плеєри",
194+
"App": "Застосунок",
195195
"Main": "Основні"
196196
},
197197
"TorrentDisconnectTimeout": "Час очікування відключення торрента",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "Додати кнопку програвача Infuse до списку торрент-контенту",
205205
"UseVLC": "Пропонувати відкрити відео у VLC",
206206
"UseVLCHint": "Додати кнопку програвача VLC до списку торрент-контенту",
207+
"UseVLCDesktopHintPrefix": "На ПК потрібен",
207208
"UseIINA": "Пропонувати відкрити відео в IINA",
208209
"UseIINAHint": "Додати кнопку програвача IINA до списку торрент-контенту (тільки macOS)",
209210
"ViewedHistoryStorage": "Збереження історії переглядів:",

web/src/locales/zh/translation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
"FriendlyName": "DLNA服务器名称",
155155
"FriendlyNameHint": "留空使用默认值",
156156
"JsonFile": "JSON文件",
157-
"MobileAppSettings": "移动APP设置",
157+
"MobileAppSettings": "播放器",
158158
"PeersListenPort": "Peers监听端口",
159159
"PeersListenPortHint": "1024 - 65535,0 - 自动",
160160
"PreloadCache": "播放前预加载缓存",
@@ -191,7 +191,7 @@
191191
"Tabs": {
192192
"Additional": "附加",
193193
"AdditionalDisabled": "(启用专业模式)",
194-
"App": "播放器",
194+
"App": "应用程序",
195195
"Main": "主要"
196196
},
197197
"TorrentDisconnectTimeout": "种子断开超时",
@@ -204,6 +204,7 @@
204204
"UseInfuseHint": "将 Infuse 播放器按钮添加到种子内容列表",
205205
"UseVLC": "提示在VLC中打开视频",
206206
"UseVLCHint": "将VLC播放器按钮添加到种子内容列表",
207+
"UseVLCDesktopHintPrefix": "桌面端需要",
207208
"UseIINA": "提示在 IINA 中打开视频",
208209
"UseIINAHint": "将 IINA 播放器按钮添加到种子内容列表(仅 macOS)",
209210
"ViewedHistoryStorage": "查看历史存储:",

web/src/utils/Utils.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,19 @@ export const isMacOS = () => {
113113
return isMac && !isIOS
114114
}
115115

116+
export const isDesktop = () => {
117+
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
118+
return false
119+
}
120+
121+
const userAgent = navigator.userAgent || ''
122+
123+
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)
124+
const isTabletWithTouch = /Macintosh/i.test(userAgent) && navigator.maxTouchPoints > 1
125+
126+
return !isMobile && !isTabletWithTouch
127+
}
128+
116129
/**
117130
* Formats bytes to classic size units (B, KB, MB, GB, TB)
118131
* Uses binary (1024) base for conversion

0 commit comments

Comments
 (0)