Add link to community repo in feedback editor
This commit is contained in:
parent
77c396a0ab
commit
37f910949d
4 changed files with 59 additions and 6 deletions
|
@ -20,7 +20,12 @@ impl_actions!(zed, [OpenBrowser]);
|
||||||
|
|
||||||
actions!(
|
actions!(
|
||||||
zed,
|
zed,
|
||||||
[CopySystemSpecsIntoClipboard, FileBugReport, RequestFeature]
|
[
|
||||||
|
CopySystemSpecsIntoClipboard,
|
||||||
|
FileBugReport,
|
||||||
|
RequestFeature,
|
||||||
|
OpenZedCommunityRepo
|
||||||
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
pub fn init(app_state: Arc<AppState>, cx: &mut MutableAppContext) {
|
pub fn init(app_state: Arc<AppState>, cx: &mut MutableAppContext) {
|
||||||
|
@ -66,4 +71,11 @@ pub fn init(app_state: Arc<AppState>, cx: &mut MutableAppContext) {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
cx.add_action(
|
||||||
|
|_: &mut Workspace, _: &OpenZedCommunityRepo, cx: &mut ViewContext<Workspace>| {
|
||||||
|
let url = "https://github.com/zed-industries/community";
|
||||||
|
cx.dispatch_action(OpenBrowser { url: url.into() });
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
use gpui::{
|
use gpui::{
|
||||||
elements::Label, Element, ElementBox, Entity, RenderContext, View, ViewContext, ViewHandle,
|
elements::{Flex, Label, MouseEventHandler, ParentElement, Text},
|
||||||
|
CursorStyle, Element, ElementBox, Entity, MouseButton, RenderContext, View, ViewContext,
|
||||||
|
ViewHandle,
|
||||||
};
|
};
|
||||||
use settings::Settings;
|
use settings::Settings;
|
||||||
use workspace::{item::ItemHandle, ToolbarItemLocation, ToolbarItemView};
|
use workspace::{item::ItemHandle, ToolbarItemLocation, ToolbarItemView};
|
||||||
|
|
||||||
use crate::feedback_editor::FeedbackEditor;
|
use crate::{feedback_editor::FeedbackEditor, OpenZedCommunityRepo};
|
||||||
|
|
||||||
pub struct FeedbackInfoText {
|
pub struct FeedbackInfoText {
|
||||||
active_item: Option<ViewHandle<FeedbackEditor>>,
|
active_item: Option<ViewHandle<FeedbackEditor>>,
|
||||||
|
@ -29,9 +31,44 @@ impl View for FeedbackInfoText {
|
||||||
|
|
||||||
fn render(&mut self, cx: &mut RenderContext<Self>) -> ElementBox {
|
fn render(&mut self, cx: &mut RenderContext<Self>) -> ElementBox {
|
||||||
let theme = cx.global::<Settings>().theme.clone();
|
let theme = cx.global::<Settings>().theme.clone();
|
||||||
let text = "We read whatever you submit here. For issues and discussions, visit the community repo on GitHub.";
|
|
||||||
Label::new(text, theme.feedback.info_text.text.clone())
|
Flex::row()
|
||||||
.contained()
|
.with_child(
|
||||||
|
Text::new(
|
||||||
|
"We read whatever you submit here. For issues and discussions, visit the ",
|
||||||
|
theme.feedback.info_text.text.clone(),
|
||||||
|
)
|
||||||
|
.with_soft_wrap(false)
|
||||||
|
.aligned()
|
||||||
|
.boxed(),
|
||||||
|
)
|
||||||
|
.with_child(
|
||||||
|
MouseEventHandler::<OpenZedCommunityRepo>::new(0, cx, |state, _| {
|
||||||
|
let text = if state.hovered() {
|
||||||
|
theme.feedback.link_hover_text.clone()
|
||||||
|
} else {
|
||||||
|
theme.feedback.link_text.clone()
|
||||||
|
};
|
||||||
|
|
||||||
|
Label::new("community repo", text.text)
|
||||||
|
.contained()
|
||||||
|
.aligned()
|
||||||
|
.left()
|
||||||
|
.clipped()
|
||||||
|
.boxed()
|
||||||
|
})
|
||||||
|
.with_cursor_style(CursorStyle::PointingHand)
|
||||||
|
.on_click(MouseButton::Left, |_, cx| {
|
||||||
|
cx.dispatch_action(OpenZedCommunityRepo)
|
||||||
|
})
|
||||||
|
.boxed(),
|
||||||
|
)
|
||||||
|
.with_child(
|
||||||
|
Text::new(" on GitHub.", theme.feedback.info_text.text.clone())
|
||||||
|
.with_soft_wrap(false)
|
||||||
|
.aligned()
|
||||||
|
.boxed(),
|
||||||
|
)
|
||||||
.aligned()
|
.aligned()
|
||||||
.left()
|
.left()
|
||||||
.clipped()
|
.clipped()
|
||||||
|
|
|
@ -812,6 +812,8 @@ pub struct FeedbackStyle {
|
||||||
pub submit_button: Interactive<ContainedText>,
|
pub submit_button: Interactive<ContainedText>,
|
||||||
pub button_margin: f32,
|
pub button_margin: f32,
|
||||||
pub info_text: ContainedText,
|
pub info_text: ContainedText,
|
||||||
|
pub link_text: ContainedText,
|
||||||
|
pub link_hover_text: ContainedText,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Deserialize, Default)]
|
#[derive(Clone, Deserialize, Default)]
|
||||||
|
|
|
@ -33,5 +33,7 @@ export default function feedback(colorScheme: ColorScheme) {
|
||||||
},
|
},
|
||||||
button_margin: 8,
|
button_margin: 8,
|
||||||
info_text: text(layer, "sans", "default", { size: "xs" }),
|
info_text: text(layer, "sans", "default", { size: "xs" }),
|
||||||
|
link_text: text(layer, "sans", "default", { size: "xs", underline: true }),
|
||||||
|
link_hover_text: text(layer, "sans", "hovered", { size: "xs", underline: true })
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue