diff --git a/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte b/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte index f6e1e531..80d867ea 100644 --- a/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte +++ b/infrastructure/eid-wallet/src/routes/(app)/+layout.svelte @@ -1,11 +1,18 @@ @@ -18,3 +25,10 @@ let currentRoute = $derived(page.url.pathname.split("/").pop() || "home");
{@render children()}
+ + diff --git a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/+page.svelte b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/+page.svelte index 16b9fb2b..becbe871 100644 --- a/infrastructure/eid-wallet/src/routes/(app)/scan-qr/+page.svelte +++ b/infrastructure/eid-wallet/src/routes/(app)/scan-qr/+page.svelte @@ -1,97 +1,107 @@ @@ -116,27 +126,7 @@ onDestroy(async () => {
- - { - codeScannedDrawerOpen = true; - }} - /> - (flashlightOn = !flashlightOn)} - /> -
+> {

You're trying to access the following site

+

Platform Name

+

+ {platform ?? "Unable to get name"} +

+
+ +

Website URL

-

- {scannedData?.content} +

+ {hostname ?? scannedData?.content}

@@ -182,15 +179,7 @@ onDestroy(async () => { > Decline - { - codeScannedDrawerOpen = false; - loggedInDrawerOpen = true; - startScan(); - }} - > + Confirm
@@ -221,7 +210,7 @@ onDestroy(async () => {

You're logged in!

-

You're now connected to this service'

+

You're now connected to {platform}

{
- - diff --git a/infrastructure/evault-provisioner/src/index.ts b/infrastructure/evault-provisioner/src/index.ts index ae4cce77..33cf07b6 100644 --- a/infrastructure/evault-provisioner/src/index.ts +++ b/infrastructure/evault-provisioner/src/index.ts @@ -76,6 +76,7 @@ app.post( res: Response, ) => { try { + console.log("provisioning init"); if (!process.env.PUBLIC_REGISTRY_URL) throw new Error("PUBLIC_REGISTRY_URL is not set"); const { registryEntropy, namespace, verificationId } = req.body; @@ -95,6 +96,7 @@ app.post( if (verification.consumed) throw new Error("This verification ID has already been used"); + console.log("jwk"); const jwksResponse = await axios.get( new URL( `/.well-known/jwks.json`, diff --git a/infrastructure/evault-provisioner/src/templates/evault.nomad.ts b/infrastructure/evault-provisioner/src/templates/evault.nomad.ts index 0e68c439..7a6ea18d 100644 --- a/infrastructure/evault-provisioner/src/templates/evault.nomad.ts +++ b/infrastructure/evault-provisioner/src/templates/evault.nomad.ts @@ -1,5 +1,5 @@ import sha256 from "sha256"; -import * as k8s from '@kubernetes/client-node'; +import * as k8s from "@kubernetes/client-node"; import { execSync } from "child_process"; import { json } from "express"; @@ -37,9 +37,10 @@ export function generatePassword(length = 16): string { * @throws {Error} If the service endpoint cannot be determined from the cluster. */ export async function provisionEVault(w3id: string, eVaultId: string) { - const idParts = w3id.split('@'); - w3id = idParts[idParts.length - 1] - const neo4jPassword = sha256(w3id) + console.log("starting to provision"); + const idParts = w3id.split("@"); + w3id = idParts[idParts.length - 1]; + const neo4jPassword = sha256(w3id); const kc = new k8s.KubeConfig(); kc.loadFromDefault(); @@ -50,99 +51,154 @@ export async function provisionEVault(w3id: string, eVaultId: string) { const namespaceName = `evault-${w3id}`; const containerPort = 4000; - const namespace = await coreApi.createNamespace({ body: { metadata: { name: namespaceName } } }); + const namespace = await coreApi.createNamespace({ + body: { metadata: { name: namespaceName } }, + }); const pvcSpec = (name: string) => ({ metadata: { name, namespace: namespaceName }, spec: { - accessModes: ['ReadWriteOnce'], - resources: { requests: { storage: '1Gi' } } - } + accessModes: ["ReadWriteOnce"], + resources: { requests: { storage: "1Gi" } }, + }, + }); + await coreApi.createNamespacedPersistentVolumeClaim({ + namespace: namespaceName, + body: pvcSpec("neo4j-data"), + }); + await coreApi.createNamespacedPersistentVolumeClaim({ + namespace: namespaceName, + body: pvcSpec("evault-store"), }); - await coreApi.createNamespacedPersistentVolumeClaim({ namespace: namespaceName, body: pvcSpec('neo4j-data') }); - await coreApi.createNamespacedPersistentVolumeClaim({ namespace: namespaceName, body: pvcSpec('evault-store') }); await coreApi.createNamespacedPersistentVolumeClaim({ - namespace: namespaceName, body: { - metadata: { name: 'evault-secrets', namespace: namespaceName }, + namespace: namespaceName, + body: { + metadata: { name: "evault-secrets", namespace: namespaceName }, spec: { - accessModes: ['ReadWriteOnce'], + accessModes: ["ReadWriteOnce"], resources: { requests: { - storage: '2Mi' - } - } - } - } + storage: "2Mi", + }, + }, + }, + }, }); - const deployment = { - metadata: { name: 'evault', namespace: namespaceName }, + metadata: { name: "evault", namespace: namespaceName }, spec: { replicas: 1, - selector: { matchLabels: { app: 'evault' } }, + selector: { matchLabels: { app: "evault" } }, template: { - metadata: { labels: { app: 'evault' } }, + metadata: { labels: { app: "evault" } }, spec: { containers: [ { - name: 'neo4j', - image: 'neo4j:5.15', + name: "neo4j", + image: "neo4j:5.15", ports: [{ containerPort: 7687 }], env: [ - { name: 'NEO4J_AUTH', value: `neo4j/${neo4jPassword}` }, - { name: 'dbms.connector.bolt.listen_address', value: '0.0.0.0:7687' } + { + name: "NEO4J_AUTH", + value: `neo4j/${neo4jPassword}`, + }, + { + name: "dbms.connector.bolt.listen_address", + value: "0.0.0.0:7687", + }, + ], + volumeMounts: [ + { name: "neo4j-data", mountPath: "/data" }, ], - volumeMounts: [{ name: 'neo4j-data', mountPath: '/data' }] }, { - name: 'evault', - image: 'merulauvo/evault:latest', + name: "evault", + image: "merulauvo/evault:latest", ports: [{ containerPort }], env: [ - { name: 'NEO4J_URI', value: 'bolt://localhost:7687' }, - { name: 'NEO4J_USER', value: 'neo4j' }, - { name: 'NEO4J_PASSWORD', value: neo4jPassword }, - { name: 'PORT', value: containerPort.toString() }, - { name: 'W3ID', value: w3id }, - { name: "ENCRYPTION_PASSWORD", value: neo4jPassword }, - { name: "SECRETS_STORE_PATH", value: "/secrets" } + { + name: "NEO4J_URI", + value: "bolt://localhost:7687", + }, + { name: "NEO4J_USER", value: "neo4j" }, + { + name: "NEO4J_PASSWORD", + value: neo4jPassword, + }, + { + name: "PORT", + value: containerPort.toString(), + }, + { name: "W3ID", value: w3id }, + { + name: "ENCRYPTION_PASSWORD", + value: neo4jPassword, + }, + { + name: "SECRETS_STORE_PATH", + value: "/secrets", + }, + ], + volumeMounts: [ + { + name: "evault-store", + mountPath: "/evault/data", + }, ], - volumeMounts: [{ name: 'evault-store', mountPath: '/evault/data' }] - } + }, ], volumes: [ - { name: 'neo4j-data', persistentVolumeClaim: { claimName: 'neo4j-data' } }, - { name: 'evault-store', persistentVolumeClaim: { claimName: 'evault-store' } }, - { name: 'evault-secrets', persistentVolumeClaim: { claimName: "evault-secrets" } } - ] - } - } - } + { + name: "neo4j-data", + persistentVolumeClaim: { claimName: "neo4j-data" }, + }, + { + name: "evault-store", + persistentVolumeClaim: { + claimName: "evault-store", + }, + }, + { + name: "evault-secrets", + persistentVolumeClaim: { + claimName: "evault-secrets", + }, + }, + ], + }, + }, + }, }; - await appsApi.createNamespacedDeployment({ body: deployment, namespace: namespaceName }); + await appsApi.createNamespacedDeployment({ + body: deployment, + namespace: namespaceName, + }); await coreApi.createNamespacedService({ namespace: namespaceName, body: { - apiVersion: 'v1', - kind: 'Service', - metadata: { name: 'evault-service' }, + apiVersion: "v1", + kind: "Service", + metadata: { name: "evault-service" }, spec: { - type: 'LoadBalancer', - selector: { app: 'evault' }, + type: "LoadBalancer", + selector: { app: "evault" }, ports: [ { port: 4000, - targetPort: 4000 - } - ] - } - } + targetPort: 4000, + }, + ], + }, + }, }); - const svc = await coreApi.readNamespacedService({ name: 'evault-service', namespace: namespaceName }); + const svc = await coreApi.readNamespacedService({ + name: "evault-service", + namespace: namespaceName, + }); const spec = svc.spec; const status = svc.status; @@ -156,24 +212,26 @@ export async function provisionEVault(w3id: string, eVaultId: string) { // Fallback: NodePort + Node IP (local clusters or bare-metal) const nodePort = spec?.ports?.[0]?.nodePort; - if (!nodePort) throw new Error('No LoadBalancer or NodePort found.'); + if (!nodePort) throw new Error("No LoadBalancer or NodePort found."); // Try getting an external IP from the cluster nodes const nodes = await coreApi.listNode(); - console.log(JSON.stringify(nodes)) const address = nodes?.items[0].status.addresses.find( - (a) => a.type === 'ExternalIP' || a.type === 'InternalIP' + (a) => a.type === "ExternalIP" || a.type === "InternalIP", )?.address; if (address) { - return `http://${address}:${nodePort}`; + const isMinikubeIp = address === "192.168.49.2"; + return `http://${isMinikubeIp ? address : process.env.IP_ADDR.split("http://")[1]}:${nodePort}`; } // Local fallback: use minikube IP if available try { - const minikubeIP = execSync('minikube ip').toString().trim(); - return `http://${minikubeIP}:${nodePort}` + const minikubeIP = execSync("minikube ip").toString().trim(); + return `http://${minikubeIP}:${nodePort}`; } catch (e) { - throw new Error('Unable to determine service IP (no LoadBalancer, Node IP, or Minikube IP)'); + throw new Error( + "Unable to determine service IP (no LoadBalancer, Node IP, or Minikube IP)", + ); } } diff --git a/platforms/metagram/.gitignore b/platforms/blabsy/.gitignore similarity index 100% rename from platforms/metagram/.gitignore rename to platforms/blabsy/.gitignore diff --git a/platforms/metagram/.npmrc b/platforms/blabsy/.npmrc similarity index 100% rename from platforms/metagram/.npmrc rename to platforms/blabsy/.npmrc diff --git a/platforms/metagram/.prettierignore b/platforms/blabsy/.prettierignore similarity index 100% rename from platforms/metagram/.prettierignore rename to platforms/blabsy/.prettierignore diff --git a/platforms/metagram/.prettierrc b/platforms/blabsy/.prettierrc similarity index 100% rename from platforms/metagram/.prettierrc rename to platforms/blabsy/.prettierrc diff --git a/platforms/metagram/.storybook/main.ts b/platforms/blabsy/.storybook/main.ts similarity index 100% rename from platforms/metagram/.storybook/main.ts rename to platforms/blabsy/.storybook/main.ts diff --git a/platforms/metagram/.storybook/preview.ts b/platforms/blabsy/.storybook/preview.ts similarity index 100% rename from platforms/metagram/.storybook/preview.ts rename to platforms/blabsy/.storybook/preview.ts diff --git a/platforms/metagram/README.md b/platforms/blabsy/README.md similarity index 100% rename from platforms/metagram/README.md rename to platforms/blabsy/README.md diff --git a/platforms/metagram/eslint.config.js b/platforms/blabsy/eslint.config.js similarity index 100% rename from platforms/metagram/eslint.config.js rename to platforms/blabsy/eslint.config.js diff --git a/platforms/metagram/messages/en.json b/platforms/blabsy/messages/en.json similarity index 100% rename from platforms/metagram/messages/en.json rename to platforms/blabsy/messages/en.json diff --git a/platforms/metagram/messages/es.json b/platforms/blabsy/messages/es.json similarity index 100% rename from platforms/metagram/messages/es.json rename to platforms/blabsy/messages/es.json diff --git a/platforms/metagram/package.json b/platforms/blabsy/package.json similarity index 95% rename from platforms/metagram/package.json rename to platforms/blabsy/package.json index 79994d93..f35eb2d6 100644 --- a/platforms/metagram/package.json +++ b/platforms/blabsy/package.json @@ -52,6 +52,9 @@ "dependencies": { "-": "^0.0.1", "D": "^1.0.0", + "axios": "^1.6.7", + "moment": "^2.30.1", + "svelte-qrcode": "^1.0.1", "tailwind-merge": "^3.0.2" } } diff --git a/platforms/metagram/project.inlang/.gitignore b/platforms/blabsy/project.inlang/.gitignore similarity index 100% rename from platforms/metagram/project.inlang/.gitignore rename to platforms/blabsy/project.inlang/.gitignore diff --git a/platforms/metagram/project.inlang/project_id b/platforms/blabsy/project.inlang/project_id similarity index 100% rename from platforms/metagram/project.inlang/project_id rename to platforms/blabsy/project.inlang/project_id diff --git a/platforms/metagram/project.inlang/settings.json b/platforms/blabsy/project.inlang/settings.json similarity index 100% rename from platforms/metagram/project.inlang/settings.json rename to platforms/blabsy/project.inlang/settings.json diff --git a/platforms/metagram/src/app.css b/platforms/blabsy/src/app.css similarity index 100% rename from platforms/metagram/src/app.css rename to platforms/blabsy/src/app.css diff --git a/platforms/metagram/src/app.d.ts b/platforms/blabsy/src/app.d.ts similarity index 100% rename from platforms/metagram/src/app.d.ts rename to platforms/blabsy/src/app.d.ts diff --git a/platforms/metagram/src/app.html b/platforms/blabsy/src/app.html similarity index 100% rename from platforms/metagram/src/app.html rename to platforms/blabsy/src/app.html diff --git a/platforms/metagram/src/hooks.server.ts b/platforms/blabsy/src/hooks.server.ts similarity index 100% rename from platforms/metagram/src/hooks.server.ts rename to platforms/blabsy/src/hooks.server.ts diff --git a/platforms/metagram/src/hooks.ts b/platforms/blabsy/src/hooks.ts similarity index 100% rename from platforms/metagram/src/hooks.ts rename to platforms/blabsy/src/hooks.ts diff --git a/platforms/blabsy/src/lib/components/CreatePostModal.svelte b/platforms/blabsy/src/lib/components/CreatePostModal.svelte new file mode 100644 index 00000000..e966f5ac --- /dev/null +++ b/platforms/blabsy/src/lib/components/CreatePostModal.svelte @@ -0,0 +1,116 @@ + + +
+
+
+

Create Post

+ +
+ +
+ diff --git a/platforms/metagram/src/lib/ui/index.ts b/platforms/metagram/src/lib/ui/index.ts deleted file mode 100644 index 6d267a48..00000000 --- a/platforms/metagram/src/lib/ui/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export { default as Button } from "./Button/Button.svelte"; -export { default as Avatar } from "./Avatar/Avatar.svelte"; -export { default as Input } from "./Input/Input.svelte"; -export { default as Select } from "./Select/Select.svelte"; -export { default as Label } from "./Label/Label.svelte"; -export { default as Toggle } from "./Toggle/Toggle.svelte"; -export { default as Helper } from "./Helper/Helper.svelte"; -export { default as InputRadio } from "./InputRadio/InputRadio.svelte"; -export { default as Textarea } from "./Textarea/Textarea.svelte"; diff --git a/platforms/metagram/src/lib/utils/index.ts b/platforms/metagram/src/lib/utils/index.ts deleted file mode 100644 index b73a86d4..00000000 --- a/platforms/metagram/src/lib/utils/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./mergeClasses"; -export * from "./clickOutside"; -export * from "./memoryHelper"; diff --git a/platforms/metagram/src/routes/(protected)/+layout.svelte b/platforms/metagram/src/routes/(protected)/+layout.svelte deleted file mode 100644 index be238757..00000000 --- a/platforms/metagram/src/routes/(protected)/+layout.svelte +++ /dev/null @@ -1,157 +0,0 @@ - - -
- alert('adas')} /> -
- {#if route === '/profile/post'} - - {:else} -
alert('Ads')} - options={[ - { name: 'Report', handler: () => alert('report') }, - { name: 'Clear chat', handler: () => alert('clear') } - ]} - /> - {/if} - {@render children()} -
- {#if route === '/home' || route === '/messages'} - - {/if} - - {#if route !== `/messages/${idFromParams}`} - - {/if} -
diff --git a/platforms/metagram/src/routes/(protected)/discover/+page.svelte b/platforms/metagram/src/routes/(protected)/discover/+page.svelte deleted file mode 100644 index 86c385a0..00000000 --- a/platforms/metagram/src/routes/(protected)/discover/+page.svelte +++ /dev/null @@ -1,24 +0,0 @@ - - -
- - {#if searchValue} -
    - {#each { length: 5 } as _} -
  • - alert('Adsad')} - /> -
  • - {/each} -
- {/if} -
diff --git a/platforms/metagram/src/routes/(protected)/messages/+page.svelte b/platforms/metagram/src/routes/(protected)/messages/+page.svelte deleted file mode 100644 index 375a657d..00000000 --- a/platforms/metagram/src/routes/(protected)/messages/+page.svelte +++ /dev/null @@ -1,29 +0,0 @@ - - -
- - {#each { length: 6 } as _, i} - goto(`/messages/${i}`)} - /> - goto(`/messages/${i}`)} - /> - {/each} -
diff --git a/platforms/metagram/src/routes/(protected)/messages/[id]/+page.svelte b/platforms/metagram/src/routes/(protected)/messages/[id]/+page.svelte deleted file mode 100644 index 8e6ed045..00000000 --- a/platforms/metagram/src/routes/(protected)/messages/[id]/+page.svelte +++ /dev/null @@ -1,63 +0,0 @@ - - -
- {#each { length: 12 } as _} - - - - - - - - - - - - {/each} - - alert('sent')} - /> -
diff --git a/platforms/metagram/src/routes/(protected)/post/+page.svelte b/platforms/metagram/src/routes/(protected)/post/+page.svelte deleted file mode 100644 index a921b393..00000000 --- a/platforms/metagram/src/routes/(protected)/post/+page.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - -
- { - if (uploadedImages.value) - uploadedImages.value = uploadedImages.value.filter((img, index) => { - revokeImageUrls([img]); - return index !== i - }); - }} - /> - -