seperate out channel styles in theme

This commit is contained in:
Mikayla 2023-08-15 12:12:30 -07:00
parent d05e8852d3
commit d13cedb248
No known key found for this signature in database
3 changed files with 52 additions and 6 deletions

View file

@ -1550,7 +1550,7 @@ impl CollabPanel {
})
.unwrap_or(false);
const FACEPILE_LIMIT: usize = 4;
const FACEPILE_LIMIT: usize = 3;
MouseEventHandler::new::<Channel, _>(channel.id as usize, cx, |state, cx| {
Flex::row()
@ -1563,9 +1563,9 @@ impl CollabPanel {
.left(),
)
.with_child(
Label::new(channel.name.clone(), theme.contact_username.text.clone())
Label::new(channel.name.clone(), theme.channel_name.text.clone())
.contained()
.with_style(theme.contact_username.container)
.with_style(theme.channel_name.container)
.aligned()
.left()
.flex(1., true),
@ -1583,7 +1583,7 @@ impl CollabPanel {
.filter_map(|user| {
Some(
Image::from_data(user.avatar.clone()?)
.with_style(theme.contact_avatar),
.with_style(theme.channel_avatar),
)
})
.take(FACEPILE_LIMIT),
@ -1605,9 +1605,9 @@ impl CollabPanel {
.constrained()
.with_height(theme.row_height)
.contained()
.with_style(*theme.contact_row.style_for(is_selected || is_active, state))
.with_style(*theme.channel_row.style_for(is_selected || is_active, state))
.with_padding_left(
theme.contact_row.default_style().padding.left
theme.channel_row.default_style().padding.left
+ theme.channel_indent * depth as f32,
)
})

View file

@ -237,10 +237,13 @@ pub struct CollabPanel {
pub subheader_row: Toggleable<Interactive<ContainedText>>,
pub leave_call: Interactive<ContainedText>,
pub contact_row: Toggleable<Interactive<ContainerStyle>>,
pub channel_row: Toggleable<Interactive<ContainerStyle>>,
pub channel_name: ContainedText,
pub row_height: f32,
pub project_row: Toggleable<Interactive<ProjectRow>>,
pub tree_branch: Toggleable<Interactive<TreeBranch>>,
pub contact_avatar: ImageStyle,
pub channel_avatar: ImageStyle,
pub extra_participant_label: ContainedText,
pub contact_status_free: ContainerStyle,
pub contact_status_busy: ContainerStyle,

View file

@ -118,6 +118,38 @@ export default function contacts_panel(): any {
},
}
const item_row = toggleable({
base: interactive({
base: {
padding: {
left: SPACING,
right: SPACING,
},
},
state: {
clicked: {
background: background(layer, "pressed"),
},
},
}),
state: {
inactive: {
hovered: {
background: background(layer, "hovered"),
},
},
active: {
default: {
...text(layer, "ui_sans", "active", { size: "sm" }),
background: background(layer, "active"),
},
clicked: {
background: background(layer, "pressed"),
},
},
},
})
return {
...collab_modals(),
log_in_button: text_button(),
@ -198,6 +230,13 @@ export default function contacts_panel(): any {
},
},
}),
channel_row: item_row,
channel_name: {
...text(layer, "ui_sans", { size: "sm" }),
margin: {
left: NAME_MARGIN,
},
},
list_empty_label_container: {
margin: {
left: NAME_MARGIN,
@ -245,6 +284,10 @@ export default function contacts_panel(): any {
corner_radius: 10,
width: 20,
},
channel_avatar: {
corner_radius: 10,
width: 20,
},
extra_participant_label: {
corner_radius: 10,
padding: {