added home and global feed, home will try to show timeline with
all followed contacts and fallback to global if there are no
followees.
in a future commit global tab could become search and have a
search field at the top.
this creates a kind 3 event that includes a list of profiles that
the user is following.
the feed is still the public global feed and individual feed with
only events from followed pubkeys will be added in the next commit.
also:
- updated following and unfollwing wording
- added proper primary and secondary button styles.
each view has it's own DOMMap to reference its own elements this
can us non-unique keys, i.e. each view can have a header key.
changed:
- use getViewElem instead of querying the dom
- access button.dataset.id directly before traversing the dom
moved code that creates the view dom elements into its own module.
deliberately not in ui.ts as view.ts is imported early and has
almost no dependecies except for nostr-tools and ./utils
- added following count in profile header
- added contact-list changes events
- added new raw event detail view to visulaize event metadata and
raw content
reloading the page always added a history entry breaking back
button functionality.
fixed by only adding a history entry on load if the history is
empty, so that reloads will not add the same entry over and over
again.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
before npub and note links was only supported on profile name and
date/time.
added support to click on profile image and note content (unless
a link was clicked).
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- font: use regular font and smaller font size on mobile
- made publish button smaller on mobile
- add borders between notes and increase card spacing
- changed background colors of cards and nav
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
if difficulty-filter is set the subscription of the global feed
can filter only ids with 0-prefix to save bandwidth.
as there may not be many pow events within the last 24h, the
date range is now only enabled if there is no diffculty-filter
set so that the feed is not empty.
if this works as expected it could also only subscripe to
reactions and profile info with pow ids.
deps: update nostr-tools to 1.10.1
This version supports subscribing to prefixed ids, see
3bdb68020d
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
fetch profile meta data only for future notes for pubkeys that are
not known of if the event kind is a text note, but not for reactions
or meta data.
this drastically reduces one time subscriptions.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
playing around with subscriptions, feed now loads profile names,
profile views also show replied to notes and notes recursively
search for replies or replies.
this commit does too many subscriptions, ideally a max of three
subscriptions are done at once. in future commit it would be nice
to subscribe modularly, have done callbacks or push into subscribe
next queues.
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
cleanup code and move parts to ui.ts and notes.ts.
simplify view and fix some weird animation issue, it should run
pretty stable now.
updated color and spacings.
profile view now showing kind 0 name, but it is unnecessarily
re-rendering. this part should probably go to a custom profil
subscription callback in the future. keeping as is for now and
refactor later.
settings view and write new message didnt show. reason was typescript
expected an instance of an HTMLElement but this didnt allow for
SVG elements inside the write button. Another reason was that the
condition expected a parent with data-id which isn't the case for
settings button nor write-new-message.
starting to move global application user config to settings.ts.
plan is to only share user settings via the config object, with
this all settings related ui can be moved out of main.js into its
own module.