web_lib

Common web application libraries
git clone https://radroots.dev/git/web_lib.git
Log | Files | Refs | LICENSE

commit 82bf917cd9faed05eefc6d43170fc06f0b666cd1
parent 9986be2ded9dffdf48694b065d5ca0d850b3b689
Author: triesap <137732411+triesap@users.noreply.github.com>
Date:   Thu,  3 Oct 2024 14:07:32 +0000

apps-lib: add lat lng query param stores, add nostr ndk configured store, edit query param stores adding types, edit locales

Diffstat:
Mapps-lib/src/lib/locales/en/common.json | 1+
Mapps-lib/src/lib/stores/client.ts | 11+++++++----
Mapps-lib/src/lib/types/client.ts | 9+++++----
Mapps-lib/src/lib/utils/client.ts | 3++-
4 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/apps-lib/src/lib/locales/en/common.json b/apps-lib/src/lib/locales/en/common.json @@ -1,4 +1,5 @@ { + "add_map_location": "Add map location", "connect": "Connect", "not_connected": "Not connected", "url": "URL", diff --git a/apps-lib/src/lib/stores/client.ts b/apps-lib/src/lib/stores/client.ts @@ -1,4 +1,4 @@ -import { type AppLayoutKey, type IToast, type NavigationPreviousParam } from "$lib"; +import { type AppLayoutKey, type IToast, type NavigationPreviousParam, type NavigationRouteParamId, type NavigationRouteParamLat, type NavigationRouteParamLng, type NavigationRouteParamNostrPublicKey, type NavigationRouteParamRecordKey } from "$lib"; import { writable } from "svelte/store"; import { queryParam, queryParameters } from "sveltekit-search-params"; @@ -7,9 +7,11 @@ const kv_name = import.meta.env.VITE_PUBLIC_KV_NAME; if (!kv_name) throw new Error('Error: VITE_PUBLIC_KV_NAME is required'); export const qp = queryParameters(); -export const qp_nostr_pk = queryParam("nostr_pk"); -export const qp_rkey = queryParam("rkey"); -export const qp_id = queryParam("id"); +export const qp_nostr_pk = queryParam<NavigationRouteParamNostrPublicKey>("nostr_pk"); +export const qp_rkey = queryParam<NavigationRouteParamRecordKey>("rkey"); +export const qp_id = queryParam<NavigationRouteParamId>("id"); +export const qp_lat = queryParam<NavigationRouteParamLat>("lat"); +export const qp_lng = queryParam<NavigationRouteParamLng>("lng"); export let kv: Keyva; if (typeof window !== 'undefined') kv = new Keyva({ name: kv_name }); @@ -31,6 +33,7 @@ export const tabs_visible = writable<boolean>(false); export const tabs_blur = writable<boolean>(false); export const app_tab_active = writable<number>(0); +export const nostr_ndk_configured = writable<boolean>(false); export const nostr_relays_poll_documents = writable<boolean>(false); export const nostr_relays_poll_documents_count = writable<number>(0); export const nostr_relays_connected = writable<string[]>([]); diff --git a/apps-lib/src/lib/types/client.ts b/apps-lib/src/lib/types/client.ts @@ -6,8 +6,9 @@ export type AnchorRoute = `/${string}`; export type NavigationRouteParamNostrPublicKey = `nostr_pk`; export type NavigationRouteParamRecordKey = `rkey`; export type NavigationRouteParamId = `id`; -export type NavigationRouteParamCmd = `cmd`; -export type NavigationRouteParamKey = NavigationRouteParamNostrPublicKey | NavigationRouteParamId | NavigationRouteParamCmd | NavigationRouteParamRecordKey; +export type NavigationRouteParamLat = `lat`; +export type NavigationRouteParamLng = `lng`; +export type NavigationRouteParamKey = NavigationRouteParamNostrPublicKey | NavigationRouteParamId | NavigationRouteParamRecordKey | NavigationRouteParamLat | NavigationRouteParamLng; export type NavigationParamTuple = [NavigationRouteParamKey, string]; export type NavigationPreviousParam = { route: NavigationRoute, label?: string; params?: NavigationParamTuple[] } @@ -161,4 +162,5 @@ export type IToast = IClOpt & styles?: IToastKind[]; layer?: ThemeLayer; position?: GeometryScreenPosition; - }; -\ No newline at end of file + }; + diff --git a/apps-lib/src/lib/utils/client.ts b/apps-lib/src/lib/utils/client.ts @@ -56,10 +56,11 @@ export const decode_qp = (query_param: string): AnchorRoute => { export function parse_qp(param: string): NavigationRouteParamKey | undefined { switch (param) { - case "cmd": case "nostr_pk": case "id": case "rkey": + case "lat": + case "lng": return param; default: return undefined;