Commit Graph
143 Commits
Author SHA1 Message Date
Marshall Bowers 8cb291baa4 Take a different approach to rendering channel buttons (#3991)
This PR changes the approach we're using to render the channel buttons
to use a more straightforward (and less hacky) approach.

### Motivation

Even with the variety of hacks that were employed to make the current
approach work, there are still a number of issues with the current
solution:

- Hovering in the empty space to the left of a channel doesn't correctly
apply the hover background to the container for the channel buttons
- Hovering to the very right of the collab panel (right on top of the
drag handle) causes the channel button container to apply its hover
background without applying it to the rest of the row
- The buttons would still get pushed off to the right by the indent
space in the channel tree, resulting in jagged indicators at small sizes

Additionally, the rectangular background placed behind the channel
buttons still didn't look great when it overlapped with the channel
names.

### Explanation

For these reasons, I decided to explore a simpler approach that
addresses these issues, albeit with some tradeoffs that I think are
acceptable.

We now render the absolutely-positioned button container as a sibling
element of the `ListItem`. This is to avoid issues with the container
getting pushed around based on the contents of the `ListItem` rather
than staying absolutely positioned at the end of the row.

We also have gotten rid of the background for the button container, and
now rely on the background of the individual `IconButton`s to occlude
the channel name behind them when the two are overlapping.

Here are some examples of the new UI in various configurations:

#### When the channel entry is hovered

<img width="270" alt="Screenshot 2024-01-09 at 6 15 24 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0207a129-30eb-4067-8490-3b6c9cbf75ea">

#### Overlapping with the channel name

<img width="229" alt="Screenshot 2024-01-09 at 6 15 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0a67507e-45c8-4325-a71e-d416edc3a115">

#### Narrow collab panel

<img width="116" alt="Screenshot 2024-01-09 at 6 16 07 PM"
src="https://github.com/zed-industries/zed/assets/1486634/887ebaa3-e4d6-4497-9141-afcc8b7cd356">

### Tradeoffs

The new approach comes with the following tradeoffs that I am currently
aware of:

The occlusion can look a little weird when the icons are in the middle
of a channel name (as opposed to fully occluding the end of the channel
name):
<img width="190" alt="Screenshot 2024-01-09 at 6 24 32 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0062b806-1b8f-47eb-af8d-f061d9829366">

Hovering one of the icons causes the icon to be hovered instead of the
row:

<img width="232" alt="Screenshot 2024-01-09 at 6 31 38 PM"
src="https://github.com/zed-industries/zed/assets/1486634/cbcc1a45-64d2-4890-8ad6-c5a5ee961b86">

Release Notes:

- Improved the way channel buttons are displayed.
2024-01-09 18:39:29 -05:00
Marshall Bowers fa53353c57 Rename IconElement to just Icon (#3974)
This PR renames the `IconElement` component to just `Icon`.

This better matches the rest of our components, as `IconElement` was the
only one using this naming convention.

The `Icon` enum has been renamed to `IconName` to free up the name.

I was trying to come up with a way that would allow rendering an
`Icon::Zed` directly (and thus make the `IconElement` a hidden part of
the API), but I couldn't come up with a way to do this cleanly.

Release Notes:

- N/A
2024-01-09 10:11:20 -05:00
Marshall Bowers 5e401e4550 Fix layout shift when renaming a channel (#3946)
This PR fixes the layout shift that would occur in the channel list when
opening a rename editor for a channel.

Release Notes:

- Fixed layout shift when opening a rename editor for a channel.
2024-01-08 13:28:21 -05:00
Marshall Bowers 72de75dd45 Adjust spacing of extra call participant count indicator (#3945)
This PR adjusts the spacing of the indicator showing the number of extra
call participants that appears after the facepile:

<img width="242" alt="Screenshot 2024-01-08 at 1 09 39 PM"
src="https://github.com/zed-industries/zed/assets/1486634/6d9cbefa-3b4e-4501-ab11-51026dfb5b6c">

Release Notes:

- Added more space between the call participant facepile and the number
indicating additional call participants.
2024-01-08 13:24:56 -05:00
Marshall Bowers fd2abb7ba1 Adjust thickness of tree branches 2024-01-08 12:32:01 -05:00
Marshall Bowers 04f01ab408 Overdraw the tree branch to avoid gaps 2024-01-08 12:01:13 -05:00
Piotr Osiewicz d475f1373a gpui: Further docs refinement & moved some reexports into 'private' module (#3935)
This commit mostly fixes invalid URLs in docstrings. It also
encapsulates crates we reexport (serde stuff + linkme) into a public
module named "private" in order to reduce the API surfaced through docs.
Moreover, I fixed up a bunch of crates that were pulling serde_json in
through gpui explicitly instead of using Cargo manifest.

Release Notes:
- N/A
2024-01-07 14:14:21 +01:00
Conrad Irwin 3c0052850c Merge branch 'main' into channel-guests 2024-01-05 10:05:59 -07:00
Marshall Bowers 3f06a05060 Iterate on collab panel filter input style (#3900)
This PR takes another pass at the collab panel filter input to improve
its styling.

Release Notes:

- Improved the look of the filter input in the collab panel.
2024-01-04 18:08:28 -05:00
Conrad Irwin be426e67cc Tidy up guest count 2024-01-04 12:22:45 -07:00
Conrad Irwin 1930258d39 Show guests in fewer places 2024-01-03 19:31:43 -07:00
Max BrunsfeldandMikayla 2b8822fd08 Remove 2 suffix for welcome, vcs_menu, quick_action_bar, collab_ui
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:30:52 -08:00
Mikayla Maki f67f42779b Rename IIFE to maybe (#3165)
Too good of an idea to forget

Release Notes:

- N/A
2023-10-25 17:09:12 +02:00
Mikayla 26a3d41dc7 Change from try (reserved keyword) to maybe 2023-10-25 07:10:21 -07:00
Max Brunsfeld 32367eba14 Set up UI to allow dragging a channel to the root 2023-10-25 15:39:02 +02:00
42259a4007 Fix channel dragging
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-25 09:41:16 +02:00
Conrad Irwin 70eeefa1f8 Fix channel collapsing 2023-10-25 09:27:17 +02:00
5c03b6a610 Remove logic for multiple channel parents
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Kyle <kyle@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-24 17:29:23 +02:00
Conrad Irwin ea4e67fb76 Merge branch 'main' into guest-exp 2023-10-23 17:47:21 +02:00
Max Brunsfeld 5b90507310 Navigate to chat messages when clicking them in the notification panel 2023-10-19 12:31:45 -07:00
Conrad Irwin 3853009d92 Refactor to avoid some (mostly hypothetical) races
Tidy up added code to reduce duplicity of X and X_internals.
2023-10-18 21:42:10 -06:00
Max Brunsfeld b07f9fe3b5 Merge branch 'main' into notifications 2023-10-18 17:20:04 -07:00
Mikayla 0ce1ec5d15 Restrict DAG-related functionality, but retain infrastructure for implementing symlinks 2023-10-18 05:28:05 -07:00
Conrad Irwin 70aed4a605 Sync Role as part of channels
Begin to fix guest notifications
2023-10-17 22:48:44 -06:00
Conrad Irwin 1c5e07f4a2 update sidebar for public channels 2023-10-17 13:30:09 -06:00
Max Brunsfeld f225039d36 Display invite response buttons inline in notification panel 2023-10-17 09:12:55 -07:00
Conrad Irwin d4ef764305 Merge branch 'main' into links 2023-10-09 20:08:48 -06:00
Conrad Irwin 6084486dcd Code quality 2023-10-09 09:44:09 -06:00
Conrad Irwin 8f4d81903c Add "Copy Link" to channel right click menu 2023-10-09 09:30:00 -06:00
Max Brunsfeld f8ca86c6a7 Remove workspace -> channel dependency 2023-10-06 14:19:25 -07:00
Conrad Irwin 13192fa03c Code to allow opening zed:/channel/1234
Refactored a bit how url arguments are handled to avoid adding too much
extra complexity to main.
2023-10-05 14:57:45 -07:00
Mikayla 44ada52185 Fix bug where chat text wouldn't wrap to width 2023-10-05 11:06:29 -07:00
Mikayla Maki acffc7e7f0 Remove old code from notes icon click handler (#3085)
Release Notes:

- Fix clicking the notes icon when people are in the channel (preview
only)
2023-10-04 15:15:25 -07:00
Mikaylaandconrad 2f3c3d510f Fix hit boxes and hover styles for new buttons
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-04 14:44:50 -07:00
Conrad Irwin f7cd0e84f9 Remove old code from notes icon click handler 2023-10-04 15:18:26 -06:00
Mikaylaandmax 4d61d01943 Add an RPC handler for channel buffer acks
co-authored-by: max <max@zed.dev>
2023-10-04 11:47:13 -07:00
dd0edcd203 Changed the on-click behavior of joining a channel to not open the chat, and only open 1 project instead of all projects
Co-authored-by: conrad <conrad.irwin@gmail.com>
Co-authored-by: max <max@zed.dev>
2023-10-04 11:46:08 -07:00
Mikayla db8096ccdc Fix most tests for new chat changes 2023-10-03 20:50:17 -07:00
Mikaylaandconrad 4ff80a7074 Fix a few mouse event id bugs and move facepile to the left
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-03 19:45:33 -07:00
Mikaylaandconrad 23ee8211c7 Lower frequency of popup warning when leaving a call
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-03 19:30:05 -07:00
Max Brunsfeld 95342c8c33 Merge branch 'main' into channel-changes 2023-10-03 17:52:28 -07:00
Max BrunsfeldandMikayla 61e0289014 Acknowledge channel notes and chat changes when views are active
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-03 17:40:10 -07:00
Conrad Irwin 044fb9e2f5 Confirm on switching channels 2023-10-03 13:45:48 -06:00
Conrad Irwin d696b394c4 Tooltips for contacts 2023-10-03 12:54:39 -06:00
Conrad Irwin d8bfe77a3b Scroll so that collab panel is in good state for calls 2023-10-03 12:00:02 -06:00
Conrad Irwin 66dfa47c66 Update collab ui to join channels again 2023-10-03 11:36:01 -06:00
Conrad Irwin 18e7305b6d Change channel join behavior
- Clicking on a channel name now joins the channel if you are not in it
- (or opens the notes if you are already there).
- When joining a channel, previously shared projects are opened
  automatically.
- If there are no previously shared projects, the notes are opened.
2023-10-02 23:20:06 -06:00
Conrad Irwin d7867cd1e2 Add/fix mouse interactions in current call sidebar 2023-10-02 19:38:45 -06:00
Mikayla 1d5b665f13 Implement channel changes for messages 2023-10-01 22:32:11 -07:00
Mikayla e0ff7ba180 Add channel note indicator and clear changed status 2023-10-01 22:32:10 -07:00