From 12f134f26c9467c7fe18370667de4194b1e184cb Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Wed, 24 Apr 2024 16:38:50 -0700 Subject: [PATCH] Add list field to feed form --- src/app/shared/FeedControls.svelte | 12 ++++-------- src/app/shared/FeedForm.svelte | 27 +++++++++++++++++---------- src/app/util/feeds.ts | 8 +++++--- src/app/views/ThreadDetail.svelte | 4 +--- src/engine/lists/derived.ts | 7 ++++++- src/engine/lists/index.ts | 1 + src/engine/lists/utils.ts | 11 +++++++++++ src/partials/SearchSelect.svelte | 2 ++ src/util/misc.ts | 12 +++++++++++- 9 files changed, 58 insertions(+), 26 deletions(-) create mode 100644 src/engine/lists/utils.ts diff --git a/src/app/shared/FeedControls.svelte b/src/app/shared/FeedControls.svelte index c908c2a7..25f045c1 100644 --- a/src/app/shared/FeedControls.svelte +++ b/src/app/shared/FeedControls.svelte @@ -12,7 +12,7 @@ import Toggle from "src/partials/Toggle.svelte" import Modal from "src/partials/Modal.svelte" import FeedForm from "src/app/shared/FeedForm.svelte" - import {feedLoader, displayPubkey} from "src/engine" + import {feedLoader, displayRelayUrl, displayPubkey} from "src/engine" export let value @@ -71,19 +71,15 @@ {/if} {#if feedType === FeedType.Relay} - On {quantify(feed[1], "relay")} + On {feed[1].length === 1 ? displayRelayUrl(feed[1][0]) : `${feed[1].length} relays`} {:else if feedType === FeedType.List} - From {quantify(feed.slice(1), "list")} - - {:else if feedType === FeedType.LOL} - - From {quantify(feed.slice(1), "list")} of lists + From {quantify(feed.slice(1).length, "list")} {:else if feedType === FeedType.DVM} - From {quantify(feed.slice(1), "DVM")} + From {quantify(feed.slice(1).length, "DVM")} {:else if feedType === FeedType.Filter} {#if feed.length > 2} diff --git a/src/app/shared/FeedForm.svelte b/src/app/shared/FeedForm.svelte index 3c72565f..c52ca05a 100644 --- a/src/app/shared/FeedForm.svelte +++ b/src/app/shared/FeedForm.svelte @@ -14,7 +14,7 @@ import Select from "src/partials/Select.svelte" import SearchSelect from "src/partials/SearchSelect.svelte" import FilterField from "src/app/shared/FilterField.svelte" - import {searchRelayUrls, displayRelayUrl} from "src/engine" + import {searchRelayUrls, searchListAddrs, displayListByAddress, displayRelayUrl} from "src/engine" export let feed export let onChange @@ -40,13 +40,10 @@ const onTypeChange = type => setAtCursor([type]) - const onRelayChange = urls => setAtCursor(urls, [1]) - const displayFeed = ([type, ...feed]) => switcherFn(type, { [FeedType.Filter]: () => quantify(feed.length, "filter"), [FeedType.List]: () => quantify(feed.length, "list"), - [FeedType.LOL]: () => quantify(feed.length, "list") + " of lists", [FeedType.DVM]: () => quantify(feed.length, "DVM"), [FeedType.Relay]: () => quantify(feed.slice(1).length, "feed") + " on " + quantify(feed[0].length, "relays"), @@ -68,8 +65,7 @@