Commit Graph
100 Commits
Author SHA1 Message Date
kernelkind f6753bae97 add NotesOpenResult
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:03:13 -04:00
kernelkind 87b4b5fc70 add preview flag to NoteAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:03:09 -04:00
kernelkind b3569e90d6 thread UI
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:01:20 -04:00
kernelkind 51476772c4 add unread note indicator option to NoteView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:42 -04:00
kernelkind ea91f582ed add pfp bounding box to NoteResponse
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:40 -04:00
kernelkind b7bab1d29f note: refactor to use action composition & reduce nesting
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:37 -04:00
kernelkind c3b8823f72 ui: add hline_with_width
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:35 -04:00
kernelkind 41c2c048a8 add overlay to RouterAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:33 -04:00
kernelkind e0dd09dd5f add overlay conception to Router
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:29 -04:00
kernelkind cdcca0ba35 add threads impl
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:26 -04:00
kernelkind 3c31e1a651 add ThreadSubs for managing local & remote subscriptions
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:23 -04:00
kernelkind faa40bb616 tmp: upgrade egui-nav to use ReturnType
remove when damus-io/egui-nav merges

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-22 16:00:18 -04:00
kernelkind a77fe6ca00 unknowns: use unowned noteid instead of owned
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-18 14:39:05 -04:00
kernelkind 6da10c4faf add NoteId hashbrown Equivalent impl
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-18 14:38:26 -04:00
kernelkind 91c9cfc34f bugfix: txn failed
`ERROR notedeck_columns::timeline: setup_new_timeline:
database error: Transaction failed`

Reproduce by creating column, deleting it, then trying to create
it again. Before this fix, it was blank. Now it displays correctly

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-06-01 17:56:22 -04:00
kernelkind 2d55c8fb06 add search improvements
- '@' symbol brings up mention picker
- search for npub1, note1, and hashtags work

closes: https://github.com/damus-io/notedeck/issues/83
closes: https://github.com/damus-io/notedeck/issues/85

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-26 16:52:19 -04:00
kernelkind 9387fe4973 stop error log spam
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-26 16:32:21 -04:00
kernelkind 58b15d99d7 add SearchType
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-26 16:32:18 -04:00
kernelkind 64d3a0842e add NoteId::from_bech method
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-25 18:26:44 -04:00
kernelkind a1ac0cd2c8 appease clippy
not sure why this warning is only now showing up

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-25 18:25:34 -04:00
kernelkind db5e10656d set variable for scroll offset
necessary to maintain scroll positions across popup & Nav

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:20 -04:00
kernelkind 3cb2dd88b6 use popup sheet for CustomZapView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:18 -04:00
kernelkind c36a22828d use router action
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:15 -04:00
kernelkind a44667ef1a nav: move process nav response to own method
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:12 -04:00
kernelkind f452a9010b nav: move action processing to own method
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:10 -04:00
kernelkind 08a720b860 add SingletonRouter
used for popup

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:33:06 -04:00
kernelkind 99aa50c120 TMP: use new egui-nav with popup
replace with damus-io/egui-nav when merged

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-22 20:32:33 -04:00
kernelkind 5598cc8ba0 use CustomZapView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:41:48 -04:00
kernelkind a9a819f742 add CustomZapView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:41:26 -04:00
kernelkind 68b5c32e7f method to get current default zap amount
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:30:21 -04:00
kernelkind 16e2c9d5b0 make styled button toggleable
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:30:19 -04:00
kernelkind d2158a6482 display name should wrap
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:30:15 -04:00
kernelkind 54c0fdb563 don't show zap button if no wallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:29:43 -04:00
kernelkind 98cb082fb4 hotfix: can login again
adds fallback pubkey as account and selects it when there are
no accounts

