From 8f75b74c1cdc7a9bd4a29392b481b8902eafba53 Mon Sep 17 00:00:00 2001 From: vnugent Date: Tue, 3 Oct 2023 22:44:31 -0400 Subject: tiny ui updates & backend lib patches --- .../src/entries/background/server-api/endpoints.ts | 6 +- .../src/entries/background/server-api/index.ts | 17 ++-- .../src/entries/contentScript/primary/main.js | 2 +- extension/src/entries/options/App.vue | 20 +++-- .../src/entries/options/components/Identities.vue | 100 ++++++++++----------- .../entries/options/components/SiteSettings.vue | 84 +++++++++-------- extension/src/entries/options/index.html | 2 +- extension/src/entries/options/main.js | 6 +- .../entries/popup/Components/IdentitySelection.vue | 2 +- extension/src/entries/popup/Components/Login.vue | 2 +- .../src/entries/popup/Components/PageContent.vue | 4 +- extension/src/entries/popup/main.js | 2 +- 12 files changed, 128 insertions(+), 119 deletions(-) (limited to 'extension/src/entries') diff --git a/extension/src/entries/background/server-api/endpoints.ts b/extension/src/entries/background/server-api/endpoints.ts index a7f1488..b27bfa9 100644 --- a/extension/src/entries/background/server-api/endpoints.ts +++ b/extension/src/entries/background/server-api/endpoints.ts @@ -20,7 +20,7 @@ import { Method } from "axios"; export interface EndpointDefinition { readonly method: Method path(request?: any): string - onRequest: (request?: any) => Promise + onRequest: (...request: any) => Promise onResponse: (response: any, request?: any) => Promise } @@ -42,7 +42,7 @@ export const initEndponts = () => { return endpoints.get(id); } - const execRequest = async (id: string, request?: any): Promise => { + const execRequest = async (id: string, ...request: any): Promise => { const endpoint = getEndpoint(id); if (!endpoint) { throw new Error(`Endpoint ${id} not found`); @@ -52,7 +52,7 @@ export const initEndponts = () => { const path = endpoint.path(request); //Execute the request handler - const req = await endpoint.onRequest(request); + const req = await endpoint.onRequest(...request); //Get axios const axios = useAxios(null); diff --git a/extension/src/entries/background/server-api/index.ts b/extension/src/entries/background/server-api/index.ts index 3e1ada0..ee6582d 100644 --- a/extension/src/entries/background/server-api/index.ts +++ b/extension/src/entries/background/server-api/index.ts @@ -15,9 +15,10 @@ import { Ref } from "vue" +import { get } from '@vueuse/core' import { WebMessage } from "@vnuge/vnlib.browser" import { initEndponts } from "./endpoints" -import { NostrEvent, NostrPubKey, NostrRelay } from "../types" +import { NostrEvent } from "../types" export enum Endpoints { GetKeys = 'getKeys', @@ -35,7 +36,7 @@ export const initApi = (nostrUrl: Ref) => { registerEndpoint({ id: Endpoints.GetKeys, method: 'GET', - path: () => `${nostrUrl.value}?type=getKeys`, + path: () => `${get(nostrUrl)}?type=getKeys`, onRequest: () => Promise.resolve(), onResponse: (response) => Promise.resolve(response) }) @@ -43,7 +44,7 @@ export const initApi = (nostrUrl: Ref) => { registerEndpoint({ id: Endpoints.DeleteKey, method: 'DELETE', - path: (key: NostrPubKey) => `${nostrUrl.value}?type=identity&key_id=${key.Id}`, + path: ([key]) => `${get(nostrUrl)}?type=identity&key_id=${key.Id}`, onRequest: () => Promise.resolve(), onResponse: (response: WebMessage) => response.getResultOrThrow() }) @@ -51,8 +52,8 @@ export const initApi = (nostrUrl: Ref) => { registerEndpoint({ id: Endpoints.SignEvent, method: 'POST', - path: () => `${nostrUrl.value}?type=signEvent`, - onRequest: (event: NostrEvent) => Promise.resolve(event), + path: () => `${get(nostrUrl)}?type=signEvent`, + onRequest: ([event]) => Promise.resolve(event), onResponse: async (response: WebMessage) => { return response.getResultOrThrow() } @@ -61,7 +62,7 @@ export const initApi = (nostrUrl: Ref) => { registerEndpoint({ id: Endpoints.GetRelays, method: 'GET', - path: () => `${nostrUrl.value}?type=getRelays`, + path: () => `${get(nostrUrl)}?type=getRelays`, onRequest: () => Promise.resolve(), onResponse: (response) => Promise.resolve(response) }) @@ -69,8 +70,8 @@ export const initApi = (nostrUrl: Ref) => { registerEndpoint({ id: Endpoints.SetRelay, method: 'POST', - path: () => `${nostrUrl.value}?type=relay`, - onRequest: (relay: NostrRelay) => Promise.resolve(relay), + path: () => `${get(nostrUrl)}?type=relay`, + onRequest: ([relay]) => Promise.resolve(relay), onResponse: (response) => Promise.resolve(response) }) diff --git a/extension/src/entries/contentScript/primary/main.js b/extension/src/entries/contentScript/primary/main.js index 24ef4ef..047d0e9 100644 --- a/extension/src/entries/contentScript/primary/main.js +++ b/extension/src/entries/contentScript/primary/main.js @@ -21,7 +21,7 @@ import Notification from '@kyvg/vue3-notification' import '@fontsource/noto-sans-masaram-gondi' //We need inline styles to inject into the shadow dom -import tw from "~/assets/tailwind.scss?inline"; +import tw from "~/assets/all.scss?inline"; import localStyle from './style.scss?inline' renderContent([], (appRoot, shadowRoot) => { diff --git a/extension/src/entries/options/App.vue b/extension/src/entries/options/App.vue index f22feb0..f55b73b 100644 --- a/extension/src/entries/options/App.vue +++ b/extension/src/entries/options/App.vue @@ -3,25 +3,25 @@ -
+
-

NVault

+

NVault

- - - @@ -82,7 +82,7 @@
User Name
- +
@@ -187,6 +187,14 @@ main { max-width: 230px; } +.tab-title{ + @apply border-b-2 border-transparent dark:text-gray-200; + + &.selected{ + @apply dark:border-gray-200 border-black; + } +} + .id-card{ @apply flex md:flex-row flex-col gap-2 p-3 text-sm duration-75 ease-in-out border-2 rounded-lg shadow-md cursor-pointer; @apply bg-white dark:bg-dark-700 border-gray-200 hover:border-gray-400 dark:border-dark-500 hover:dark:border-dark-200; diff --git a/extension/src/entries/options/components/Identities.vue b/extension/src/entries/options/components/Identities.vue index c86a6ac..d7fd75d 100644 --- a/extension/src/entries/options/components/Identities.vue +++ b/extension/src/entries/options/components/Identities.vue @@ -1,6 +1,6 @@