Commit Graph

22 Commits

Author SHA1 Message Date
Jeff Emmett c623a6a600 Merge branch 'dev' 2026-02-25 14:22:29 -08:00
Jeff Emmett 8ce24be479 feat: standardize header, categories, cross-app spaces
- AppSwitcher: rTube/rSwag → Creating, rSocials → Sharing, rData → Observing
- EcosystemFooter: updated link order to match new categories
- UserMenu: 🔑 Sign In button, 🔐 lock when logged in
- SpaceSwitcher: reads EncryptID token, sends Bearer header
- /api/spaces proxy: forwards to rspace.online (canonical spaces)
- /api/me: verifies EncryptID token for auth status
- Header.tsx: standardized bg-slate-900/85 across all apps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:17:13 -08:00
Jeff Emmett 3ca157a588 Merge branch 'dev'
# Conflicts:
#	app/layout.tsx
#	app/page.tsx
#	components/AppSwitcher.tsx
#	docker-compose.yml
2026-02-25 13:37:24 -08:00
Jeff Emmett 5b22245076 Standardize emojis across header, favicons, and ecosystem links
Canonical emoji set for consistency:
- 🕸️ rNetwork (was 🌐), ⚖️ rChoices (was 🔀), 📋 rWork (was 💼)
- 🔐 rIdentity (was 🔑), 📖 rPubs (was 📰), 💸 rFunds (was 💰)
- 💰 rWallet (was 💼 in footer), 📬 rInbox (was ✉️)
- 💭 rForum (was 💬, differentiates from rChats)
- 📢 rSocials (was 📱), 🔨 rAuctions (was 🏛️ in footer)
- 🎬 rTube (was 📹 in footer)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 12:57:07 -08:00
Jeff Emmett f4629a48c2 feat: standardize Header, EcosystemFooter, and shared components
Move nav to shared Header in layout.tsx, remove inline header/footer
from page.tsx. Add UserMenu, SpaceSwitcher, and updated AppSwitcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:04:29 -08:00
Jeff Emmett b7308ffabc fix: landing page improvements and SpaceSwitcher domain support
- SpaceSwitcher auto-derives domain from window.location
- Fix landing page issues (redirect bug, duplicate footers,
  broken links, missing content)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:32:47 -08:00
Jeff Emmett 5ff8b8a83f fix: space links use subdomain URLs instead of rspace.online path
Space links now go to <space>.<app-domain> (e.g., myspace.rfunds.online)
instead of rspace.online/<space>. Domain derived from window.location
when not explicitly provided.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:18:57 -08:00
Jeff Emmett 3323f7c9bf fix: nest Sign Out under username dropdown in UserMenu
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:09:15 -08:00
Jeff Emmett c8eaa420fa feat: standardize header with AppSwitcher, SpaceSwitcher, and UserMenu
- Replace inline nav/Navbar with shared Header component
- Header pattern: AppSwitcher dropdown / SpaceSwitcher / actions / Sign In
- SpaceSwitcher and UserMenu work without SDK dependency
- Consistent across all r*Apps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:03:11 -08:00
Jeff Emmett 00fc152ed2 feat: standardize AppSwitcher and EcosystemFooter across all rApps
- Update AppSwitcher with all 26 r*Apps in 8 categories
- Add EcosystemFooter component with consistent ecosystem links
- Categories: Creating, Planning, Communicating, Deciding,
  Funding & Commerce, Social & Media, Work & Productivity,
  Identity & Infrastructure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:48:03 -08:00
