Commit Graph

10 Commits

Author SHA1 Message Date
c0mrade
1d7b984880 refactor: simplify AdminApps page to config selector and compact app chips
- Rewrite AdminApps.tsx from ~560 to ~165 lines: status card, config list, UUID input, save/disconnect
- Remove legacy types and conversion functions from adminApps.ts (~370 lines)
- Connection.tsx: flex-wrap app chips, reduce padding and icon size for compact layout
2026-02-05 14:56:41 +03:00
c0mrade
53940a0169 feat: use platform displayName from RemnaWave config in connection page
Add displayName to RemnawavePlatformData type and prioritize it
in getPlatformDisplayName over hardcoded fallback names.
2026-02-05 14:27:53 +03:00
c0mrade
966343a4d8 fix: restore platform dropdown with SVG icon and widen app chips to match original 2026-02-05 13:36:51 +03:00
c0mrade
4866003c23 fix: unify connection page design with global styles and add platform SVG icons
- Add svgIconKey to RemnawavePlatform and RemnawavePlatformData types
- Render platform OS icons from svgLibrary in AdminApps tabs and Connection page
- Replace platform dropdown with icon pill buttons on connection page
- Use .card class with colored left border for block cards
- Unify all back buttons with AdminBackButton pattern (border + bg)
- Fix app chips and platform tabs to not blend with background (btn-secondary style)
- Use accent outlined style for block action buttons matching original RemnaWave UI
- Use btn-secondary for tutorial button
2026-02-05 13:21:32 +03:00
c0mrade
91afbbf3c6 fix: resolve RemnaWave SVG icons and icon colors on connection page
SVG library entries from RemnaWave API are plain strings, not objects
with svgString property. Also map named colors (violet, cyan, teal, etc.)
to hex values for correct icon background rendering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:02:32 +03:00
c0mrade
42e70f72ff fix: restyle app cards to match original RemnaWave UI and debug icons
- Redesign app selector from small pills to card buttons with name left
  and large SVG icon right matching original RemnaWave subscription page
- Remove broken getAppIcon fallback (📦) for unknown apps
- Add svgIconKey field to app types for app-level logo from svgLibrary
- Use app.svgIconKey for admin apps page icons
- Increase subscription page tile opacity to 50% for readability
- Add temporary debug log to diagnose missing svgIconKey on apps
2026-02-05 11:42:54 +03:00
c0mrade
65a671470d feat: use app-level svgIconKey for app logos and improve tile contrast
- Add svgIconKey field to RemnawaveAppClient and RemnawaveApp types
- Render app logos from svgLibrary via app.svgIconKey on connection page
  chips with fallback to getAppIcon() by name
- Use app.svgIconKey for app icons on admin apps settings page
- Show featured indicator as amber dot matching original RemnaWave UI
- Increase inner tile background opacity from 30% to 50% on subscription
  page for better text readability
2026-02-05 11:27:03 +03:00
c0mrade
a50dea9a3d feat: connect RemnaWave baseTranslations and fix SVG icons
- Wire baseTranslations from RemnaWave config to connection page UI
  (copyLink, openApp, installApp, addSubscription, connectAndUse,
  tutorial, close) with locale fallback: current lang → en → ru → first
- Add tutorial button when baseSettings.isShowTutorialButton is enabled
- Fix SVG icon rendering on admin apps settings page with proper scaling
- Add colored circle backgrounds for block and app icons in admin panel
- Add tutorial translation key to all locale files
2026-02-05 09:44:42 +03:00
c0mrade
79afe3a733 feat: render original RemnaWave blocks on connection page
- Add RemnaWave types (RemnawaveAppClient, RemnawaveBlockClient, etc.)
- Dual rendering: RemnaWave blocks with SVG icons or legacy steps
- Platform dropdown, DOMPurify for SVG sanitization
- Button types: subscriptionLink, copyButton, external
2026-02-05 08:29:54 +03:00
c0mrade
445dd0601a feat: convert ConnectionModal to /connection page with crypto deep links
- Add @kastov/cryptohapp + jsencrypt for encrypted Happ deep links
- Add templateEngine utility to resolve {{SUBSCRIPTION_LINK}},
  {{HAPP_CRYPT3_LINK}}, {{HAPP_CRYPT4_LINK}}, {{USERNAME}} templates
- Convert ConnectionModal component into a standalone Connection page
- Add /connection route with ProtectedRoute and lazy loading
- Replace modal invocation in Dashboard and Subscription with
  navigate('/connection')
- Add type and svgIconKey optional fields to RemnawaveButton
- Show button type badge and SVG icon in AdminApps BlockCard
- Refactor ThemeTab to use local draft state with Save/Cancel flow
2026-02-05 07:33:45 +03:00