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>