Commit Graph

24 Commits

Author SHA1 Message Date
William Casarin
8af80d7d10 ui: move note and profile rendering to notedeck_ui
We want to render notes in other apps like dave, so lets move
our note rendering to notedeck_ui. We rework NoteAction so it doesn't
have anything specific to notedeck_columns

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-17 12:34:43 -07:00
William Casarin
66377351b3 ui: add some margin to chrome sidebar
Looks a bit better
2025-04-15 08:24:04 -07:00
William Casarin
87794fae33 chrome: fix wallet button
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 16:37:22 -07:00
William Casarin
2a9c5c7848 dave: reorganize ModelConfig
start to clean up the lib.rs a bit

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:53:52 -07:00
William Casarin
9c9b4199f5 ui crate and chrome sidebar
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:29:01 -07:00
kernelkind
1cf7e9e3d1 wallet side panel button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-04-08 22:50:00 -04:00
kernelkind
ad90a9565a canonize UserAccount
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-22 00:06:49 -04:00
William Casarin
51457a0260 android: update to latest winit/egui/android-activity
so we can start fixing this shit

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:51:56 -07:00
William Casarin
d85c6043b7 search: auto-focus search field on navigate
I'm going to add a search changelog on this commit since I forgot
to do so previously.

Fixes: https://linear.app/damus/issue/DECK-538/auto-focus-search-field-on-search-view
Changelog-Added: Added fulltext search ui
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 16:02:35 -08:00
William Casarin
c2545d17e7 route: add Search route and hook up SearchView
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin
d19e4b1d2b search: improve search column header
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin
62a1571dea search: show icon again
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:58:42 -08:00
kernelkind
33fdf647e3 migrate to using Images instead of MediaCache directly
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
4f4a0feb8c rename ImageCache -> MediaCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
William Casarin
0cc1d8a600 Switch to unified timeline cache via TimelineKinds
This is a fairly large rewrite which unifies our threads, timelines and
profiles. Now all timelines have a MultiSubscriber, and can be added
and removed to columns just like Threads and Profiles.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-05 18:30:45 -08:00
William Casarin
96481a47f3 pfp: remove border except for profile
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-03 19:45:32 -08:00
William Casarin
635c9770de Merge 'add border behind pfp' #597
Hello new contributor!

jglad (4):
      #597 add border behind pfp
      replace with full circle border
      make optional
      fix formatting
2025-02-03 19:34:10 -08:00
kernelkind
2b7d66e7ae add deck icon hover tooltip with deck name
closes: https://github.com/damus-io/notedeck/issues/691

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-03 14:32:39 -05:00
jglad
cd72cc36e8 fix formatting 2025-01-31 08:41:25 +01:00
jglad
803f427f77 make optional 2025-01-30 19:14:02 +01:00
greenart7c3
2901ba8227 Fix side panel color when using light theme 2025-01-20 15:11:03 -03:00
William Casarin
ec755493d9 Introducing Damus Notedeck: a nostr browser
This splits notedeck into:

- notedeck
- notedeck_chrome
- notedeck_columns

The `notedeck` crate is the library that `notedeck_chrome` and
`notedeck_columns`, use. It contains common functionality related to
notedeck apps such as the NoteCache, ImageCache, etc.

The `notedeck_chrome` crate is the binary and ui chrome. It is
responsible for managing themes, user accounts, signing, data paths,
nostrdb, image caches etc. It will eventually have its own ui which has
yet to be determined.  For now it just manages the browser data, which
is passed to apps via a new struct called `AppContext`.

`notedeck_columns` is our columns app, with less responsibility now that
more things are handled by `notedeck_chrome`

There is still much work left to do before this is a proper browser:

- process isolation
- sandboxing
- etc

This is the beginning of a new era! We're just getting started.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-12 20:08:55 -08:00
kernelkind
9e67f9dc8c theme: persist across app close
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-12-11 16:56:14 -05:00
William Casarin
74c5f0c748 split notedeck into crates
This splits notedeck into crates, separating the browser chrome and
individual apps:

* notedeck: binary file, browser chrome
* notedeck_columns: our columns app
* enostr: same as before

We still need to do more work to cleanly separate the chrome apis
from the app apis. Soon I will create notedeck-notebook to see what
makes sense to be shared between the apps.

Some obvious ones that come to mind:

1. ImageCache

We will likely want to move this to the notedeck crate, as most apps
will want some kind of image cache. In web browsers, web pages do not
need to worry about this, so we will likely have to do something similar

2. Ndb

Since NdbRef is threadsafe and Ndb is an Arc<NdbRef>, it can be safely
copied to each app. This will simplify things. In the future we might
want to create an abstraction over this? Maybe each app shouldn't have
access to the same database... we assume the data in DBs are all public
anyways, but if we have unwrapped giftwraps that could be a problem.

3. RelayPool / Subscription Manager

The browser should probably maintain these. Then apps can use ken's
high level subscription manager api and not have to worry about
connection pool details

4. Accounts

Accounts and key management should be handled by the chrome. Apps should
only have a simple signer interface.

That's all for now, just something to think about!

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-11 11:24:29 -08:00