diff --git a/web/components.d.ts b/web/components.d.ts index 6fab8d9e3..deb27eae3 100644 --- a/web/components.d.ts +++ b/web/components.d.ts @@ -67,12 +67,12 @@ declare module 'vue' { IMdiPlay: typeof import('~icons/mdi/play')['default'] IMdiRadioboxBlank: typeof import('~icons/mdi/radiobox-blank')['default'] IMdiRadioboxIndeterminateVariant: typeof import('~icons/mdi/radiobox-indeterminate-variant')['default'] - IMdiSync: typeof import('~icons/mdi/sync')['default'] IMdiSourceBranch: typeof import('~icons/mdi/source-branch')['default'] IMdiSourceCommit: typeof import('~icons/mdi/source-commit')['default'] IMdiSourceMerge: typeof import('~icons/mdi/source-merge')['default'] IMdiSourcePull: typeof import('~icons/mdi/source-pull')['default'] IMdiStop: typeof import('~icons/mdi/stop')['default'] + IMdiSync: typeof import('~icons/mdi/sync')['default'] IMdiTagOutline: typeof import('~icons/mdi/tag-outline')['default'] InputField: typeof import('./src/components/form/InputField.vue')['default'] IPhGitlabLogoSimpleFill: typeof import('~icons/ph/gitlab-logo-simple-fill')['default'] @@ -100,8 +100,8 @@ declare module 'vue' { PipelineStepList: typeof import('./src/components/repo/pipeline/PipelineStepList.vue')['default'] Popup: typeof import('./src/components/layout/Popup.vue')['default'] RadioField: typeof import('./src/components/form/RadioField.vue')['default'] - RegistryEdit: typeof import('./src/components/registry/RegistryEdit.vue')['default'] RegistriesTab: typeof import('./src/components/repo/settings/RegistriesTab.vue')['default'] + RegistryEdit: typeof import('./src/components/registry/RegistryEdit.vue')['default'] RegistryList: typeof import('./src/components/registry/RegistryList.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] @@ -116,6 +116,7 @@ declare module 'vue' { TextField: typeof import('./src/components/form/TextField.vue')['default'] UserCLIAndAPITab: typeof import('./src/components/user/UserCLIAndAPITab.vue')['default'] UserGeneralTab: typeof import('./src/components/user/UserGeneralTab.vue')['default'] + UserRegistriesTab: typeof import('./src/components/user/UserRegistriesTab.vue')['default'] UserSecretsTab: typeof import('./src/components/user/UserSecretsTab.vue')['default'] Warning: typeof import('./src/components/atomic/Warning.vue')['default'] } diff --git a/web/src/assets/locales/en.json b/web/src/assets/locales/en.json index d6b9338e8..c1538704b 100644 --- a/web/src/assets/locales/en.json +++ b/web/src/assets/locales/en.json @@ -388,6 +388,9 @@ "secrets": { "desc": "User secrets can be passed to all user's repository individual pipeline steps at runtime as environmental variables." }, + "registries": { + "desc": "User registries credentials can be added to use private images for all individual pipelines." + }, "cli_and_api": { "cli_and_api": "CLI & API", "desc": "Personal Access Token, CLI and API usage", diff --git a/web/src/components/user/UserRegistriesTab.vue b/web/src/components/user/UserRegistriesTab.vue new file mode 100644 index 000000000..012570e9a --- /dev/null +++ b/web/src/components/user/UserRegistriesTab.vue @@ -0,0 +1,114 @@ + + + diff --git a/web/src/views/User.vue b/web/src/views/User.vue index 93d26b379..db6ba1ff4 100644 --- a/web/src/views/User.vue +++ b/web/src/views/User.vue @@ -8,6 +8,9 @@ + + + @@ -19,6 +22,7 @@ import Scaffold from '~/components/layout/scaffold/Scaffold.vue'; import Tab from '~/components/layout/scaffold/Tab.vue'; import UserCLIAndAPITab from '~/components/user/UserCLIAndAPITab.vue'; import UserGeneralTab from '~/components/user/UserGeneralTab.vue'; +import UserRegistriesTab from '~/components/user/UserRegistriesTab.vue'; import UserSecretsTab from '~/components/user/UserSecretsTab.vue'; import useConfig from '~/compositions/useConfig';