diff --git a/build.gradle.kts b/build.gradle.kts index e20e370..9eacafd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,7 @@ plugins { id("io.gitlab.arturbosch.detekt").version("1.23.3") id("org.jlleitschuh.gradle.ktlint").version("12.1.2") id("secrets-plugin") + id("com.github.gmazzo.buildconfig") version "6.0.10" } group = "com.github.ppartisan.roky" @@ -16,6 +17,11 @@ application { mainClass.set("MainKt") } +buildConfig { + buildConfigField("String", "VERSION", "\"${version}\"") + packageName("com.github.ppartisan.roky") +} + ktlint { android = false reporters { @@ -25,6 +31,9 @@ ktlint { } filter { exclude("**/style-violations.kt") + exclude { + it.file.path.contains("generated") + } } } diff --git a/gradle.properties b/gradle.properties index 3aad364..6eeede9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,4 @@ kotlin.code.style=official # Determines whether this project should use hardcoded mocks or Supabase-CLI. # See https://github.com/PPartisan/Roky/wiki/Project-Setup USE_LOCAL_MOCKS=true -version=0.1.3 +version=0.1.4 diff --git a/src/main/kotlin/about/AboutWindow.kt b/src/main/kotlin/about/AboutWindow.kt new file mode 100644 index 0000000..7c7d566 --- /dev/null +++ b/src/main/kotlin/about/AboutWindow.kt @@ -0,0 +1,38 @@ +package about + +import com.github.ppartisan.roky.BuildConfig +import com.googlecode.lanterna.SGR.* +import com.googlecode.lanterna.gui2.* +import com.googlecode.lanterna.gui2.Direction.VERTICAL +import com.googlecode.lanterna.gui2.Window.Hint.CENTERED +import help.FormattedTextRow.* +import navigation.NavigateToMainMenu +import view.* +import java.awt.GridLayout + +class AboutWindow( + menu: NavigateToMainMenu, +) : AppWindow("About", menu) { + init { + setHints(listOf(CENTERED)) + val label = + Panel( + GridLayout(1).apply { + topMarginSize = 1 + bottomMarginSize = 1 + leftMarginSize = 2 + rightMarginSize = 2 + }, + ).apply { + + addComponent(Label("ROKY v${BuildConfig.VERSION}")) + } + val root = + Panel(LinearLayout(VERTICAL)) + .apply { + addComponent(label) + } + + component = root + } +} diff --git a/src/main/kotlin/navigation/NavigationController.kt b/src/main/kotlin/navigation/NavigationController.kt index e17fd38..8fd8bd2 100644 --- a/src/main/kotlin/navigation/NavigationController.kt +++ b/src/main/kotlin/navigation/NavigationController.kt @@ -1,5 +1,6 @@ package navigation +import about.AboutWindow import chatroom.ChatroomWindow import com.googlecode.lanterna.gui2.MultiWindowTextGUI import com.googlecode.lanterna.gui2.Window @@ -28,7 +29,7 @@ class NavigationController( } override fun toAbout() { - println("About") + setActiveWindow(AboutWindow(this)) } override fun toMainMenu() {