166 Commits

Author SHA1 Message Date
Jonathan Rainville
b3b7047fe1 feat: add invite friends modal 2020-07-10 15:39:56 -04:00
Jonathan Rainville
ff2ed712f2 feat: improve Copy button to copy directly and have an active state 2020-07-10 15:39:56 -04:00
Jonathan Rainville
284572898a feat: add view when clicking the X on the EmptyView 2020-07-10 15:39:56 -04:00
Jonathan Rainville
95d2e01a3f chore: add missing file in the sources of pro and add translations 2020-07-10 15:39:56 -04:00
Jonathan Rainville
9c637fdd43 feat: show literal text instead of ids + script fixes 2020-07-08 12:37:41 -04:00
Richard Ramos
a4b9eedd5e feat: set device name 2020-07-06 14:17:19 -04:00
Jonathan Rainville
4371e37b27 feat: show the all the emojis in the popup 2020-07-06 13:59:47 -04:00
Jonathan Rainville
881f6dbe80 feat: enable changing theme from the profile settings 2020-07-03 09:59:14 -04:00
Jonathan Rainville
a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Iuri Matias
9935d349c4 play sounds when a message is sent or an error occurs 2020-07-02 10:31:10 -04:00
Richard Ramos
bbd51cdcfe Use twemoji.js 2020-06-30 14:35:14 -04:00
Jonathan Rainville
02d915cb50 chore: up import version and fix SplitViews 2020-06-25 11:02:35 -04:00
emizzle
847eb2623f feat: add sticker popup
Add sticker popup
Add send sticker message
Add ability to select sticker pack and show stickers for pack with scroll

1. Sticker history
2. Install sticker packs
3. Sticker market

1. Sticker packs are installed on app start up until installation of sticker pack functionality is added
2. Optimisations such as preloading images to be done so that sticker images are not downloaded each time.
2020-06-25 10:27:26 -04:00
Jonathan Rainville
ad2a318c85 feat: add validationError prop on Input and use it in privateChatPopup 2020-06-23 07:09:18 -04:00
Michael Bradley, Jr
ce7e6b8d51 chore: refactor Linux and macOS build/packaging steps
Replaces PR #105.

Implement a `pkg-macos` target that ultimately results in `Status.dmg` being
written to `pkg/`. Due to [limitations][limits] of the OpenSSL `.dylib`s in
`/usr/lib/` on macOS, `libssl.a` and `libcrypto.a` are statically linked into
`bin/nim_status_client` from a [Homebrew][brew] "bottle" that is compatible
with macOS 10.13 (the oldest macOS version compatible with Qt v5.14).

`pkg-macos` creates an `.app` bundle layout in `tmp/macos/dist` based partly on
information in a very helpful [StackOverflow answer][so-answer]. Note the part
of the answer (toward the end) that explains a problem with the working
directory and how to fix it. That's the reason for the `nim_status_client.sh`
script introduced in this commit (it gets copied into the bundle). It's also
the reason for having `Info.plist` copied into the bundle before `macdeployqt`
is run (see below) and then overwriting it with `Info.runner.plist` before
creating the `.dmg` file. The app icons file `status-icon.icns` was taken from
`deployment/macos/` in the [status-react][sr] repo.

The [`macdeployqt`][macdeployqt] tool is used to copy the needed portions of Qt
into the bundle; it automatically updates `rpath`, etc. so the
`nim_status_client` executable in the bundle can locate the libs within the
bundle.

`macdeployqt` is run twice, for the "outer" and "inner" `.app` bundles,
because of an apparent bug in `macdeployqt` that results in QtWebEngine related
resources not being processed correctly on the first pass. This results in some
bloat in the final bundle but it seems unavoidable at present.

The [create-dmg][cdmg] tool is used to package the bundle into a `.dmg`
file. There are two reasons for this:
1. It produces a nice looking icon for the `.dmg` that overlays the Status logo
on an external disk icon.
2. `Info.plist` needs to be overwritten after running `macdeployqt` (see
explanation above) but before creating the `.dmg` file. If we passed the `-dmg`
cli option to `macdeployqt` to have it generate the `.dmg` file then it
wouldn't be possible to overwrite `Info.plist`.

So there is a cosmetic reason and a practical reason for using another
tool. Probably the biggest downside is that `create-dmg` is implemented in
Node.js so it needs to be installed with `npm`; that's the reason this commit
introduces `package.json`, etc. Note that zero code from `node_modules` ends up
in the `.app` bundle or the `.dmg` file.

Code signing of the macOS `.app` bundle and `.dmg` is attempted if the
environment variable `MACOS_CODESIGN_IDENT` is defined. In that case, the
environment variable `MACOS_KEYCHAIN_OPT` may optionally be defined with the
path to a preferred keychain database file.

Refactor a number of sections in the Makefile for consistency's sake, e.g. the
`appimage` target becomes `pkg-linux` and ultimately results in
`NimStatusClient-x86_64.AppImage` being written to `pkg/`.

Make a number of changes to bring the Linux packaging steps up-to-date and use
the `-qmlimport` cli option of `linuxdeployqt` to simplify resolution of Qt
plugins.

Note that `make pkg` will correctly resolve to `make pkg-linux` or `make
pkg-macos` depending on the OS in use.

Consistently use lower-case "c" in the name of *components* directories and
imports.

