Feature/settings support custom extension repos (#539)

* [Codegen] Support custom extension repos

* [VersionMapping] Require server version "r1444" for preview
This commit is contained in:
schroda
2024-01-06 18:38:16 +01:00
committed by GitHub
parent b42c3103f1
commit 39b79c6ebe
12 changed files with 245 additions and 33 deletions

View File

@@ -16,6 +16,7 @@ import { useLocalStorage } from '@/util/useLocalStorage.tsx';
import { TextSetting } from '@/components/settings/TextSetting.tsx';
import { ServerSettings as GqlServerSettings } from '@/typings.ts';
import { NumberSetting } from '@/components/settings/NumberSetting.tsx';
import { MutableListSetting } from '@/components/settings/MutableListSetting.tsx';
type ServerSettingsType = Pick<
GqlServerSettings,
@@ -32,6 +33,7 @@ type ServerSettingsType = Pick<
| 'basicAuthPassword'
| 'maxSourcesInParallel'
| 'localSourcePath'
| 'extensionRepos'
>;
const extractDownloadSettings = (settings: GqlServerSettings): ServerSettingsType => ({
@@ -48,6 +50,7 @@ const extractDownloadSettings = (settings: GqlServerSettings): ServerSettingsTyp
basicAuthPassword: settings.basicAuthPassword,
maxSourcesInParallel: settings.maxSourcesInParallel,
localSourcePath: settings.localSourcePath,
extensionRepos: settings.extensionRepos,
});
export const ServerSettings = () => {
@@ -120,6 +123,21 @@ export const ServerSettings = () => {
handleUpdate={(parallelSources) => updateSetting('maxSourcesInParallel', parallelSources)}
/>
</List>
<List
subheader={
<ListSubheader component="div" id="server-settings-extension-repos">
{t('extension.title')}
</ListSubheader>
}
>
<MutableListSetting
settingName={t('extension.settings.repositories.custom.label.title')}
description={t('extension.settings.repositories.custom.label.description')}
handleChange={(repos) => updateSetting('extensionRepos', repos)}
values={serverSettings?.extensionRepos}
addItemButtonTitle={t('extension.settings.repositories.custom.dialog.action.button.add')}
/>
</List>
<List
subheader={
<ListSubheader component="div" id="server-settings-requests">