@@ -46,7 +46,7 @@ import UiCardTitle from '@/components/ui/UiCardTitle.vue'
import UiTable from '@/components/ui/UiTable.vue'
import { useAlarmStore } from '@/stores/xen-api/alarm.store'
import UiButton from '@core/components/button/UiButton.vue'
-import UiCounter from '@core/components/UiCounter.vue'
+import VtsCounter from '@core/components/counter/VtsCounter.vue'
const { records: alarms, start, isStarted, isReady, hasError } = useAlarmStore().subscribe({ defer: true })
diff --git a/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue b/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
index 26ae1cc9c06..67cf6f5fa03 100644
--- a/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
+++ b/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
@@ -2,7 +2,7 @@
{{ left }}
-
+
{{ right }}
@@ -12,7 +12,7 @@
diff --git a/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue b/@xen-orchestra/lite/src/stories/web-core/counter/vts-counter.story.vue
similarity index 50%
rename from @xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue
rename to @xen-orchestra/lite/src/stories/web-core/counter/vts-counter.story.vue
index be11650c59e..89f3a3ae240 100644
--- a/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/counter/vts-counter.story.vue
@@ -3,21 +3,21 @@
v-slot="{ properties }"
:params="[
prop('value').type(`'number' | 'string'`).str().required().preset(2).widget(),
- prop('color')
- .type('CounterColor')
+ prop('accent')
.required()
- .enum('primary', 'secondary', 'success', 'warning', 'danger', 'disabled')
- .preset('primary')
+ .enum('brand', 'neutral', 'success', 'warning', 'danger', 'muted')
+ .preset('brand')
.widget(),
- prop('size').type('CounterSize').enum('small', 'medium').widget(),
+ prop('size').enum('small', 'medium').required().preset('small').widget(),
+ prop('variant').enum('primary', 'secondary').required().preset('primary').widget(),
]"
>
-
+
diff --git a/@xen-orchestra/lite/src/stories/web-core/tab/tab-item.story.vue b/@xen-orchestra/lite/src/stories/web-core/tab/tab-item.story.vue
index 67077932140..04cf1573283 100644
--- a/@xen-orchestra/lite/src/stories/web-core/tab/tab-item.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/tab/tab-item.story.vue
@@ -13,7 +13,7 @@
{{ settings.label }}
-
+
@@ -23,7 +23,7 @@
import ComponentStory from '@/components/component-story/ComponentStory.vue'
import { prop, setting, slot } from '@/libs/story/story-param'
import { text } from '@/libs/story/story-widget'
+import VtsCounter from '@core/components/counter/VtsCounter.vue'
import TabItem from '@core/components/tab/TabItem.vue'
import TabList from '@core/components/tab/TabList.vue'
-import UiCounter from '@core/components/UiCounter.vue'
diff --git a/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.md b/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.md
index eb2302170be..32859ec5b95 100644
--- a/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.md
+++ b/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.md
@@ -11,7 +11,7 @@
Host - {{ i }}
-
+
@@ -40,10 +40,10 @@
```vue-script
import UiIcon from '@/components/ui/icon/UiIcon.vue'
import ButtonIcon from '@core/components/button/ButtonIcon.vue'
+import VtsCounter from '@core/components/counter/VtsCounter.vue'
import ObjectIcon from '@core/components/icon/ObjectIcon.vue'
import TreeItem from '@core/components/tree/TreeItem.vue'
import TreeItemLabel from '@core/components/tree/TreeItemLabel.vue'
import TreeList from '@core/components/tree/TreeList.vue'
-import UiCounter from '@core/components/UiCounter.vue'
import { faCity, faEllipsis, faServer, faStar } from '@fortawesome/free-solid-svg-icons'
```
diff --git a/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.vue b/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.vue
index dc37424eae1..935952b159d 100644
--- a/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/tree/tree-list.story.vue
@@ -10,7 +10,7 @@
Host - {{ i }}
-
+
@@ -42,10 +42,10 @@ import ComponentStory from '@/components/component-story/ComponentStory.vue'
import UiIcon from '@/components/ui/icon/UiIcon.vue'
import { slot } from '@/libs/story/story-param'
import ButtonIcon from '@core/components/button/ButtonIcon.vue'
+import VtsCounter from '@core/components/counter/VtsCounter.vue'
import ObjectIcon from '@core/components/icon/ObjectIcon.vue'
import TreeItem from '@core/components/tree/TreeItem.vue'
import TreeItemLabel from '@core/components/tree/TreeItemLabel.vue'
import TreeList from '@core/components/tree/TreeList.vue'
-import UiCounter from '@core/components/UiCounter.vue'
import { faCity, faEllipsis, faServer, faStar } from '@fortawesome/free-solid-svg-icons'
diff --git a/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue b/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
index fab0e833cbd..4851b2136c0 100644
--- a/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
+++ b/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
@@ -2,7 +2,7 @@
{{ $t('tasks') }}
-
+
@@ -16,7 +16,7 @@ import UiCardSpinner from '@/components/ui/UiCardSpinner.vue'
import UiTitle from '@/components/ui/UiTitle.vue'
import { usePageTitleStore } from '@/stores/page-title.store'
import { useTaskStore } from '@/stores/xen-api/task.store'
-import UiCounter from '@core/components/UiCounter.vue'
+import VtsCounter from '@core/components/counter/VtsCounter.vue'
import { useI18n } from 'vue-i18n'
const { pendingTasks, finishedTasks, isReady, hasError } = useTaskStore().subscribe()
diff --git a/@xen-orchestra/web-core/lib/components/UiCounter.vue b/@xen-orchestra/web-core/lib/components/UiCounter.vue
deleted file mode 100644
index 9e426b6f780..00000000000
--- a/@xen-orchestra/web-core/lib/components/UiCounter.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- {{ value }}
-
-
-
-
-
-
diff --git a/@xen-orchestra/web-core/lib/components/counter/VtsCounter.vue b/@xen-orchestra/web-core/lib/components/counter/VtsCounter.vue
new file mode 100644
index 00000000000..4a9608cafe5
--- /dev/null
+++ b/@xen-orchestra/web-core/lib/components/counter/VtsCounter.vue
@@ -0,0 +1,147 @@
+
+
+
+ {{ value }}
+
+
+
+
+
+
diff --git a/@xen-orchestra/web-core/lib/components/task/QuickTaskTabBar.vue b/@xen-orchestra/web-core/lib/components/task/QuickTaskTabBar.vue
index 64471bdad6a..255253e3696 100644
--- a/@xen-orchestra/web-core/lib/components/task/QuickTaskTabBar.vue
+++ b/@xen-orchestra/web-core/lib/components/task/QuickTaskTabBar.vue
@@ -2,15 +2,33 @@
{{ $t('tasks.quick-view.in-progress') }}
-
+
{{ $t('tasks.quick-view.done') }}
-
+
{{ $t('tasks.quick-view.failed') }}
-
+
@@ -26,10 +44,10 @@