mirror of
https://github.com/coracle-social/flotilla.git
synced 2025-12-11 03:17:02 +00:00
Drop nrelay, fix space threads
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
import {
|
||||
GENERAL,
|
||||
userMembership,
|
||||
decodeNRelay,
|
||||
decodeRelay,
|
||||
getMembershipRoomsByUrl,
|
||||
getMembershipUrls,
|
||||
roomsByUrl,
|
||||
@@ -25,7 +25,7 @@
|
||||
import {makeSpacePath} from "@app/routes"
|
||||
import {pushModal} from "@app/modal"
|
||||
|
||||
let space = $page.params?.nrelay ? decodeNRelay($page.params?.nrelay) : undefined
|
||||
let space = $page.params?.relay ? decodeRelay($page.params?.relay) : undefined
|
||||
let showSettings = false
|
||||
|
||||
const assertNotNil = <T,>(x: T) => x!
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import {nip19} from "nostr-tools"
|
||||
import type {Page} from "@sveltejs/kit"
|
||||
import {userMembership, makeChatId, decodeNRelay, getMembershipUrls} from "@app/state"
|
||||
import {userMembership, makeChatId, decodeRelay, encodeRelay, getMembershipUrls} from "@app/state"
|
||||
|
||||
export const makeSpacePath = (url: string, extra = "") => {
|
||||
let path = `/spaces/${nip19.nrelayEncode(url)}`
|
||||
let path = `/spaces/${encodeRelay(url)}`
|
||||
|
||||
if (extra) {
|
||||
path += "/" + encodeURIComponent(extra)
|
||||
@@ -23,7 +23,7 @@ export const getPrimaryNavItemIndex = ($page: Page) => {
|
||||
case "discover":
|
||||
return urls.length + 2
|
||||
case "spaces": {
|
||||
const routeUrl = decodeNRelay($page.params.nrelay)
|
||||
const routeUrl = decodeRelay($page.params.relay)
|
||||
|
||||
return urls.findIndex(url => url === routeUrl) + 1
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import {
|
||||
asDecryptedEvent,
|
||||
isSignedEvent,
|
||||
hasValidSignature,
|
||||
normalizeRelayUrl,
|
||||
} from "@welshman/util"
|
||||
import type {TrustedEvent, SignedEvent, PublishedList, List} from "@welshman/util"
|
||||
import {Nip59} from "@welshman/signer"
|
||||
@@ -473,7 +474,9 @@ export const userMembership = withGetter(
|
||||
|
||||
// Other utils
|
||||
|
||||
export const decodeNRelay = (nevent: string) => nip19.decode(nevent).data as string
|
||||
export const encodeRelay = (url: string) => encodeURIComponent(normalizeRelayUrl(url))
|
||||
|
||||
export const decodeRelay = (url: string) => normalizeRelayUrl(decodeURIComponent(url))
|
||||
|
||||
export const displayReaction = (content: string) => {
|
||||
if (content === "+") return "❤️"
|
||||
|
||||
@@ -77,4 +77,5 @@ export function slideAndFade(
|
||||
|
||||
export const conditionalTransition =
|
||||
(condition: any, transition: any) => (node: any, args?: any) =>
|
||||
condition ? transtion(node, args) : null
|
||||
condition ? transition(node, args) : null
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
getMembershipUrls,
|
||||
userMembership,
|
||||
roomsByUrl,
|
||||
decodeNRelay,
|
||||
decodeRelay,
|
||||
GENERAL,
|
||||
} from "@app/state"
|
||||
import {checkRelayConnection, checkRelayAuth} from "@app/commands"
|
||||
@@ -58,7 +58,7 @@
|
||||
let delay = 0
|
||||
let showMenu = false
|
||||
|
||||
$: url = decodeNRelay($page.params.nrelay)
|
||||
$: url = decodeRelay($page.params.relay)
|
||||
$: rooms = getMembershipRoomsByUrl(url, $userMembership)
|
||||
$: otherRooms = ($roomsByUrl.get(url) || []).filter(room => !rooms.concat(GENERAL).includes(room))
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
import ChannelCompose from "@app/components/ChannelCompose.svelte"
|
||||
import {
|
||||
userMembership,
|
||||
decodeNRelay,
|
||||
decodeRelay,
|
||||
makeChannelId,
|
||||
deriveChannel,
|
||||
GENERAL,
|
||||
@@ -36,8 +36,8 @@
|
||||
} from "@app/state"
|
||||
import {addRoomMembership, removeRoomMembership} from "@app/commands"
|
||||
|
||||
const {nrelay, room = GENERAL} = $page.params
|
||||
const url = decodeNRelay(nrelay)
|
||||
const {room = GENERAL} = $page.params
|
||||
const url = decodeRelay($page.params.relay)
|
||||
const channel = deriveChannel(makeChannelId(url, room))
|
||||
const thunks = writable({} as Record<string, Thunk>)
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
import EventItem from "@app/components/EventItem.svelte"
|
||||
import EventCreate from "@app/components/EventCreate.svelte"
|
||||
import {pushModal} from "@app/modal"
|
||||
import {deriveEventsForUrl, pullConservatively, decodeNRelay} from "@app/state"
|
||||
import {deriveEventsForUrl, pullConservatively, decodeRelay} from "@app/state"
|
||||
|
||||
const url = decodeNRelay($page.params.nrelay)
|
||||
const url = decodeRelay($page.params.relay)
|
||||
const kinds = [EVENT_DATE, EVENT_TIME]
|
||||
const events = deriveEventsForUrl(url, kinds)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import {onMount} from "svelte"
|
||||
import {page} from "$app/stores"
|
||||
import {NOTE} from "@welshman/util"
|
||||
import {feedFromFilter} from "@welshman/feeds"
|
||||
import {feedFromFilter, makeIntersectionFeed, makeRelayFeed} from "@welshman/feeds"
|
||||
import {nthEq} from "@welshman/lib"
|
||||
import {feedLoader} from "@welshman/app"
|
||||
import {createScroller} from "@lib/html"
|
||||
@@ -13,12 +13,13 @@
|
||||
import ThreadItem from "@app/components/ThreadItem.svelte"
|
||||
import ThreadCreate from "@app/components/ThreadCreate.svelte"
|
||||
import {pushModal} from "@app/modal"
|
||||
import {deriveEventsForUrl, decodeNRelay} from "@app/state"
|
||||
import {deriveEventsForUrl, decodeRelay} from "@app/state"
|
||||
|
||||
const url = decodeNRelay($page.params.nrelay)
|
||||
const url = decodeRelay($page.params.relay)
|
||||
const kinds = [NOTE]
|
||||
const feed = makeIntersectionFeed(makeRelayFeed(url), feedFromFilter({kinds}))
|
||||
const events = deriveEventsForUrl(url, kinds)
|
||||
const loader = feedLoader.getLoader(feedFromFilter({kinds}), {})
|
||||
const loader = feedLoader.getLoader(feed, {})
|
||||
|
||||
const createThread = () => pushModal(ThreadCreate, {url})
|
||||
|
||||
@@ -32,7 +33,7 @@
|
||||
onScroll: async () => {
|
||||
const $loader = await loader
|
||||
|
||||
$loader(5)
|
||||
await $loader(5)
|
||||
limit += 5
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user