From e7b4ce742342fe6101b191b3c10d741ede650c78 Mon Sep 17 00:00:00 2001 From: Padreug Date: Sat, 2 May 2026 14:22:27 +0200 Subject: [PATCH 1/9] feat(hub): also ghost Tasks tile when unauthenticated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tasks module's useful actions (create, claim, complete) all require signing keys, so the tile should follow the wallet/chat/castle ghosting pattern rather than the public-browsable forum/market/ activities pattern. Read-only browsing of tasks via the standalone remains possible — only the hub's affordance changes. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/pages/Hub.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Hub.vue b/src/pages/Hub.vue index e3b2800..77f6a76 100644 --- a/src/pages/Hub.vue +++ b/src/pages/Hub.vue @@ -47,7 +47,7 @@ const modules: Module[] = [ { label: 'Activities', chakra: 'Swadhisthana', icon: CalendarDays, bgClass: '', glow: 'rgba(255,165,0,0.5)', envKey: 'VITE_HUB_ACTIVITIES_URL', status: 'beta' }, { label: 'Chat', chakra: 'Anahata', icon: MessageCircle, bgClass: '', glow: 'rgba(0,200,80,0.5)', envKey: 'VITE_HUB_CHAT_URL', status: 'alpha', authRequired: true }, { label: 'Forum', chakra: 'Vishuddha', icon: Newspaper, bgClass: '', glow: 'rgba(60,120,255,0.5)', envKey: 'VITE_HUB_FORUM_URL', status: 'alpha' }, - { label: 'Tasks', chakra: 'Ajna', icon: ListTodo, bgClass: '', glow: 'rgba(99,80,200,0.5)', envKey: 'VITE_HUB_TASKS_URL', status: 'alpha' }, + { label: 'Tasks', chakra: 'Ajna', icon: ListTodo, bgClass: '', glow: 'rgba(99,80,200,0.5)', envKey: 'VITE_HUB_TASKS_URL', status: 'alpha', authRequired: true }, { label: 'Castle', chakra: 'Sahasrara', icon: Castle, bgClass: '', glow: 'rgba(160,80,220,0.5)', envKey: 'VITE_HUB_CASTLE_URL', status: 'beta', authRequired: true }, ] // Crown at top, root at bottom From cd84e106e8e86a5a9f6c9b355c1d8cdceadfad79 Mon Sep 17 00:00:00 2001 From: Padreug Date: Sat, 2 May 2026 14:24:26 +0200 Subject: [PATCH 2/9] feat(hub): toast " requires login" on ghosted tile click Adds active feedback to the auth-required ghosting introduced in b80ad24. Previously a ghosted tile (wallet/chat/castle/tasks for an unauth user) was a non-clickable
with no signal beyond opacity-60 + cursor-not-allowed. Users had no way to discover *why* it was disabled. Now ghosted auth-required tiles render as -

+ +

{{ orderValidationMessage }}

+

+ {{ t('market.auth.loginPrompt') }} +

@@ -262,7 +275,9 @@