Onboarding · Help: help panel, cheatsheet, what's new, feedback, support, inline help

HelpPanel searches articles and opens one, its body in Markdown, with a
way back; focus follows to All articles and back to the search, a
link to help:<key> opens another, and Contact support and Keyboard
shortcuts wait at its foot. KeyboardShortcutCheatsheet puts
settings::KeyboardShortcutsList in a dialog with its search focused;
WhatsNewDialog puts data_display::Changelog in one with Got it.
FeedbackWidget asks how it is going with four faces and a note, and
thanks. ContactSupport sends a topic and a message, spins while the
owner sends, and empties the message with focus back in it. InlineHelp
is a quiet line with Learn more. HelpTooltip moves to primitives,
where FormLabel's help mark shows it; ToggleGroup keys its toggles by
its own id. EmptyStateWithAction points to feedback::EmptyState.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-27 15:05:06 -04:00
1 parent d4ba8f7037
commit fe1b00d414
20 files changed
+1662 -122

No files matched your search

+3 -13
View File
@@ -2,15 +2,14 @@ use std::rc::Rc;
use gpui::{
Animation, AnimationExt, AnyElement, App, ElementId, InteractiveElement, IntoElement,
ParentElement, RenderOnce, SharedString, StatefulInteractiveElement, Styled, Window, div,
prelude::*,
ParentElement, RenderOnce, SharedString, Styled, Window, div, prelude::*,
};
use smallvec::SmallVec;
use super::{options::Run, text::Submit};
use crate::{
motion,
primitives::{Icon, IconName, Tooltip},
primitives::{HelpTooltip, Icon, IconName},
theme::{ActiveTheme, IconSize, TextSize},
typography::{Caption, Heading, Label},
};
@@ -159,16 +158,7 @@ impl RenderOnce for FormLabel {
label.child(div().text_color(colors.danger).child("*"))
})
.when_some(self.help, |label, help| {
label.child(
div()
.id((self.id, "help"))
.child(
Icon::new(IconName::CircleHelp)
.size(IconSize::Xs)
.color(colors.fg_subtle),
)
.tooltip(Tooltip::text(help)),
)
label.child(HelpTooltip::new((self.id, "help"), help))
})
}
}