kernelkind
f8f720c193
add onboarding 'manager'
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-17 15:07:09 -04:00
kernelkind
0b12b08c59
clippy: allow collapsible match
...
clippy being annoying
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-17 15:06:42 -04:00
William Casarin
507cf113a3
remove hjkl bindings
...
these interfere with input
we'll need to come back to this
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-15 11:55:29 -07:00
kernelkind
b750c0a927
use toolbar in columns rather than chrome
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:20:38 -04:00
kernelkind
49ef85aef6
copy toolbar rendering to notedeck_ui
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:18:28 -04:00
kernelkind
29f59459d2
add toolbar defaults
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:18:28 -04:00
kernelkind
cd0bd53b3d
add toolbar related logic
...
copied from chrome
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:18:28 -04:00
kernelkind
5c0546deab
add select_by_route
...
selects the column containing the desired route. Add it if it
doesn't exist and it's easy to do
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:18:28 -04:00
kernelkind
3d8018bb9a
make compose button animate horiz rather than vert
...
it animating over the toolbar made the bar dissapear for
some reason
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:06:18 -04:00
kernelkind
361d0e3708
make search icon more customizable
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-13 19:04:16 -04:00
William Casarin
87cb5ed515
Merge thread scroll fix by kernel
...
kernelkind (5):
TMP: use new egui-nav to fix scroll offset issues
add `scroll_offset` to `NoteAction::Note`
add `ThreadNote::set_scroll_offset`
set scroll offset when routing to thread
appease clippy
2025-08-04 15:08:32 -07:00
William Casarin
9cbba37507
debug: add repaint causes debug tool
...
enable with --debug, click on fps/frame time counter
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-04 15:04:38 -07:00
William Casarin
b94e715539
ui: add AnimationMode to control GIF rendering behavior
...
Introduces an `AnimationMode` enum with `Reactive`, `Continuous`, and
`NoAnimation` variants to allow fine-grained control over GIF playback
across the UI. This supports performance optimizations and accessibility
features, such as disabling animations when requested.
- Plumbs AnimationMode through image rendering paths
- Replaces hardcoded gif frame logic with reusable `process_gif_frame`
- Supports customizable FPS in Continuous mode
- Enables global animation opt-out via `NoteOptions::NoAnimations`
- Applies mode-specific logic in profile pictures, posts, media carousels, and viewer
Animation behavior by context
-----------------------------
- Profile pictures: Reactive (render only on interaction/activity)
- PostView: NoAnimation if disabled in NoteOptions, else Continuous (uncapped)
- Media carousels: NoAnimation or Continuous (capped at 24fps)
- Viewer/gallery: Always Continuous (full animation)
In the future, we can customize these by power settings.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-04 13:41:24 -07:00
kernelkind
e8be471608
set scroll offset when routing to thread
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-04 16:12:45 -04:00
kernelkind
97d15e41e7
add ThreadNote::set_scroll_offset
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-04 16:12:42 -04:00
kernelkind
ea5c876da6
add scroll_offset to NoteAction::Note
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-08-04 16:12:38 -04:00
William Casarin
2fb9470ee6
note/ui: fix reply line when replying in narrow mode
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-03 16:54:04 -07:00
William Casarin
af2c556700
post: set client tag to Damus Android on android
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-03 16:48:34 -07:00
William Casarin
ad35547582
refactor: collapse client label settings; drop CLI/settings toggles
...
The "top vs bottom" client label setting was cluttering the UI and
codebase with toggles that added little value. This consolidates client
label handling into one option, removes unused CLI/settings knobs, and
makes NoteView’s API consistent and fluent. Result: fewer knobs, less
branching, and a clearer, more predictable UI.
Now client labels are only shown in one place: selected notes.
- Drop `--show-client` arg in notedeck and `--show-note-client=top|bottom`
args in notedeck_columns
- Remove `NotedeckOptions::ShowClient` and related CLI parsing
- Delete `ShowSourceClientOption` enum, settings UI, and
`SettingsAction::SetShowSourceClient`
- Collapse `NoteOptions::{ClientNameTop, ClientNameBottom}` into a single
`NoteOptions::ClientName`
- Add `NoteOptions::{Framed, UnreadIndicator}`
- Move “framed” and unread indicator into flags (no more ad‑hoc bools)
- Add new NoteView builder methods: `.client_name()`, `.frame()`,
`.unread_indicator()`, and `.selected_style()`
- CLI flags for showing client labels have been removed
- `ClientNameTop`/`ClientNameBottom` replaced with `ClientName`
- API using `framed` or `show_unread_indicator` booleans must now use
the new flag setters
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-03 16:16:15 -07:00
William Casarin
5b1bc442d4
Pull spanish translations from terry
...
Terry Yiu (2):
Import Spanish translations
Fix localization issues and export strings for translation
2025-08-03 14:02:43 -07:00
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
fa13884908
Fix localization issues and export strings for translation
...
Changelog-Fixed: Fixed localization issues
Signed-off-by: Terry Yiu <git@tyiu.xyz >
2025-08-01 14:36:29 -04:00
Fernando López Guevara
26ece3bc05
feat(note): show full created date format on selected notes
2025-08-01 08:42:58 -03:00
Fernando López Guevara
ab84304265
feat(settings): show note full date
2025-08-01 08:38:49 -03:00
kernelkind
41aa2db3c7
use unseen notification indicator
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-31 19:08:08 -04:00
kernelkind
8697a5cb0a
set fresh from TimelineCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-31 19:07:28 -04:00
kernelkind
7aca39aae8
add NotesFreshness to TimelineTab
...
necessary for notifications indicator
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-31 19:07:24 -04:00
kernelkind
aa467b9be0
extract notifications filter to own method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-31 19:07:13 -04: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
William Casarin
a8c6baeacb
make clippy happy
2025-07-31 11:55:39 -07:00
William Casarin
a896a6ecfa
Merge remote-tracking branch 'fernando/feat/persist_settings'
2025-07-31 11:48:57 -07:00
Fernando López Guevara
f282363748
feat(notedeck): add cross-platform URI opener
2025-07-30 16:27:51 -07:00
kernelkind
b04f50a9f6
insert space after mention selection
...
closes: https://github.com/damus-io/notedeck/issues/985
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-30 18:11:27 -04:00
kernelkind
173972f920
mentions: don't lose focus after select mention
...
Closes: https://github.com/damus-io/notedeck/issues/728
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-30 17:45:09 -04:00
kernelkind
31ec21ea02
mention-picker: re-add spacing from inner_margin
...
shouldn't do this in Frame, for some reason that captures the drag
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-30 17:45:05 -04:00
kernelkind
d3d8d7be4b
fix scroll regression
...
Closes: https://github.com/damus-io/notedeck/issues/986
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-30 17:45:02 -04:00
kernelkind
09dc101c1b
rename SearchResultsView => MentionPickerView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-30 17:44:51 -04: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
1163dd8461
feat(settings): persist settings to storage
2025-07-29 21:33:05 -03:00
Fernando López Guevara
692f4889cf
update i18n comments for source client options
...
Co-authored-by: Terry Yiu <963907+tyiu@users.noreply.github.com >
2025-07-29 21:31:36 -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
40764d7368
fix(settings): use localization
2025-07-29 21:22:39 -03:00
Fernando López Guevara
be720c0f76
fix(settings): use localization
2025-07-29 21:21:06 -03:00
Fernando López Guevara
5848f1c355
refactor(settings): add settings sections methods
2025-07-29 21:09:33 -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
b80a0ab0f1
ui/settings: fix small double clone nit
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-29 10:32:39 -07:00