chore(docs, design-system, ping-service): integrate SQLDelight with KMP, refine design-system components, and enhance logging

- Added a comprehensive guide for SQLDelight integration in Kotlin Multiplatform, covering setup for Android, iOS, desktop, and web platforms.
- Introduced `DashboardCard` and `DenseButton` to the design system, focusing on enterprise-grade usability and visual consistency.
- Enhanced `PingViewModel` with structured logging (`LogEntry`) functionality for better debugging and traceability across API calls.
- Updated `AppTheme` with a refined color palette, typography, and shapes to align with enterprise UI standards.
- Extended Koin integration and modularized database setup for smoother dependency injection and code reuse.
This commit is contained in:
2026-01-24 00:39:31 +01:00
parent f774d686a4
commit f71bfb292b
11 changed files with 1287 additions and 247 deletions
@@ -6,12 +6,12 @@ import org.w3c.dom.Worker
actual class DatabaseDriverFactory {
actual suspend fun createDriver(): SqlDriver {
// Load the worker script. This assumes the worker is bundled correctly by Webpack.
// We use a custom worker entry point to support OPFS if needed (as per report).
// For now, we point to a resource we will create.
val worker = Worker(
js("""new URL("sqlite.worker.js", import.meta.url)""")
)
// Load the worker script.
// We use a simple string path instead of `new URL(..., import.meta.url)` to prevent Webpack
// from trying to resolve/bundle this file at build time.
// The file 'sqlite.worker.js' is copied to the root of the distribution by the Gradle build script.
val worker = Worker("sqlite.worker.js")
val driver = WebWorkerDriver(worker)
// Initialize schema asynchronously