Jeff Emmett d97adce1cd Merge branch 'main' of ssh://gitea.jeffemmett.com:223/jeffemmett/rfunds-online
# Conflicts:
#	app/page.tsx
2026-02-24 19:20:45 -08:00
Jeff Emmett bc4bed611c feat: add rStack AppSwitcher dropdown to header
Adds the unified rStack app switcher with pastel badges, emoji icons,
and categorized navigation across all 17 rStack apps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:15:51 -08:00
Jeff Emmett 4264ac9be2 feat: add dynamic enoughness layer to Budget River
Funnels can now declare a sufficientThreshold and dynamicOverflow.
When dynamicOverflow is true, surplus routes to the most underfunded
targets by need-weight instead of fixed percentages. Visual layer adds
golden glow on sufficient funnels, sufficiency progress bar, ENOUGH
status pill, and a system-wide Enoughness Score badge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:38:23 +00:00
Jeff Emmett 0afb85e9f7 feat: sankey-proportional waterfalls + multi-chain Safe support
Rewrite budget river waterfalls with bezier-curved tapered shapes where
width encodes flow magnitude (inflows flare into river, outflows taper
out). Add Ethereum, Base, Polygon, Arbitrum to Safe chain detection.
Fetch real transaction history for live inflow rates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:32:07 +00:00
Jeff Emmett e683175c65 feat: add Budget River waterfall visualization view
New /river page showing funding flows as an animated river with waterfalls
cascading in (inflows) and out (spending). SVG-based with CSS animations
for water effects, ripples, and current lines. Supports demo mode with
simulated data and live mode via Safe Global API for real on-chain balances.
Also includes source node type and landing page nav links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:02:49 +00:00
Jeff Emmett 42942cc962 feat: add real-time flow simulation engine and clickable rVote proposal links
Replace random-noise simulation with actual flow logic: inflow accumulation,
threshold-gated overflow distribution to downstream funnels, spending drain
to outcomes, and auto status transitions. Outcomes linked to rVote proposals
are now clickable links opening the live proposal on rvote.online.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:59:13 -07:00
Jeff Emmett 6411604852 feat: add funding sources — card payments via Transak and funding source management
- FundingSource types: card, crypto_wallet, safe_treasury, bank_transfer
- TransakWidget component with iframe postMessage handling
- FundingSourcesPanel with CRUD, config forms per type, and Fund Now action
- FunnelNode edit modal: new Funding Sources section
- Space page: Fund dropdown with Deposit (Crypto) + Pay with Card options

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:21:44 -07:00
Jeff Emmett a6190636a8 feat: add EncryptID passkey authentication to space editor
Requires authentication via EncryptID before accessing the flow
editor. Adds AuthButton component, auth store, and middleware.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:47:25 -07:00
Jeff Emmett 8c3baed4b8 feat: add Superfluid stream edges, 0xSplits view, and rVote API client
- StreamEdge component with animated dash pattern for Superfluid flow visualization
  (planned/active/paused status, flow rate + token labels)
- SplitsView component showing recipient addresses, percentage bars, and export config
- rVote API client module (fetchSpace, fetchPassedProposals) via CORS proxy
- Stream-out handle on FunnelNode for creating stream connections
- Splits and streams display in FunnelNode edit modal
- Edge type system refactored to support allocation + stream edge data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 10:20:51 -07:00
Jeff Emmett f012502133 feat: add cross-app integration panel for Safe wallets and rVote proposals
Link external data sources to rFunds spaces:
- Safe Global API client (Gnosis + Optimism) for wallet balances → Funnel nodes
- rVote CORS proxy + client for passed proposals → Outcome nodes
- Integration panel UI with preview/import workflow
- Source badges on nodes (chain icon for Safe, rVote score for proposals)
- State persistence for integrations in save/load/share

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 10:08:19 -07:00
Jeff Emmett 6b29141d1a feat: add +/- buttons on flow edges for inline allocation adjustment
Custom AllocationEdge component renders clickable +/- controls at each
edge's midpoint, allowing users to increment/decrement allocation
percentages by 5% without opening the funnel edit modal. Sibling
allocations are automatically renormalized to sum to 100%.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:25:11 -07:00
Jeff Emmett 1f40ab57cf feat: initial rfunds.online with TBFF interactive platform
Landing page explaining threshold-based flow funding, interactive demo at /tbff
with the full Treasury → sub-funnels → outcomes preset, and user-created spaces
at /space with save/load/share functionality via localStorage and URL hash state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 08:09:16 -07:00