commit 897a779ae1fbfc50542fe52744d471711060ce21
parent 1db956daa4a39f9d11f916f4953d4224587144fe
Author: triesap <137732411+triesap@users.noreply.github.com>
Date: Fri, 30 Aug 2024 14:45:00 +0000
apps-lib: swap out ndksvelte due to incompatibility with svelte version 5, add ndk utils, add time utils
Diffstat:
5 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/apps-lib/package.json b/apps-lib/package.json
@@ -32,6 +32,7 @@
"devDependencies": {
"@sveltejs/kit": "^2.0.0",
"@sveltejs/package": "^2.0.0",
+ "@types/luxon": "^3.4.2",
"publint": "^0.1.9",
"svelte": "^5.0.0-next.1",
"svelte-check": "^3.6.0",
@@ -41,13 +42,13 @@
"vite": "^5.0.11"
},
"dependencies": {
- "@nostr-dev-kit/ndk": "^2.10.0",
- "@nostr-dev-kit/ndk-cache-dexie": "^2.5.1",
- "@nostr-dev-kit/ndk-svelte": "^2.2.18",
+ "@nostr-dev-kit/ndk": "^2.7.1",
+ "@nostr-dev-kit/ndk-cache-dexie": "^2.3.1",
"@radroots/sveltekit-search-params": "workspace:*",
"@radroots/theme": "workspace:*",
"@sveltekit-i18n/base": "^1.3.7",
- "@sveltekit-i18n/parser-icu": "^1.0.8"
+ "@sveltekit-i18n/parser-icu": "^1.0.8",
+ "luxon": "^3.5.0"
},
"publishConfig": {
"access": "public"
diff --git a/apps-lib/src/lib/index.ts b/apps-lib/src/lib/index.ts
@@ -20,3 +20,4 @@ export { default as glyph } from "./ui/glyph.svelte"
export * from "./utils/client"
export * from "./utils/dom"
export * from "./utils/ndk"
+export * from "./utils/time"
diff --git a/apps-lib/src/lib/stores/ndk.ts b/apps-lib/src/lib/stores/ndk.ts
@@ -1,16 +1,14 @@
-import type { NDKCacheAdapter } from "@nostr-dev-kit/ndk";
-import { type NDKUser } from "@nostr-dev-kit/ndk";
+import NDK, { type NDKCacheAdapter, type NDKUser } from "@nostr-dev-kit/ndk";
import NDKCacheAdapterDexie from "@nostr-dev-kit/ndk-cache-dexie";
-import NDKSvelte from "@nostr-dev-kit/ndk-svelte";
import { writable } from "svelte/store";
let cacheAdapter: NDKCacheAdapter | undefined;
if (typeof window !== `undefined`) cacheAdapter = new NDKCacheAdapterDexie({ dbName: "-radroots-app-ndk" });
-const _ndk = new NDKSvelte({
+const _ndk = new NDK({
cacheAdapter,
- clientName: "Radroots",
+ clientName: "ยป--`--,---",
});
-export const ndk = writable<NDKSvelte>(_ndk);
+export const ndk = writable<NDK>(_ndk);
export const ndk_user = writable<NDKUser>();
diff --git a/apps-lib/src/lib/utils/ndk.ts b/apps-lib/src/lib/utils/ndk.ts
@@ -1,9 +1,8 @@
-import { NDKEvent, NDKPrivateKeySigner, NDKUser } from '@nostr-dev-kit/ndk';
-import NDKSvelte from "@nostr-dev-kit/ndk-svelte";
+import NDK, { NDKEvent, NDKPrivateKeySigner, NDKUser } from '@nostr-dev-kit/ndk';
import { time_now_ms } from "./client";
export async function ndk_setup_privkey(opts: {
- $ndk: NDKSvelte;
+ $ndk: NDK;
private_key: string;
}): Promise<NDKUser | undefined> {
try {
@@ -20,7 +19,7 @@ export async function ndk_setup_privkey(opts: {
};
export async function ndk_event(opts: {
- $ndk: NDKSvelte;
+ $ndk: NDK;
$ndk_user: NDKUser;
basis: {
kind: number;
diff --git a/apps-lib/src/lib/utils/time.ts b/apps-lib/src/lib/utils/time.ts
@@ -0,0 +1,8 @@
+import { DateTime } from "luxon";
+
+export function time_fmt_nostr_event(locale: string, epoch_s?: number): string {
+ const dt = DateTime.fromSeconds(epoch_s);
+ if (!dt.isValid) return ``;
+ const time = dt.setLocale(locale).toLocaleString(DateTime.DATETIME_MED)
+ return time;
+};
+\ No newline at end of file