Commit Graph

185 Commits (da3c1b02b2f8f6fddf4a070b1443a60c65115d1c)
 

Author SHA1 Message Date
OFF0 da3c1b02b2
view: separate view logic from template code
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
1 year ago
OFF0 5039b3dece
profile: show following, contact-list changes and contact events
- added following count in profile header
- added contact-list changes events
- added new raw event detail view to visulaize event metadata and
  raw content
1 year ago
OFF0 027c61e00f
feed: support nostr:npub uri scheme (part of nip-21)
added support for nostr:npub links in textnotes content.
1 year ago
OFF0 38591a3b92
feed: fix nesting layout bug
under some circumstances the reply-to lines on 3rd level did not
correctly visualize the nesting of the thread.

fixed and added links to test cases.
1 year ago
OFF0 e722f74665
profile: keep track of replies
before the map that keeps track of all replies-to ids was not in
the same scope of the subscription but genereated in each callback.
1 year ago
OFF0 ea21e47cad
datetime: user browser lang for date formatting 1 year ago
OFF0 5ef45d93d3
nav: add history entry only once onload
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.
1 year ago
OFF0 cd7dfa3f19
profiles: improve profile view
- add about to profile header
- set document title to profile name
- refactor how profile metadata
1 year ago
OFF0 3a1bf6f56f
feed: navigate by clicking on profile image and content
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
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).
1 year ago
OFF0 543d327b5c
feed: ignore shift click
the global click callback should ignore shift click which allows
to use native browser behavior (open link in new window).
1 year ago
OFF0 cc7e8015cb
feed: update profile name color
profile name in darkmode is lightgray but in lightbox was blue.

changed to lightgray for consistency.
1 year ago
OFF0 e566447b0a
0.0.29
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
OFF0 36ba582dd4
feed: update feed colors and spacing
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
- 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
1 year ago
OFF0 5e61dcef0c
feed: subscribe to pow events
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
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
1 year ago
OFF0 cb04e2c6b7
0.0.28
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
OFF0 86ac5e47fa
feed: fix too many subscriptions
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
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.
1 year ago
OFF0 b67f59ebec
noxy: disable images and link previews
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
noxy is not running at the moment and was enabled for events
with enough POW.

temporary disabled noxy link previews and images.
1 year ago
OFF0 9036f6a073
0.0.27
ci/woodpecker/push/woodpecker Pipeline was successful Details
2 years ago
OFF0 abf0ae7249
0.0.26
ci/woodpecker/push/woodpecker Pipeline was successful Details
2 years ago
OFF0 30809ccbce
feed: update subscriptions
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
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.
2 years ago
OFF0 7113bf1a4d
feed: visually improve threads styling
CSS is a bit messy and should be redone, but threads are now styled
a bit as branches.
2 years ago
OFF0 6910a4da4e
0.0.25
ci/woodpecker/push/woodpecker Pipeline was successful Details
2 years ago
OFF0 683b500121
cleanup
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details
- remove X icon placeholder
- remove weird unicode whitespace
- delete comment out code
2 years ago
OFF0 c88cfa74bb
refactor: improve view and move code to ui and notes
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
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.
2 years ago
OFF0 42fbd7c4c8
feed: ignore ctrl click
ctrl/command click should do the native browser thing and not be
intercepted as normal click, i.e. ctrl click open-in-new-tab works
2 years ago
OFF0 77711d655d
feed: ignore vmess protocol messages
Drop encrypted vmess messages.
2 years ago
OFF0 2fa7cce511
about: fix styling 2 years ago
OFF0 aec72b6c62
refactor: function to es6 arrow functions
so that it doesnt depend on function hoisting.
2 years ago
OFF0 bbfa4ae545
main: fix global click handler
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.
2 years ago
OFF0 f9fe892937
main: convert remaining main to typescript 2 years ago
OFF0 e1ba0b4c6f
profile: move and type profile metadata 2 years ago
OFF0 ab1ea2fa41
view: fix hidden settings view
css regression, somehow flex order doesnt overlay on the main
views, fixed with z-index.
2 years ago
OFF0 78588ec1c7
media: move noxy preview link fetch logic to media.ts 2 years ago
OFF0 7abd6fdc6e
nav: change from data-nav to simple href check 2 years ago
OFF0 976ea21d52
write: move reply and write-new-text note to write.ts 2 years ago
OFF0 9a34d4f31e
refactor: global click listener and cleanup
breaking up the global click callback to make it easier in the future
to move some parts into ui modules such as settings.ts.
2 years ago
OFF0 52e2a31421
reactions: move reaction logic to typed module 2 years ago
OFF0 43754149a9
settings: move remaining settings code
with this change everything related to user settings is now
in settings.ts module.
2 years ago
OFF0 efda7737c8
utils: move updateelemheight to dom utils 2 years ago
OFF0 ca4594a7e7
settings: move mining difficulty, filter and timeout configs
type and move mining related configs to settings.ts.
2 years ago
OFF0 b44fe10870
system: move pow function and error overlay to system
type and move powEvent and its error overlay to system.ts
2 years ago
OFF0 d654028a86
settings: refactor pubkey into config.pubkey global
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.
2 years ago
OFF0 cadd0302a5
utils: cleanup and move isvalidurl to utils/url 2 years ago
OFF0 23188c161f
utils: move lock and unlock scroll functions to utils 2 years ago
OFF0 70fb0da35a
utils: import directly from utils
it is not worth to import everything from utils, as there are too
many functions, better import them directly from each module.
2 years ago
OFF0 495e755844
styles: move stylesheets to styles 2 years ago
OFF0 33dd40bae5
typescript 2 years ago
OFF0 6e404eac6b
refactor: type element attributes
use attributes of html element type.

so that the following example is correctly typed:

elem('input', {
  className: 'foo',
  hidden: false,
  onclick: () => alert('hi'),
  tabIndex: 1,
  valueAsNumber: 1,
});

but this fails as foo is no valid attribute on div element:

elem('div', {foo: 'bar'});
2 years ago
OFF0 489a260427
refactor: type elem and enforce inferred generic type
typed elem so that it returns the exact type of the HTMLElement,
and that name must be a key of HTMLElementTagNameMap.

example:

elem('form'); // returns HTMLFormElement

elem('abc'); // not assignable to parameter of type 'keyof HTMLElementTagNameMap'
2 years ago
OFF0 2d46687e12
refactor: type events.ts, url.ts and crypto.ts 2 years ago