Commit Graph

558 Commits

Author SHA1 Message Date
William Casarin
713d9d7bb5 column: use simplified column string titles for now
even though we will replace this soon, it is still technically
more correct than Timeline(1), etc
2024-12-05 10:59:23 -08:00
William Casarin
093cf8c720 column: switch to simplified strings for column headers
This uses less allocations, and once we switch to profile pictures in
the header the old way won't be needed

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-05 10:59:00 -08:00
William Casarin
be3edc02a4 nav: refactor title rendering for flexibility
Updated navigation to use a custom title renderer for more flexible
rendering of navigation titles. This change decouples the rendering
logic from predefined formats, enabling dynamic title compositions
based on application context and data.

This includes:
- Refactoring `NavResponse` to introduce `NotedeckNavResponse` for
  handling unified navigation response data.
- Adding `NavTitle` in `ui/column/header.rs` to handle rendering
  of navigation titles and profile images dynamically.
- Updating route and timeline logic to support new rendering pipeline.
- Replacing hardcoded title rendering with data-driven approaches.

Benefits:
- Simplifies navigation handling by consolidating title and action
  management.
- Improves scalability for new navigation features without modifying
  core logic.
- Enhances visual customization capabilities.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-05 10:58:59 -08:00
William Casarin
cf773a90fd anim: smoothly animate delete button from 0 size
This is a much cleaner animation

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-05 10:57:21 -08:00
William Casarin
900d13ad4d ui: fix duplicate hitbox widget ids
Fixes: 78210e8208 ("ui: fix quote repost hitbox")
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-03 20:46:41 -08:00
William Casarin
78210e8208 ui: fix quote repost hitbox
The response from the wide rendered note was incorrect, leading to and
incorrectly sized hitbox. This fixes that.

Additionally, we include note options and note parent into the hitbox
key, as this may influence the size of the note.

Before: https://cdn.jb55.com/s/b2464c22a65adb12.png
After: https://cdn.jb55.com/s/52545564d98d278e.png

Fixes: https://github.com/damus-io/notedeck/issues/519
Closes: https://github.com/damus-io/notedeck/pull/537
Changelog-Fixed: Fix broken quote repost hitbox
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-03 17:53:29 -08:00
William Casarin
229694466a ui: use proper response in wide-rendered note
This was causing hitbox issues

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-03 17:52:52 -08:00
Ken Sedgwick
aafddf5acb debug: add crate features which enable egui DebugOptions
--features debug-widget-callstack
  Show callstack for the current widget on hover if all modifier keys
  are pressed down

--features debug-interactive-widgets
  Show an overlay on all interactive widgets

Notes:
- debug-widget-callstack asserts `egui:callstack` feature when enabled
- Only works in debug builds, compile error w/ release builds
2024-12-03 09:09:02 -08:00
Ken Sedgwick
84838478b3 Skip muted content 2024-12-02 13:14:54 -08:00
Ken Sedgwick
d595631966 Add user mute list sync via polling 2024-12-02 13:14:53 -08:00
Ken Sedgwick
f00a67ab2c Update user relay-list via polling 2024-12-02 13:14:50 -08:00
William Casarin
2969db7e30 img: include jpeg when detecting images
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 12:19:47 -08:00
kernelkind
b581501620 add missing light mode icons
Closes: #502
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-29 12:10:46 -08:00
William Casarin
6ab8eb078e ui: add top spacing for sidepanel on macos
also slightly increase width

Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 12:08:33 -08:00
William Casarin
65537b28fd ui: remove top panel
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 11:59:36 -08:00
William Casarin
800fb920a2 ui: make notedeck alpha text gray instead of purple
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 11:38:20 -08:00
William Casarin
c07276e5d0 support: just use version instead of notedeck
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 11:38:20 -08:00
William Casarin
4a1985d728 text: make tiny text smaller
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 11:38:20 -08:00
kernelkind
0855186a8a misc fixes
- add notedeck version number to support view & email body
- add milestone name below Damus logo in side panel
- remove search button in side panel
- remove fps counter & text mode in top bar
- remove 'add relay' button in settings view

Closes: #505
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-29 11:37:56 -08:00
kernelkind
42f9ec97a6 ui: style hashtag button
Closes: #504
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-29 10:45:43 -08:00
William Casarin
42c0f02072 onboarding: add introductions hashtag column
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:35:15 -08:00
William Casarin
f8d6fbf153 refactor: simplify demo timeline if statement
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:34:56 -08:00
William Casarin
c8d95aca2a timeline: add simple hashtag timeline constructor
Useful for adding hashtag timelines manually without the
into_timeline thing

Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:34:18 -08:00
William Casarin
37ab6f33fb accounts: remove pink selected frame
Opinionated design call I am making

