adding admin config options

This commit is contained in:
balzack 2025-02-21 10:54:26 -08:00
parent e064afc132
commit c471f8defc
5 changed files with 33 additions and 32 deletions

View File

@ -204,7 +204,7 @@ export function Setup() {
<Switch style={styles.controlSwitch} value={state.setup?.enableService} disabled={state.loading} onValueChange={()=>actions.setEnableService(!state.setup?.enableService)} />
</View>
)}
{ state.setup?.enableIce && state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'cloudflare' && (
<View style={styles.option}>
<Text style={styles.label}>TURN_KEY_ID:</Text>
<Surface mode="flat" elevation={5} style={styles.inputSurface}>
@ -224,7 +224,7 @@ export function Setup() {
</Surface>
</View>
)}
{ state.setup?.enableIce && state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'cloudflare' && (
<View style={styles.option}>
<Text style={styles.label}>TURN_KEY_API_TOKEN:</Text>
<Surface mode="flat" elevation={5} style={styles.inputSurface}>
@ -244,7 +244,7 @@ export function Setup() {
</Surface>
</View>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<View style={styles.option}>
<Text style={styles.label}>{ state.strings.serverUrl }:</Text>
<Surface mode="flat" elevation={5} style={styles.inputSurface}>
@ -264,7 +264,7 @@ export function Setup() {
</Surface>
</View>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<View style={styles.option}>
<Text style={styles.label}>{ state.strings.webUsername }:</Text>
<Surface mode="flat" elevation={5} style={styles.inputSurface}>
@ -284,7 +284,7 @@ export function Setup() {
</Surface>
</View>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<View style={styles.option}>
<Text style={styles.label}>{ state.strings.webPassword }:</Text>
<Surface mode="flat" elevation={5} style={styles.inputSurface}>

View File

@ -21,7 +21,7 @@ export function Accounts({ openSetup }: { openSetup: ()=>void }) {
];
return (
<Card key={idx} className={classes.member} imageUrl={member.imageUrl} name={member.handle} handle={member.guid} select={()=>{}} actions={options} />
<Card key={idx} className={classes.member} imageUrl={member.imageUrl} name={member.handle} handle={member.guid} select={()=>{}} actions={options} placeholder="" node="" />
)
});

View File

@ -25,10 +25,10 @@ export function Setup() {
<div className={classes.content}>
<div className={classes.option}>
<Text className={classes.label}>{state.strings.keyType}:</Text>
<Radio.Group name="keyType" className={classes.radio} disabled={state.loading} value={state.setup?.keyType} onChange={actions.setKeyType}>
<Radio.Group name="keyType" className={classes.radio} value={state.setup?.keyType} onChange={actions.setKeyType}>
<Group mt="xs">
<Radio value="RSA_2048" label="RSA2048" />
<Radio value="RSA_4096" label="RSA4096" />
<Radio disabled={state.loading} value="RSA_2048" label="RSA2048" />
<Radio disabled={state.loading} value="RSA_4096" label="RSA4096" />
</Group>
</Radio.Group>
</div>
@ -49,7 +49,7 @@ export function Setup() {
className={classes.value}
size="sm"
disabled={state.loading}
value={state.setup?.accountStorage}
value={state.accountStorage}
placeholder={state.strings.storageHint}
onChange={(event) => actions.setAccountStorage(event.currentTarget.value)}
/>
@ -102,62 +102,62 @@ export function Setup() {
{ state.setup?.enableIce && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.enableService}:</Text>
<Switch className={classes.switch} disabled={state.loading} checked={state.setup?.enableService} onChange={(ev) => actions.setEnableService(ev.currentTarget.checked)} />
<Switch className={classes.switch} disabled={state.loading} checked={state.setup?.iceService === 'cloudflare'} onChange={(ev) => actions.setEnableService(ev.currentTarget.checked)} />
</div>
)}
{ state.setup?.enableIce && state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'cloudflare' && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.storageLimit}:</Text>
<Text className={classes.label}>TURN_KEY_ID:</Text>
<TextInput
className={classes.value}
size="sm"
disabled={state.loading}
value={state.accountStorage}
placeholder={state.strings.storageHint}
onChange={(event) => actions.setAccountStorage(event.currentTarget.value)}
value={state.setup?.iceUsername || ''}
placeholder="KEY_ID"
onChange={(event) => actions.setIceUsername(event.currentTarget.value)}
/>
</div>
)}
{ state.setup?.enableIce && state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'cloudflare' && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.storageLimit}:</Text>
<Text className={classes.label}>TURN_KEY_API_TOKEN:</Text>
<TextInput
className={classes.value}
size="sm"
disabled={state.loading}
value={state.accountStorage}
placeholder={state.strings.storageHint}
onChange={(event) => actions.setAccountStorage(event.currentTarget.value)}
value={state.setup?.icePassword || ''}
placeholder="API_TOKEN"
onChange={(event) => actions.setIcePassword(event.currentTarget.value)}
/>
</div>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.storageLimit}:</Text>
<Text className={classes.label}>{state.strings.serverUrl}:</Text>
<TextInput
className={classes.value}
size="sm"
disabled={state.loading}
value={state.accountStorage}
placeholder={state.strings.storageHint}
onChange={(event) => actions.setAccountStorage(event.currentTarget.value)}
value={state.setup?.iceUrl || ''}
placeholder={state.strings.urlHint}
onChange={(event) => actions.setIceUrl(event.currentTarget.value)}
/>
</div>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.webUsername}:</Text>
<TextInput
className={classes.value}
size="sm"
disabled={state.loading}
value={state.setup?.iceUsername}
value={state.setup?.iceUsername || ''}
placeholder={state.strings.username}
onChange={(event) => actions.setIceUsername(event.currentTarget.value)}
/>
</div>
)}
{ state.setup?.enableIce && !state.setup?.enableService && (
{ state.setup?.enableIce && state.setup?.iceService === 'default' && (
<div className={classes.option}>
<Text className={classes.label}>{state.strings.webPassword}:</Text>
<TextInput

View File

@ -41,7 +41,7 @@ export function useSetup() {
const mfaEnabled = await service.checkMFAuth();
setup.current = await service.getSetup();
loading.current = false;
const storage = Math.floor(setup.current?.accountStorage || 0 / 1073741824);
const storage = Math.floor((setup.current?.accountStorage || 0) / 1073741824);
updateState({ setup: setup.current, mfaEnabled, accountStorage: storage.toString(), loading: false });
} catch (err) {
console.log(err);
@ -152,7 +152,8 @@ export function useSetup() {
save();
}
},
setKeyType: (keyType: KeyType) => {
setKeyType: (type: string) => {
const keyType = type === 'RSA_2048' ? KeyType.RSA_2048 : KeyType.RSA_4096;
if (setup.current) {
setup.current.keyType = keyType;
updateState({ setup: setup.current });

View File

@ -228,7 +228,7 @@ export enum KeyType {
}
export enum ICEService {
Cloudflare = 'cloudflage',
Cloudflare = 'cloudflare',
Default = 'default',
}