[limits]: https://developer.apple.com/forums/thread/124782
[brew]: https://brew.sh/
[so-answer]: https://stackoverflow.com/a/3251285
[sr]: https://github.com/status-im/status-react/tree/develop/deployment/macos
[macdeployqt]: https://doc.qt.io/qt-5/macos-deployment.html
[cdmg]: https://github.com/sindresorhus/create-dmg
2020-06-22 10:53:57 -05:00
Jonathan Rainville
7e96a17f3b fix: add StyledTextEdit and TextField to use the font 2020-06-19 14:53:45 -04:00
Jonathan Rainville
8755c901de fix: fix font loading issue and create a text component to use that font 2020-06-19 14:53:45 -04:00
Jonathan Rainville
f2a573bf53 add translation files to the pro file 2020-06-19 14:36:14 -04:00
Jonathan Rainville
5dacb89822 feat: add base for translations 2020-06-19 14:36:14 -04:00
Richard Ramos
4fef70fc4a feat: Create group chats 2020-06-18 10:16:32 -04:00
Iuri Matias
e802159a6a display real contacts on profile
display real contacts on profile

query contacts

add contact in form

fixes

fixes

display contacts

cleanup

cleanup

remove echo

refactor to use profile instead of contact model
2020-06-16 12:48:25 -04:00
Richard Ramos
b0a8bc3368 fix: make text selectable, limit text input content width and execute actions onEnter 2020-06-16 12:05:22 -04:00
Richard Ramos
b842925ba4 feat: edit group name 2020-06-16 12:05:22 -04:00
Jonathan Rainville
34810e0587 chore: remove AccountSelection component that is no longer needed 2020-06-16 11:57:11 -04:00
Jonathan Rainville
7873a0ff58 feat: design gen new key modal 2020-06-15 08:07:15 -04:00
Jonathan Rainville
846dc646e1 feat: add design to enter a seed key 2020-06-13 09:51:38 -04:00
Jonathan Rainville
67c7e9b0ca feat: implement design on the login screen 2020-06-12 08:11:14 -04:00
Iuri Matias
36b2ae5a66 support adding a custom token
support adding a custom token

cleanup
2020-06-11 18:03:49 -04:00
Jonathan Rainville
193f1331d1 feat: add very placeholder account settings modal
fef
2020-06-11 11:23:01 -04:00
Jonathan Rainville
937dd89146 refactor: split Input into three files to simplify and reduce memory
Having all the different input types in one file made it simpler to design, but created an issue with memory, because all the aliases, properties and images were created for all types even if you only used a basic Input. I tried using Loaders, but making aliases within loaders is super painful/impossible in some cases.
2020-06-10 15:00:50 -04:00
Jonathan Rainville
7295fde809 feat: add watch only accounts to wallet 2020-06-09 18:10:57 -04:00
Jonathan Rainville
2ade9e938d feat: add modal to add an account with a private key 2020-06-09 18:10:57 -04:00
Jonathan Rainville
50c10d38dd feat: enable adding an account with a seed phrase 2020-06-08 17:01:29 -04:00
Jonathan Rainville
bf5f0b6dda feat: add basic generate account popup 2020-06-04 16:31:17 -04:00
Iuri Matias
df9a6d0f07 refactor & update currency modal to look and work like designs
update gitignore

display list of currencies
2020-06-04 14:29:04 -04:00
Iuri Matias
94bc4f02d7 add list of tokens and icons 2020-06-04 10:43:39 -04:00
Iuri Matias
64b565c6c3 extract Login wizard components 2020-06-04 10:39:28 -04:00
Iuri Matias
1ba579e94b extract the slide into a component 2020-06-04 10:39:28 -04:00
Iuri Matias
f62d3aaca7 wallet settings modal; save default currency
wallet settings modal; save default currency

wallet settings modal; save default currency

save/load currency preference

fix default currency call

use chronicle instead of echo

fix issues
2020-06-03 10:38:50 -04:00
Jonathan Rainville
9e25ba1d95 fix: fix wallet missing file message and color warning 2020-06-01 13:54:49 -04:00
Jonathan Rainville
c29160fff7 chore: use Buttons for all components and improve Login 2020-06-01 12:28:47 -04:00
Richard Ramos
1c00bb2dff Create a reusable modal popup 2020-05-29 15:02:31 -04:00
Jonathan Rainville
582d838ae7 feat: add reusable Input component 2020-05-29 14:44:45 -04:00
Jonathan Rainville
77966c8f6c feat: add very basic sendModal content 2020-05-29 14:44:45 -04:00
Jonathan Rainville
b0f1bfc4fc chore: add missing files in .pro file 2020-05-28 14:05:41 -04:00
Jonathan Rainville
7d12ed2561 chore: change font to StatusInter 2020-05-28 14:01:34 -04:00
Jonathan Rainville
3ce1883c0b feat: add files for the wallet tabs 2020-05-28 13:59:56 -04:00
Jonathan Rainville
d1b786811f feat: add TabButton and TabBar for the Wallet 2020-05-28 13:59:56 -04:00
Jonathan Rainville
47cc169c4f chore: split WalletHeader to another file 2020-05-28 13:59:56 -04:00
Iuri Matias
0ee32c2bb1 add default list to the chat messages 2020-05-28 13:49:53 -04:00