William Casarin
3d4db820b4
i18n: make localization context non-global
...
- Simplify Localization{Context,Manager} to just Localization
- Fixed a bunch of lifetime issueo
- Removed all Arcs and Locks
- Removed globals
* widgets now need access to &mut Localization for i18n
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-22 09:49:32 -07:00
3f5036bd32
Internationalize user-facing strings and export them for translations
...
Changelog-Added: Internationalized user-facing strings and exported them for translations
Signed-off-by: Terry Yiu <git@tyiu.xyz >
2025-07-21 12:45:29 -07:00
kernelkind
0b27282985
bugfix: unsubscribe all decks when log out account
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 21:39:58 -04:00
kernelkind
1c547bbcaa
bugfix: unsubscribe from timelines on deck deletion
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 21:25:09 -04:00
kernelkind
d4082eb818
bugfix: properly sub to new selected acc after removal of selected
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 20:31:36 -04:00
William Casarin
a517bc69bc
Merge is_following fixes from kernel
...
kernelkind (4):
add `Accounts` to `NoteContext`
remove `MuteFun` prop
make `Contacts::is_following` use bytes instead of `Pubkey`
migrate to check following through `Contacts::is_following`
2025-07-16 08:50:58 -07:00
William Casarin
ac22fc7072
columns: enable toolbar scroll to top
...
Fixes: https://github.com/damus-io/notedeck/issues/969
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 13:30:40 -07:00
William Casarin
baff14bbf0
ui/column: include pfp in back response
...
We were missing the pfp in the back response
Fixes: https://github.com/damus-io/notedeck/issues/923
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 10:51:02 -07:00
William Casarin
0cc64da1ca
columns/profile: only mutate profile state after navigating
...
The code currently mutates the profile state during nav rendering,
which screws up profile state updates. This syncs ProfileStates
in the ui. before it was getting out of sync.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 10:15:21 -07:00
William Casarin
f2adb949f6
columns/nav: ocd nevernest
...
no behavior changed
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 09:29:34 -07:00
William Casarin
6f266fc91d
columns/profile: rename process -> process_profile_action
...
lets start clarifying these names for easier searching
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 09:28:41 -07:00
William Casarin
443d356cc7
ui/column: remove move/remove column buttons on narrow
...
It doesn't make sense to move columns in narrow mode
Fixes: https://github.com/damus-io/notedeck/issues/960
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 08:35:07 -07:00
William Casarin
a714bef690
ui/profile: fix dubious profile editing
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 08:28:37 -07:00
kernelkind
a7f5319fde
remove MuteFun prop
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:05 -04:00
kernelkind
397bfce817
add Accounts to NoteContext
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:02 -04:00
William Casarin
44edffc596
android/input: add copy/paste context to post input
...
Fixes: https://github.com/damus-io/notedeck/issues/942
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 15:36:56 -07:00
William Casarin
e8444f10b3
Revert "Unify sub for contacts in accounts & timeline"
...
Since its causing contact timelines to not load
eg: ./target/release/notedeck --datapath new3 -c contacts
This reverts commit 9940537897 .
2025-07-11 13:49:47 -07:00
William Casarin
96cb5e26ce
Merge follow/unfollow from kernel
...
Jakub Gladysz (1):
ui: add follow button
kernelkind (14):
bump nostrdb
move polling responsibility to `AccountData`
`AccountData`: decouple query from constructor
add constructor for `AccountData`
add `Contacts`
use `Contacts` in `AccountData`
expose `AccountSubs`
Unify sub for contacts in accounts & timeline
move `styled_button_toggleable` to notedeck_ui
construct NoteBuilder from existing note
send kind 3 event
add actions for follow/unfollow
add UI for (un)follow
send contact list event on account creation
2025-07-11 13:06:24 -07:00
William Casarin
217c1e5223
columns/decks: add home and notifications for new accounts
...
This is way more user friendly, and needed on mobile
Fixes: https://github.com/damus-io/notedeck/issues/937
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 17:16:30 -07:00
kernelkind
dca9d3eeab
send contact list event on account creation
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:32 -04:00
kernelkind
a883ac8c34
add actions for follow/unfollow
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
Co-authored-by: Jakub Gladysz <jakub.gladysz@protonmail.com >
Co-authored-by: William Casarin <jb55@jb55.com >
2025-07-10 13:47:28 -04:00
kernelkind
9940537897
Unify sub for contacts in accounts & timeline
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:07 -04:00
kernelkind
c99b99ed52
AccountData: decouple query from constructor
...
the ndb query must be as close to the subscription as possible to
avoid events falling through the cracks
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:20 -04:00
kernelkind
b41f4c3359
decouple RelayView UI from state mutation
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:46:09 -04:00
kernelkind
a73596df48
Clarify & enforce selected-only behavior in Accounts subscription
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:46:01 -04:00
kernelkind
f0158f71b2
don't expose mutable access to UserAccount
...
it's not preferable that the full mutable access is available to
`ZapWallet`, but this PR is becoming too big already
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:57 -04:00
kernelkind
10d6d740b8
migrate accounts to be referenced through pks instead of indices
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:33 -04:00
kernelkind
d092f5c23e
move switching related actions from notedeck -> columns
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:29 -04:00
kernelkind
8e92a97a57
make selected accounts non optional
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:17 -04:00
Fernando López Guevara
c6dbb0e856
fix(content): handle case where notes are not loaded
2025-06-24 09:15:52 -07:00
kernelkind
589a8a904c
fix log messages
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-23 16:32:28 -04:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
kernelkind
41c2c048a8
add overlay to RouterAction
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:33 -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
William Casarin
9033383a29
add input context menu helper
...
We are going to want this in more places
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:15 -07:00
William Casarin
e87b6f1905
chrome: collapsible side panel
...
This implements the initial logic that makes the side panel collapsible.
Since we don't have a proper hamburger control, we do the same thing we
do on iOS for now.
2025-06-05 12:01:55 -07:00
William Casarin
1c3b172e21
clippy: fix large enum.
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-31 16:33:18 -07: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
5598cc8ba0
use CustomZapView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:41:48 -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
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
a29277d263
propagate JobsCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:55:53 -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
015e7790d0
move WalletState to UI
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-04-23 13:53:32 -04:00
William Casarin
8af80d7d10
ui: move note and profile rendering to notedeck_ui
...
We want to render notes in other apps like dave, so lets move
our note rendering to notedeck_ui. We rework NoteAction so it doesn't
have anything specific to notedeck_columns
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-17 12:34:43 -07:00