Commit Graph

78 Commits

Author SHA1 Message Date
Igor Sirotin a3ec245b44
fix(Sandbox): Fixed hot reloading. Fixed MacOS arm64 builds. (#10562) 2023-05-05 19:05:44 +03:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Igor Sirotin 14c264e350
feature(Syncing): Embed QR code scanner for syncing devices on onboarding (#9981)
* fix(StatusQrCodeScanner): Improve QR code scanner
- Almost async loading
- Added camera selector
- Added `captureRectangle` property
- Add component info to sandbox qr code scanner page
- Embed QrCodeScanner into desktop app
* Compile and link qzxing as shared library
* Hardcode settingCurrentNetwork. Propagate inputConnectionString errors.
* Added qzxing libdir to e2e tests ld_library_path
2023-03-30 20:57:18 +03:00
Sale Djenic 388fab4a4a feat(StatusQ.Components): `StatusPageIndicator` component introduced
Added `StatusPageIndicator` component which displays buttons in a row,
representing pages from the set range.

Corresponding page in API Documentation added.
2023-03-28 18:09:39 +02:00
Michał Cieślak 0db5790f76 chore(Storybook): StatusItemSelectorPage moved from Sandbox to Storybook 2023-03-21 11:59:12 +01:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
Michał Cieślak ad34694826 chore(general): Deduplicate and move StatusWindow to StatusQ 2023-02-09 12:48:11 +01:00
Khushboo Mehta 5df7416fd9 feat(@desktop/wallet): Implement loading animation 2023-01-12 14:49:41 +01:00
Sale Djenic e34aac0a0f feat(StatusQ.Components): `StatusStepper` component introduced
Added `StatusStepper` component which displays total number of steps which need to be passed,
marking each completed step based on `completedSteps` property.

Needed for importing a Keycard into the app flow.

Corresponding page in API Documentation added.
2023-01-04 14:24:55 +01:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Patryk Osmaczko 5d305a5221 refactor(StatusAppNavBar): simplify navbar
- removed imperative filtering
- removed imperative size calculation
- removed all ugly hacks

fixes: #7167
fixes: #8463
2022-11-29 16:06:33 +01:00
Alexandra Betouni 8be1af7059 feat(StatusChart): Adding chart component (#893)
Needed for https://github.com/status-im/status-desktop/issues/6490
2022-09-21 18:20:15 +02:00
Michał 21f187ad39 feat(StatusItemSelector): improved reusablity, addItem and popup handling removed (#887)
Additionally:
- minor positioning fixes in StatusListItem and StatusListItemTag
- StatusItemSelectorPage updated and added to main.qml
2022-09-21 18:20:14 +02:00
Alexandra Betouni 5d3bd00cd8 feat(StatusQ/Layout)!: Cleaning up Layouts for consistency (#836)
- Created StatusMainLayout to be used as the apps' main
  layout
- Created StatusSectionLayout to be used for all sections as
  their base
  - Created StatusToolBar as part of StatusAppLayout with
    standard component the ActivityButton and posibility to
    add custom implementation components

Needed for https://github.com/status-im/status-desktop/issues/6635
2022-09-21 18:20:14 +02:00
Khushboo-dev-cpp ac8f8cbca9 chore: Remove StatusAssetSelector from StatusQ (#806)
* fix(StatusSelect): Expose a property to make arrow in the select item visible/invisible

* chore: Remove StatusAssetSelector from StatusQ as its base component StatusSelect is enough to build this further on desktop side.

This component also has dependecy on BE and hence should be moved out.

BREAKING CHANGE:
2022-09-21 18:20:13 +02:00
Lukáš Tinkl ab817c862c feat(StatusTextArea): Implement StatusTextArea
Implements a standard QQC2 TextArea control with Status styling

Closes #236
2022-09-21 18:20:13 +02:00
Igor Sirotin b3dfa02297 feat(StatusComboBox): Introduced new component to replace `StatusSelect` (#790) 2022-09-21 18:20:13 +02:00
Khushboo-dev-cpp 9e21b8664f Revert "chore: Remove StatusAssetSelector from StatusQ (#792)" (#805)
This reverts commit 3954d492667677a44629a328cb97d89d209821b5.
2022-09-21 18:20:12 +02:00
Khushboo-dev-cpp 0e50dbd034 chore: Remove StatusAssetSelector from StatusQ (#792)
* chore: Remove StatusAssetSelector from StatusQ as its base component StatusSelect is enough to build this further on desktop side.

This component also has dependecy on BE and hence should be moved out.

BREAKING CHANGE:

* fix(StatusSelect): Expose a property to make arrow in the select item visible/invisible
2022-09-21 18:20:12 +02:00
Patryk Osmaczko a50296046d feat: add filtering&sorting example
closes: status-im/status-desktop#6510
closes: status-im/status-desktop#6512
2022-09-21 18:20:12 +02:00
Mikhail Rogachev bd2932594a feat(StatusScrollView): New scrollview component without twitches (#766) 2022-09-21 18:20:12 +02:00
Khushboo-dev-cpp f8b5beb61c feat(StatusCard): Create a new reusbale card component (#731)
closes #582
2022-09-21 18:20:12 +02:00
Noelia e106f93c4d feat(StatusItemSelector): Component improvements
-  Added `popupItem` property
- Replaced `GridLayout` to `Flow`.
- Added add item logic.
- Added operators logic.
- Added basic documentation.
- Added to sandbox.
2022-09-21 18:20:12 +02:00
Patryk Osmaczko 9a076ee49c feat(StatusDialog): introduce StatusDialog
closes: #725
2022-09-21 18:20:11 +02:00
Mikhail Rogachev 529cf9de3a feat(StatusCommunityTags): Add community tags component (#718) 2022-09-21 18:20:11 +02:00
Noelia 7bd9b37792 feat(StatusCommunityCard): First component iteration (#693)
It includes logo, title, community members, description, loaded, community id, popularity, tags row (that must be replaced to a new StatusQ component `StatusListItemTagRow`.

It also contains `locale` property used to decide the member's number format.

Added loading card.

Added Community Card page (components test) and view (demo app) in sandbox.

Added component documentation.

Part of task: https://github.com/status-im/status-desktop/issues/4936
2022-09-21 18:20:10 +02:00
Mikhail Rogachev 290d5cbebc feat(StatusColorSpace): impl color space component (#679) 2022-09-21 18:20:10 +02:00
Igor Sirotin c2c47b6bb7 feat(StatusTabButton): Created component as per design (#684) 2022-09-21 18:20:10 +02:00
Stefan 59fc0a6669 feat(Sandbox): add visual test setup page for StatusImageCropPanel
Other improvements:

- save state for theme switcher and last selected page
- add optional fill all test space for pages

fixes: 5401
2022-09-21 18:20:09 +02:00
Noelia c586b9be1e feat(StatusQ.Components/Controls): New `StatusListPicker` and `StatusItemPicker` selector component / control (#583)
It adds the `StatusItemPicker` control and `StatusListPicker` component and its corresponding documentation.

The new selector component is composed by a `StatusButtonPicker` and a drop-down list.

It adds sections in `ListView` by using `category` model property.

It incorporates a searcher in header.

The selector type can be customised as a `StatusRadioButton` or a `StatusCheckbox`.

It adds dynamic selection mechanism.

It adds a dynamic text fit between `name` and `shortName` text components.

It adds a specific page in `sandbox` and some models to play with that.

It extends `StatusPickerButton` to allow more than one type.

Closes #563
2022-09-21 18:20:08 +02:00
Khushboo-dev-cpp 0b4941966e feat: Add emoji support (#575)
* feat: Add emoji support
1. StatusChatListItem (only updated parts already done by Jo)
2. StatusListItem
3. StatusInput

* feat(StatusColorSelectorGrid): Added new widget for color selection as needed in wallet

* fix(StatusInput): on reset, valid should be set to true else error mode is shown even though the user hasnt entered a value

* fix(StatusLetterIdenticon): Removed the clicked event out from the LetterIdenticon and added it to the StatusBaseInput as other places that use the letterIdenticon dont need the mouse area is not needed
2022-09-21 18:20:07 +02:00
Noelia c4ede85ed3 feat(StatusPinInput): Introduce `StatusPinInput` control
It creates `StatusPinInput` control that allows customzing its circle diameter, circle spacing and pin length. It contains a `TextInput` object that will provide the component, input text management like validation rules.

It incorporates a blinking animation when the control is focused and feedback (mouse shape changed) when hovering it.

It adds new page in sandbox to play with `StatusPinInput` control.

It adds component documentation.

Also it creates 2 new `StatusValidator` controls with their corresponding documentation:
- `StatusRegularExpressionValidator` which wraps a QML type `RegularExpressionValidator`.

- `StatusIntValidator` which wraps a QML type `IntValidator`.

Closes #524
2022-09-21 18:20:06 +02:00
Alexandra Betouni 632b5b7267 feat(StatusQ.Components): Adding StatusWizardSteper component
Added StatusWizardStepper component

Also added corresponding page in API documentation

Closes #522
2022-09-21 18:20:06 +02:00
Alexandra Betouni f024831c9b feat(StatusQ.Components): Adding StatusToastMessage
Added StatusToastMessage component, an example page
as well as a demonstration in chat view

Closes #521
2022-09-21 18:20:06 +02:00
Alexandra Betouni 08aced147f feat(StatusQ.Components): Adding StatusTagSelector component
Added StatusTagSelector component needed for
creating new chat channels, either ono on
one or group based on updated designs on
Figma

Also added corresponding page in API Documentation

Closes #526
2022-09-21 18:20:06 +02:00
Noelia 4cb28fee12 chore(demoApp): restore DemoApp to have the latest changes from both master and base_bc
Updated DemoApp, main and Models to have the
latest changes from both master and base_bc
2022-09-21 18:20:06 +02:00
Alexandra Betouni 0f3d6fccde refactor(sandbox): remove obsolete timeline demo code
This feature is deprecated and shall be removed

Relates to #4177
2022-09-21 18:20:06 +02:00
Sale Djenic 4ade947921 refactor(StatusAppNavBar): navigation bar displays buttons based on set model
`StatusAppNavBar` component is refactored in order to meet new changes we
have on the backend in the desktop app.
2022-09-21 18:20:06 +02:00
Alexandra Betouni dc9cb8a08a fix: Icon components had wrong color in sandbox app
Icon color in Icons page was broken as setting it
in main.qml was mistakenly removed. Set it back to
Theme.palette.primaryColor1

Closes #538
2022-09-21 18:20:06 +02:00
Noelia d1525b0b53 feat(StatusQ.Controls): Introduce `StatusPasswordStrengthIndicator`
Create a password strength indicator component with the corresponding variation.

Create a base StatusProgressBar component.

Add new miscColor12.

Closes #528
2022-09-21 18:20:06 +02:00
Alexandra Betouni e7b9462c84 refactor: refactored/cleaned up sandbox app
Grouped QML files by pages, controls and demo app
related stuff
2022-09-21 18:20:06 +02:00
Pascal Precht 617ca649b3 feat(StatusQ.Platform): introduce StatusMacNotification component 2022-09-21 18:20:06 +02:00
Pascal Precht 61760e8e54 feat(StatusQ.Controls): introduce `StatusWalletColorSelect` control
Usage:

```qml
StatusWalletColorSelect {
    model: Theme.palette.accountColors
}

```

Closes #467
2022-09-21 18:20:06 +02:00
Pascal Precht d8745049da feat(StatusQ.Controls): introduce `StatusWalletColorButton` component
Usage:

```qml
StatusWalletColorButton {
    icon.color: Theme.palette.miscColor1
    selected: true
}
```

Closes #466
2022-09-21 18:20:06 +02:00
Pascal Precht bb3fb252d0 feat(StatusQ.Controls): introduce StatusChatCommandButton
Usage:

```qml
StatusChatCommandButton {
    icon.name: "send"
    icon.color: Theme.palette.miscColor2
    text: "Send transaction"
}
```

Closes #429
2022-09-21 18:20:06 +02:00
Pascal Precht b61a8c45da feat(StatusQ.Controls): introduce `StatusTabBarIconButton` component
Usage:

```qml
StatusTabBarIconButton {
    icon.name: "travel-and-places"
}
```

Closes #428
2022-09-21 18:20:06 +02:00
Pascal Precht e2c178ad43 feat(StatusQ.Controls): introduce StatusColorSelector component
This is a select component to pick from various supplied colors.

Usage:

```qml
import StatusQ.Controls 0.1

StatusColorSelector {
    model: ["red", "blue", "green"]
}

```

Closes #444
2022-09-21 18:20:06 +02:00
Pascal Precht b194a1d869 feat(StatusQ.Controls): introduce `StatusAssetSelector` component
This is used for a more complex amount and asset selector component.

Usage:

```qml
import StatusQ.Controls 0.1

StatusAssetSelector {
    assets: ListModel {
        ListElement {
            address: "0x1234"
            name: "Status Network Token"
            value: "20"
            symbol: "SNT"
            fiatBalance: "9992.01"
            fiatBalanceDisplay: "9992.01"
        }
        ListElement {
            address: "0x1234"
            name: "DAI Token"
            value: "20"
            symbol: "DAI"
            fiatBalance: "20"
            fiatBalanceDisplay: "20"
        }
    }
}
```

Closes #442
2022-09-21 18:20:06 +02:00
Pascal Precht 368ede5645 feat(StatusQ.Components): introduce `StatusAddress` component
This introduces a `StatusAddress` component which renders an address
and can be made `expandable` by applying a `width`:

```qml
import StatusQ.Components 0.1

// Simple case
StatusAddress {
    text: "0x9ce0056c5fc6bb9459a4dcfa35eaad8c1fee5ce9"
}

// Expandable case
Item {
    width: 200
    height: childrenRect.height
    StatusAddress {
        text: "0x9ce0056c5fc6bb9459a4dcfa35eaad8c1fee5ce9"
        expandable: true
        width: parent.width
    }
}

```

Closes #430
2022-09-21 18:20:06 +02:00
Pascal Precht 9389ee256e feat(StatusQ.Controls): introduce `StatusAccountSelector` component
This commit moves the original `AccountSelector` into StatusQ and makes it
a `StatusAccountSelector`. The API has been preserved. The only difference is
that it's internally relying completely on `StatusQ.Core.Theme` and `StatusQ.Controls`
components instead.

Usage:

```qml
import StatusQ.Controls 0.1

StatusAccountSelector {
    accounts: ListModel {
        ListElement {
            name: "Pascal"
            address: "0x1234567891011"
            iconColor: "red"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "1199.02"
        }
        ListElement {
            name: "Boris"
            address: "0x123"
            iconColor: "red"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
        ListElement {
            name: "Alexandra"
            address: "0x123"
            iconColor: "yellow"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
        ListElement {
            name: "Khushboo"
            address: "0x123"
            iconColor: "blue"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
    }
}
```

Closes #435
2022-09-21 18:20:06 +02:00