Christian Byrne
ef4e4a69d5
fix: enable enforce-consistent-class-order tailwind lint rule ( #9428 )
...
## Summary
Enable `better-tailwindcss/enforce-consistent-class-order` lint rule and
auto-fix all 1027 violations across 263 files. Stacked on #9427 .
## Changes
- **What**: Sort Tailwind classes into consistent order via `eslint
--fix`
- Enable `enforce-consistent-class-order` as `'error'` in eslint config
- Purely cosmetic reordering — no behavioral or visual changes
## Review Focus
Mechanical auto-fix PR — all changes are class reordering only. This is
the largest diff but lowest risk since it changes no class names, only
their order.
**Stack:** #9417 → #9427 → **this PR**
Fixes #9300 (partial — 3 of 3 rules)
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9428-fix-enable-enforce-consistent-class-order-tailwind-lint-rule-31a6d73d3650811c9065f5178ba3e724 )
by [Unito](https://www.unito.io )
2026-03-05 17:24:34 -08:00
AustinMroz
fe8ab1d896
App mode mobile redesign ( #9047 )
...
Reworks the app mode display for mobile devices. Adds multiple bottom
tabs that can be swiped between.

To be handled in followup PRs
- Nicer error display
- Support for even smaller screens
- UX improvements for the 'Outputs' pane
- Was postponed to minimize conflicts with non-mobile development.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9047-App-mode-mobile-redesign-30e6d73d365081388e4adea4df886522 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
2026-03-03 14:18:19 -08:00
Alexander Brown
8f48b11f6a
fix: resolve missing i18n key warnings ( #9064 )
...
## Summary
Fix multiple i18n missing key console warnings by correcting key paths
and adding missing translations.
## Changes
- **What**:
- `ScrubableNumberInput`: Fixed references to non-existent
`g.ariaLabel.decrement`/`g.ariaLabel.increment` keys → use
`g.decrement`/`g.increment`
- `SidebarIcon`: Replaced `t()` with `st()` (safe translate) to prevent
double-translation when parent components pass pre-translated strings
- `en/main.json`: Added missing `menuLabels.Copy`, `menuLabels.Paste`,
`menuLabels.Select All` keys
## Review Focus
The `SidebarIcon` change from `t()` to `st()` is the key design
decision. `SidebarIcon` receives both i18n keys (from sidebar tabs via
`SideToolbar`) and pre-translated strings (from dedicated sidebar button
components). Using `st()` (which checks `te()` before translating)
handles both cases without warnings.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9064-fix-resolve-missing-i18n-key-warnings-30e6d73d3650816eaad3ce030f9c1d3f )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-02-21 15:26:37 -08:00
Terry Jia
e1e560403e
feat: reuse WidgetInputNumberInput for BoundingBox numeric inputs ( #8895 )
...
## Summary
Make WidgetInputNumberInput usable without the widget system by making
the widget prop optional and adding simple min/max/step/disabled props.
BoundingBox now uses this component instead of a separate
ScrubableNumberInput
## Screenshots (if applicable)
<img width="828" height="1393" alt="image"
src="https://github.com/user-attachments/assets/68e012cf-baae-4a53-b4f8-70917cf05554 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8895-feat-add-scrub-drag-to-adjust-to-BoundingBox-numeric-inputs-3086d73d36508194b4b5e9bc823b34d1 )
by [Unito](https://www.unito.io )
2026-02-18 16:32:03 -08:00