From 79756b0c1a2adc1431b8b8b86de6adecab7b8da5 Mon Sep 17 00:00:00 2001 From: Simon Malesys <simon.malesys@pasteur.fr> Date: Thu, 27 Feb 2025 14:29:29 +0100 Subject: [PATCH] Fetch pre-made archives only on dialog open --- src/client/components/AppHeader.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/client/components/AppHeader.vue b/src/client/components/AppHeader.vue index f594cd67..fd3eb4ce 100644 --- a/src/client/components/AppHeader.vue +++ b/src/client/components/AppHeader.vue @@ -63,7 +63,7 @@ </template> <script setup lang="ts"> -import { computed, onMounted, ref } from 'vue' +import { computed, onMounted, ref, watch } from 'vue' import api from '../api' import { useStore } from '../store' import AppDialog from './AppDialog.vue' @@ -72,9 +72,15 @@ const store = useStore() const downloadsVisible = ref<boolean>(false) const archives = computed(() => store.archives) -onMounted(() => { - store.fetchArchives() -}) +/** + * Fetch the list of archives when the dialog is opened. + * Do it only once to avoid unnecessary requests. + */ +watch( + downloadsVisible, + () => { store.fetchArchives() }, + { once: true } +) /** * Open the dialog. -- GitLab