Add GUI crate skeleton with libadwaita placeholder (build deferred until libgtk-4-dev/libadwaita-1-dev installed)
This commit is contained in:
15
gui/Cargo.toml
Normal file
15
gui/Cargo.toml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[package]
|
||||||
|
name = "ubuntu-fido-gui"
|
||||||
|
version.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "ubuntu-fido"
|
||||||
|
path = "src/main.rs"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
gtk = { package = "gtk4", version = "0.8" }
|
||||||
|
adw = { package = "libadwaita", version = "0.6" }
|
||||||
|
ubuntu-fido-common = { path = "../common" }
|
||||||
|
anyhow = { workspace = true }
|
||||||
11
gui/data/io.dangerousthings.UbuntuFido.desktop
Normal file
11
gui/data/io.dangerousthings.UbuntuFido.desktop
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Authentication
|
||||||
|
GenericName=Security Keys & MFA
|
||||||
|
Comment=Manage U2F/FIDO2 keys and authentication policy
|
||||||
|
Exec=ubuntu-fido
|
||||||
|
Icon=io.dangerousthings.UbuntuFido
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Settings;Security;
|
||||||
|
Keywords=mfa;u2f;fido2;passkey;totp;security;
|
||||||
|
StartupNotify=true
|
||||||
10
gui/data/io.dangerousthings.UbuntuFido.svg
Normal file
10
gui/data/io.dangerousthings.UbuntuFido.svg
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
|
||||||
|
<!-- Placeholder icon: a simple key glyph. Replace with branded asset before release. -->
|
||||||
|
<g fill="none" stroke="#3584e4" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<circle cx="22" cy="32" r="9"/>
|
||||||
|
<path d="M31 32h22"/>
|
||||||
|
<path d="M44 32v8"/>
|
||||||
|
<path d="M52 32v6"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 440 B |
28
gui/src/main.rs
Normal file
28
gui/src/main.rs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
use adw::prelude::*;
|
||||||
|
use gtk::glib;
|
||||||
|
|
||||||
|
const APP_ID: &str = "io.dangerousthings.UbuntuFido";
|
||||||
|
|
||||||
|
fn main() -> glib::ExitCode {
|
||||||
|
let app = adw::Application::builder().application_id(APP_ID).build();
|
||||||
|
app.connect_activate(|app| {
|
||||||
|
let win = adw::ApplicationWindow::builder()
|
||||||
|
.application(app)
|
||||||
|
.default_width(720)
|
||||||
|
.default_height(540)
|
||||||
|
.title("Authentication")
|
||||||
|
.build();
|
||||||
|
let header = adw::HeaderBar::new();
|
||||||
|
let toolbar = adw::ToolbarView::new();
|
||||||
|
toolbar.add_top_bar(&header);
|
||||||
|
let status = adw::StatusPage::builder()
|
||||||
|
.icon_name("dialog-password-symbolic")
|
||||||
|
.title("Authentication setup")
|
||||||
|
.description("Phase 0 placeholder. Real UI in Phase 8.")
|
||||||
|
.build();
|
||||||
|
toolbar.set_content(Some(&status));
|
||||||
|
win.set_content(Some(&toolbar));
|
||||||
|
win.present();
|
||||||
|
});
|
||||||
|
app.run()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user