Added key-based authentication
This commit is contained in:
32
src/ui.rs
32
src/ui.rs
@@ -321,18 +321,19 @@ fn render_popup(f: &mut Frame, popup: &mut Popup, config: &Config) {
|
||||
}
|
||||
}
|
||||
|
||||
Popup::Message { text, level } => {
|
||||
Popup::Message { text, level, .. } => {
|
||||
let color = match level {
|
||||
MessageLevel::Info => Color::Green,
|
||||
MessageLevel::Warn => Color::Yellow,
|
||||
MessageLevel::Error => Color::Red,
|
||||
};
|
||||
let content = format!("{}\n\n[любая клавиша] Закрыть", text);
|
||||
let block = Block::default()
|
||||
.borders(Borders::ALL)
|
||||
.title("Сообщение")
|
||||
.border_style(Style::default().fg(color));
|
||||
f.render_widget(
|
||||
Paragraph::new(text.as_str()).block(block).alignment(Alignment::Center).wrap(Wrap { trim: true }),
|
||||
Paragraph::new(content.as_str()).block(block).alignment(Alignment::Center).wrap(Wrap { trim: true }),
|
||||
popup_area,
|
||||
);
|
||||
}
|
||||
@@ -568,6 +569,33 @@ fn render_popup(f: &mut Frame, popup: &mut Popup, config: &Config) {
|
||||
);
|
||||
}
|
||||
|
||||
Popup::AccessDenied { endpoint_url } => {
|
||||
let popup_area = centered_rect(55, 30, area);
|
||||
f.render_widget(Clear, popup_area);
|
||||
|
||||
let name = config.endpoints.iter()
|
||||
.find(|ep| &ep.url == endpoint_url)
|
||||
.map(|ep| ep.name.as_str())
|
||||
.unwrap_or(endpoint_url.as_str());
|
||||
|
||||
let text = vec![
|
||||
Line::from(""),
|
||||
Line::from(Span::raw(format!(" Сервер «{}» запретил доступ.", name))),
|
||||
Line::from(""),
|
||||
Line::from(Span::styled(
|
||||
" [Y] Запросить доступ [N / Esc] Отмена",
|
||||
Style::default().fg(Color::Yellow),
|
||||
)),
|
||||
];
|
||||
f.render_widget(
|
||||
Paragraph::new(text)
|
||||
.block(Block::default().borders(Borders::ALL).title(" Доступ запрещён ")
|
||||
.border_style(Style::default().fg(Color::Red)))
|
||||
.wrap(Wrap { trim: true }),
|
||||
popup_area,
|
||||
);
|
||||
}
|
||||
|
||||
Popup::ConfirmDeleteEndpoint { index, .. } => {
|
||||
let popup_area = centered_rect(50, 30, area);
|
||||
f.render_widget(Clear, popup_area);
|
||||
|
||||
Reference in New Issue
Block a user