Commit Graph

303 Commits

Author SHA1 Message Date
William Casarin
af92e326f6 deps: using tracing instead of log
also update some other deps

Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-23 11:16:43 -07:00
William Casarin
7e02c7f745 fonts: always use base fonts for all families
We should always fallback if we can't find a glyph in a particular font

Fixes: https://github.com/damus-io/notedeck/issues/78
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-20 12:19:48 -07:00
William Casarin
4fc6e225ca don't bump timeline when adding notes
This is quite different than Damus iOS. The timeline will continually
add new items without bumping scroll position, thanks to
egui-virtual-list's `items_inserted_at_start` function.

Closes: https://github.com/damus-io/notedeck/issues/38
Fixes: https://github.com/damus-io/notedeck/issues/59
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-16 10:26:36 -07:00
William Casarin
0e0e5d0eaa fix clippy issues
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 20:53:17 -07:00
William Casarin
0d240c16a5 simplify tab underline calculation
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 18:01:48 -07:00
William Casarin
95c526f453 mobile: add lots of top padding on mobile
and remove top panel

Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 18:01:28 -07:00
William Casarin
dbc56ac098 mobile: simplify is_mobile
we don't need context anymore

Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 18:01:04 -07:00
William Casarin
12a6c64778 move add_space to its correct location
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 17:39:42 -07:00
William Casarin
9e8f7a2e5c ui: integrate egui-tabs for notes & replies selector
demo: https://cdn.jb55.com/s/notedeck-tabs.mp4

Fixes: https://github.com/damus-io/notedeck/issues/47
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 17:28:01 -07:00
William Casarin
029896627c ui: add feathering-resistant hline separator fn
"pixel-aligned" Separators get feathered into a blurry mess. This seems
to help.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 15:26:19 -07:00
William Casarin
bc5ff4858f direnv: make args explicit so its easy to change
for direnv enjoyers

Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 09:41:19 -07:00
William Casarin
c7a1ca534d Merge commit 'refs/pull/github/53'
35adae86f9 ("nix: keep lazy for use_android=false")
2024-05-15 09:40:12 -07:00
William Casarin
e1f61076f7 switch to rustls-tls-native-roots
This fixes our android build which doesn't like openssl

Fixes: https://github.com/damus-io/notedeck/issues/54
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-15 09:16:20 -07:00
hellodword
35adae86f9
nix: keep lazy for use_android=false 2024-05-15 15:09:15 +00:00
kernelkind
95f8623c41 migrate AccountManagementView to enostr Keypair
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-14 14:39:05 -07:00
kernelkind
bb25fd4ae1 AccountSelectionWidget
Will be useful for selecting an account for the 'Add Column' view

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-13 10:50:42 -07:00
kernelkind
e9c3596067 AccountManagementView
View used to add and remove accounts from the app

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-13 10:50:42 -07:00
kernelkind
93800e0d04 Add SimpleProfilePreview
Preview that only contains the pfp, display name, and username

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-13 10:50:42 -07:00
kernelkind
59818edd83 remove nostr-sdk
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-08 14:14:37 -07:00
kernelkind
e04c8821d5 Add keypair & update pubkey
Keypair & FullKeypair match structs in damus ios

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-08 14:14:37 -07:00
kernelkind
b8177459ab use nostr in enostr
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-08 14:14:37 -07:00
William Casarin
3e1acfa9cf update version in comment because I still use this on my laptop
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-04 10:26:26 -07:00
William Casarin
30e9aa5357 nix: make android emulator optional
Tony was having issues on aarch64-linux

Changelog-Fixed: Fix nix build on aarch64-linux
2024-05-04 11:32:34 -05:00
kernelkind
aacc41e4c2 Add flag to emulate mobile during preview
Since the is_mobile check was moved to compile-time instead of runtime
in 0a6a441041, we need a way to override
the check when previewing using the 'mobile' flag.

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-04 11:32:34 -05:00
William Casarin
f9d6161500 move account_login_view to ui submodule
trying to keep all views and widgets in here
2024-05-04 11:32:34 -05:00
William Casarin
5b7b47aaf5 style: less bubbly 2024-05-04 11:32:34 -05:00
William Casarin
029bbf0e77 nix: add openssl dep for reqwest 2024-05-02 19:31:20 +02:00
kernelkind
baaa7cc05d move login logic from promise to async fns
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-02 18:51:28 +02:00
kernelkind
64904da5e8 add reqwest as dependency
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-02 18:51:28 +02:00
kernelkind
486a8c84e0 login: Add key loading & error to mobile
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-02 18:51:28 +02:00
kernelkind
b8229fb9a9 Move login business logic to LoginManager
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-02 18:51:28 +02:00
William Casarin
5396085d96 textmode: adjust name sizing so it doesn't bump the column 2024-05-02 18:51:05 +02:00
William Casarin
f3f8d4ecb4 textmode: no previews in textmore for now
Ideally these would just be angle bracket quotes or something. would be
cool.
2024-05-02 18:50:25 +02:00
William Casarin
d9f1582ee7 since filter optimization
This is an optimization that allows us to modify our network filter to
include since-information based off of our local relay. The idea is to
look at the latest note in a given view, and add that to the since
filter for the remote query.

Fixes: https://github.com/damus-io/notedeck/issues/36
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 14:06:20 -07:00
William Casarin
f4d496012b log relay subscriptions
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 14:06:20 -07:00
William Casarin
632e5b89d1 mobile: don't add hover on mobile
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 12:48:26 -07:00
William Casarin
a173e38141 slightly larger pfpfs
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 12:47:29 -07:00
William Casarin
ca58b831b6 queries: set reasonable initial query sizes
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 11:01:28 -07:00
William Casarin
0a6a441041 simplify is_mobile check
Just base it on the current compile target

Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 11:00:56 -07:00
William Casarin
28e2e7edd5 Merge remote-tracking branch 'github/virtual-list' 2024-04-28 17:55:29 -07:00
William Casarin
26128c3456 use egui_virtual_list for rendering
absolutely insane performance increase

Fixes: https://github.com/damus-io/notedeck/issues/32
Suggested-by: @lucasmerlin
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-28 11:03:47 -07:00
William Casarin
69054d71ca nip10: show initial reply information on notes
Using the newly merged nip10 code, we can show replies on notes!

This is not final, and it's actually different than how we do it in
Damus iOS. Not sure if I like it yet. We will likely have to put pubkey
information back in somewhere soon.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-27 01:58:35 -07:00
William Casarin
afb0e5fe65 github: remove pages workflow
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-27 01:53:08 -07:00
William Casarin
d0cfeee79f readme: make it clear that nix is optional for non-android dev
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-26 11:11:06 -07:00
William Casarin
f12ccc69a4 add hover to profile map demo
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-24 12:49:06 -07:00
William Casarin
7ec31d0eae fun large profile grid preview
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-24 12:49:06 -07:00
William Casarin
e8168b0004 ui: add profile picture hover animation
I wanted to practice doing animation in egui, so here is a simple
profile picture hover affect. When you mouse over a profile picture, it
get slightly bigger.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-24 12:49:06 -07:00
William Casarin
61deeb03e1 note: support nprofile mentions
realized we were missing this bit

Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-24 12:49:06 -07:00
William Casarin
32923abfc2 perf: profiling note content rendering
Made some small speed improvements

Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-22 08:58:30 -07:00
William Casarin
c944cac810 style: realtime hover interactions
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-21 17:57:32 -07:00