Commit Graph

660 Commits

Author SHA1 Message Date
William Casarin
6bf6af7f9e profile: fix crash with ProfileState defaults
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:14:50 -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
074472eec9 columns/timeline: include column index in timeline view_id
might fix weird scroll issues on profiles

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 13:02:05 -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
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
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
William Casarin
4e3fcad709 ui/note: show full link type in unhandled mentions
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 08:28:33 -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
William Casarin
e2295172a2 fix target sdk
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:15:29 -07:00
William Casarin
45bb00426f andriod: add app icons
Fixes: #958
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:02:49 -07:00
William Casarin
3a25f3b245 tweak minSdk
24 is lowest vulkan ... so target that

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:01:48 -07:00
William Casarin
c4084c4117 note_follows: remove unneeded derefence
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 14:16:05 -07:00
William Casarin
e4ca67127e Merge unknown profile improvements by kernel #955
kernelkind (1):
      allow body on unknown profile
2025-07-14 14:10:18 -07:00
William Casarin
c402320ad3 ui: fix broken note previews
Also made the options more clear

Fixes: https://github.com/damus-io/notedeck/issues/959
Fixes: b6348b1507 ("note/options: simplify flag logic")
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 14:05:41 -07:00
kernelkind
8c71e154f4 allow body on unknown profile
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-14 15:26:07 -04:00
kernelkind
b5d56f7831 remove unnecessary FilterState::NeedsRemote filter
all NeedsRemote states are contact lists currently, which is
managed by `Accounts`

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-12 16:52:01 -04: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
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
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
8752a49485 android: fix crash on mobile
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-11 13:39:29 -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
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
c5093a7180 columns/add: move home and notifications to top
more intuitive

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:37:23 -07:00
William Casarin
f39d554c96 rename Contacts to Home
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:34:41 -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
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
William Casarin
41053dd5a5 ui/carousel: refactor to use indices
This refactors our carousel control a bit, it was getting
messy

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 12:09: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
7b9db55a05 add UI for (un)follow
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:30 -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
00d6651533 send kind 3 event
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:25 -04:00
kernelkind
6741ea8a01 construct NoteBuilder from existing note
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-10 13:47:23 -04:00
Jakub Gladysz
cc541cd4ff ui: add follow button
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:21 -04:00
kernelkind
8a77ba5f8f move styled_button_toggleable to notedeck_ui
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-10 13:47:19 -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
497c102af1 expose AccountSubs
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-10 13:45:42 -04:00
kernelkind
1100e28233 use Contacts in AccountData
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-10 13:45:39 -04:00
kernelkind
9b7033e208 add Contacts
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-10 13:45:27 -04:00