Initial commit

This commit is contained in:
Brendan Szymanski 2026-06-14 23:11:23 -04:00
commit 274596b58f
20 changed files with 4220 additions and 0 deletions

View file

@ -0,0 +1,33 @@
default: en
about:
de: "Info zu Luminate"
en: "About Luminate"
closeWindow:
de: "Fenster schliessen"
en: "Close Window"
generalShortcuts:
de: "Allgemein"
en: "General"
helloWorld:
de: "Hallo, Welt!"
en: "Hello, world!"
keyboardShortcuts:
de: "Tastenkürzel"
en: "Keyboard Shortcuts"
mainMenu:
de: "Hauptmenü"
en: "Main Menu"
newWindow:
de: "Neues Fenster"
en: "New Window"
quitShortcut:
de: "App beenden"
en: "Quit the Application"

View file

@ -0,0 +1,25 @@
// The Swift Programming Language
// https://docs.swift.org/swift-book
import Adwaita
@main
struct Luminate: App {
let app = AdwaitaApp(id: "dev.bscubed.Luminate")
var scene: Scene {
Window(id: "main") { window in
Text(Loc.helloWorld)
.padding()
.topToolbar {
ToolbarView(app: app, window: window)
}
}
.defaultSize(width: 450, height: 300)
.quitShortcut()
.closeShortcut()
}
}

View file

@ -0,0 +1,53 @@
import Adwaita
struct ToolbarView: View {
@State private var about = false
@State private var shortcuts = false
var app: AdwaitaApp
var window: AdwaitaWindow
var view: Body {
HeaderBar.end {
content
.aboutDialog(
visible: $about,
app: "Luminate",
developer: "david-swift",
version: "dev",
icon: .custom(name: "dev.bscubed.Luminate"),
website: .init(string: "https://git.bscubed.dev/luminate")!,
issues: .init(string: "https://git.bscubed.dev/luminate/issues")!
)
.shortcutsDialog(visible: $shortcuts)
.shortcutsSection { section in
section
.shortcutsItem(Loc.newWindow, accelerator: "n".ctrl())
.shortcutsItem(Loc.closeWindow, accelerator: "w".ctrl())
.shortcutsItem(Loc.quitShortcut, accelerator: "q".ctrl())
.shortcutsItem(Loc.keyboardShortcuts, accelerator: "question".ctrl())
}
}
}
var content: AnyView {
Menu(icon: .default(icon: .openMenu)) {
MenuButton(Loc.newWindow, window: false) {
app.addWindow("main")
}
.keyboardShortcut("n".ctrl())
MenuSection {
MenuButton(Loc.keyboardShortcuts, window: false) {
shortcuts = true
}
.keyboardShortcut("question".ctrl())
MenuButton(Loc.about, window: false) {
about = true
}
}
}
.primary()
.tooltip(Loc.mainMenu)
}
}

View file

@ -0,0 +1 @@
public struct LuminateCore {}

View file

@ -0,0 +1,3 @@
import Adwaita
import LuminateCore
public struct LuminateHome {}

View file

@ -0,0 +1,3 @@
import Adwaita
import LuminateCore
public struct LuminateLibrary {}

View file

@ -0,0 +1,3 @@
import Adwaita
import LuminateCore
public struct LuminatePlayer {}