forked from coracle/caravel
Add livekit config option
This commit is contained in:
@@ -84,6 +84,7 @@ type RelayDetailCardProps = {
|
||||
onToggleGroups?: () => void
|
||||
onToggleManagement?: () => void
|
||||
onToggleMediaStorage?: () => void
|
||||
onToggleLivekitSupport?: () => void
|
||||
onTogglePushNotifications?: () => void
|
||||
}
|
||||
|
||||
@@ -246,7 +247,7 @@ export default function RelayDetailCard(props: RelayDetailCardProps) {
|
||||
/>
|
||||
</Show>
|
||||
</ToggleField>
|
||||
<ToggleField label="Audio Rooms">
|
||||
<ToggleField label="LiveKit support">
|
||||
<Show
|
||||
when={r().plan !== "free"}
|
||||
fallback={
|
||||
@@ -260,7 +261,7 @@ export default function RelayDetailCard(props: RelayDetailCardProps) {
|
||||
>
|
||||
<ToggleButton
|
||||
enabled={cfg()?.livekit.enabled ?? true}
|
||||
onToggle={props.onToggleMediaStorage}
|
||||
onToggle={props.onToggleLivekitSupport}
|
||||
/>
|
||||
</Show>
|
||||
</ToggleField>
|
||||
|
||||
@@ -104,6 +104,9 @@ export type RelayConfig = {
|
||||
blossom: {
|
||||
enabled: boolean
|
||||
}
|
||||
livekit: {
|
||||
enabled: boolean
|
||||
}
|
||||
push: {
|
||||
enabled: boolean
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ export default function AdminRelayDetail() {
|
||||
blossom: {
|
||||
enabled: config?.blossom.enabled ?? (relay()?.plan !== "free"),
|
||||
},
|
||||
livekit: {
|
||||
enabled: config?.livekit.enabled ?? (relay()?.plan !== "free"),
|
||||
},
|
||||
push: {
|
||||
enabled: config?.push.enabled ?? true,
|
||||
},
|
||||
@@ -131,6 +134,15 @@ export default function AdminRelayDetail() {
|
||||
void updateFlags(nextConfig, config)
|
||||
}
|
||||
|
||||
function toggleLivekitSupport() {
|
||||
const config = withDefaults(relay()?.config)
|
||||
const nextConfig = {
|
||||
...config,
|
||||
livekit: { enabled: !config.livekit.enabled },
|
||||
}
|
||||
void updateFlags(nextConfig, config)
|
||||
}
|
||||
|
||||
return (
|
||||
<PageContainer>
|
||||
<BackLink href="/admin/relays" label="Relays" />
|
||||
@@ -157,6 +169,7 @@ export default function AdminRelayDetail() {
|
||||
onToggleGroups={toggleGroups}
|
||||
onToggleManagement={toggleManagement}
|
||||
onToggleMediaStorage={toggleMediaStorage}
|
||||
onToggleLivekitSupport={toggleLivekitSupport}
|
||||
onTogglePushNotifications={togglePushNotifications}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -13,6 +13,7 @@ const DEFAULT_CONFIG: RelayConfig = {
|
||||
groups: { enabled: false, auto_join: false },
|
||||
management: { enabled: false },
|
||||
blossom: { enabled: false },
|
||||
livekit: { enabled: false },
|
||||
push: { enabled: false },
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,9 @@ export default function RelayDetail() {
|
||||
blossom: {
|
||||
enabled: config?.blossom.enabled ?? (relay()?.plan !== "free"),
|
||||
},
|
||||
livekit: {
|
||||
enabled: config?.livekit.enabled ?? (relay()?.plan !== "free"),
|
||||
},
|
||||
push: {
|
||||
enabled: config?.push.enabled ?? true,
|
||||
},
|
||||
@@ -132,6 +135,15 @@ export default function RelayDetail() {
|
||||
void updateFlags(nextConfig, config)
|
||||
}
|
||||
|
||||
function toggleLivekitSupport() {
|
||||
const config = withDefaults(relay()?.config)
|
||||
const nextConfig = {
|
||||
...config,
|
||||
livekit: { enabled: !config.livekit.enabled },
|
||||
}
|
||||
void updateFlags(nextConfig, config)
|
||||
}
|
||||
|
||||
return (
|
||||
<PageContainer>
|
||||
<BackLink href="/relays" label="Relays" />
|
||||
@@ -158,6 +170,7 @@ export default function RelayDetail() {
|
||||
onToggleGroups={toggleGroups}
|
||||
onToggleManagement={toggleManagement}
|
||||
onToggleMediaStorage={toggleMediaStorage}
|
||||
onToggleLivekitSupport={toggleLivekitSupport}
|
||||
onTogglePushNotifications={togglePushNotifications}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -13,6 +13,7 @@ const DEFAULT_CONFIG: RelayConfig = {
|
||||
groups: { enabled: false, auto_join: false },
|
||||
management: { enabled: false },
|
||||
blossom: { enabled: false },
|
||||
livekit: { enabled: false },
|
||||
push: { enabled: false },
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ const DEFAULT_CONFIG: RelayConfig = {
|
||||
groups: { enabled: true, auto_join: true },
|
||||
management: { enabled: true },
|
||||
blossom: { enabled: false },
|
||||
livekit: { enabled: false },
|
||||
push: { enabled: true },
|
||||
}
|
||||
|
||||
@@ -51,6 +52,7 @@ export default function RelayNew() {
|
||||
config: {
|
||||
...DEFAULT_CONFIG,
|
||||
blossom: { enabled: plan() !== "free" },
|
||||
livekit: { enabled: plan() !== "free" },
|
||||
},
|
||||
})
|
||||
navigate(`/relays/${relay.id}`)
|
||||
|
||||
Reference in New Issue
Block a user