Added key-based authentication

This commit is contained in:
Uber Veng
2026-05-29 05:42:38 +07:00
parent fdc9219742
commit 17bf4d546a
9 changed files with 452 additions and 37 deletions

View File

@@ -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);