also make nav go backward when clicking the account switch button if we
already are navigating to accounts
Signed-off-by: William Casarin <jb55@jb55.com>
Another massive refactor to change the way routing works. Now any
column can route anywhere.
Also things are generally just much better and more modular via the
new struct split borrowing technique.
I didn't even try to split this into smaller commits for my sanity.
Signed-off-by: William Casarin <jb55@jb55.com>
- allows use of more interesting args w/o risk of checking them in by mistake
- allows use of different args w/o rebuilding the app
- uses compiled in defaults if config file missing or broken
Example android-config.json:
```
{
"args": [
"--npub",
"npub1h50pnxqw9jg7dhr906fvy4mze2yzawf895jhnc3p7qmljdugm6gsrurqev",
"-c",
"contacts",
"-c",
"notifications"
]
}
```
Install/update android-config.json with:
```
adb push android-config.json /sdcard/Android/data/com.damus.app/files/android-config.json
```
Using internal storage would be better but it seems hard to get the config file onto
the device ...
is_mobile doesn't really make sense for android tablets. We were
overloading this variable to mean "is_narrow". What we really want is
is_oled for mobile devices and is_narrow for if its phone-like.
Signed-off-by: William Casarin <jb55@jb55.com>
This adds blank space, but it will be nice if we can improve this
by either fading in or having some shimmer effect.
Signed-off-by: William Casarin <jb55@jb55.com>
This is a huge improvement over what it was before. Now all unknown id
lookups are debounced and happen through a central coordinator. This
ensures there is no duplication between timelines.
Fixes: https://github.com/damus-io/notedeck/issues/279
Signed-off-by: William Casarin <jb55@jb55.com>
split hashtag follows into a separate Filter, combining authors and
hashtags doesn't work, because this is considered an AND filter, where
we want an OR.
We may want an option to split hashtags follows into a separate column.
Signed-off-by: William Casarin <jb55@jb55.com>
This implements initial local contact queries. For testing you can
create contact list columns via:
Examples
--------
Make a contacts column from a specific npub:
$ notedeck --column contacts:npub...
Use the current user's contacts:
$ notedeck --column contacts --pub npub...
We also introduce a new ColumnKind enum which is used to describe the
column type.
Signed-off-by: William Casarin <jb55@jb55.com>
This adds a method for creating filters from contact lists. We will be
using this for creating follow timelines.
Signed-off-by: William Casarin <jb55@jb55.com>