Skip to content

Commit

Permalink
remove old handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
dskvr committed Jan 30, 2025
1 parent 2c9151d commit cc62ad5
Show file tree
Hide file tree
Showing 32 changed files with 680 additions and 155 deletions.
33 changes: 33 additions & 0 deletions apps/gui/.config/defaults-content.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# sensible defaults

sources:
# Defaults for finding 0, 3, 10002 events
- kinds:
- 0
- 3
- 10002
relays:
- 'wss://purplepag.es'
- 'wss://user.kindpag.es'
- 'wss://relay.nostr.band'

# Defaults for finding 10166 and 30166 events
- kinds:
- 10166
- 30166
- relays:
- wss://relay.nostr.watch
- wss://relaypag.es

# These are considered "preferred" and as default for unauthenticated users
# this is used to prevent abuse that has no recourse.
pubkeys:
- ''

# Defaults for finding wiki events
kinds:
- 30818
relays:
- 'wss://relay.wikifreedia.xyz'
pubkeys:
- ''
23 changes: 23 additions & 0 deletions apps/gui/.config/defaults-preferences.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
liveness:
onlineThresholdMultiplier: 1.5
DeathThreshold: 30d
content:
nip66:
relays:
- 'wss://purplepag.es'
- 'wss://user.kindpag.es'
- 'wss://relay.nostr.band'
pubkeys:
- ''
userMeta:
relays:
- 'wss://purplepag.es'
- 'wss://user.kindpag.es'
- 'wss://relay.nostr.band'
wiki:
relays:
- 'wss://relay.wikifreedia.xyz'
pubkeys:
- ''


2 changes: 2 additions & 0 deletions apps/gui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"devDependencies": {
"@changesets/cli": "^2.27.7",
"@faker-js/faker": "^8.4.1",
"@rollup/plugin-yaml": "^4.1.2",
"@sveltejs/adapter-netlify": "^4.3.6",
"@sveltejs/adapter-static": "^3.0.6",
"@sveltejs/kit": "^2.0.0",
Expand Down Expand Up @@ -90,6 +91,7 @@
"vite-plugin-static-copy": "^2.2.0",
"vite-plugin-top-level-await": "^1.4.4",
"vite-plugin-wasm": "^3.3.0",
"vite-plugin-yaml": "^1.0.5",
"vitest": "^2.0.0"
},
"svelte": "./dist/index.js",
Expand Down
13 changes: 3 additions & 10 deletions apps/gui/src/app.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,19 @@
rel="stylesheet"
/>
<script>
function toggleDarkMode(isDark) {
//NOTE: temporarily disable dark mode in production
// document.documentElement.classList.toggle('dark', prefersDark);
const toggleDarkMode = (isDark) => {
if (isDark) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
}

// Function to check the current color scheme preference
function checkColorScheme() {
const checkColorScheme = () => {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
}

// Apply dark mode based on current preference
toggleDarkMode(checkColorScheme());

// Listen for changes in color scheme preference
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
console.log('isDark',)
toggleDarkMode(e.matches);
});
</script>
Expand Down
3 changes: 2 additions & 1 deletion apps/gui/src/lib/components/feeds/FeedNote.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import FeedNoteComments from './FeedNoteComments.svelte';
import FeedNoteZaps from './FeedNoteZaps.svelte';
import FeedNoteReactions from './FeedNoteReactions.svelte';
import FeedNoteContent from './FeedNoteContent.svelte';
export let note: NostrEvent;
export let memoryRelay: SvelteMemoryRelay<IEvent, NostrEvent>;
Expand Down Expand Up @@ -84,7 +85,7 @@
</div>

<div class="content text-black/55 dark:text-white/55 text-xl my-6 overflow-hidden overflow-ellipsis">
{@html $content}
<FeedNoteContent {note} />
</div>
<div class="actions flex mt-2 hover:opacity-100 {actionsClass} min-h-6">
<div class="flex-grow">
Expand Down
26 changes: 26 additions & 0 deletions apps/gui/src/lib/components/feeds/FeedNoteContent.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<script lang="ts">
import { parseNote } from "$utils/notes";
import type { NostrEvent } from "@nostrwatch/route66/models";
import { onMount } from "svelte";
import { writable, type Writable } from "svelte/store";
export let note: NostrEvent;
export let parserOptions: any | undefined = {
removeHashtags: true,
nip19: true,
markdown: true,
images: true,
videos: true,
truncate: true,
truncateLength: 100,
sanitize: false,
replaceAmpersand: true,
};
let content: Writable<string | undefined> = writable(undefined);
onMount(() => {
content = parseNote(note.content, parserOptions);
});
</script>
{@html $content}
2 changes: 1 addition & 1 deletion apps/gui/src/lib/components/layout/Header.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
{/if}
</header>

