Merge branch 'main' into pr/2977

This commit is contained in:
Robert Kaussow
2025-03-24 13:02:38 +01:00
committed by GitHub
10 changed files with 76 additions and 32 deletions

View File

@@ -95,7 +95,7 @@
"settings": { "settings": {
"not_allowed": "You are not allowed to access the settings of this repository", "not_allowed": "You are not allowed to access the settings of this repository",
"general": { "general": {
"general": "General", "general": "Project",
"project": "Project settings", "project": "Project settings",
"save": "Save settings", "save": "Save settings",
"success": "Project settings updated", "success": "Project settings updated",
@@ -417,7 +417,7 @@
"settings": { "settings": {
"settings": "User Settings", "settings": "User Settings",
"general": { "general": {
"general": "General", "general": "Account",
"language": "Language", "language": "Language",
"theme": { "theme": {
"theme": "Theme", "theme": "Theme",

View File

@@ -2,7 +2,7 @@
<template> <template>
<SvgIcon v-if="name === 'duration'" :path="mdiTimerOutline" size="1.3rem" /> <SvgIcon v-if="name === 'duration'" :path="mdiTimerOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'since'" :path="mdiClockTimeEightOutline" size="1.3rem" /> <SvgIcon v-else-if="name === 'since'" :path="mdiClockTimeEightOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'push'" :path="mdiSourceBranch" size="1.3rem" /> <SvgIcon v-else-if="name === 'branch'" :path="mdiSourceBranch" size="1.3rem" />
<SvgIcon v-else-if="name === 'pull-request'" :path="mdiSourcePull" size="1.3rem" /> <SvgIcon v-else-if="name === 'pull-request'" :path="mdiSourcePull" size="1.3rem" />
<SvgIcon v-else-if="name === 'pull-request-closed'" :path="mdiSourceMerge" size="1.3rem" /> <SvgIcon v-else-if="name === 'pull-request-closed'" :path="mdiSourceMerge" size="1.3rem" />
<SvgIcon v-else-if="name === 'manual-pipeline'" :path="mdiGestureTap" size="1.3rem" /> <SvgIcon v-else-if="name === 'manual-pipeline'" :path="mdiGestureTap" size="1.3rem" />
@@ -17,6 +17,15 @@
<SvgIcon v-else-if="name === 'trash'" :path="mdiTrashCanOutline" size="1.3rem" /> <SvgIcon v-else-if="name === 'trash'" :path="mdiTrashCanOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'status-blocked'" :path="mdiPlayCircle" size="1.3rem" /> <SvgIcon v-else-if="name === 'status-blocked'" :path="mdiPlayCircle" size="1.3rem" />
<SvgIcon v-else-if="name === 'status-declined'" :path="mdiStopCircle" size="1.3rem" /> <SvgIcon v-else-if="name === 'status-declined'" :path="mdiStopCircle" size="1.3rem" />
<SvgIcon v-else-if="name === 'list-group'" :path="mdiFormatListGroup" size="1.3rem" />
<SvgIcon v-else-if="name === 'secret'" :path="mdiShieldKeyOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'console'" :path="mdiConsole" size="1.3rem" />
<SvgIcon v-else-if="name === 'agent'" :path="mdiPlayNetworkOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'info'" :path="mdiInformationSlabCircleOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'user'" :path="mdiAccountOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'org'" :path="mdiAccountGroupOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'cron'" :path="mdiCalendarClockOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'toolbox'" :path="mdiToolboxOutline" size="1.3rem" />
<SvgIcon <SvgIcon
v-else-if="name === 'status-failure' || name === 'status-error' || name === 'status-killed'" v-else-if="name === 'status-failure' || name === 'status-error' || name === 'status-killed'"
type="mdi" type="mdi"
@@ -49,6 +58,10 @@
<SvgIcon v-else-if="name === 'play'" :path="mdiPlay" size="1.3rem" /> <SvgIcon v-else-if="name === 'play'" :path="mdiPlay" size="1.3rem" />
<SvgIcon v-else-if="name === 'play-outline'" :path="mdiPlayOutline" size="1.3rem" /> <SvgIcon v-else-if="name === 'play-outline'" :path="mdiPlayOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'dots'" :path="mdiDotsVertical" size="1.3rem" /> <SvgIcon v-else-if="name === 'dots'" :path="mdiDotsVertical" size="1.3rem" />
<SvgIcon v-else-if="name === 'tray-full'" :path="mdiTrayFull" size="24" />
<SvgIcon v-else-if="name === 'file-cog-outlined'" :path="mdiFileCogOutline" size="24" />
<SvgIcon v-else-if="name === 'bug-outline'" :path="mdiBugOutline" size="24" />
<SvgIcon v-else-if="name === 'docker'" :path="mdiDocker" size="1.3rem" />
<SvgIcon v-else-if="name === 'visibility-private'" :path="mdiLockOutline" size="1.3rem" /> <SvgIcon v-else-if="name === 'visibility-private'" :path="mdiLockOutline" size="1.3rem" />
<SvgIcon v-else-if="name === 'visibility-internal'" :path="mdiLockOpenOutline" size="1.3rem" /> <SvgIcon v-else-if="name === 'visibility-internal'" :path="mdiLockOpenOutline" size="1.3rem" />
@@ -83,10 +96,14 @@
<script lang="ts" setup> <script lang="ts" setup>
import { import {
mdiAccountGroupOutline,
mdiAccountOutline,
mdiAlarm, mdiAlarm,
mdiAlertCircle, mdiAlertCircle,
mdiArrowLeft, mdiArrowLeft,
mdiBitbucket, mdiBitbucket,
mdiBugOutline,
mdiCalendarClockOutline,
mdiCheckCircle, mdiCheckCircle,
mdiChevronRight, mdiChevronRight,
mdiClockTimeEightOutline, mdiClockTimeEightOutline,
@@ -94,16 +111,21 @@ import {
mdiCloseCircle, mdiCloseCircle,
mdiCog, mdiCog,
mdiCogOutline, mdiCogOutline,
mdiConsole,
mdiDocker,
mdiDotsVertical, mdiDotsVertical,
mdiDownloadOutline, mdiDownloadOutline,
mdiEyeOffOutline, mdiEyeOffOutline,
mdiEyeOutline, mdiEyeOutline,
mdiFileCogOutline,
mdiFormatListBulleted, mdiFormatListBulleted,
mdiFormatListGroup,
mdiGestureTap, mdiGestureTap,
mdiGit, mdiGit,
mdiGithub, mdiGithub,
mdiGitlab, mdiGitlab,
mdiHelpCircle, mdiHelpCircle,
mdiInformationSlabCircleOutline,
mdiLockOpenOutline, mdiLockOpenOutline,
mdiLockOutline, mdiLockOutline,
mdiMinusCircle, mdiMinusCircle,
@@ -112,11 +134,13 @@ import {
mdiPencilOutline, mdiPencilOutline,
mdiPlay, mdiPlay,
mdiPlayCircle, mdiPlayCircle,
mdiPlayNetworkOutline,
mdiPlayOutline, mdiPlayOutline,
mdiPlus, mdiPlus,
mdiPower, mdiPower,
mdiRadioboxBlank, mdiRadioboxBlank,
mdiRadioboxIndeterminateVariant, mdiRadioboxIndeterminateVariant,
mdiShieldKeyOutline,
mdiSourceBranch, mdiSourceBranch,
mdiSourceCommit, mdiSourceCommit,
mdiSourceMerge, mdiSourceMerge,
@@ -124,7 +148,9 @@ import {
mdiStopCircle, mdiStopCircle,
mdiTagOutline, mdiTagOutline,
mdiTimerOutline, mdiTimerOutline,
mdiToolboxOutline,
mdiTrashCanOutline, mdiTrashCanOutline,
mdiTrayFull,
mdiWrenchCogOutline, mdiWrenchCogOutline,
} from '@mdi/js'; } from '@mdi/js';
import { siForgejo, siGitea } from 'simple-icons'; import { siForgejo, siGitea } from 'simple-icons';
@@ -134,7 +160,7 @@ import SvgIcon from './SvgIcon.vue';
export type IconNames = export type IconNames =
| 'duration' | 'duration'
| 'since' | 'since'
| 'push' | 'branch'
| 'pull-request' | 'pull-request'
| 'pull-request-closed' | 'pull-request-closed'
| 'manual-pipeline' | 'manual-pipeline'
@@ -183,7 +209,21 @@ export type IconNames =
| 'spinner' | 'spinner'
| 'visibility-private' | 'visibility-private'
| 'visibility-internal' | 'visibility-internal'
| 'dots'; | 'dots'
| 'tray-full'
| 'file-cog-outlined'
| 'bug-outline'
| 'list-group'
| 'secret'
| 'docker'
| 'console'
| 'agent'
| 'info'
| 'repo'
| 'user'
| 'org'
| 'cron'
| 'toolbox';
defineProps<{ defineProps<{
name: IconNames; name: IconNames;

View File

@@ -45,9 +45,9 @@
<Icon v-else-if="pipeline.event === 'pull_request_closed'" name="pull-request-closed" /> <Icon v-else-if="pipeline.event === 'pull_request_closed'" name="pull-request-closed" />
<Icon v-else-if="pipeline.event === 'deployment'" name="deployment" /> <Icon v-else-if="pipeline.event === 'deployment'" name="deployment" />
<Icon v-else-if="pipeline.event === 'tag' || pipeline.event === 'release'" name="tag" /> <Icon v-else-if="pipeline.event === 'tag' || pipeline.event === 'release'" name="tag" />
<Icon v-else-if="pipeline.event === 'cron'" name="push" /> <Icon v-else-if="pipeline.event === 'cron'" name="branch" />
<Icon v-else-if="pipeline.event === 'manual'" name="manual-pipeline" /> <Icon v-else-if="pipeline.event === 'manual'" name="manual-pipeline" />
<Icon v-else name="push" /> <Icon v-else name="branch" />
</span> </span>
<span class="truncate">{{ prettyRef }}</span> <span class="truncate">{{ prettyRef }}</span>
</div> </div>

View File

@@ -24,7 +24,7 @@
:to="{ name: 'repo-branch', params: { branch: prettyRef } }" :to="{ name: 'repo-branch', params: { branch: prettyRef } }"
> >
<Icon v-if="pipeline.event === 'manual'" name="manual-pipeline" /> <Icon v-if="pipeline.event === 'manual'" name="manual-pipeline" />
<Icon v-else-if="pipeline.event === 'push'" name="push" /> <Icon v-else-if="pipeline.event === 'push'" name="branch" />
<Icon v-else-if="pipeline.event === 'deployment'" name="deployment" /> <Icon v-else-if="pipeline.event === 'deployment'" name="deployment" />
<span class="truncate">{{ prettyRef }}</span> <span class="truncate">{{ prettyRef }}</span>
</router-link> </router-link>

View File

@@ -3,14 +3,14 @@
<template #title> <template #title>
{{ $t('settings') }} {{ $t('settings') }}
</template> </template>
<Tab :to="{ name: 'admin-settings' }" :title="$t('info')" /> <Tab icon="info" :to="{ name: 'admin-settings' }" :title="$t('info')" />
<Tab :to="{ name: 'admin-settings-secrets' }" :title="$t('secrets.secrets')" /> <Tab icon="secret" :to="{ name: 'admin-settings-secrets' }" :title="$t('secrets.secrets')" />
<Tab :to="{ name: 'admin-settings-registries' }" :title="$t('registries.registries')" /> <Tab icon="docker" :to="{ name: 'admin-settings-registries' }" :title="$t('registries.registries')" />
<Tab :to="{ name: 'admin-settings-repos' }" :title="$t('admin.settings.repos.repos')" /> <Tab icon="repo" :to="{ name: 'admin-settings-repos' }" :title="$t('admin.settings.repos.repos')" />
<Tab :to="{ name: 'admin-settings-users' }" :title="$t('admin.settings.users.users')" /> <Tab icon="user" :to="{ name: 'admin-settings-users' }" :title="$t('admin.settings.users.users')" />
<Tab :to="{ name: 'admin-settings-orgs' }" :title="$t('admin.settings.orgs.orgs')" /> <Tab icon="org" :to="{ name: 'admin-settings-orgs' }" :title="$t('admin.settings.orgs.orgs')" />
<Tab :to="{ name: 'admin-settings-agents' }" :title="$t('admin.settings.agents.agents')" /> <Tab icon="agent" :to="{ name: 'admin-settings-agents' }" :title="$t('admin.settings.agents.agents')" />
<Tab :to="{ name: 'admin-settings-queue' }" :title="$t('admin.settings.queue.queue')" /> <Tab icon="tray-full" :to="{ name: 'admin-settings-queue' }" :title="$t('admin.settings.queue.queue')" />
<router-view /> <router-view />
</Scaffold> </Scaffold>

View File

@@ -11,10 +11,11 @@
</span> </span>
</template> </template>
<Tab :to="{ name: 'org-settings-secrets' }" :title="$t('secrets.secrets')" /> <Tab icon="secret" :to="{ name: 'org-settings-secrets' }" :title="$t('secrets.secrets')" />
<Tab :to="{ name: 'org-settings-registries' }" :title="$t('registries.registries')" /> <Tab icon="docker" :to="{ name: 'org-settings-registries' }" :title="$t('registries.registries')" />
<Tab <Tab
v-if="useConfig().userRegisteredAgents" v-if="useConfig().userRegisteredAgents"
icon="agent"
:to="{ name: 'org-settings-agents' }" :to="{ name: 'org-settings-agents' }"
:title="$t('admin.settings.agents.agents')" :title="$t('admin.settings.agents.agents')"
/> />

View File

@@ -38,10 +38,11 @@
/> />
</template> </template>
<Tab :to="{ name: 'repo' }" :title="$t('repo.activity')" /> <Tab icon="list-group" :to="{ name: 'repo' }" :title="$t('repo.activity')" />
<Tab :to="{ name: 'repo-branches' }" match-children :title="$t('repo.branches')" /> <Tab icon="branch" :to="{ name: 'repo-branches' }" match-children :title="$t('repo.branches')" />
<Tab <Tab
v-if="repo.pr_enabled && repo.allow_pr" v-if="repo.pr_enabled && repo.allow_pr"
icon="pull-request"
:to="{ name: 'repo-pull-requests' }" :to="{ name: 'repo-pull-requests' }"
match-children match-children
:title="$t('repo.pull_requests')" :title="$t('repo.pull_requests')"

View File

@@ -73,7 +73,7 @@
</div> </div>
</template> </template>
<Tab :to="{ name: 'repo-pipeline' }" :title="$t('repo.pipeline.tasks')" /> <Tab icon="tray-full" :to="{ name: 'repo-pipeline' }" :title="$t('repo.pipeline.tasks')" />
<Tab <Tab
v-if="pipeline.errors && pipeline.errors.length > 0" v-if="pipeline.errors && pipeline.errors.length > 0"
:to="{ name: 'repo-pipeline-errors' }" :to="{ name: 'repo-pipeline-errors' }"
@@ -82,7 +82,7 @@
:count="pipeline.errors?.length" :count="pipeline.errors?.length"
:icon-class="pipeline.errors.some((e) => !e.is_warning) ? 'text-wp-error-100' : 'text-wp-state-warn-100'" :icon-class="pipeline.errors.some((e) => !e.is_warning) ? 'text-wp-error-100' : 'text-wp-state-warn-100'"
/> />
<Tab :to="{ name: 'repo-pipeline-config' }" :title="$t('repo.pipeline.config')" /> <Tab icon="file-cog-outlined" :to="{ name: 'repo-pipeline-config' }" :title="$t('repo.pipeline.config')" />
<Tab <Tab
v-if="pipeline.changed_files && pipeline.changed_files.length > 0" v-if="pipeline.changed_files && pipeline.changed_files.length > 0"
:to="{ name: 'repo-pipeline-changed-files' }" :to="{ name: 'repo-pipeline-changed-files' }"
@@ -91,6 +91,7 @@
/> />
<Tab <Tab
v-if="repoPermissions && repoPermissions.push" v-if="repoPermissions && repoPermissions.push"
icon="bug-outline"
:to="{ name: 'repo-pipeline-debug' }" :to="{ name: 'repo-pipeline-debug' }"
:title="$t('repo.pipeline.debug.title')" :title="$t('repo.pipeline.debug.title')"
/> />

View File

@@ -16,12 +16,12 @@
</span> </span>
</template> </template>
<Tab :to="{ name: 'repo-settings' }" :title="$t('repo.settings.general.general')" /> <Tab icon="settings-outline" :to="{ name: 'repo-settings' }" :title="$t('repo.settings.general.general')" />
<Tab :to="{ name: 'repo-settings-secrets' }" :title="$t('secrets.secrets')" /> <Tab icon="secret" :to="{ name: 'repo-settings-secrets' }" :title="$t('secrets.secrets')" />
<Tab :to="{ name: 'repo-settings-registries' }" :title="$t('registries.registries')" /> <Tab icon="docker" :to="{ name: 'repo-settings-registries' }" :title="$t('registries.registries')" />
<Tab :to="{ name: 'repo-settings-crons' }" :title="$t('repo.settings.crons.crons')" /> <Tab icon="cron" :to="{ name: 'repo-settings-crons' }" :title="$t('repo.settings.crons.crons')" />
<Tab :to="{ name: 'repo-settings-badge' }" :title="$t('repo.settings.badge.badge')" /> <Tab icon="tag" :to="{ name: 'repo-settings-badge' }" :title="$t('repo.settings.badge.badge')" />
<Tab :to="{ name: 'repo-settings-actions' }" :title="$t('repo.settings.actions.actions')" /> <Tab icon="toolbox" :to="{ name: 'repo-settings-actions' }" :title="$t('repo.settings.actions.actions')" />
<router-view /> <router-view />
</Scaffold> </Scaffold>

View File

@@ -3,12 +3,13 @@
<template #title>{{ $t('user.settings.settings') }}</template> <template #title>{{ $t('user.settings.settings') }}</template>
<template #headerActions><Button :text="$t('logout')" :to="`${address}/logout`" /></template> <template #headerActions><Button :text="$t('logout')" :to="`${address}/logout`" /></template>
<Tab :to="{ name: 'user' }" :title="$t('user.settings.general.general')" /> <Tab icon="settings-outline" :to="{ name: 'user' }" :title="$t('user.settings.general.general')" />
<Tab :to="{ name: 'user-secrets' }" :title="$t('secrets.secrets')" /> <Tab icon="secret" :to="{ name: 'user-secrets' }" :title="$t('secrets.secrets')" />
<Tab :to="{ name: 'user-registries' }" :title="$t('registries.registries')" /> <Tab icon="docker" :to="{ name: 'user-registries' }" :title="$t('registries.registries')" />
<Tab :to="{ name: 'user-cli-and-api' }" :title="$t('user.settings.cli_and_api.cli_and_api')" /> <Tab icon="console" :to="{ name: 'user-cli-and-api' }" :title="$t('user.settings.cli_and_api.cli_and_api')" />
<Tab <Tab
v-if="useConfig().userRegisteredAgents" v-if="useConfig().userRegisteredAgents"
icon="agent"
:to="{ name: 'user-agents' }" :to="{ name: 'user-agents' }"
:title="$t('admin.settings.agents.agents')" :title="$t('admin.settings.agents.agents')"
/> />