8 changed files with 101 additions and 76 deletions
@ -1,43 +1,57 @@ |
|||||||
<script lang="ts"> |
<script lang="ts"> |
||||||
import {nip19} from 'nostr-tools'; |
import { ndk } from "$lib/ndk"; |
||||||
import {ndk} from '$lib/ndk'; |
import { nip19 } from "nostr-tools"; |
||||||
import {idList} from '$lib/stores'; |
import type { NDKEvent } from "@nostr-dev-kit/ndk"; |
||||||
import DefaultButton from '$lib/defaultShareButton.svelte'; |
import { idList } from "$lib/stores"; |
||||||
|
import DefaultButton from "$lib/defaultShareButton.svelte"; |
||||||
|
|
||||||
export let event: NDKEvent; |
export let event: NDKEvent; |
||||||
const title: string = JSON.parse(event.content).title; |
const title: string = JSON.parse(event.content).title; |
||||||
const href: string = nip19.noteEncode(event.id) |
const href: string = nip19.noteEncode(event.id); |
||||||
|
// console.log(event); |
||||||
|
// con |
||||||
|
// console.log(nip19.neventEncode(event)); |
||||||
|
|
||||||
const handleSendEvents = () => { |
const handleSendEvents = () => { |
||||||
$idList = []; |
$idList = []; |
||||||
for (const id of event.tags.filter((tag)=> tag[0]==='e').map((tag)=> tag[1])) { |
for (const id of event.tags |
||||||
|
.filter((tag) => tag[0] === "e") |
||||||
|
.map((tag) => tag[1])) { |
||||||
$idList = [...$idList, id]; |
$idList = [...$idList, id]; |
||||||
} |
} |
||||||
}; |
}; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script> |
</script> |
||||||
|
|
||||||
<a data-sveltekit-preload-data="tap" href="/{href}"> |
<div class="ArticleBox"> |
||||||
|
<a href="/{href}"> |
||||||
<div class="ArticleHeader" on:click={handleSendEvents}> |
<div class="ArticleHeader" on:click={handleSendEvents}> |
||||||
<h2>{title}</h2> |
<p class="title">{title}</p> |
||||||
</div> |
</div> |
||||||
|
|
||||||
</a> |
</a> |
||||||
|
<DefaultButton {event} /> |
||||||
|
</div> |
||||||
|
<br /> |
||||||
|
|
||||||
<style> |
<style> |
||||||
.ArticleHeader { |
.ArticleBox { |
||||||
display: flex; |
/* position: relative; */ |
||||||
justify-content: center; |
display: grid; |
||||||
align-items: center; |
grid-template-columns: 3fr 1fr; |
||||||
height: 100%; |
|
||||||
border: 1px solid purple; |
border: 1px solid purple; |
||||||
border-radius: 10px; |
border-radius: 10px; |
||||||
padding: 5px; |
|
||||||
border-top-width: 5px; |
border-top-width: 5px; |
||||||
|
/* max-width: 100%; */ |
||||||
|
} |
||||||
|
.ArticleHeader { |
||||||
|
border-radius: 10px; |
||||||
|
border-top-width: 5px; |
||||||
|
text-align: center; |
||||||
|
padding: 30px; |
||||||
|
border: 1px solid purple; |
||||||
} |
} |
||||||
.ArticleHeader h2 { |
.title { |
||||||
font-size: 1.5rem; |
color: white; |
||||||
|
font-size: 1.5em; |
||||||
|
font-weight: bold; |
||||||
} |
} |
||||||
/* position button top right corner */ |
|
||||||
</style> |
</style> |
||||||
|
|||||||
@ -1,3 +1,3 @@ |
|||||||
import { writable } from "svelte/store"; |
import { writable } from "svelte/store"; |
||||||
|
|
||||||
export let idList = writable([]); |
export let idList = writable<string[]>([]); |
||||||
|
|||||||
@ -1,12 +1,32 @@ |
|||||||
<script> |
<script> |
||||||
// import Login from '$lib/login.svelte'; |
// import Login from '$lib/login.svelte'; |
||||||
import {tabs, userPublickey} from '$lib/state'; |
import { tabs, userPublickey } from "$lib/state"; |
||||||
// import {ndk} from '$lib/ndk'; |
// import {ndk} from '$lib/ndk'; |
||||||
import {browser} from '$app/environment'; |
import { browser } from "$app/environment"; |
||||||
import {NDKNip07Signer} from '@nostr-dev-kit/ndk'; |
import { NDKNip07Signer } from "@nostr-dev-kit/ndk"; |
||||||
import {onMount} from 'svelte'; |
import { onMount } from "svelte"; |
||||||
</script> |
</script> |
||||||
|
|
||||||
|
<!-- <nav class="abtBox"> |
||||||
<!-- <Login /> --> |
<a href="./">home</a> |
||||||
|
<a href="./create">New Note</a> |
||||||
|
<a href="./about">About</a> |
||||||
|
</nav> --> |
||||||
<slot /> |
<slot /> |
||||||
|
|
||||||
|
<style> |
||||||
|
.abtBox { |
||||||
|
position: fixed; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
min-width: 100%; |
||||||
|
max-height: 40; |
||||||
|
padding: 10px; |
||||||
|
background-color: black; |
||||||
|
/* border-radius: 10px; */ |
||||||
|
/* margin: 10px; */ |
||||||
|
text-decoration: none; |
||||||
|
font-weight: bold; |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|||||||
@ -1,12 +0,0 @@ |
|||||||
<script lang="ts"> |
|
||||||
import {ndk} from '$lib/ndk'; |
|
||||||
import { page } from '$app/stores'; |
|
||||||
import Article from '$lib/Article.svelte'; |
|
||||||
import {idList} from '$lib/stores'; |
|
||||||
import {nip19} from 'nostr-tools'; |
|
||||||
const id = nip19.decode($page.params.path).data; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script> |
|
||||||
<Article /> |
|
||||||
@ -1,6 +1,6 @@ |
|||||||
import { sveltekit } from '@sveltejs/kit/vite'; |
import { sveltekit } from "@sveltejs/kit/vite"; |
||||||
import { defineConfig } from 'vite'; |
import { defineConfig } from "vite"; |
||||||
|
|
||||||
export default defineConfig({ |
export default defineConfig({ |
||||||
plugins: [sveltekit()] |
plugins: [sveltekit()], |
||||||
}); |
}); |
||||||
|
|||||||
Loading…
Reference in new issue