80 Commits

Author SHA1 Message Date
Evan Simkowitz af38ebab54 typo in last pr 2024-09-20 13:31:12 -07:00
Evan Simkowitz 38f07ae3f9 Dismiss update banner after 10s on error (#800) 2024-09-20 13:29:37 -07:00
Evan Simkowitz 231c960ca8 missed a change 2024-09-18 14:30:45 -07:00
Evan Simkowitz e5e6259dec Show updater status banner for all statuses (#396)
Also adds updater channel to about modal
2024-09-18 14:25:52 -07:00
Red J Adaya dae72e7009 more on button refactor (#388)
- Removed opacity for hover effect. Now uses a brighter variant of color
- Updated other Button usages
2024-09-17 22:38:17 -07:00
Red J Adaya 09f4616ae0 button refactor (#383)
Refactored to be more flexible. Now, it has three types

- solid
- outline
- ghost

and subtypes

- green
- grey
- red
- yellow

It defaults to solid and green when no className is provided. It
concatenates defaults if custom classNames are provided.
2024-09-16 22:23:05 -07:00
Red J Adaya c3a02d7e33 revert tabs scroll timing (#363) 2024-09-10 23:22:32 -07:00
Red J Adaya f6fc0125fd fix issue where tabs are immediately visible while they're still stacked on load (#362)
This fixes the visual bug where the active tab seems to be the first tab
and then switches to the actual active tab after the tabs are
positioned.
2024-09-10 23:06:27 -07:00
Red J Adaya b278d11aca do no animate tabs on load (#351) 2024-09-06 17:41:00 -07:00
Evan Simkowitz 74c8044c73 Add gap size setting (#325)
Adds a new setting for the gap size between tiles in a layout. Also
updates the resize handle calculations so they are dynamically generated
based on the gap size. Also updates the styling for the resize handles
to be more robust.

This also updates the default gap size to 3px.

This also slims out the Block Frame padding so it is just enough that
the blocks don't overlap when there's no gap.
2024-09-04 22:07:47 -07:00
Mike Sawka 53d3ad04b7 focus/key handling for directory preview (#291) 2024-08-29 17:00:24 -07:00
Mike Sawka 8630e23239 new config system (#283) 2024-08-27 18:49:49 -07:00
Evan Simkowitz 755f8f2385 add back top padding for tabcontent 2024-08-27 13:46:13 -07:00
Evan Simkowitz c892c39a73 Fix block content sizing (#280)
Make the block content sizing update once when its node moves or becomes
magnified. By manually updating this inner sizing rather than letting
the block flow in the DOM, the animations of the block frames are much
smoother.

This also fixes an issue where two scrollbars were being rendered for
the Directory Preview widget.

This also sets zero padding on nodes when there's only a single node
being rendered.
2024-08-27 13:41:36 -07:00
Evan Simkowitz 164afeeb66 Unified node model to pass data from layout to blocks (#259)
This adds a new NodeModel, which can be passed from the TileLayout to
contained blocks. It contains all the layout data that the block should
care about, including focus status, whether a drag operation is
underway, whether the node is magnified, etc.

This also adds a focus stack for the layout, which will let the focus
switch to the last-focused node when the currently-focused one is
closed.

This also addresses a regression in the resize handles that caused them
to be offset from the cursor when dragged.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-08-26 11:56:00 -07:00
Red J Adaya af3bc7d249 reduce target area for tab close btn (#261) 2024-08-23 00:15:54 -07:00
Evan Simkowitz bd4bf93d4a Update copyright indicators on a bunch of files (#255) 2024-08-20 17:01:29 -07:00
Evan Simkowitz edfe711eda Use Window Controls Overlay API for native-like experience on Windows and Linux (#240)
This PR implements the [Window Controls Overlay
API](https://web.dev/articles/window-controls-overlay) to let us hide
the menu bar on Windows and Linux and directly embed the window controls
in our tab bar. With #239 merged, we no longer need the menu bar on
these platforms.

The overlaid window controls are transparent so they will take on the
background from the app. I've updated the tab bar to flow properly using
the API's CSS environment variables.

At some point, we may want to update the logic around the symbolColor so
that it can ensure a proper contrast between the background and the
symbols in the window controls. For now, setting them to white works for
all the backgrounds we currently support.

![image
(2)](https://github.com/user-attachments/assets/7610f10b-9696-435c-9a2d-a435bee9fadb)


https://github.com/user-attachments/assets/8d19b512-5281-42b9-8abb-ccb9b850061f
2024-08-16 23:45:22 -07:00
Evan Simkowitz 4a782f2747 make app menu button cursor a pointer and add a hover text color 2024-08-16 23:41:31 -07:00
Evan Simkowitz 03587184a0 Replace logo with platform-dependent button to open app menu (#239)
Replace the logo in the tab bar with an ellipsis icon that shows on
Linux and Windows and, when clicked, opens up the system menus. This
also fixes an issue I noticed where the context menus were set to the
wrong coordinates when a window was zoomed in.


![image](https://github.com/user-attachments/assets/1be77cad-73a6-4cb8-b545-08ec908f1d9a)

![image](https://github.com/user-attachments/assets/0beef938-15f8-4084-b7bd-7d9f995187ef)
2024-08-16 16:18:42 -07:00
Evan Simkowitz e85b0d205e New layout model (#210)
This PR is a large refactoring of the layout code to move as much of the
layout state logic as possible into a unified model class, with atoms
and derived atoms to notify the display logic of changes. It also fixes
some latent bugs in the node resize code, significantly speeds up
response times for resizing and dragging, and sets us up to fully
replace the React-DnD library in the future.
2024-08-14 18:40:41 -07:00
sawka 5e1da4805f move widgets to left, fix some paddings 2024-08-09 11:49:19 -07:00
Evan Simkowitz 8d29f7f934 Import logo png so Vite can find it (#203) 2024-08-06 17:12:32 -07:00
Evan Simkowitz 8ebdb58f4b Use button for update available banner (#202) 2024-08-06 16:48:25 -07:00
sawka 8508a40261 try adding the wave logo to header 2024-08-06 16:41:00 -07:00