Skip to content

Commit 755235a

Browse files
committed
feat(camera): add Camera Tab toggle
1 parent bfcd31c commit 755235a

7 files changed

Lines changed: 27 additions & 8 deletions

File tree

src/main/shared/types/AppConfig.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export type ExtraConfig = DongleConfig & {
2525
kiosk: boolean
2626
uiZoomPercent: number
2727
camera: string
28+
cameraEnabled: boolean
2829
telemetryEnabled: boolean
2930
telemetryDashboards?: TelemetryDashboardConfig[]
3031
appearanceMode: AppearanceMode

src/main/shared/types/DefaultConfig.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ export const DEFAULT_EXTRA_CONFIG: ExtraConfig = {
6262
kiosk: false,
6363
uiZoomPercent: 100,
6464
camera: '',
65+
cameraEnabled: false,
6566
cameraMirror: false,
6667
autoSwitchOnStream: false,
6768
autoSwitchOnPhoneCall: true,

src/renderer/src/components/navigation/useTabsConfig.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const useTabsConfig: (receivingVideo: boolean) => TabConfig[] = (receivin
1616
const isDongleConnected = useStatusStore((s) => s.isDongleConnected || s.isAaActive)
1717
const cameraFound = useStatusStore((s) => s.cameraFound)
1818
const clusterEnabled = useLiviStore((s) => s.settings?.clusterEnabled ?? false)
19+
const cameraEnabled = useLiviStore((s) => s.settings?.cameraEnabled ?? true)
1920
const telemetryEnabled = useLiviStore((s) => s.settings?.telemetryEnabled ?? false)
2021

2122
return [
@@ -65,12 +66,16 @@ export const useTabsConfig: (receivingVideo: boolean) => TabConfig[] = (receivin
6566
]
6667
: []),
6768
{ label: 'Media', path: ROUTES.MEDIA, icon: <PlayCircleOutlinedIcon sx={{ fontSize: 30 }} /> },
68-
{
69-
label: 'Camera',
70-
path: ROUTES.CAMERA,
71-
icon: <CameraswitchOutlinedIcon sx={{ fontSize: 30 }} />,
72-
disabled: !cameraFound
73-
},
69+
...(cameraEnabled
70+
? [
71+
{
72+
label: 'Camera',
73+
path: ROUTES.CAMERA,
74+
icon: <CameraswitchOutlinedIcon sx={{ fontSize: 30 }} />,
75+
disabled: !cameraFound
76+
}
77+
]
78+
: []),
7479
{
7580
label: 'Settings',
7681
path: ROUTES.SETTINGS,

src/renderer/src/locales/de.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
"clusterSafeAreaRightDescription": "Rechter Abstand des Cluster-Bildschirms in px.",
147147
"camera": "Kamera",
148148
"cameraMirror": "Spiegeln",
149+
"cameraTab": "Kamera-Tab",
150+
"reverseCamera": "Rückfahrkamera",
149151
"appearance": "Aussehen",
150152
"darkMode": "Dark Mode",
151153
"phoneAppearance": "Erscheinungsbild Telefon",

src/renderer/src/locales/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
"clusterSafeAreaRightDescription": "Cluster screen right inset in px.",
147147
"camera": "Camera",
148148
"cameraMirror": "Mirroring",
149+
"cameraTab": "Camera Tab",
150+
"reverseCamera": "Reverse Camera",
149151
"appearance": "Appearance",
150152
"darkMode": "Dark Mode",
151153
"phoneAppearance": "Phone Appearance",

src/renderer/src/locales/ua.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
"clusterSafeAreaRightDescription": "Правий відступ екрана кластера в px.",
147147
"camera": "Камера",
148148
"cameraMirror": "Дзеркалювання",
149+
"cameraTab": "Вкладка камери",
150+
"reverseCamera": "Камера заднього виду",
149151
"appearance": "Зовнішній вигляд",
150152
"darkMode": "Темний режим",
151153
"phoneAppearance": "Вигляд телефону",

src/renderer/src/routes/schemas/videoSchema.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,12 +328,18 @@ export const videoSchema: SettingsNode<ExtraConfig> = {
328328
},
329329
{
330330
type: 'route',
331-
label: 'Camera',
332-
labelKey: 'settings.camera',
331+
label: 'Reverse Camera',
332+
labelKey: 'settings.reverseCamera',
333333
route: 'camera',
334334
path: '',
335335
displayValue: true,
336336
children: [
337+
{
338+
type: 'checkbox',
339+
label: 'Camera Tab',
340+
labelKey: 'settings.cameraTab',
341+
path: 'cameraEnabled'
342+
},
337343
{
338344
type: 'route',
339345
label: 'Camera',

0 commit comments

Comments
 (0)