Status Desktop client made in Nim & QML https://status.app
Go to file
Pascal Precht a1e721bfc3 feat(Layout): introduce StatusAppNavBar
This commit introduces a new `StatusAppNavBar` component that can be used
to create a Status application's tab bar for dedicated tab sections such as
chat, profile, wallet etc.

The component is build in a way that it support declarative and imperative usage
where necessary.

In its most simple form, a `StatusAppNavBar` comes with a single tab button
for the chat section. Such button has to be of type `StatusNavBarTabButton`:

```qml
import StatusQ.Layout 0.1

StatusAppNavBar {
    navBarChatButton: StatusNavBarTabButton {
        icon.name: "chat"
        badge.value: 33
        badge.visible: true
        tooltip.text: "Chat"
    }
}
```

In addition, it's possible to specify a list of `StatusNavBarTabButton` for
other sections of the application using the `navBarTabButtons` property:

```qml

StatusAppNavBar {
    ...
    navBarTabButtons: [
        StatusNavBarTabButton {
            icon.name: "wallet"
            tooltip.text: "Wallet"
        },
        StatusNavBarTabButton {
            icon.name: "browser"
            tooltip.text: "Browser"
        },
        StatusNavBarTabButton {
            icon.name: "status-update"
            tooltip.text: "Timeline"
        }
    ]
}
```

Lastly, when desired to render tabs for Status community, which can grow
in size, `StatusAppNavBar` exposes a list via the `navBarCommunityTabButtons`
property that can have a `model` and a `delegate`. The `delegate` should also
be a `StatusNavBarTabButton`:

```qml

StatusAppNavBar {
    ...
    navBarCommunityTabButtons.model: someModel.communities

    navBarCommunityTabButtons.delegate: StatusNavBarTabButton {
        name: model.name
        tooltip.text: model.name
        anchors.horizontalCenter: parent.horizontalCenter
    }
}
```

The amount of community tab buttons can grow as they need until their dedicated
area becomes scrollable, at which point all `navBarTabButtons` will stick to the
bottom of `StatusAppNavBar`.

Closes #18
2022-09-21 18:20:02 +02:00
.github Update pull_request_template.md 2022-07-07 08:55:05 -04:00
app fix(CPP): fix linux compiling issues 2022-08-23 19:38:23 +02:00
ci ci: set PKG_URL to avoid interrobang for builds 2022-09-21 12:35:48 +02:00
cmake chore(CPP/CI): basic CI setup for linux cmake build 2022-07-01 14:41:28 +02:00
libs feat(CPP): Saved addresses code review fixes 2022-09-12 17:03:17 +04:00
resources chore(CPP): integrate tokens balance status-go API (POC) 2022-08-02 16:06:33 +02:00
scripts test: Add xvfb to the runtime dependencies 2022-08-08 15:36:32 +02:00
spellchecking@f1a88d1147 feat(spellchecking): add dictionaries as submodule 2021-09-17 12:57:28 -04:00
src chore: use enrtrees for status.* fleets instead of connecting directly to the nodes 2022-09-21 11:42:06 -04:00
test fix(tests): don't rely on quick actions, wait for components to be ready 2022-09-19 13:16:22 +02:00
test-scripts chores(@general): remove status-lib deps 2022-02-03 11:52:45 -05:00
ui feat(Layout): introduce StatusAppNavBar 2022-09-21 18:20:02 +02:00
vendor chore: bump status-go 2022-09-21 08:57:18 +02:00
.clang-format style(@desktop/cpp): apply clang-format on src-cpp/* 2022-02-21 19:55:01 +01:00
.clang-tidy refactor(@desktop/cpp): improve cpp code 2022-03-01 16:05:21 +01:00
.gitignore test(community): add a test that pins and unpins messages 2022-08-26 10:29:28 -04:00
.gitmodules Remove submodule ui/StatusQ 2022-09-21 18:20:01 +02:00
.npmrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
.yarnrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
AppRun build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
AppRun-cpp chore(CPP/CI): basic CI setup for linux cmake build 2022-07-01 14:41:28 +02:00
CMakeLists.txt chore(cpp): add chat section and list chats 2022-08-11 21:40:39 +02:00
I18N.md chore(translations): update I18N docs 2022-07-14 22:04:33 +02:00
Info.dev.plist feat(desktop/general): app support for status-im:// URIs - mac 2022-06-01 08:42:57 +02:00
Info.plist feat(desktop/general): app support for status-im:// URIs - mac 2022-06-01 08:42:57 +02:00
LICENSE.md docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
Makefile chore: remove npx 2022-09-14 15:52:16 -04:00
QtWebEngineProcess.plist chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
README.md chore(CPP): Basic project configuration setup using Qt6 2022-06-30 12:16:33 +02:00
VERSION update version to 0.6.0 2022-06-30 12:11:24 -04:00
build-linux.sh fix: code review 2022-03-10 14:12:11 -04:00
cacert.pem fix(@desktop/windows): installer to include cacert.pem 2021-09-06 14:47:18 -04:00
conanfile.txt chore(CPP): integrate tokens balance status-go API (POC) 2022-08-02 16:06:33 +02:00
config.nims feat(@desktop/keycard): initial keycard implementation 2022-08-04 09:50:04 +02:00
docker-linux-app-image.sh build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
env.sh feat: get collectibles from the contracts and their respective apis 2020-06-18 10:55:48 -04:00
fleets.json chore: add status.prod fleet 2022-03-11 15:52:47 -05:00
nim-status.desktop build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
nim.cfg build system refactoring 2020-06-08 13:07:25 -04:00
nim_status_client.nimble docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
package-lock.json chore(@desktop/general): Upgrade fileicon to v. 0.3.0 2022-04-11 12:18:54 -04:00
package.json chore(@desktop/general): Upgrade fileicon to v. 0.3.0 2022-04-11 12:18:54 -04:00
screenshot.png remove docs folder from repo (moved to https://hackmd.io/@status-desktop/B1eOaf-nd) 2021-06-24 15:07:30 -04:00
status-dev.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status-dev.svg chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status-macos-dev.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status-macos.ico chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status-macos.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status.desktop chore(CPP/CI): basic CI setup for linux cmake build 2022-07-01 14:41:28 +02:00
status.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status.ico chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
status.iss feat(@desktop/Windows): status-im:// protocol support and installer fixes 2021-09-09 16:53:09 -04:00
status.svg chore(@desktop/general): use different icons for Windows/Linux and MacOS 2021-07-19 13:37:56 -04:00
windows-install.txt build: implement packaging steps for the Windows build 2020-07-17 13:57:32 -05:00