web: fix web app on mobile browsers

This commit is contained in:
Abdullah Atta
2024-06-28 09:57:24 +05:00
committed by Abdullah Atta
parent 9e064d88c6
commit 6e6b793568
6 changed files with 129 additions and 43 deletions

View File

@@ -23,7 +23,10 @@ import {
SqliteIntrospector,
Dialect
} from "kysely";
import { WaSqliteWorkerDriver } from "./wa-sqlite-kysely-driver";
import {
WaSqliteWorkerMultipleTabDriver,
WaSqliteWorkerSingleTabDriver
} from "./wa-sqlite-kysely-driver";
import { isFeatureSupported } from "../../utils/feature-check";
declare module "kysely" {
@@ -39,12 +42,18 @@ export const createDialect = (
): Dialect => {
return {
createDriver: () =>
new WaSqliteWorkerDriver({
async: !isFeatureSupported("opfs"),
dbName: name,
encrypted,
init
}),
globalThis.SharedWorker
? new WaSqliteWorkerMultipleTabDriver({
async: !isFeatureSupported("opfs"),
dbName: name,
encrypted,
init
})
: new WaSqliteWorkerSingleTabDriver({
async: !isFeatureSupported("opfs"),
dbName: name,
encrypted
}),
createAdapter: () => new SqliteAdapter(),
createIntrospector: (db) => new SqliteIntrospector(db),
createQueryCompiler: () => new SqliteQueryCompiler()