Skip to content

Commit

Permalink
Merge pull request #496 from getwud/feature/#469_ui_improvements
Browse files Browse the repository at this point in the history
⭐ [UI] - Some ux improvements
  • Loading branch information
fmartinou authored Nov 22, 2024
2 parents a776f44 + 2ba02c3 commit 136327d
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 66 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ script:

# Pull vaultwarden
- docker pull vaultwarden/server
- docker pull vaultwarden/server:1.32.4-alpine
- docker pull vaultwarden/server:1.32.5-alpine

# Pull youtubedl
- docker pull jeeaaasustest/youtube-dl
Expand Down Expand Up @@ -141,7 +141,7 @@ script:
- docker run -d --name hub_traefik_245 --label 'wud.watch=true' --label 'wud.tag.include=^\d+\.\d+.\d+$' traefik:2.4.5
- docker run -d --name hub_traefik_latest --label 'wud.watch=true' --label 'wud.watch.digest=true' --label 'wud.tag.include=^latest$' traefik

- docker run -d --name hub_vaultwarden_1222 --label 'wud.watch=true' --label 'wud.tag.include=^\d+\.\d+.\d+-alpine$' -e I_REALLY_WANT_VOLATILE_STORAGE=true vaultwarden/server:1.32.4-alpine
- docker run -d --name hub_vaultwarden_1222 --label 'wud.watch=true' --label 'wud.tag.include=^\d+\.\d+.\d+-alpine$' -e I_REALLY_WANT_VOLATILE_STORAGE=true vaultwarden/server:1.32.5-alpine
- docker run -d --name hub_vaultwarden_latest --label 'wud.watch=true' --label 'wud.watch.digest=true' --label 'wud.tag.include=^latest$' -e I_REALLY_WANT_VOLATILE_STORAGE=true vaultwarden/server

- docker run -d --name hub_youtubedb_latest --label 'wud.watch=true' --label 'wud.watch.digest=true' --label 'wud.tag.include=^latest$' jeeaaasustest/youtube-dl
Expand Down
3 changes: 3 additions & 0 deletions docs/changelog/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

# 7.1.2 (wip)
- :star: [UI] - Some ux improvements

# 7.1.1
- :fire: [NTFY] - Fix basic/bearer authentication

