psychedelicious
e31f253b90
fix(ui): canvas sliders
...
- Set an empty title to prevent browsers from showing "Please match the requested format." when hovering the number input
- Fix issue w/ `z-index` that prevented the popover button from being clicked while the input was focused
2024-10-09 13:45:36 +11:00
psychedelicious
eee4175e4d
Revert "fix(ui): Apple Pencil requires onPointerUp instead of onClick"
...
This reverts commit 2a90f4f59e .
2024-10-07 10:05:20 +11:00
psychedelicious
2a90f4f59e
fix(ui): Apple Pencil requires onPointerUp instead of onClick
...
With `onClick`, elements w/ a tooltip require a double-tap.
2024-10-04 07:44:40 -04:00
psychedelicious
db283d21f9
chore(ui): lint
2024-10-02 08:02:30 -04:00
psychedelicious
70cca7a431
fix(ui): floating button tooltip orientations
2024-10-02 08:02:30 -04:00
psychedelicious
c4421241f6
feat(ui): updated layout for small screens
...
- Move color picker to floating buttons
- Always show floating buttons
- Minor layout tweaks for floating buttons
2024-10-02 08:02:30 -04:00
psychedelicious
d9bd6c4e57
feat(ui): add color swatches to mask fill
2024-09-23 16:16:51 +03:00
blessedcoolant
0b1639c86e
ui(fix): Tweak the color fill visual
2024-09-20 09:11:33 +10:00
blessedcoolant
a4b936b40e
ui(fix): do not disable buttons if they are active tools
...
This also fixes the styling issue of them not showing the correct active color
2024-09-20 09:11:33 +10:00
psychedelicious
bfba4b11b1
fix(ui): brush/eraser tool width hotkeys
2024-09-20 07:52:52 +10:00
psychedelicious
bc6241ca61
feat(ui): tweak toolbar layout more
2024-09-19 23:36:22 +10:00
psychedelicious
e84801e820
feat(ui): add d hotkey to set fill color to white
...
This mirrors affinity/photoshop's default `d` hotkey, which sets the fg/bg to white/black. We don't have a concept of "background color", and white is more useful for control images, so it sets to white.
2024-09-19 23:36:22 +10:00
psychedelicious
6d71c61d61
feat(ui): add swatches to color picker
2024-09-19 23:36:22 +10:00
psychedelicious
227b984e3b
fix(ui): disable canvas hotkeys when viewer is open
2024-09-19 23:36:22 +10:00
psychedelicious
9e6b60afe8
feat(ui): update hotkey list
...
- Rework hotkey data to include the keys for each hotkey action.
- Add wrapper for `useHotkeys` that accepts a hotkey category and id. Automatically selects the key from the hotkey data.
- Add handling for macOS (cmd vs ctrl, option vs alt).
- Redo all hotkey descriptions, deleting nonexistant ones.
- Some `esc` hotkeys that just close whatever you are currently in are omitted due to their relative simplicity and intuitiveness.
2024-09-18 21:06:45 +03:00
psychedelicious
8506d98f34
feat(ui): brighter border around fill color buttons
2024-09-13 22:33:34 +10:00
psychedelicious
b1e85f8b60
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
1349e73a1a
tidy(ui): merge tool slice, sendToCanvas into settings slice
2024-09-06 22:56:24 +10:00
psychedelicious
a5a077964e
feat(ui): tool buttons are only disabled when currently selected
2024-09-06 22:56:24 +10:00
psychedelicious
eb09253b4e
feat(ui): tidy stateApi atoms & add docstrings
2024-09-06 22:56:24 +10:00
psychedelicious
c246fc98b3
tidy(ui): canvas hotkey hooks
2024-09-06 22:56:24 +10:00
psychedelicious
d9359bac23
feat(ui): bbox hotkey is c
2024-09-06 22:56:24 +10:00
psychedelicious
dd8b25260d
feat(ui): brush & eraser width ui/ux
...
Use same pattern as canvas scale & opacity sliders w/ scaled slider values for precision at low values.
2024-09-06 22:56:24 +10:00
psychedelicious
3cdc5d869f
feat(ui): hotkeys for brush/eraser size
2024-09-06 22:56:24 +10:00
psychedelicious
42ec07daad
feat(ui): tweak brush fill UI
2024-09-06 22:56:24 +10:00
psychedelicious
bac0ce1e69
perf(ui): optimize all selectors 1
...
I learned that the inline selector syntax recreates the selector function on every render:
```ts
const val = useAppSelector((s) => s.slice.val)
```
Not good! Better is to create a selector outside the function and use it. Doing that for all selectors now, most of the way through now. Feels snappier.
2024-09-06 22:56:24 +10:00
psychedelicious
04f78a99ad
feat(ui): rough out undo/redo on canvas
2024-09-06 22:56:24 +10:00
psychedelicious
82d50bfcc9
feat(ui): split out session state from canvas rendering state
2024-09-06 22:56:24 +10:00
psychedelicious
d99dbdfe7c
feat(ui): split out tool state from canvas rendering state
2024-09-06 22:56:24 +10:00
psychedelicious
e8190f4389
feat(ui): move selected tool and tool buffer out of redux
...
This ephemeral state can live in the canvas classes.
2024-09-06 22:56:24 +10:00
psychedelicious
772f0b80a1
feat(ui): disable most interaction while filtering
2024-09-06 22:56:24 +10:00
psychedelicious
664987f2aa
tidy(ui): "eye dropper" -> "color picker"
2024-09-06 22:56:24 +10:00
psychedelicious
efb97c301e
feat(ui): transform tool ux
2024-09-06 22:56:24 +10:00
psychedelicious
30050a23b9
tidy(ui): tool components & translations
2024-09-06 22:56:24 +10:00