status-desktop/ui/StatusQ
Alex Jbanca 4a30d13bdc
feat(LinkPreviews): Integrate Link previews with the backend (#12523)
* feat(StatusQ): Adding numberToLocaleStringInCompactForm function to LocaleUtils

This function will format the number in a compact form
E.g: 1000 -> 1K; 1000000 -> 1M; 1100000 -> 1.1M

+ adding tests

fix(statusQ): Update numberToLocaleStringInCompactForm to return the locale number when greter than 999T

fix(StatusQ): extend the test_numberToLocaleStringInCompactForm with new data

* feat(LinkPreviews): Update the link preview area in StatusChatInput to use the new model

Changes:
1. Create a new component `LinkPreviewMiniCardDelegate.qml` that filters the model data to properly fill the link preview card with the needed data based on the preview type
2. Update storybook pages
3. Small updates to LinkPreviewMiniCard

* feat(LinkPreviews): Update the link previews in message history to use the new backend

Changes:
1. Create delegate items for LinkPreviewCard and gif link preview to clean the LinksMessageView component and filter the model data based on the preview type
2. Remove UserProfileCard and reuse the LinkPreviewCard to display contacts link previews
3. Update LinkPreviewCard so that it can accommodate status link previews (communities, channels, contacts). The generic properties (title, description, footer) have been dropped and replaced with specialised properties for each preview type.
4. Fix LinkPreviewCard layout to better accommodate different content variants (missing properties, long/short title, missing description, missing icon)
5. Fixing the link preview context menu and click actions

fix: Move inline components to separate files

Fixing the linux builds using Qt 5.15.2 affected by this bug:
https://bugreports.qt.io/browse/QTBUG-89180

* fix: Align LinkPreviewMiniCard implementation with LinkPreviewCard and remove state based model filtering
2023-10-25 18:20:02 +03:00
..
doc feat(Communities): changes in import popup for private keys 2023-08-07 15:26:35 +03:00
include/StatusQ feat: Add URL trust options when the user clicks on a link 2023-10-12 10:57:15 +02:00
sandbox fix(StatusQ): Extend StatusToastNotification to support RichText and allow larger content 2023-10-23 16:33:17 +03:00
sanity_checker fix(StatusQ): StatusQ is QML module (#10207) 2023-04-14 11:18:56 +03:00
scripts fix(StatusQ/Sandbox): move and update build script 2023-02-20 20:36:05 +01:00
src feat(LinkPreviews): Integrate Link previews with the backend (#12523) 2023-10-25 18:20:02 +03:00
tests feat(LinkPreviews): Integrate Link previews with the backend (#12523) 2023-10-25 18:20:02 +03:00
CHANGELOG.md chore: remove dictionary 2023-06-09 14:50:08 -04:00
CMakeLists.txt feat(StatusQ/Utils): Add StringUtils to expose string-related C++ routines 2023-08-18 17:07:20 +02:00
README.md fix(StatusQ/Sandbox): move and update build script 2023-02-20 20:36:05 +01:00

README.md

StatusQ

An emerging reusable QML UI component library for Status applications.

Usage

StatusQ introduces a module namespace that semantically groups components so they can be easily imported. These modules are:

Provided components can be viewed and tested in the sandbox application that comes with this repository. Other than that, modules and components can be used as expected.

Example:

import Status.Core 0.1
import Status.Controls 0.1

StatusInput {
  ...
}

Viewing and testing components

To make viewing and testing components easy, we've added a sandbox application to this repository in which StatusQ components are being build. This is the first place where components see the light of the world and can be run in a proper application environment.

Using Qt Creator

The easiest way to run the sandbox application is to simply open the provided CMakeLists.txt file using Qt Creator.

Using command line interface

To run the sandbox from within a command line interface, run the following commands:

$ git clone https://github.com/status-im/StatusQ
$ cd StatusQ
$ git submodule update --init
$ ./scripts/build

Once that is done, the sandbox can be started with the generated executable:

$ ./build/sandbox/Sandbox