Expand Down
14 changes: 7 additions & 7 deletions e2e/features/api-container.feature
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ Feature: WUD Container API Exposure
| 0 | ecr | ecr_sub_sub_test | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | sub/sub/test | 1.0.0 | 2.0.0 | true |
| 1 | ecr | ecr_sub_test | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | sub/test | 1.0.0 | 2.0.0 | true |
| 2 | ecr | ecr_test | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | test | 1.0.0 | 2.0.0 | true |
| 3 | ghcr | ghcr_radarr | https://ghcr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 | 5.14.0.9383-ls245 | true |
| 3 | ghcr | ghcr_radarr | https://ghcr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 | 5.15.1.9463-ls246 | true |
| 4 | gitlab | gitlab_test | https://registry.gitlab.com/v2 | manfred-martin/docker-registry-test | 1.0.0 | 2.0.0 | true |
| 5 | hub | hub_homeassistant_202161 | https://registry-1.docker.io/v2 | homeassistant/home-assistant | 2021.6.1 | 2024.11.1 | true |
| 5 | hub | hub_homeassistant_202161 | https://registry-1.docker.io/v2 | homeassistant/home-assistant | 2021.6.1 | 2024.11.3 | true |
| 6 | hub | hub_homeassistant_latest | https://registry-1.docker.io/v2 | homeassistant/home-assistant | latest | latest | false |
| 7 | hub | hub_nginx_120 | https://registry-1.docker.io/v2 | library/nginx | 1.20-alpine | 1.27-alpine | true |
| 8 | hub | hub_nginx_latest | https://registry-1.docker.io/v2 | library/nginx | latest | latest | true |
| 9 | hub | hub_omnidb_latest | https://registry-1.docker.io/v2 | omnidbteam/omnidb | latest | latest | true |
| 10 | hub | hub_pihole_57 | https://registry-1.docker.io/v2 | pihole/pihole | v5.7 | v5.8.1 | true |
| 11 | hub | hub_pihole_latest | https://registry-1.docker.io/v2 | pihole/pihole | latest | latest | false |
| 12 | hub | hub_pyload_latest | https://registry-1.docker.io/v2 | writl/pyload | latest | latest | false |
| 13 | hub | hub_traefik_245 | https://registry-1.docker.io/v2 | library/traefik | 2.4.5 | 3.2.0 | true |
| 13 | hub | hub_traefik_245 | https://registry-1.docker.io/v2 | library/traefik | 2.4.5 | 3.2.1 | true |
| 14 | hub | hub_traefik_latest | https://registry-1.docker.io/v2 | library/traefik | latest | latest | false |
| 15 | hub | hub_vaultwarden_1222 | https://registry-1.docker.io/v2 | vaultwarden/server | 1.32.4-alpine | 1.32.4-alpine | false |
| 15 | hub | hub_vaultwarden_1222 | https://registry-1.docker.io/v2 | vaultwarden/server | 1.32.5-alpine | 1.32.5-alpine | false |
| 16 | hub | hub_vaultwarden_latest | https://registry-1.docker.io/v2 | vaultwarden/server | latest | latest | false |
| 17 | hub | hub_youtubedb_latest | https://registry-1.docker.io/v2 | jeeaaasustest/youtube-dl | latest | latest | false |
| 18 | lscr | lscr_radarr | https://lscr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 | 5.14.0.9383-ls245 | true |
| 19 | quay | quay_prometheus | https://quay.io/v2 | prometheus/prometheus | v2.52.0 | v2.55.1 | true |
| 18 | lscr | lscr_radarr | https://lscr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 | 5.15.1.9463-ls246 | true |
| 19 | quay | quay_prometheus | https://quay.io/v2 | prometheus/prometheus | v2.52.0 | v3.0.0 | true |

Scenario: WUD must allow to get a container with semver
Given I GET /api/containers
Expand Down Expand Up @@ -85,7 +85,7 @@ Feature: WUD Container API Exposure
Then response code should be 200
And response body should be valid json
And response body path $.link should be https://github.com/home-assistant/core/releases/tag/2021.6.1
And response body path $.result.link should be https://github.com/home-assistant/core/releases/tag/2024.11.1
And response body path $.result.link should be https://github.com/home-assistant/core/releases/tag/2024.11.3

