Skip to content

Commit 96aba3b

Browse files
committed
style(tui): remove borders
1 parent 1159ba0 commit 96aba3b

File tree

1 file changed

+22
-33
lines changed

1 file changed

+22
-33
lines changed

git-cliff-tui/src/ui.rs

+22-33
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ pub fn render(state: &mut State, frame: &mut Frame) {
4747
frame.area(),
4848
);
4949

50-
let rects = Layout::vertical([Constraint::Percentage(100), Constraint::Min(3)])
51-
.margin(1)
50+
let rects = Layout::vertical([Constraint::Percentage(100), Constraint::Min(1)])
5251
.split(frame.area());
5352
render_key_bindings(frame, rects[1]);
5453

@@ -93,13 +92,6 @@ fn render_key_bindings(frame: &mut Frame, rect: Rect) {
9392
.collect::<Vec<Span>>(),
9493
)
9594
.alignment(Alignment::Center),
96-
)
97-
.block(
98-
Block::bordered()
99-
.title_bottom(Line::from(format!("|{}|", env!("CARGO_PKG_VERSION"))))
100-
.title_alignment(Alignment::Right)
101-
.border_type(BorderType::Rounded)
102-
.border_style(Style::default().fg(Color::Rgb(100, 100, 100))),
10395
),
10496
rect,
10597
);
@@ -115,46 +107,39 @@ fn render_list(state: &mut State, frame: &mut Frame, rect: Rect) {
115107
rect,
116108
);
117109
if !state.configs.is_empty() {
118-
let item_count = ((rect.height - 2) / 3) as usize;
110+
let rect =
111+
Layout::vertical([Constraint::Min(1), Constraint::Percentage(100)])
112+
.split(rect)[1];
113+
let borders_line = 2;
114+
let item_count = (rect.height - borders_line) as usize;
119115
let start_offset = (state.selected_index + 1).saturating_sub(item_count);
120-
let rects = Layout::vertical([Constraint::Min(2)].repeat(item_count))
121-
.margin(1)
122-
.split(rect);
116+
let rects =
117+
Layout::vertical([Constraint::Length(1)].repeat(item_count)).split(rect);
123118
for (i, config) in state
124119
.configs
125120
.iter_mut()
126121
.skip(start_offset)
127122
.take(item_count)
128123
.enumerate()
129124
{
130-
config.area = rects[i];
131-
frame.render_widget(
132-
Block::bordered()
133-
.border_type(BorderType::Rounded)
134-
.border_style({
135-
let mut style = Style::new().fg(Color::Rgb(100, 100, 100));
136-
if config.is_hovered {
137-
style = style.yellow()
138-
} else if state.selected_index == i + start_offset {
139-
style = style.yellow();
140-
}
141-
style
142-
}),
143-
rects[i],
144-
);
125+
let mut style = Style::new();
126+
if config.is_hovered {
127+
style = style.yellow()
128+
} else if state.selected_index == i + start_offset {
129+
style = style.yellow();
130+
}
145131
let item = Layout::horizontal([
146132
Constraint::Min(1),
147133
Constraint::Percentage(100),
148134
])
149-
.margin(1)
150135
.split(rects[i]);
151-
136+
config.area = rects[i];
152137
frame.render_widget(
153-
Paragraph::new(Line::from(config.file.clone())),
138+
Paragraph::new(Line::from(config.file.clone()).style(style)),
154139
item[1],
155140
);
156141
}
157-
if state.configs.len() * 3 > rect.height as usize - 2 {
142+
if state.configs.len() > rect.height as usize - 2 {
158143
frame.render_stateful_widget(
159144
Scrollbar::new(ScrollbarOrientation::VerticalRight)
160145
.begin_symbol(Some("↑"))
@@ -232,7 +217,11 @@ fn render_changelog(state: &mut State, frame: &mut Frame, rect: Rect) {
232217
.left_aligned(),
233218
)
234219
.border_type(BorderType::Rounded)
235-
.border_style(Style::default().fg(Color::Rgb(100, 100, 100))),
220+
.border_style(Style::default().fg(Color::Rgb(100, 100, 100)))
221+
.title_bottom(
222+
Line::from(format!("|{}|", env!("CARGO_PKG_VERSION")))
223+
.right_aligned(),
224+
),
236225
rect,
237226
);
238227
if let Some(component) = &mut state.markdown.component {

0 commit comments

Comments
 (0)