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
William Casarin
1ab4eeb48c
init notebook
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-31 15:07:50 -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
be720c0f76
fix(settings): use localization
2025-07-29 21:21:06 -03:00
Fernando López Guevara
b8207106d7
feat(settings): persist settings to storage
2025-07-29 11:41:06 -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
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
1a3112d8ef
Merge remote-tracking branch 'github/pr/1027'
2025-07-24 12:29:11 -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
Jakub Gladysz
bd9a78b305
Do not crash on unknown arg
...
Signed-off-by: Jakub Gladysz <jakub.gladysz@protonmail.com >
2025-07-24 11:02:43 +03:00
William Casarin
fe30704496
Merge remote-tracking branch 'fernando/feat/settings-view'
2025-07-23 12:00:29 -07:00
Fernando López Guevara
da6ede5f69
feat(settings): add settings view
2025-07-23 15:33:17 -03:00
William Casarin
f722a58d66
Merge new Accounts button to chrome sidebar by kernel #994
...
kernelkind (3):
use saturating sub
add new Accounts button to chrome sidebar
add ChromePanelAction::Profile & use for pfp
2025-07-23 09:13:49 -07: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
kernelkind
34afa755b8
add ChromePanelAction::Profile & use for pfp
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 15:23:41 -04:00
kernelkind
45490c918d
add new Accounts button to chrome sidebar
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 15:23:32 -04:00
William Casarin
db6f02084d
input: halve long press input duration
...
people were saying long press was too long
Fixes: https://github.com/damus-io/notedeck/issues/981
2025-07-16 18:01:48 -07:00
kernelkind
cc92fc2082
make TimelineCache::timelines private
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:07 -04:00
William Casarin
64ac06791a
Merge show-note-client option by fernando
...
We should move this somewhere else before we turn it on
officially
Fernando López Guevara (2):
refactor: use Margin:ZERO
feat(note-view): show note client
2025-07-16 14:07:42 -07:00
Fernando López Guevara
4bf75c95de
feat(note-view): show note client
2025-07-16 17:09:59 -03:00
William Casarin
872aadf279
debug: fix memory debugger
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 11:17:13 -07: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
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
cd560cb7bf
chrome: make toolbar smaller
...
its a bit chonky
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 12:40:04 -07:00
William Casarin
cf1814f250
android: hide chrome sidebar by default
...
When compiled as android, make sure we hide the chrome sidebar
by default
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:33:27 -07:00
William Casarin
6172777b1a
android: remove special load arguments
...
we want to make sure we have the same onboarding path as desktop
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:32:52 -07:00
Fernando López Guevara
ec25413433
feat(mobile): improve layout and behavior on narrow screens
2025-07-08 16:20:51 -07:00
William Casarin
f25735f89e
debug: add memory debug window
...
enable with:
$ cargo build --release --features memory
and then click the memory widget on the chrome sidepanel
currently doesn't track C allocations... we should fix that
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-08 13:27:37 -07:00
William Casarin
738b5e71da
android: default app to columns
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-08 12:12:03 -07: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
36667bc024
feat(app_images): add module to manage static app image assets
2025-06-25 09:53:31 -07:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
William Casarin
505083998d
android: fix build
...
wip android keyboard fixes
wip 4.0.0 game-activity
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07: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
0ea1a92ea7
chrome: hook up toolbar actions
...
We will implement execution of these actions in the
upcoming commits!
stay tuned
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-07 10:19:13 -07:00
William Casarin
0eec6881fc
Initial tab bar
2025-06-07 10:19:13 -07:00
William Casarin
bcd9c61d46
chrome: extract more non-methods
2025-06-07 10:19:13 -07:00
William Casarin
65928bcdbb
chrome: extract method to function
...
We don't need anything from Chrome in this function, so we can just
extract it to a top-level function
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
771537a4f6
android: hover post button when narrow
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-03 10:29:38 -07:00
William Casarin
fc51ddb438
Merge remote-tracking branches 'github/pr/864' and 'github/pr/866'
2025-05-31 15:53:36 -07: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
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
7d2112b472
make Widget impl ProfilePic mutably
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:54 -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
William Casarin
bdd0ef4c5c
ui: fix a bunch of missing hover pointers
...
let's try to keep on top of these
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 20:50:56 -07:00