Scenario: WUD must allow to trigger a watch on a container
Given I GET /api/containers
Expand Down
12 changes: 6 additions & 6 deletions e2e/features/prometheus.feature
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ Feature: Prometheus exposure
| ecr_sub_sub_test | ecr | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | sub/sub/test | 1.0.0 | 2.0.0 | true |
| ecr_sub_test | ecr | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | sub/test | 1.0.0 | 2.0.0 | true |
| ecr_test | ecr | https://229211676173.dkr.ecr.eu-west-1.amazonaws.com/v2 | test | 1.0.0 | 2.0.0 | true |
| ghcr_radarr | ghcr | https://ghcr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 |5.14.0.9383-ls245 | true |
| ghcr_radarr | ghcr | https://ghcr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 |5.15.1.9463-ls246 | true |
| gitlab_test | gitlab | https://registry.gitlab.com/v2 | manfred-martin/docker-registry-test | 1.0.0 | 2.0.0 | true |
| hub_homeassistant_202161 | hub | https://registry-1.docker.io/v2 | homeassistant/home-assistant | 2021.6.1 | 2024.11.1 | true |
| hub_homeassistant_202161 | hub | https://registry-1.docker.io/v2 | homeassistant/home-assistant | 2021.6.1 | 2024.11.3 | true |
| hub_homeassistant_latest | hub | https://registry-1.docker.io/v2 | homeassistant/home-assistant | latest | latest | false |
| hub_nginx_120 | hub | https://registry-1.docker.io/v2 | library/nginx | 1.20-alpine | 1.27-alpine | true |
| hub_nginx_latest | hub | https://registry-1.docker.io/v2 | library/nginx | latest | latest | true |
| hub_omnidb_latest | hub | https://registry-1.docker.io/v2 | omnidbteam/omnidb | latest | latest | false |
| hub_pihole_57 | hub | https://registry-1.docker.io/v2 | pihole/pihole | v5.7 | v5.8.1 | true |
| hub_pihole_latest | hub | https://registry-1.docker.io/v2 | pihole/pihole | latest | latest | false |
| hub_pyload_latest | hub | https://registry-1.docker.io/v2 | writl/pyload | latest | latest | false |
| hub_traefik_245 | hub | https://registry-1.docker.io/v2 | library/traefik | 2.4.5 | 3.2.0 | true |
| hub_traefik_245 | hub | https://registry-1.docker.io/v2 | library/traefik | 2.4.5 | 3.2.1 | true |
| hub_traefik_latest | hub | https://registry-1.docker.io/v2 | library/traefik | latest | latest | false |
| hub_vaultwarden_1222 | hub | https://registry-1.docker.io/v2 | vaultwarden/server | 1.32.4-alpine | 1.32.4-alpine | false |
| hub_vaultwarden_1222 | hub | https://registry-1.docker.io/v2 | vaultwarden/server | 1.32.5-alpine | 1.32.5-alpine | false |
| hub_vaultwarden_latest | hub | https://registry-1.docker.io/v2 | vaultwarden/server | latest | latest | false |
| hub_youtubedb_latest | hub | https://registry-1.docker.io/v2 | jeeaaasustest/youtube-dl | latest | latest | false |
| lscr_radarr | lscr | https://lscr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 |5.14.0.9383-ls245 | true |
| quay_prometheus | quay | https://quay.io/v2 | prometheus/prometheus | v2.52.0 |v2.55.1 | true |
| lscr_radarr | lscr | https://lscr.io/v2 | linuxserver/radarr | 3.2.1.5070-ls105 |5.15.1.9463-ls246 | true |
| quay_prometheus | quay | https://quay.io/v2 | prometheus/prometheus | v2.52.0 |v3.0.0 | true |
71 changes: 37 additions & 34 deletions ui/src/components/ContainerItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -43,27 +43,30 @@
</v-chip>
</span>
</v-toolbar-title>
<v-span v-if="$vuetify.breakpoint.mdAndUp && container.updateAvailable">
<v-icon>mdi-arrow-right</v-icon>
<v-tooltip bottom>
<template v-slot:activator="{ on, attrs }">
<v-chip
label
outlined
:color="newVersionClass"
v-bind="attrs"
v-on="on"
@click="
copyToClipboard('container new version', newVersion);
$event.stopImmediatePropagation();
"
>
{{ newVersion }}
<v-icon right small>mdi-clipboard-outline</v-icon>
</v-chip>
</template>
<span class="text-caption">Copy to clipboard</span>
</v-tooltip>
</v-span>

