Commit Graph
579 Commits
Author SHA1 Message Date
sawka b7b813a4a7 Cmd-ESC now toggles both ways 2024-06-14 00:15:09 -07:00
Mike SawkaandGitHub 8e3540f754 working on ijson and wsh magic (#53) 2024-06-13 23:54:04 -07:00
Evan Simkowitz 0b80dbcb72 Fix preview rendering in TileLayout storybook 2024-06-13 23:08:11 -07:00
Evan Simkowitz 1f9dada759 Rename LeafNode to DisplayNode 2024-06-13 19:36:06 -07:00
Evan SimkowitzandGitHub ca0b875ac9 Adding more verbose docstrings for the TileLayout (#51) 2024-06-13 19:33:06 -07:00
Evan SimkowitzandGitHub 205afe9998 Remove reference to old Wails binding (#50)
This is now covered by gotypes.d.ts so we don't need the Wails binding ref anymore
2024-06-13 18:31:42 -07:00
b2b1f9b9df Switch to using electron-vite instead of WebPack (#45)
This sets us back up to use Vite via the electron-vite package. This
will let us continue to build our testing suite on Vitest and take
advantage of Vite features like Hot Module Reloading, etc.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-06-13 16:49:25 -07:00
Mike SawkaandGitHub 0f992c535d working on wave OSC escapes, modes for the terminal (#46) 2024-06-13 14:41:28 -07:00
sawka 8a71180f20 implement wscommand using type union interface, send resize events there 2024-06-12 14:18:03 -07:00
sawka 083e00227e update BlockService to use the new type union feature of tsgen. strongly type the arguments to BlockService.SendCommand 2024-06-12 13:47:13 -07:00
sawka 605b9ea048 remove wails deps 2024-06-12 11:58:17 -07:00
Mike SawkaandGitHub 1874d9a252 port to electron (#33) 2024-06-11 17:42:10 -07:00
Evan SimkowitzandGitHub 9f32a53485 Fix preview getting unset when app is idle (#43)
I found that the drag preview images would get unset when the app went idle. I am now caching the preview image and resetting it every time a user hovers over a TileNode. I am also updating the logic for the placeholder slightly to reduce the number of variables floating around.
2024-06-11 16:28:41 -07:00
Evan SimkowitzandGitHub 1b52160794 Remove unnecessary generic definition (#42) 2024-06-11 16:19:17 -07:00
Evan SimkowitzandGitHub 8b61c4d62b Add webkit-prefixed user-select attributes (#41)
It turns out that WebKit uses its own prefix for user-select so I'm adding this everywhere we currently define user-select, as well as a few new places
2024-06-11 16:16:52 -07:00
Evan SimkowitzandGitHub 9809414eb0 Fix order of operations when moving nodes (#40)
Insert the node at the new location before removing it from its old location. With the old order, removing a node from its parent could change the indexing of the parent node, if moving a node to a new location under the same parent.
2024-06-11 15:10:20 -07:00
Evan SimkowitzandGitHub cff7a54507 Ensure previews don't wrap text (#39) 2024-06-11 14:51:35 -07:00
Evan SimkowitzandGitHub 525f20ba81 Disable text selection on tab bar and block headers (#38) 2024-06-11 14:33:24 -07:00
Evan SimkowitzandGitHub 4293c749c4 Only generate a preview image on first onPointerEnter event (#37)
This resolves a noticeable delay when the first paint required generating multiple preview images
2024-06-11 14:28:17 -07:00
Evan SimkowitzandGitHub 1be376c679 Remove debugging statement when generating drag previews (#36) 2024-06-11 13:25:21 -07:00
Evan SimkowitzandGitHub 92dc82967c Replace lets with const where possible (#35) 2024-06-11 13:19:29 -07:00
Evan SimkowitzandGitHub 97ca430884 Fix missing null check in block header component (#34) 2024-06-11 13:06:05 -07:00
Evan SimkowitzandGitHub 0a45311f30 Implement outer drop direction, add rudimentary drag preview image rendering (#29)
This PR adds support for Outer variants of each DropDirection.

When calculating the drop direction, the cursor position is calculated
relevant to the box over which it is hovering. The following diagram
shows how drop directions are calculated. The colored in center is
currently not supported, it is assigned to the top, bottom, left, right
direction for now, though it will ultimately be its own distinct
direction.

![IMG_3505](https://github.com/wavetermdev/thenextwave/assets/16651283/a7ea7387-b95d-4831-9e29-d3225b824c97)

When an outer drop direction is provided for a move operation, if the
reference node flexes in the same axis as the drop direction, the new
node will be inserted at the same level as the parent of the reference
node. If the reference node flexes in a different direction or the
reference node does not have a grandparent, the operation will fall back
to its non-Outer variant.

This also removes some chatty debug statements, adds a blur to the
currently-dragging node to indicate that it cannot be dropped onto, and
simplifies the deriving of the layout state atom from the tab atom so
there's no longer another intermediate derived atom for the layout node.

This also adds rudimentary support for rendering custom preview images
for any tile being dragged. Right now, this is a simple block containing
the block ID, but this can be anything. This resolves an issue where
letting React-DnD generate its own previews could take up to a half
second, and would block dragging until complete. For Monaco, this was
outright failing.

It also fixes an issue where the tile layout could animate on first
paint. Now, I use React Suspense to prevent the layout from displaying
until all the children have loaded.
2024-06-11 13:03:41 -07:00
Evan SimkowitzandGitHub 45a9a95e38 Fix nodeRefs dependency, since map is not a reliable dependency (#31) 2024-06-10 15:16:29 -07:00
Evan SimkowitzandGitHub 57e5b7284f Forgot to set generation atom (#28) 2024-06-06 18:07:00 -07:00