William Casarin
f57d582307
ui: keep original design on non-narrow
...
Changed my mind
This reverts commit 6e81b98d2f .
This reverts commit 217f1e45da .
2025-07-29 13:25:19 -07:00
William Casarin
79bf6cf126
media/viewer: fix flicker on escape-close
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-29 12:22:04 -07:00
Fernando López Guevara
b8207106d7
feat(settings): persist settings to storage
2025-07-29 11:41:06 -07:00
William Casarin
217f1e45da
Revert "fix(columns): render wide notes on narrow screen"
...
We're just gonna make it default
This reverts commit 0f00dcf7a7 .
2025-07-29 10:22:57 -07:00
William Casarin
1fabd347ca
Merge remote-tracking branch 'github/pr/1031'
2025-07-29 10:08:43 -07:00
William Casarin
51f7744149
media/viewer: fullscreen transition animations
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 16:12:29 -07:00
William Casarin
6d393c9c37
media/viewer: provide image-click provenance
...
We will be using this for transitions
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 14:19:03 -07:00
William Casarin
5c8ab0ce07
media/viewer: handle click-to-close interactions
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 12:19:45 -07:00
William Casarin
590ffa0680
media/viewer: click anywhere to close
...
this should help mobile ...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 12:10:00 -07:00
William Casarin
3d18db8fd2
Fullscreen MediaViewer refactor
...
- Moved media related logic into notedeck instead of the ui crate,
since they pertain to Images/ImageCache based systems
- Made RenderableMedia owned to make it less of a nightmware
to work with and the perf should be negligible
- Added a ImageMetadata cache to Images. This is referenced
whenever we encounter an image so we don't have to
redo the work all of the time
- Relpaced our ad-hoc, hand(vibe?)-coded panning and zoom logic
with the Scene widget, which is explicitly designed for
this use case
- Extracted and detangle fullscreen media rendering from inside of note
rendering. We instead let the application decide what action they
want to perform when note media is clicked on.
- We add an on_view_media action to MediaAction for the application to
handle. The Columns app uses this toggle a FullscreenMedia app
option bits whenever we get a MediaAction::ViewMedis(urls).
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 08:57:57 -07:00
William Casarin
db6103d448
router: fix router selection
...
Many times we get the router selection wrong. This fixes that
Changelog-Fixed: Fix some routing issues when routing from the Chrome
Fixes: https://github.com/damus-io/notedeck/issues/1024
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-24 12:11:19 -07:00
Fernando López Guevara
0f00dcf7a7
fix(columns): render wide notes on narrow screen
2025-07-24 15:57:42 -03:00
Fernando López Guevara
da6ede5f69
feat(settings): add settings view
2025-07-23 15:33:17 -03:00
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
William Casarin
8a1398face
clippy fixes
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
William Casarin
c0c2120f74
android: fix back button
...
Fixes: https://github.com/damus-io/notedeck/issues/972
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 09:18:34 -07:00
kernelkind
cc92fc2082
make TimelineCache::timelines private
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:07 -04:00
Fernando López Guevara
4bf75c95de
feat(note-view): show note client
2025-07-16 17:09:59 -03:00
William Casarin
461665f599
ui: remove show_pointer
...
This can just be achieved by on_hover_cursor
Didn't realize this.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 09:17:27 -07:00
Fernando López Guevara
ab43bdb65a
fix(deck): show column picker when deck has no columns
2025-07-15 14:42:32 -07:00
William Casarin
119456e2b3
columns: switch to bitflag app options
...
we're adding a ScrollToTop bool for an updating change
to the toolbar, but we have too many flags now. Let's switch
to bitflags
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 12:42:20 -07:00
William Casarin
744483fbc0
ui: don't auto-repaint that often
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 08:28:33 -07:00
kernelkind
46633d0513
use AccountSubs for timeline contact sub
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-12 16:48:20 -04:00
William Casarin
6596e89e29
anim: animate on compose button hide
...
before we were just nuking it
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:23:50 -07:00
William Casarin
ade6f57fd5
anim: animate show/hide of compose button
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:21:26 -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
26d027f03e
nav: nav to accounts view for actions that require key
...
Fixes: https://github.com/damus-io/notedeck/issues/936
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 16:17:08 -07:00
William Casarin
605f6f4711
android: hide new post button when navigating
...
Fixes: https://github.com/damus-io/notedeck/issues/898
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 15:45:33 -07:00
William Casarin
4bdfbc6400
onboarding: restore demo deck
...
for some reason it was getting overwritten ?
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:54:48 -07:00
William Casarin
b6348b1507
note/options: simplify flag logic
...
simpler, less macro magic
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:29:56 -07:00
William Casarin
e0f2e467d2
args: switch to oot_bitset for arg flags
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:34:24 -07: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
Fernando López Guevara
ec25413433
feat(mobile): improve layout and behavior on narrow screens
2025-07-08 16:20:51 -07: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
329385bd90
move AcountData into UserAccount
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:44 -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
kernelkind
4914c637ce
move FALLBACK_PUBKEY
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:03 -04:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
William Casarin
e8d240df42
toolbar: process actions
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-07 10:19:13 -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
5cb0911d7e
log: less verbose unknown id logging
2025-06-05 11:59:51 -07:00
William Casarin
771537a4f6
android: hover post button when narrow
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-03 10:29:38 -07: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
badf3070c8
introduce JobsCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:54:26 -04:00
William Casarin
e8a1233174
dave: bubble note actions to chrome
...
This allows chrome to pass note actions to other apps
2025-04-22 18:42:12 -07: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