<v-spacer />
<v-tooltip bottom v-if="$vuetify.breakpoint.mdAndUp">
<template v-slot:activator="{ on, attrs }">
<v-chip
v-if="container.updateAvailable"
label
outlined
:color="newVersionClass"
v-bind="attrs"
v-on="on"
@click="
copyToClipboard('container new version', newVersion);
$event.stopImmediatePropagation();
"
>
{{ newVersion }}
<v-icon right small>mdi-clipboard-outline</v-icon>
</v-chip>
</template>
<span class="text-caption">Copy to clipboard</span>
</v-tooltip>
<v-icon>{{ showDetail ? "mdi-chevron-up" : "mdi-chevron-down" }}</v-icon>
</v-app-bar>
<v-expand-transition>
Expand All @@ -74,6 +77,14 @@
v-model="tab"
ref="tabs"
>
<v-tab v-if="container.result">
<span v-if="$vuetify.breakpoint.mdAndUp">Update</span>
<v-icon>mdi-package-down</v-icon>
</v-tab>
<v-tab v-if="container.error">
<span v-if="$vuetify.breakpoint.mdAndUp">Error</span>
<v-icon>mdi-alert</v-icon>
</v-tab>
<v-tab>
<span v-if="$vuetify.breakpoint.mdAndUp">Container</span>
<img
Expand All @@ -90,23 +101,9 @@
<span v-if="$vuetify.breakpoint.mdAndUp">Image</span>
<v-icon>mdi-package-variant-closed</v-icon>
</v-tab>
<v-tab v-if="container.result">
<span v-if="$vuetify.breakpoint.mdAndUp">Update</span>
<v-icon>mdi-package-down</v-icon>
</v-tab>
<v-tab v-if="container.error">
<span v-if="$vuetify.breakpoint.mdAndUp">Error</span>
<v-icon>mdi-alert</v-icon>
</v-tab>
</v-tabs>

<v-tabs-items v-model="tab">
<v-tab-item>
<container-detail :container="container" />
</v-tab-item>
<v-tab-item>
<container-image :image="container.image" />
</v-tab-item>
<v-tab-item v-if="container.result">
<container-update
:result="container.result"
Expand All @@ -118,6 +115,12 @@
<v-tab-item v-if="container.error">
<container-error :error="container.error" />
</v-tab-item>
<v-tab-item>
<container-detail :container="container" />
</v-tab-item>
<v-tab-item>
<container-image :image="container.image" />
</v-tab-item>
</v-tabs-items>

<v-card-actions>
Expand Down
46 changes: 29 additions & 17 deletions ui/src/components/ContainerUpdate.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,31 @@
</v-list-item-title>
<v-list-item-subtitle>
{{ result.tag }}
<v-tooltip bottom>
<template v-slot:activator="{ on, attrs }">
<v-btn
icon
x-small
v-bind="attrs"
v-on="on"
@click="copyToClipboard('update tag', result.tag)"
>
<v-icon small>mdi-clipboard</v-icon>
</v-btn>
</template>
<span class="text-caption">Copy to clipboard</span>
</v-tooltip>
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="result.link">
<v-list-item-avatar>
<v-icon color="secondary">mdi-link</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>Link</v-list-item-title>
<v-list-item-subtitle
><a :href="result.link" target="_blank">{{ result.link }}</a>
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
Expand All @@ -22,25 +47,23 @@
<v-icon color="secondary">mdi-function-variant</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>
Digest
<v-list-item-title> Digest </v-list-item-title>
<v-list-item-subtitle>
{{ result.digest }}
<v-tooltip bottom>
<template v-slot:activator="{ on, attrs }">
<v-btn
icon
x-small
v-bind="attrs"
v-on="on"
@click="copyToClipboard('result digest', result.digest)"
@click="copyToClipboard('update digest', result.digest)"
>
<v-icon>mdi-clipboard</v-icon>
</v-btn>
</template>
<span class="text-caption">Copy to clipboard</span>
</v-tooltip>
</v-list-item-title>
<v-list-item-subtitle>
{{ result.digest }}
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
Expand All @@ -61,17 +84,6 @@
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="result.link">
<v-list-item-avatar>
<v-icon color="secondary">mdi-link</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>Link</v-list-item-title>
<v-list-item-subtitle
><a :href="result.link" target="_blank">{{ result.link }}</a>
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
</v-list>
<v-card-text v-else>No update available</v-card-text>
</div>
Expand Down

0 comments on commit 136327d

Please sign in to comment.