diff --git a/api/spaces.js b/api/spaces.js new file mode 100644 index 0000000..1b11c55 --- /dev/null +++ b/api/spaces.js @@ -0,0 +1,15 @@ +module.exports = async function handler(req, res) { + res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); + res.setHeader("Content-Type", "application/json; charset=utf-8"); + + try { + const response = await fetch( + "https://spacesops.com/getspaces?app=spaces-wallet&format=json", + { cache: "no-store" } + ); + const body = await response.text(); + res.status(response.status).send(body); + } catch (error) { + res.status(502).json({ success: false, error: "Unable to load spaces" }); + } +}; diff --git a/index.html b/index.html index 85490e6..46909ea 100644 --- a/index.html +++ b/index.html @@ -251,6 +251,36 @@ border-radius: 999px; } + .spaces-list { + display: flex; + flex-wrap: wrap; + gap: 0.65rem; + } + + .space-tag { + display: inline-flex; + align-items: center; + font-size: 0.95rem; + font-weight: 600; + color: var(--text); + background: var(--surface); + border: 1px solid var(--border); + padding: 0.5rem 0.9rem; + border-radius: 999px; + } + + .space-tag::before { + content: "@"; + color: var(--brand-light); + margin-right: 0.05rem; + } + + .spaces-status { + margin: 0 0 1.25rem; + color: var(--text-muted); + font-size: 0.95rem; + } + /* Footer */ footer { padding: 2.5rem 0 3rem; @@ -374,6 +404,17 @@ + + + Spaces available in SpacesWallet + + Active @spaces currently listed for discovery and purchase in the app. + + Loading live listings… + + + + Built for crypto natives @@ -423,5 +464,65 @@ © 2026 Lunde Cognitive Effects Inc. +
+ Active @spaces currently listed for discovery and purchase in the app. +
Loading live listings…
© 2026 Lunde Cognitive Effects Inc.