Fixes: 36b8afd1750d ("Update account management UI to design")
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:21:49 -08:00
kernelkind
0ac131ef06 ui: update account management to design
Closes: https://github.com/damus-io/notedeck/issues/486
Fixes: https://github.com/damus-io/notedeck/issues/444
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:21:17 -08:00
William Casarin
409e8c2e3a icon: fix app icon
Updated to roberto's fixed icon, I also added some padding so that it
looks right int the app switcher.

Closes: https://github.com/damus-io/notedeck/pull/503
Closes: https://github.com/damus-io/notedeck/pull/496
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:08:00 -08:00
kernelkind
19bc37b0bc panel: off-white
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:04:57 -08:00
William Casarin
2e9a00ee57 demo: ensure we have a base column
This allows you to set your first column as your own home timeline
without having to re-arrange anything

Fixes: 62a85d921c1f ("use demo config when no accs")
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 10:04:57 -08:00
William Casarin
e3ed744a5c posts: add client tag when posting and replying
This should help us a bit with seeing notedeck usage.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 09:55:33 -08:00
kernelkind
c2bdae1dcb onboarding: use demo config when no accounts
Closes: #487
Fixes: https://github.com/damus-io/notedeck/issues/446
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-29 09:55:11 -08:00
William Casarin
69eaccdd8f windows: cap dbsize to 16GiB for now
because windows is horrible
2024-11-28 16:52:00 -08:00
William Casarin
8d59260935 windows: handle large mapsizes gracefully
Update nostrdb to gracefully handle mapsizes that
are too large and fail to create nostrdb files.

We now keep shrinking the mapsize until database creation
succeeds. We still use the default mapsize of 32GiB on
windows, which is a bit annoying until we have nostrdb
resizing like monero.

Fixes: https://github.com/damus-io/notedeck/issues/491
2024-11-28 16:52:00 -08:00
William Casarin
0171e6c970 clippy: fix clippy warnings
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-28 12:01:47 -08:00
William Casarin
38fc39e275 clippy: fix clippy issues
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-27 14:34:00 -08:00
William Casarin
de802cd363 Revert "ui: simply hide post button if buffer is empty"
This reverts commit 4133570c2e.
2024-11-27 09:30:07 -08:00
William Casarin
e69a7f83ae refactor: make LoginAction a bit safer
We make LoginAction a simple wrapper around processing the unknown
action to expose too much internal logic. This allows us to have a
must_use on our LoginAction type, otherwise the SingleUnkIdAction's
must_use will be lost when returned in the login action.

Fixes: a5cdddbb2b ("user can upgrade their npub -> nsec")
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-27 09:28:29 -08:00
kernelkind
a5cdddbb2b user can upgrade their npub -> nsec
closes https://github.com/damus-io/notedeck/issues/476

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-26 21:22:52 -05:00
William Casarin
18eba128f6 set app icon to damus logo
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-26 13:25:30 -08:00
William Casarin
cea144b5b7 NoteDeck -> Notedeck
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-26 10:48:25 -08:00
William Casarin
4a9267fed1 Merge disable compose button if selected not nsec #470
kernelkind (2):
      don't try to use other accounts to post
      disable compose button if selected not nsec
2024-11-26 10:12:32 -08:00
William Casarin
a147aa0961 fix fmt
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-22 13:31:43 -08:00
William Casarin
9cfae313aa Merge include commit hash in SupportView #471
kernelkind (1):
      include commit hash in SupportView
2024-11-22 13:03:34 -08:00
William Casarin
c9d1b48706 Merge disable post button if draft buffer empty #469
William Casarin (2):
      ui: simply hide post button if buffer is empty

kernelkind (1):
      disable post button if draft buffer empty
2024-11-22 13:01:03 -08:00
William Casarin
4133570c2e ui: simply hide post button if buffer is empty
Fixes: 8464a1d22c ("disable post button if draft buffer empty")
Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-22 12:59:38 -08:00
William Casarin
e2a2db8ac2 refactor: move save_cols closer
why you so far away little guy?

Signed-off-by: William Casarin <jb55@jb55.com>
2024-11-22 11:28:33 -08:00
kernelkind
792abf11d7 add new column type: hashtag
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-21 20:18:39 -05:00
kernelkind
308717cabf include commit hash in SupportView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-21 16:13:36 -05:00
kernelkind
d090766db9 disable compose button if selected not nsec
closes: https://github.com/damus-io/notedeck/issues/353

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-21 15:45:13 -05:00
kernelkind
d15aa65bd7 don't try to use other accounts to post
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-21 15:34:27 -05:00
kernelkind
8464a1d22c disable post button if draft buffer empty
closes: https://github.com/damus-io/notedeck/issues/417

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-11-21 15:27:19 -05:00