mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-10 05:37:29 +03:00
Update assistant panel message header, model switcher
This commit is contained in:
parent
a1085184a1
commit
d8eea949ef
@ -53,7 +53,11 @@ use std::{
|
||||
time::{Duration, Instant},
|
||||
};
|
||||
use theme::ThemeSettings;
|
||||
use ui::{prelude::*, Tab, TabBar, Tooltip};
|
||||
use ui::{
|
||||
prelude::*,
|
||||
utils::{DateTimeType, FormatDistance},
|
||||
ButtonLike, Tab, TabBar, Tooltip,
|
||||
};
|
||||
use util::{paths::CONVERSATIONS_DIR, post_inc, ResultExt, TryFutureExt};
|
||||
use uuid::Uuid;
|
||||
use workspace::{
|
||||
@ -1126,13 +1130,13 @@ impl Render for AssistantPanel {
|
||||
.border()
|
||||
.border_color(gpui::red())
|
||||
} else {
|
||||
let header = ui::TabBar::new("assistant_header")
|
||||
let header = TabBar::new("assistant_header")
|
||||
.start_child(
|
||||
h_stack().gap_1().child(Self::render_hamburger_button(cx)), // .children(title),
|
||||
)
|
||||
.children(self.active_editor().map(|editor| {
|
||||
h_stack()
|
||||
.h(rems(ui::Tab::HEIGHT_IN_REMS))
|
||||
.h(rems(Tab::HEIGHT_IN_REMS))
|
||||
.flex_1()
|
||||
.px_2()
|
||||
.child(Label::new(editor.read(cx).title(cx)).into_element())
|
||||
@ -2278,6 +2282,14 @@ impl ConversationEditor {
|
||||
}
|
||||
Role::System => Label::new("System").color(Color::Warning),
|
||||
})
|
||||
.tooltip(|cx| {
|
||||
Tooltip::with_meta(
|
||||
"Toggle message role",
|
||||
None,
|
||||
"Available roles: You (User), Assistant, System",
|
||||
cx,
|
||||
)
|
||||
})
|
||||
.on_click({
|
||||
let conversation = conversation.clone();
|
||||
move |_, cx| {
|
||||
@ -2292,10 +2304,23 @@ impl ConversationEditor {
|
||||
|
||||
h_stack()
|
||||
.id(("message_header", message_id.0))
|
||||
.border()
|
||||
.border_color(gpui::red())
|
||||
.h_12()
|
||||
.gap_1()
|
||||
.p_1()
|
||||
.debug_bg_cyan()
|
||||
.child(sender)
|
||||
.child(Label::new(message.sent_at.format("%I:%M%P").to_string()))
|
||||
// TODO: Only show this if the message if the message has been sent
|
||||
.child(
|
||||
Label::new(
|
||||
FormatDistance::from_now(DateTimeType::Local(
|
||||
message.sent_at,
|
||||
))
|
||||
.hide_prefix(true)
|
||||
.add_suffix(true)
|
||||
.to_string(),
|
||||
)
|
||||
.color(Color::Muted),
|
||||
)
|
||||
.children(
|
||||
if let MessageStatus::Error(error) = message.status.clone() {
|
||||
Some(
|
||||
@ -2456,6 +2481,7 @@ impl ConversationEditor {
|
||||
"current_model",
|
||||
self.conversation.read(cx).model.short_name(),
|
||||
)
|
||||
.style(ButtonStyle::Filled)
|
||||
.tooltip(move |cx| Tooltip::text("Change Model", cx))
|
||||
.on_click(cx.listener(|this, _, cx| this.cycle_model(cx)))
|
||||
}
|
||||
@ -2469,12 +2495,7 @@ impl ConversationEditor {
|
||||
} else {
|
||||
Color::Default
|
||||
};
|
||||
Some(
|
||||
div()
|
||||
.border()
|
||||
.border_color(gpui::red())
|
||||
.child(Label::new(remaining_tokens.to_string()).color(remaining_tokens_color)),
|
||||
)
|
||||
Some(Label::new(remaining_tokens.to_string()).color(remaining_tokens_color))
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user