fix welcome screen refresh

frdel committed Feb 10, 2026 at 12:22 UTC 48470639ea7a601fe250e76744baaf01126033d2
1 file changed +21 -21
webui/components/welcome/welcome-screen.html
+21 -21
@@ -8,43 +8,43 @@
8
9 <body>
10 <div x-data >
11 - <template x-if="$store.welcomeStore">
12 - <div x-data="$store.welcomeStore" x-create="$store.welcomeStore.onCreate()" class="welcome-container">
11 + <template x-if="$store.welcomeStore && $store.welcomeStore.isVisible">
12 + <div x-create="$store.welcomeStore.onCreate()" class="welcome-container">
13 <div class="welcome-content">
14 <!-- Action Cards -->
15 <div class="welcome-actions">
16 - <div class="welcome-action-card" @click="executeAction('new-chat')">
16 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('new-chat')">
17 <span class="material-symbols-outlined welcome-action-icon">add_circle</span>
18 <h3 class="welcome-action-title">New Chat</h3>
19 </div>
20
21 - <div class="welcome-action-card" @click="executeAction('projects')">
21 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('projects')">
22 <span class="material-symbols-outlined welcome-action-icon">folder</span>
23 <h3 class="welcome-action-title">Projects</h3>
24 </div>
25 - <div class="welcome-action-card" @click="executeAction('memory')">
25 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('memory')">
26 <span class="material-symbols-outlined welcome-action-icon">memory</span>
27 <h3 class="welcome-action-title">Memory</h3>
28 </div>
29
30 - <div class="welcome-action-card" @click="executeAction('scheduler')">
30 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('scheduler')">
31 <span class="material-symbols-outlined welcome-action-icon">schedule</span>
32 <h3 class="welcome-action-title">Scheduler</h3>
33 </div>
34 - <div class="welcome-action-card" @click="executeAction('settings')">
34 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('settings')">
35 <span class="material-symbols-outlined welcome-action-icon">settings</span>
36 <h3 class="welcome-action-title">Settings</h3>
37 </div>
38
39 - <div class="welcome-action-card" @click="executeAction('files')">
39 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('files')">
40 <span class="material-symbols-outlined welcome-action-icon">folder_open</span>
41 <h3 class="welcome-action-title">Files</h3>
42 </div>
43 - <div class="welcome-action-card" @click="executeAction('website')">
43 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('website')">
44 <span class="material-symbols-outlined welcome-action-icon">language</span>
45 <h3 class="welcome-action-title">Visit Website</h3>
46 </div>
47 - <div class="welcome-action-card" @click="executeAction('github')">
47 + <div class="welcome-action-card" @click="$store.welcomeStore.executeAction('github')">
48 <span class="material-symbols-outlined welcome-action-icon">code</span>
49 <h3 class="welcome-action-title">Visit GitHub</h3>
50 </div>
@@ -53,29 +53,29 @@
53 <div class="welcome-actions-footer">
54 <button type="button"
55 class="welcome-refresh-button"
56 - @click="refreshBanners(true)"
57 - :disabled="bannersLoading"
56 + @click="$store.welcomeStore.refreshBanners(true)"
57 + :disabled="$store.welcomeStore.bannersLoading"
58 title="Refresh banners">
59 - <span class="material-symbols-outlined" :class="{ 'welcome-spin': bannersLoading }">refresh</span>
59 + <span class="material-symbols-outlined" :class="{ 'welcome-spin': $store.welcomeStore.bannersLoading }">refresh</span>
60 </button>
61
62 <button type="button"
63 class="welcome-refresh-button"
64 - @click="undismissBanners()"
65 - x-show="hasDismissedBanners"
66 - :disabled="bannersLoading"
64 + @click="$store.welcomeStore.undismissBanners()"
65 + x-show="$store.welcomeStore.hasDismissedBanners"
66 + :disabled="$store.welcomeStore.bannersLoading"
67 title="Undismiss all banners">
68 <span class="material-symbols-outlined">undo</span>
69 </button>
70 </div>
71
72 <!-- Banner Section -->
73 - <div class="welcome-banners" x-show="banners && banners.length > 0">
74 - <template x-for="banner in sortedBanners" :key="banner.id">
75 - <div class="welcome-banner" :class="getBannerClass(banner.type)">
73 + <div class="welcome-banners" x-show="$store.welcomeStore.banners && $store.welcomeStore.banners.length > 0">
74 + <template x-for="banner in $store.welcomeStore.sortedBanners" :key="banner.id">
75 + <div class="welcome-banner" :class="$store.welcomeStore.getBannerClass(banner.type)">
76 <!-- Banner Icon -->
77 <div class="welcome-banner-icon">
78 - <span class="material-symbols-outlined" x-text="getBannerIcon(banner.type)"></span>
78 + <span class="material-symbols-outlined" x-text="$store.welcomeStore.getBannerIcon(banner.type)"></span>
79 </div>
80
81 <!-- Banner Content -->
@@ -87,7 +87,7 @@
87 <!-- Dismiss Button -->
88 <button class="welcome-banner-dismiss"
89 x-show="banner.dismissible !== false"
90 - @click.stop="dismissBanner(banner.id)"
90 + @click.stop="$store.welcomeStore.dismissBanner(banner.id)"
91 title="Dismiss">
92 <span class="material-symbols-outlined">close</span>
93 </button>