aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHester Gong <hestergong@gmail.com>2023-04-19 13:42:53 +0800
committerGitHub <noreply@github.com>2023-04-19 13:42:53 +0800
commit5e7543fcf441afb30aba6188edac754ef32b9ac3 (patch)
treecf86d64e7c2adcada59c24d2465df766d8bf9f98
parent5fcf328a8d825102a77cfc79b53ce7948d41bf33 (diff)
downloadgitea-5e7543fcf441afb30aba6188edac754ef32b9ac3.tar.gz
gitea-5e7543fcf441afb30aba6188edac754ef32b9ac3.zip
Use same action status svg icons on actions list as on action page (#24178)
Close #24020 After: These icons are the same now: <img width="1287" alt="截屏2023-04-18 13 52 11" src="https://user-images.githubusercontent.com/17645053/232684252-05ddc101-dc5b-41b5-b374-132c3d853a41.png"> <img width="1141" alt="截屏2023-04-18 13 54 48" src="https://user-images.githubusercontent.com/17645053/232684261-6ebd864a-a9aa-4982-af32-2cea91c35be8.png"> In this PR, didn't use `ActionRunStatus.vue` because the mounting of the component will cause flash of the icons like below: https://user-images.githubusercontent.com/17645053/232682646-713202dc-9023-4b9c-a849-c3a1ae6dd155.mov Instead, modified and used `status.tmpl` to make it the same as `ActionRunStatus.vue` to avoid the ui flash (Welcomed to show how to use `ActionRunStatus.vue` without flashing if there is a way). Added comments to both of them for reminding synchronization of these two files. --------- Co-authored-by: Jason Song <i@wolfogre.com>
-rw-r--r--templates/repo/actions/runs_list.tmpl4
-rw-r--r--templates/repo/actions/status.tmpl36
-rw-r--r--web_src/js/components/ActionRunStatus.vue15
3 files changed, 36 insertions, 19 deletions
diff --git a/templates/repo/actions/runs_list.tmpl b/templates/repo/actions/runs_list.tmpl
index a28b9d7137..709bfaaced 100644
--- a/templates/repo/actions/runs_list.tmpl
+++ b/templates/repo/actions/runs_list.tmpl
@@ -1,8 +1,8 @@
<div class="issue list">
{{range .Runs}}
<li class="item gt-df gt-py-3 gt-ab">
- <div class="issue-item-left gt-df">
- {{template "repo/actions/status" .Status}}
+ <div class="issue-item-left gt-df gt-mr-2">
+ {{template "repo/actions/status" (dict "status" .Status.String)}}
</div>
<div class="issue-item-main action-item-main gt-f1 gt-fc gt-df gt-mr-3">
<div class="issue-item-top-row">
diff --git a/templates/repo/actions/status.tmpl b/templates/repo/actions/status.tmpl
index fd8a683bda..794f7811ee 100644
--- a/templates/repo/actions/status.tmpl
+++ b/templates/repo/actions/status.tmpl
@@ -1,12 +1,26 @@
-{{if .IsWaiting}}
- <i class="commit-status circle icon gray"></i>
-{{end}}
-{{if .IsRunning}}
- <i class="commit-status circle icon yellow"></i>
-{{end}}
-{{if .IsSuccess}}
- <i class="commit-status check icon green"></i>
-{{end}}
-{{if .IsFailure}}
- <i class="commit-status warning icon red"></i>
+<!-- This template should be kept the same as web_src/js/components/ActionRunStatus.vue
+ Please also update the vue file above if this template is modified.
+-->
+{{- $size := 16 -}}
+{{- if .size -}}
+{{- $size = .size -}}
+{{- end -}}
+
+{{- $className := "" -}}
+{{- if .className -}}
+{{- $className = .className -}}
+{{- end -}}
+
+{{if eq .status "success"}}
+ {{svg "octicon-check-circle-fill" $size (printf "text green %s" $className)}}
+{{else if eq .status "skipped"}}
+ {{svg "octicon-skip" $size (printf "text grey %s" $className)}}
+{{else if eq .status "waiting"}}
+ {{svg "octicon-clock" $size (printf "text yellow %s" $className)}}
+{{else if eq .status "blocked"}}
+ {{svg "octicon-blocked" $size (printf "text yellow %s" $className)}}
+{{else if eq .status "running"}}
+ {{svg "octicon-meter" $size (printf "text yellow job-status-rotate %s" $className)}}
+{{else}}
+ {{svg "octicon-x-circle-fill" $size (printf "text red %s" $className)}}
{{end}}
diff --git a/web_src/js/components/ActionRunStatus.vue b/web_src/js/components/ActionRunStatus.vue
index b72dfb1aa6..8a96eb5f01 100644
--- a/web_src/js/components/ActionRunStatus.vue
+++ b/web_src/js/components/ActionRunStatus.vue
@@ -1,10 +1,13 @@
+<!-- This vue should be kept the same as templates/repo/actions/status.tmpl
+ Please also update the template file above if this vue is modified.
+-->
<template>
- <SvgIcon name="octicon-check-circle-fill" class="ui text green" :size="size" :class-name="className" v-if="status === 'success'"/>
- <SvgIcon name="octicon-skip" class="ui text grey" :size="size" :class-name="className" v-else-if="status === 'skipped'"/>
- <SvgIcon name="octicon-clock" class="ui text yellow" :size="size" :class-name="className" v-else-if="status === 'waiting'"/>
- <SvgIcon name="octicon-blocked" class="ui text yellow" :size="size" :class-name="className" v-else-if="status === 'blocked'"/>
- <SvgIcon name="octicon-meter" class="ui text yellow" :size="size" :class-name="'job-status-rotate ' + className" v-else-if="status === 'running'"/>
- <SvgIcon name="octicon-x-circle-fill" class="ui text red" :size="size" v-else/>
+ <SvgIcon name="octicon-check-circle-fill" class="text green" :size="size" :class-name="className" v-if="status === 'success'"/>
+ <SvgIcon name="octicon-skip" class="text grey" :size="size" :class-name="className" v-else-if="status === 'skipped'"/>
+ <SvgIcon name="octicon-clock" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'waiting'"/>
+ <SvgIcon name="octicon-blocked" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'blocked'"/>
+ <SvgIcon name="octicon-meter" class="text yellow" :size="size" :class-name="'job-status-rotate ' + className" v-else-if="status === 'running'"/>
+ <SvgIcon name="octicon-x-circle-fill" class="text red" :size="size" v-else/>
</template>
<script>