Commit Graph

171 Commits

Author SHA1 Message Date
William Casarin d7a41115be test: add test timeline query
notedeck "$(cat queries/timeline.json)"

Closes: https://github.com/damus-io/notedeck/issues/5
2024-03-21 16:24:18 +01:00
William Casarin f364748005 ui: reduce vertical padding for more compact timelines 2024-03-21 15:54:08 +01:00
William Casarin 81162a3d6e nostrdb: bump to support timeline queries
This version of nostrdb supports timeline queries, so we can use
contact lists to query the timeline.
2024-03-21 14:31:38 +01:00
William Casarin 9ebbaf40e5 style: initial logic for mobile style
we definitely watch pure black for oled mobile screens, better battery
life.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-03-21 14:31:00 +01:00
William Casarin 57308f108e gitignore: add perf files 2024-03-21 14:30:22 +01:00
William Casarin ea952c4c58 actionbar: support both dark and light buttons
since there is no way to do icon masks, we simply use two different
textures for dark and light mode reply buttons.

I used this command to create the dark mode button:

convert reply.png -channel RGB -negate reply-dark.png

Signed-off-by: William Casarin <jb55@jb55.com>
2024-03-21 14:28:49 +01:00
William Casarin f88b6d1dd4 Merge remote-tracking branch 'github/master' 2024-03-13 16:48:27 +00:00
William Casarin c0979d1707 widgets: begin organizing ui components into widgets
egui widgets are nice because there are many helper methods on the
egui::Ui struct for adding widgets to the screen in various ways. For
example, add_sized which designates an area to paint a widget. This is
useful in the note_contents case, as it allows us to reserve
available_space-20.0 pixels of the available area, saving 20.0 pixels
for a side-actionbar popout.

I'm not sure I'll use the side actionbar yet, but I've been
experimenting with that as an option to save vertical space in the
timeline.

I still need to make the side actionbar into a widget as well. It
currently uses the CollapsingHeader widget, which is designed for
expanding elements vertically. We may need to make our own widget for
animating an horizontal expansion if we want to achieve a similar effect
for the side actionbar.
2024-03-13 13:38:02 +00:00
William Casarin 247feb9e26 filter: unify nostrdb and remote limits
Before we were setting filter limits in two different places. Let's
unify them so we don't have to sources of truth for filter limits.
2024-03-13 13:24:06 +00:00
William Casarin 50aa21b2f0 app: make ndb public
We will be using this in some submodules, so expose it for now
2024-03-13 13:23:13 +00:00
William Casarin 08fad55773 weird actionbar experiment 2024-03-12 10:11:27 +00:00
William Casarin d4879aefe9 actionbar placeholder 2024-03-09 01:39:16 -08:00
William Casarin 4a5a9d4319 black background 2024-03-09 01:21:07 -08:00
William Casarin 088d012c93 fix typo 2024-02-27 15:02:52 -08:00
William Casarin 87f385b683 profile picture image cache
coding from a plane so this is helping alot with PFPs
2024-02-27 14:26:02 -08:00
William Casarin 1c16ddf9af deps: update poll-promise, add hex
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-27 14:25:46 -08:00
William Casarin 4a802ac0f4 direnv: disable nix direnv on darwin
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-26 14:09:37 -08:00
William Casarin 40fd85da58 relay: don't query unknown authors if we have none to query
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin 3870bc9506 pfp: small fix in profile pic loading
I want to tweak the size of the profile pic, this is a small change
that I noticed toward that goal.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin 4ea82cd332 debug: fix annoying decode error message
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin 300dfc8a4e fonts: remove old font loading code
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin 97aaa651d8 style: allow font style customization in the future
I had a work in progress commit that changed font styles that needed
this change, so doing it here for now.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin b0d0e45133 fonts: implement roberto's typography for notedeck
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 16:18:24 -08:00
William Casarin 5ecc43786f ui: remove extra padding on main panel
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 14:53:09 -08:00
William Casarin ef1e7e3ac8 perf: fix profiler
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 14:05:37 -08:00
William Casarin f3201bee21 ui: add reltime rendering
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:56:07 -08:00
William Casarin 2ce2d4cc70 notecache: add initial in-memory notecache
This is useful for things like relative time strings and other
transient note cache state

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin c246b9d92f time: add time_ago function from Damus iOS
Useful relative time formatting

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 2f54a05705 timecache: add timecache help for timed caches
Some things we definitely don't want to generate every frame, such as
relative-time formatted strings, as that would create a heap allocation
each frame.

Introduce TimeCached<T> which is responsible for updating some state
after some expiry.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 9a4f193e03 deps: bump nostrdb to include notekey hash
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 5521779f42 android: fix args
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 1dab4757df perf: always show profiling info for now
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 9d1127a26e envrc: add my pubkey for testing
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 2a79bdbbab query: reduce initial filter size for now
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 761012dd04 nix: add some debug and heap tracking utils
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-15 13:07:01 -08:00
William Casarin 0f2a5c3055 enable japanese, chinese, korean fonts
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-12 01:07:39 -08:00
William Casarin 0945b21710 disable inline image renderer for now
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-12 01:07:22 -08:00
William Casarin 7dcfde7109 enable passing queries via argument
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-12 01:06:59 -08:00
William Casarin 20a68a19f2 images: add copy link to image context menu
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 14:40:14 -08:00
William Casarin 3a68cb9a99 bump nostrdb
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 14:08:58 -08:00
William Casarin 72a53c0192 media: render images on posts
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 13:58:38 -08:00
William Casarin 4ae3a701b8 deps: install ehttp loader
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 13:58:15 -08:00
William Casarin 30b55abd72 links: set hyperlink color to purple
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 13:03:11 -08:00
William Casarin 63e195852b note: make links clickable
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 13:00:07 -08:00
William Casarin c05d0713b7 cargo: rename to notedeck
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 12:49:11 -08:00
William Casarin c1d6788a9f macos: render into the titlebar
also remove fps indicator unless in profiling mode

Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 12:35:20 -08:00
William Casarin 31d770cbf4 add a few more relays for testing
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-11 11:57:25 -08:00
William Casarin 908f1e4dfd profiles: find missing profiles from mentions
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-10 20:24:54 -08:00
William Casarin 3b1550d78c bump nostrdb
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-10 20:24:37 -08:00
William Casarin 8f3ec342c4 note: render mentions
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-10 18:46:52 -08:00