<style>
<style lang="postcss">
#site-header {
@apply fixed top-0 right-0 left-0 flex items-center h-16 bg-black/25 dark:bg-white/25 backdrop-blur-lg text-white dark:text-black z-[999];
}
Expand Down
1 change: 0 additions & 1 deletion apps/gui/src/lib/components/partials/Loading.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import { randomLoadingMessage } from '$utils/ux';
<!-- Text -->
<span class="text-3xl">please wait</span>
</div>

<!-- Random Loading Message -->
<span class="opacity-50 text-lg text-center italic max-w-[500px]">{randomLoadingMessage()}</span>
</div>
13 changes: 8 additions & 5 deletions apps/gui/src/lib/components/partials/MonitorActions.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,14 @@
if(!$monitor) return;
if($monitor?.enabled) {
$monitor.disable();
([...$eventsArray] as IEvent[]).filter( event => event.pubkey === $monitor.pubkey).forEach( event => {
const key = eventKey(event);
$events.delete(key)
});
events.set($events);
events.update($events => {
$events.entries().forEach( ([key, event]) => {
if(event.pubkey === $monitor.pubkey){
$events.delete(key);
}
})
return $events;
})
await resumer();
disabled.set(false);
}
Expand Down
66 changes: 66 additions & 0 deletions apps/gui/src/lib/components/wikis/Wiki.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<script lang="ts">
import type { NostrEvent } from "@nostrwatch/route66/models";
import type { Readable } from "svelte/motion";
import { writable, type Writable } from "svelte/store";
import FeedNoteContent from "../feeds/FeedNoteContent.svelte";
import Button from "$ui/button/button.svelte";
export let wikis: Readable<NostrEvent[]> | Writable<NostrEvent[]>;
let expanded: Writable<boolean> = writable(false);
$: expandedClass = $expanded? '' : 'line-clamp-[5]';
</script>

<section class="wiki {expandedClass}">
{#each $wikis as wiki (wiki)}
<FeedNoteContent note={wiki} parserOptions={{
truncate: false,
markdown: true
}} />
{/each}
</section>

<Button
size="sm"
variant="secondary"
class="mt-10"
on:click={() => expanded.set(!$expanded)}>

{$expanded? 'show less' : 'read more'}
</Button>

<style lang="postcss" global>
.wiki {
@apply p-4 m-auto;
}
.wiki > h2 {
@apply text-lg py-5 mb-5 w-full border-b-[1px];
}
.wiki * {
@apply leading-relaxed;
}
.wiki > p {
@apply block !my-10;
}
.wiki table {
@apply border border-white/5 w-full bg-black/5 dark:bg-white/5;
}
.wiki table th {
@apply underline;
}
.wiki table td, .wiki table th {
@apply border border-white/5 py-2 px-3;
}
.wiki table td:first-child,
.wiki table th:first-child {
@apply font-bold text-center;
}
</style>
24 changes: 2 additions & 22 deletions apps/gui/src/lib/services/FeedService/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export class FeedService extends Service {

private _relay: SvelteMemoryRelay<IEvent, NostrEvent> = new SvelteMemoryRelay<IEvent, NostrEvent>(writable(new Map()))
private _filters: Filter[] = []
private _relays: string[] = ['wss://relay.damus.io']
private _relays: string[] = ['wss://relay.damus.io', 'wss://relay.nostr.band']
private _acceptedKinds: number[] = []
private _fetches: number = 0;

Expand Down Expand Up @@ -105,7 +105,6 @@ export class FeedService extends Service {
}

async populate(){
// console.log('populating feed', this.filters)
this.populateAuthorsRelays()
const options: WebsocketAdapterOptions = {
cache: true,
Expand Down Expand Up @@ -187,27 +186,8 @@ export class FeedService extends Service {
}

private async noteRelatives(user: User, note: NostrEvent, callbacks: SubscribeHandlers): Promise<IEvent[]> {
const { id } = note
const filters: Filter[] = [
{ kinds: [9735, 9321], '#e': [id] }, //zaps
{ kinds: [1, 7, 1111], '#e': [id] }, //commments, mentions
{ kinds: [1111], '#E': [id] } //NIP-22 comments
]
const relays: string[] = [ ...(user.relays || []), 'wss://relay.damus.io' ]
const options: WebsocketAdapterOptions = {
cache: true,
stream: true,
returnResults: true,
keepAlive: false
}
// const hash = `${note.id}-${user.pubkey}`
const args: UserFetchArgs = {
filters,
relays,
options,
priority: 5
}
return this.subscribe(args, callbacks) as Promise<IEvent[]>
return this.subscribeRelatives(note, relays, callbacks) as Promise<IEvent[]>
}

destroy(){
Expand Down
Loading

0 comments on commit cc62ad5

Please sign in to comment.