closes: https://github.com/damus-io/notedeck/issues/855

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-16 15:50:31 -04:00
kernelkind b2abe495ca implement blurring
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:57 -04:00
kernelkind 7d2112b472 make Widget impl ProfilePic mutably
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:54 -04:00
kernelkind 640bf742c0 add one shot error message
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:51 -04:00
kernelkind 929099c15f propagate Images to actionbar
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:48 -04:00
kernelkind e7c3755a08 pass NoteAction by value instead of reference
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:45 -04:00
kernelkind 953496fc74 note media: unnest full screen media
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:43 -04:00
kernelkind 01636786be note media: only show full screen when loaded
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:48 -04:00
kernelkind 379d6c0307 notedeck_ui: move carousel to note/media.rs
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:45 -04:00
kernelkind 258ac3de29 post: unnest
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:42 -04:00
kernelkind def9de0dc0 images: make promise payload optional to take easily
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:38 -04:00
kernelkind d204db4b29 images: make MediaCache hold MediaCacheType
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:34 -04:00
kernelkind 7f01f3623d add TexturesCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:29 -04:00
kernelkind faec75e1b6 images: move fetch to fn
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:26 -04:00
kernelkind a4ec0982d2 ImagePulseTint -> PulseAlpha
make it more generic to pulse alpha values, not necessarily image
tints

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:22 -04:00
kernelkind a29277d263 propagate JobsCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:55:53 -04:00
kernelkind e6212e5d17 note: remove unnecessary derive macros from NoteAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:38 -04:00
kernelkind b9e2daf47a introduce blur
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:34 -04:00
kernelkind d227eb6551 add blurhash dependency
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:30 -04:00
kernelkind badf3070c8 introduce JobsCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:26 -04:00
kernelkind 5cdf3698d2 introduce & use JobPool
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:23 -04:00
kernelkind 7bb871d377 add hashbrown
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:18 -04:00
kernelkind e453c742de add trust_media_from_pk2 method
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:53:49 -04:00
kernelkind a38c682d78 use default zap amount for zap
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind c456432015 ui: show default zap amount in wallet view
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind fcec3b4c8e accounts: check if selected account has wallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind e6d9de2b99 wallet: helper method to get current wallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 9013a2e067 propagate DefaultZapState to wallet ui
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind f16e63cf3b use ZapWallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 61943aa6c7 introduce ZapWallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 4b608cef5f add default zap
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 015e7790d0 move WalletState to UI
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 9e21518e4b Wallet token parser shouldn't parse all
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 200ef58912 UserAccount use builder pattern
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:32 -04:00
kernelkind 5bddf83655 extend ZapAction
going to need amounts for configurable zaps

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:53:20 -04:00
kernelkind 0adaafd523 remove unnecessary #[allow(dead_code)]
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-23 13:50:57 -04:00
kernelkind ae0a74d383 pulse pending zap button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-16 14:14:48 -04:00
kernelkind 45fe192f75 introduce ImagePulseTint
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-16 13:34:55 -04:00
kernelkind bd78be1659 move error out of AnyZapState
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-16 13:34:51 -04:00
kernelkindandWilliam Casarin 2a2c177300 Fix flaky test_zap_event
Closes: #808
Co-authored-by: William Casarin <jb55@jb55.com>
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-15 08:42:05 -07:00
kernelkind 0c87d02fe0 fix zaps networking tests
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-13 17:19:03 -04:00
kernelkind c512cb046f process zaps in Notedeck
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind cfbd601196 note zap button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 5917bc16fd propagate current account
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 18ea05db0a use Zaps
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind cbf281dcc1 introduce Zaps
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind fd2299f5f0 add hashbrown
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind a7da4d6a11 add Zap
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 38fb05475d fetch zap invoice
closes: https://github.com/damus-io/notedeck/issues/128

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 1cf7e9e3d1 wallet side panel button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind ebec367809 wallet route
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind c2fbcaa5eb add wallet ui
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 1ce530faec add human_format dep
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind ee8c1e41df move sized_button into ui/widgets as styled_button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 13428af006 move close_button to ui/widgets.rs as x_button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind 944c9863f5 process wallet action
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind c3655e033b use UserAccount for account storage
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind dbe71bbb80 add get wallet method 2025-04-08 22:50:00 -04:00
kernelkind 6b45843103 add Wallet to UserAccount
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:49:53 -04:00
kernelkind 0bcd84166d integrate global wallet into app
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 20:25:13 -04:00
kernelkind c77246c231 accounts: update & optimised find
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 20:25:10 -04:00
kernelkind b1215f1932 wallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 20:25:10 -04:00
kernelkind 4522920939 introduce TokenHandler
used for saving anything `TokenSerializable` to disk

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 20:25:07 -04:00
kernelkind 31b3316d9c add tokio dep to notedeck package
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-04 18:53:25 -04:00
kernelkind 7213c1b7eb add nwc dependency
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-04 18:52:43 -04:00
kernelkind 79ac3b0d14 token serialize user account
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-29 20:02:32 -04:00
kernelkind 6003ef5aec FileKeyStorage -> AccountStorage
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-22 00:06:49 -04:00