feat: show joined servers in explore page instead of empty state

Joined discoverable servers now appear in a collapsible "Joined" section
at the bottom of the explore page, so the page never feels dead when all
servers have been joined. A mint success banner replaces the old empty
state text.
This commit is contained in:
Jannis Braun
2026-03-05 01:11:23 +01:00
parent bd7f65d33c
commit b840d2f82b
5 changed files with 124 additions and 31 deletions
+6 -4
View File
@@ -89,7 +89,7 @@ export const useExploreStore = create<ExploreState>((set, get) => ({
const key = `${server.id}:${origin}`;
if (seen.has(key)) continue;
seen.add(key);
allServers.push({ ...server, _instanceOrigin: origin });
allServers.push({ ...server, _instanceOrigin: origin, joined: server.joined ?? false });
}
}
@@ -123,10 +123,12 @@ export const useExploreStore = create<ExploreState>((set, get) => ({
// Add to server store
useServerStore.getState().addServerFromReady(server._instanceOrigin, fullServer);
// Remove from explore list
// Mark as joined in explore list
set((state) => ({
servers: state.servers.filter(s =>
!(s.id === server.id && s._instanceOrigin === server._instanceOrigin)
servers: state.servers.map(s =>
s.id === server.id && s._instanceOrigin === server._instanceOrigin
? { ...s, joined: true }
: s
),
}));