Notification summary

This commit is contained in:
2023-10-09 14:35:21 +01:00
parent 237ce498b7
commit b27bb47007
23 changed files with 710 additions and 60 deletions

View File

@ -0,0 +1,25 @@
{
"name": "@snort/system-web",
"version": "1.0.0",
"description": "Web based components @snort/system",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"repository": "https://git.v0l.io/Kieran/snort",
"author": "Kieran",
"license": "MIT",
"scripts": {
"build": "rm -rf dist && tsc"
},
"files": [
"src",
"dist"
],
"dependencies": {
"@snort/shared": "^1.0.6",
"@snort/system": "^1.0.21",
"dexie": "^3.2.4"
},
"devDependencies": {
"typescript": "^5.2.2"
}
}

View File

@ -0,0 +1,40 @@
import { NostrEvent, MetadataCache, RelayMetrics, UsersRelays } from "@snort/system";
import Dexie, { Table } from "dexie";
const NAME = "snort-system";
const VERSION = 2;
const STORES = {
users: "++pubkey, name, display_name, picture, nip05, npub",
relayMetrics: "++addr",
userRelays: "++pubkey",
events: "++id, pubkey, created_at",
};
export class SnortSystemDb extends Dexie {
ready = false;
users!: Table<MetadataCache>;
relayMetrics!: Table<RelayMetrics>;
userRelays!: Table<UsersRelays>;
events!: Table<NostrEvent>;
constructor() {
super(NAME);
this.version(VERSION).stores(STORES);
}
isAvailable() {
if ("indexedDB" in window) {
return new Promise<boolean>(resolve => {
const req = window.indexedDB.open("dummy", 1);
req.onsuccess = () => {
resolve(true);
};
req.onerror = () => {
resolve(false);
};
});
}
return Promise.resolve(false);
}
}

View File

@ -0,0 +1,18 @@
{
"compilerOptions": {
"baseUrl": "src",
"target": "ESNext",
"moduleResolution": "Bundler",
"esModuleInterop": true,
"noImplicitOverride": true,
"jsx": "react-jsx",
"strict": true,
"declaration": true,
"declarationMap": true,
"inlineSourceMap": true,
"outDir": "dist",
"skipLibCheck": true
},
"include": ["src/**/*.ts"],
"files": ["src/index.ts"]
}