shahondin1624 0d00130e51 feat: add Export/Import character as JSON on Settings page (Closes #29)
Export serializes the current character via DataLoader.serialize() and
shows it in a scrollable monospace text dialog. Import accepts pasted
JSON, validates via DataLoader.deserialize(), and shows an error message
for invalid input. Both dialogs are accessible from the Settings page
and work on all platforms without platform-specific file I/O.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:14:53 +01:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00

ShadowrunCharSheet

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :androidApp:assembleDebug
  • find .apk file in androidApp/build/outputs/apk/debug/androidApp-debug.apk

Desktop

Run the desktop application: ./gradlew :desktopApp:run
Run the desktop hot reload application: ./gradlew :desktopApp:hotRun --auto

iOS

To run the application on iPhone device/simulator:

Web Distribution

Build web distribution: ./gradlew :webApp:composeCompatibilityBrowserDistribution
Deploy a dir webApp/build/dist/composeWebCompatibility/productionExecutable to a web server

JS Browser

Run the browser application: ./gradlew :webApp:jsBrowserDevelopmentRun

Wasm Browser

Run the browser application: ./gradlew :webApp:wasmJsBrowserDevelopmentRun

Description
Kotlin Multiplatform / Compose Multiplatform Shadowrun 5e character sheet app (Android, Desktop, Web, iOS)
Readme 873 KiB
2026-03-13 15:39:17 +01:00
Languages
Kotlin 99.2%
HTML 0.6%
Swift 0.2%