William Casarin
391abe817d
columns: clean up flags, refactor content rendering
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-03 14:02:05 -07:00
William Casarin
30eb2e0258
columns: fix double reference
...
its not needed
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-03 14:00:12 -07:00
William Casarin
b1a5dd6cab
add NotedeckOptions and feature flags, add notebook feature
...
This switches from bools to flags in our Args struct. We also add
notebook as an optional feature flag (--notebook) since its not ready.
2025-07-31 16:03:13 -07:00
Fernando López Guevara
9ff5753bca
settings: use timed serializer, handle zoom properly, use custom text style for note body font size, added font size slider, added preview note
2025-07-29 21:43:26 -03:00
Fernando López Guevara
f2153f53dc
feat(settings): allow sorting thread replies newest first
2025-07-29 21:30:35 -03:00
Fernando López Guevara
0dcf70bc15
feat(settings): persist settings to storage
2025-07-29 21:02:18 -03:00
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