webapp/public/chakras/ajna.svg
Padreug 9a3e3ae0ed feat: minimal AIO hub with chakra grid + bottom dock
The all-in-one app at app.${domain} is a minimal hub: only the base
module (auth, profile, relays, PWA, image upload) plus a chakra-
themed entry point linking out to the seven standalone module PWAs
(market, sortir, wallet, chat, forum, tasks, castle), with an
eighth tile reserved for a forthcoming restaurant module.

UI:
- 2-column grid of 8 module tiles with Lucide icons, occupying the
  full viewport between the title and the bottom dock. Status hints
  (alpha/beta/coming soon) shown beneath each label.
- Faint chakra-mandala column rendered behind the tiles (peeks
  through their translucent backgrounds), plus a subtle vertical
  hue gradient (red at the bottom → violet at the top) — the chakras
  inform the visual frame without forcing a 1:1 module mapping.
- Bottom dock with system-level controls: Profile (Sheet hosting
  the existing ProfileSettings.vue), Theme (light/dark/system),
  Language (uses available locales), and a Currency placeholder.
- Each tile is a link to VITE_HUB_<NAME>_URL with the user's
  lnbits_access_token appended as ?token= so the destination logs
  in via the existing acceptTokenFromUrl() relay.

Wiring:
- src/App.vue: stripped to the same minimal shell as the standalone
  apps (no AppLayout/AppSidebar — the hub is the navigation).
- src/app.ts: only base module is registered. Hub is the / route.
- src/app.config.ts: only base module config remains.
- public/chakras/*.svg: 7 chakra mandala SVGs copied from the legacy
  frontend (Atitlan.io).
- nginx.conf.example: rewritten with one server block per subdomain
  pointing at its own dist-<name>/ output.

Closes #26.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 10:08:28 +02:00

64 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="26.373173mm"
height="26.373281mm"
viewBox="0 0 26.373173 26.373281"
version="1.1"
id="svg1911"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
sodipodi:docname="ajna.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1913"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="10.35098"
inkscape:cx="50.671531"
inkscape:cy="50.333398"
inkscape:window-width="2004"
inkscape:window-height="1979"
inkscape:window-x="8"
inkscape:window-y="64"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs1908" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-50.435614,-75.884446)">
<path
d="m 68.657927,94.106814 c -2.7813,2.781265 -7.290506,2.781265 -10.071454,0 -2.7813,-2.781335 -2.7813,-7.290541 0,-10.071489 2.780948,-2.7813 7.290154,-2.7813 10.071454,0 2.7813,2.780948 2.7813,7.290154 0,10.071489 z"
style="fill:none;stroke:#0670b3;stroke-width:0.740833;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:0.25"
id="path872" />
<path
d="m 69.587143,95.56682 v -0.01199 c 0.0889,-0.08156 0.1778,-0.165911 0.265289,-0.253259 1.719792,-1.720215 2.580923,-3.974677 2.579864,-6.230691 0.0011,-2.255661 -0.860072,-4.510264 -2.579864,-6.230056 -0.08749,-0.08784 -0.176389,-0.172156 -0.265289,-0.253647 v -0.01199 c 3.84422,0.0011 4.563887,3.281892 5.094817,4.341284 0.52952,1.060803 1.756481,2.154414 1.756481,2.154414 0,0 -1.226961,1.093611 -1.756481,2.154414 -0.53093,1.059603 -1.250597,4.340437 -5.094817,4.34153 z"
style="fill:none;stroke:#0670b3;stroke-width:0.740833;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:0.25"
id="path874" />
<path
d="m 57.657257,82.575178 v 0.01199 c -0.08961,0.08149 -0.1778,0.165805 -0.265289,0.253294 -1.720145,1.719792 -2.580923,3.974748 -2.579864,6.230409 -0.0011,2.256014 0.859719,4.510617 2.579864,6.230409 0.08749,0.08749 0.175683,0.17212 0.265289,0.253541 v 0.01199 c -3.84422,-9.52e-4 -4.563887,-3.281786 -5.094817,-4.34153 -0.529873,-1.060803 -1.756481,-2.154414 -1.756481,-2.154414 0,0 1.226608,-1.093611 1.756481,-2.154061 0.53093,-1.060098 1.250597,-4.340578 5.094817,-4.341637 z"
style="fill:none;stroke:#0670b3;stroke-width:0.740833;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:0.25"
id="path876" />
<path
d="m 72.401252,89.070876 c 0,4.848931 -3.930297,8.779651 -8.779228,8.779651 -4.848578,0 -8.779229,-3.93072 -8.779229,-8.779651 0,-4.848578 3.930651,-8.779229 8.779229,-8.779229 4.848931,0 8.779228,3.930651 8.779228,8.779229 z"
style="fill:none;stroke:#0670b3;stroke-width:0.740833;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:0.25"
id="path878" />
<path
d="m 65.299129,88.382254 c 0.865717,-0.425803 1.429456,-1.041753 0.671336,-2.183342 -0.994833,-1.497895 -2.77883,0.03669 -3.463925,0.938036 -0.261055,0.343605 0.299156,0.753533 0.588081,0.453672 0.166511,-0.179917 0.340078,-0.352778 0.521405,-0.51823 0.584553,-0.6604 1.135945,-0.460023 1.654176,0.602191 -0.485423,0.296686 -1.015648,0.51682 -1.501776,0.820914 -0.229305,0.143581 -0.0695,0.446264 0.173214,0.410634 1.441803,-0.211667 2.301523,1.27 1.36137,2.354791 -0.610659,0.70485 -1.58997,0.431448 -2.2479,0.02893 -0.989189,-0.605367 -1.286581,-1.88595 -1.844323,-2.818694 -0.144286,-0.2413 -0.456847,-0.06809 -0.422275,0.1778 0.274814,1.949802 2.552348,5.21215 4.817534,3.385608 1.364192,-1.099961 0.963436,-3.153128 -0.306917,-3.652308"
style="fill:#0670b3;fill-opacity:0.25;fill-rule:nonzero;stroke:#0670b3;stroke-width:0.0352778;stroke-opacity:0.25"
id="path880" />
</g>
</svg>