status-desktop/ui
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
..
StatusQ feat(Layout): introduce StatusAppNavBar 2022-09-21 18:20:02 +02:00
app fix(Createchat/EditGroupChat view): fixed spacing all over 2022-09-21 17:39:51 +03:00
fonts fix(cpp): make libraries which are not dynamically loaded static 2022-08-02 15:30:08 +02:00
i18n chore(translations): update translations 2022-09-13 12:51:33 +02:00
imports feat(PinnedMessagesPopup): enable Unpin context menu entry 2022-09-21 10:48:20 +02:00
shared/status refactor(@desktop/general): qml code referring to the old code base commented out 2022-02-01 11:42:42 +01:00
generate-rcc.go chore(CPP): foundation for user onboarding 2022-07-07 23:23:09 +02:00
main.qml fix(@desktop/onboarding): use system theme while onboarding 2022-09-02 16:17:43 +03:00
nim-status-client.pro feat(CreateCommunityPopup): Add Community Banner to Create Community Modal 2022-08-18 10:15:04 +02:00