Files
Amber/desktop/build.gradle.kts
T
Claude 5d2a5654be Extend desktop SQLite layer: per-app permissions, history queries, relays, settings
SqliteBunkerPermissionStore gains permissionsFor()/deletePermission() so
the upcoming app-detail screen can list and revoke a single rule instead
of only all-or-nothing via revokeAll(). SqliteBunkerHistoryLogger gains
recentHistory()/recentHistoryFor()/nameFor(), and its applications
upsert no longer clobbers a previously-learned app name with a blank one
from a later request.

New RelayStore/SettingsStore back a custom relay list and a small
key/value UI-preferences store (theme mode), backed by two new tables
in BunkerDatabase. All covered by SqliteBunkerDataLayerTest against an
in-memory SQLite connection.
2026-07-01 18:52:44 +00:00

42 lines
1.1 KiB
Kotlin

import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.jetbrainsCompose)
alias(libs.plugins.jetbrainsComposeCompiler)
alias(libs.plugins.gradle.ktlint) version libs.versions.ktlint.get()
}
kotlin {
jvmToolchain(21)
}
dependencies {
implementation(project(":shared"))
implementation(compose.desktop.currentOs)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
implementation(libs.quartz.multiplatform)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.okhttp)
implementation(libs.core) // zxing core, for bunker connection QR codes
implementation(libs.xerial.sqlite.jdbc)
testImplementation(kotlin("test"))
testImplementation(libs.kotlinx.coroutines.test)
}
compose.desktop {
application {
mainClass = "com.greenart7c3.nostrsigner.desktop.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "Amber Bunker"
packageVersion = "1.0.0"
}
}
}