Skip to content

feature: solid js integration#25

Merged
marlonmarcello merged 20 commits into
mainfrom
feature/solid-js-integration
Jun 15, 2026
Merged

feature: solid js integration#25
marlonmarcello merged 20 commits into
mainfrom
feature/solid-js-integration

Conversation

@marlonmarcello

@marlonmarcello marlonmarcello commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

Integrates OpenTUI SolidJS bindings and:

  • converts the old modal to a component
  • improves and cleans the main shell entry point
  • adds a basic status bar
  • adds a command palette system
  • adds basic routing
  • adds placeholder for future pages/screens
  • lots of cleanup and documentation

Type of Change

  • Feature
  • Bug fix
  • Refactor
  • Documentation
  • Tooling / CI / release

Local Verification

  • bun run lint
  • bun run fmt:check
  • bun run check
  • bun test
  • bun run build if this affects CLI, install, release, update, or native TUI packaging behavior

Release Impact

  • No release impact
  • Changeset added in .changeset/
  • Updates CLI behavior
  • Updates install/update behavior
  • Updates build/release packaging
  • Breaking change

Notes

  • Do not commit generated binaries or release artifacts.
  • Do not edit package.json versions manually in feature/fix PRs.
  • Releases are created by merging the automated Changesets version PR; .github/workflows/release.yml handles tagging, binaries, and release assets.

- Add dependency packages
- Configure tsconfig.json with jsxImportSource
- Create bunfig.toml with Solid preload
- Add Solid bun-plugin to build script
- Update AGENTS.md tech stack
- Add all website colors to palette (includes brand colors)
- Add new semantic keys: surface, surfaceRaised, surfaceOverlay,
  textMuted, textInverse, accent, accentSoft, info
- Fix selectionText contrast (black on teal50 instead of teal75)
- Rename bgRaised to surface for clarity
- Add ThemeProvider component that sets renderer background color
- Export Tokens type from tokens.ts for type-safe consumption
- UseTheme hook with error boundary for misplaced usage
- Add keymap.tsx wrapping KeymapProvider and useBindings from @opentui/keymap
- Upgrade @opentui/core to ^0.4.1 to resolve nested dependency type mismatch
- Export createKeymap helper that creates a default OpenTUI keymap
- Add DialogProvider component wrapping children with Portal overlay
- useDialog hook exposing show/replace/clear for dialog management
- Escape key closes current dialog via useBindings
- Responsive overlay with RGBA dimming and centered panel
- Solid component replacing imperative modal for update notifications
- Uses useBindings for keyboard handling (enter/escape to close)
- Brand-styled: pink title, teal version highlight, OK button
- Shows install command on a dim background
- Mouse click support on the close indicator and OK button
…alette

- Rewrite app root as Solid component tree with ThemeProvider,
  DialogProvider, KeymapProvider
- Convert dashboard to Solid JSX (ascii_font, box, text, select)
- Add StatusBar component showing active key bindings at bottom
- Add CommandPalette component for ctrl+p overlay navigation
- Add UpdateDialog replacing old imperative modal
- Remove old functional dashboard.ts, modal.ts, and rendering tests
- app.ts now delegates to app.tsx launchSolidApp
@marlonmarcello marlonmarcello requested a review from a team as a code owner June 12, 2026 00:03
@changeset-bot

changeset-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8bcbe76

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
wtc Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@marlonmarcello marlonmarcello merged commit 8ba3b71 into main Jun 15, 2026
4 checks passed
@marlonmarcello marlonmarcello deleted the feature/solid-js-integration branch June 15, 2026 17:52
@github-actions github-actions Bot mentioned this pull request Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant