mirror of
https://github.com/coracle-social/coracle.git
synced 2024-09-29 08:21:20 +00:00
Use new Address utility
This commit is contained in:
parent
f424fceba6
commit
954584c375
@ -10,7 +10,8 @@
|
||||
"check:es": "eslint 'src/**/*.{js,ts,svelte}' --quiet",
|
||||
"check:ts": "svelte-check --tsconfig ./tsconfig.json --threshold error",
|
||||
"check:fmt": "prettier --check $(git diff head --name-only --diff-filter d | grep -E '(js|ts|svelte)$' | xargs)",
|
||||
"check:errors": "run-p check:es check:ts",
|
||||
"check:cycles": "madge --circular src/main.js",
|
||||
"check:errors": "run-p check:es check:ts check:cycles",
|
||||
"check": "run-p check:errors check:fmt",
|
||||
"format": "prettier --write $(git diff head --name-only --diff-filter d | grep -E '(js|ts|svelte)$' | xargs)",
|
||||
"watch": "find src -type f | entr -r"
|
||||
@ -30,6 +31,7 @@
|
||||
"cypress": "^13.6.0",
|
||||
"eslint": "^8.54.0",
|
||||
"eslint-plugin-svelte3": "^4.0.0",
|
||||
"madge": "^6.1.0",
|
||||
"postcss": "^8.4.31",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier-plugin-svelte": "^3.1.2",
|
||||
|
@ -13,7 +13,7 @@ export const decodeJson = json => tryJson(() => JSON.parse(json))
|
||||
export const encodeCsv = xs => xs.join(",")
|
||||
export const decodeCsv = x => x.split(",")
|
||||
export const encodeRelays = xs => xs.map(url => last(url.split("//"))).join(",")
|
||||
export const encodeNaddr = a => Address.fromRaw(a).asNaddr()
|
||||
export const encodeNaddr = a => Address.fromRaw(a, []).asNaddr()
|
||||
|
||||
export const encodeFilter = f =>
|
||||
Object.entries(f)
|
||||
|
@ -1,12 +1,11 @@
|
||||
<script lang="ts">
|
||||
import {Address} from "paravel"
|
||||
import OverflowMenu from "src/partials/OverflowMenu.svelte"
|
||||
import {router} from "src/app/router"
|
||||
import {pubkey, isDeleted} from "src/engine"
|
||||
import {pubkey, isDeleted, hints} from "src/engine"
|
||||
|
||||
export let event
|
||||
|
||||
const addr = Address.fromEvent(event)
|
||||
const address = hints.address(event)
|
||||
|
||||
let actions = []
|
||||
|
||||
@ -15,20 +14,20 @@
|
||||
|
||||
if (!$isDeleted(event)) {
|
||||
actions.push({
|
||||
onClick: () => router.at("qrcode").of(addr.asNaddr()).open(),
|
||||
onClick: () => router.at("qrcode").of(address.asNaddr()).open(),
|
||||
label: "Share",
|
||||
icon: "share-nodes",
|
||||
})
|
||||
|
||||
if (event.pubkey === $pubkey) {
|
||||
actions.push({
|
||||
onClick: () => router.at("events").of(addr.asRaw()).cx({event}).at("edit").open(),
|
||||
onClick: () => router.at("events").of(address.asRaw()).cx({event}).at("edit").open(),
|
||||
label: "Edit",
|
||||
icon: "edit",
|
||||
})
|
||||
|
||||
actions.push({
|
||||
onClick: () => router.at("events").of(addr.asRaw()).cx({event}).at("delete").open(),
|
||||
onClick: () => router.at("events").of(address.asRaw()).cx({event}).at("delete").open(),
|
||||
label: "Delete",
|
||||
icon: "trash",
|
||||
})
|
||||
|
@ -13,7 +13,7 @@
|
||||
export let note
|
||||
export let showMedia = false
|
||||
|
||||
const naddr = hints.getNaddr(note)
|
||||
const naddr = hints.address(note).asNaddr()
|
||||
const {title, summary, image, status, p} = fromPairs(note.tags) as Record<string, string>
|
||||
</script>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import cx from "classnames"
|
||||
import {Tags, Address, getAddress} from "paravel"
|
||||
import {Tags, getAddress} from "paravel"
|
||||
import {commaFormat} from "hurdak"
|
||||
import FlexColumn from "src/partials/FlexColumn.svelte"
|
||||
import Carousel from "src/partials/Carousel.svelte"
|
||||
@ -11,7 +11,7 @@
|
||||
import NoteContentTopics from "src/app/shared/NoteContentTopics.svelte"
|
||||
import NoteContentKind1 from "src/app/shared/NoteContentKind1.svelte"
|
||||
import {router} from "src/app/router"
|
||||
import {pubkey, isDeleted} from "src/engine"
|
||||
import {hints, pubkey, isDeleted} from "src/engine"
|
||||
|
||||
export let note
|
||||
export let showMedia = false
|
||||
@ -26,7 +26,7 @@
|
||||
const deleteLink = router.at("listings").of(address).at("delete").toString()
|
||||
|
||||
const sendMessage = () => {
|
||||
const naddr = Address.fromEvent(note).asNaddr()
|
||||
const naddr = hints.address(note).asNaddr()
|
||||
const initialMessage = `Hi, I'd like to make an offer on this listing:\n${naddr}`
|
||||
|
||||
router.at("channels").of([$pubkey, note.pubkey]).cx({initialMessage}).push()
|
||||
|
@ -16,11 +16,11 @@
|
||||
{:else if type === "note"}
|
||||
<NoteDetail eid={data} {relays} />
|
||||
{:else if type === "naddr"}
|
||||
{@const naddr = Address.fromNaddr(entity)}
|
||||
{@const address = Address.fromNaddr(entity)}
|
||||
{#if [35834, 34550].includes(data.kind)}
|
||||
<GroupDetail address={naddr.asRaw()} relays={naddr.relays} activeTab="notes" />
|
||||
<GroupDetail address={address.asRaw()} relays={address.relays} activeTab="notes" />
|
||||
{:else if data.kind === 31923}
|
||||
<EventDetail address={naddr.asRaw()} relays={naddr.relays} />
|
||||
<EventDetail address={address.asRaw()} relays={address.relays} />
|
||||
{:else}
|
||||
<NoteDetail {...data} />
|
||||
{/if}
|
||||
|
@ -49,7 +49,7 @@
|
||||
|
||||
onMount(async () => {
|
||||
if (!event) {
|
||||
event = await dereferenceNote(Address.fromRaw(address))
|
||||
event = await dereferenceNote(Address.fromRaw(address, []))
|
||||
}
|
||||
|
||||
loading = false
|
||||
|
@ -62,7 +62,7 @@
|
||||
return toast.show("error", "That name is already in use")
|
||||
}
|
||||
|
||||
const id = address ? Address.fromRaw(address).identifier : randomId()
|
||||
const id = address ? Address.getIdentifier(address) : randomId()
|
||||
const {title, description, params, relays} = values
|
||||
|
||||
publishBookmarksList(id, title, description, [...params, ...relays])
|
||||
|
@ -53,7 +53,7 @@
|
||||
|
||||
onMount(async () => {
|
||||
if (!event) {
|
||||
event = await dereferenceNote(Address.fromRaw(address))
|
||||
event = await dereferenceNote(Address.fromRaw(address, []))
|
||||
}
|
||||
|
||||
loading = false
|
||||
|
@ -14,7 +14,6 @@
|
||||
const settings = getSettings()
|
||||
|
||||
const submit = () => {
|
||||
console.log(settings.platform_zap_split)
|
||||
publishSettings(settings)
|
||||
|
||||
toast.show("info", "Your settings have been saved!")
|
||||
|
@ -84,9 +84,8 @@ export const wrapWithFallback = async (template, {author = null, wrap}) => {
|
||||
// Utils for publishing
|
||||
|
||||
export const publishToGroupAdmin = async (address, template) => {
|
||||
const addr = Address.fromRaw(address)
|
||||
const relays = hints.WithinContext(address).getUrls()
|
||||
const pubkeys = [addr.pubkey, session.get().pubkey]
|
||||
const pubkeys = [Address.getPubkey(address), session.get().pubkey]
|
||||
|
||||
const pubs = []
|
||||
const events = []
|
||||
|
@ -65,7 +65,8 @@ projections.addHandler(24, (e: Event) => {
|
||||
}
|
||||
|
||||
if (relays.length > 0) {
|
||||
const {identifier: id, pubkey} = Address.fromRaw(address)
|
||||
const pubkey = Address.getPubkey(address)
|
||||
const id = Address.getIdentifier(address)
|
||||
|
||||
if (!groups.key(address).get()) {
|
||||
groups.key(address).set({address, pubkey, id, relays})
|
||||
|
@ -38,9 +38,9 @@ export const getStaleAddrs = (addrs: string[]) => {
|
||||
}
|
||||
|
||||
export const loadGroups = async (rawAddrs: string[], relays: string[] = []) => {
|
||||
const addrs = getStaleAddrs(rawAddrs).map(a => Address.fromRaw(a))
|
||||
const authors = addrs.map(addr => addr.pubkey)
|
||||
const identifiers = addrs.map(addr => addr.identifier)
|
||||
const addrs = getStaleAddrs(rawAddrs)
|
||||
const authors = addrs.map(a => Address.getPubkey(a))
|
||||
const identifiers = addrs.map(a => Address.getIdentifier(a))
|
||||
|
||||
if (addrs.length > 0) {
|
||||
load({
|
||||
|
@ -20,9 +20,10 @@ export const getGroupName = (group: Group) => group.meta?.name || group.id || ""
|
||||
export const displayGroup = (group: Group) => ellipsize(group ? getGroupName(group) : "No name", 60)
|
||||
|
||||
export const deriveGroup = address => {
|
||||
const {identifier, pubkey} = Address.fromRaw(address)
|
||||
const pubkey = Address.getPubkey(address)
|
||||
const id = Address.getIdentifier(address)
|
||||
|
||||
return groups.key(address).derived(defaultTo({id: identifier, pubkey, address}))
|
||||
return groups.key(address).derived(defaultTo({id, pubkey, address}))
|
||||
}
|
||||
|
||||
export const getGroupSearch = $groups => fuzzy($groups, {keys: ["meta.name", "meta.about"]})
|
||||
@ -65,7 +66,7 @@ export const getGroupReqInfo = (address = null) => {
|
||||
const recipients = [pubkey.get()]
|
||||
|
||||
for (const key of [...$groupSharedKeys, ...$groupAdminKeys]) {
|
||||
admins.push(Address.fromRaw(key.group).pubkey)
|
||||
admins.push(Address.getPubkey(key.group))
|
||||
addresses.push(key.group)
|
||||
recipients.push(key.pubkey)
|
||||
}
|
||||
|
@ -1,11 +1,14 @@
|
||||
import {Tags, Address} from "paravel"
|
||||
import {Tags} from "paravel"
|
||||
import {updateRecord} from "src/engine/core/commands"
|
||||
import {projections} from "src/engine/core/projections"
|
||||
import type {Event} from "src/engine/events/model"
|
||||
import {_lists} from "./state"
|
||||
|
||||
const handleBookmarkList = (e: Event) => {
|
||||
const addr = Address.fromEvent(e)
|
||||
const handleBookmarkList = async (e: Event) => {
|
||||
// TODO: Evil hack; there is a circular dependency somewhere
|
||||
const {hints} = await import("src/engine/relays/utils")
|
||||
|
||||
const addr = hints.address(e)
|
||||
const {title, name, description} = Tags.fromEvent(e).asObject()
|
||||
const realTitle = title || name || addr.identifier
|
||||
|
||||
|
@ -44,7 +44,7 @@ export const getIdFilters = values => {
|
||||
|
||||
for (const value of values) {
|
||||
if (value.includes(":")) {
|
||||
aFilters.push(Address.fromRaw(value).asFilter())
|
||||
aFilters.push(Address.fromRaw(value, []).asFilter())
|
||||
} else {
|
||||
ids.push(value)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user