saleor-dashboard/src/misc.ts
Jonatan Witoszek 2532426c20
Support for new transactions API (#2233)
* Revert "🦄 Simple taxes (#2072)"

This reverts commit 5c1a62171d.

* Revert "Revert "🦄 Simple taxes (#2072)""

This reverts commit 3c8289cba657debc676bb6ff677d9494cb308d19.

* SALEOR-7898: Split payments - transactions list #2234

commit 0742eee71765caa9c7084f6f3eb9be90808ff29c
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:18:06 2022 +0200

    Remove too long font size

commit 2724965127b591e703acb966ecc50c018124cb3f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 15:03:35 2022 +0200

    Replace custom styles with Typography component

commit b94a616953bbef878bdd5d958eb6debda53aa524
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:54:39 2022 +0200

    Fix formatting

commit 2a2a22692473290b3b566d89e85b265f7b8e0670
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:24:38 2022 +0200

    Update messages

commit bdde8a0d54429d0d2d01d619ddde8a88fd29f0e1
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:23:37 2022 +0200

    Fix failing prettier check

commit 2f98b3bccc59bdcd978cc9cee8bede76f45f47a6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:07:46 2022 +0200

    Remove !important from styles

commit dfce53ba5add1e1a6b175caa2e1c5a03fa9dffe8
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:46:08 2022 +0200

    Refactor PR comments

commit 43781d792603c59031c75164415443f3b68f86d0
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:02:11 2022 +0200

    Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

commit 51e89a0f46059bd6d19513abee128503f818c2f8
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:01:15 2022 +0200

    Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 9565cab4a408845de40882ee564c4c7e79a3d5d6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 8 14:13:11 2022 +0200

    Update messages

commit ebf3b7a5f7a2b49d571d4cd6df2f74027e3d8304
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 8 14:11:59 2022 +0200

    Update snapshots

commit 854b21d7af3f14e3f7c4e53812c2d30490e0a675
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 7 17:36:55 2022 +0200

    Add copy icon to PspReference

commit 0124657acf623870773abecdf03b9b5ae3381757
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 7 15:38:45 2022 +0200

    Fix order saved when copying PSP reference

commit adf151fb56d06d9ee12d13bdef1b324395a86b4a
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 14:44:00 2022 +0200

    Update snapshots, fix inline styles in PSP reference

commit bfae5d9476e61e27b91ffa64e594a86b82e8f670
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 12:59:57 2022 +0200

    Fix transactions table sizing on `md` screen sizing

commit cdbb439f80534706a0a2e588f033ae94af04cb72
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 12:38:27 2022 +0200

    Fix PSP reference sizing issues

commit a2be62f8f2db11319c8843cdd4b6431d7518b389
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 10:06:28 2022 +0200

    Add parameter to clear additional params in modals

commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 5 15:42:46 2022 +0200

    Update prettier to latest version (TS syntax parsing issues)

commit 261879696f594b1e09b4a0c112dfce801b1cf6bd
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 5 15:39:08 2022 +0200

    Add buttons to void or capture transactions

commit ba89cca5ec3e5c61d9468f983ea7b7ab9eea8c14
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 14:13:13 2022 +0200

    Add copy feature to psp reference pill

commit 7f3ff30a2738bcfa773a5abce7e53828ce4b276e
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:35:02 2022 +0200

    Update snapshots

commit 4bee083c839ca5d141b8845131dba506a0745a79
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:29:38 2022 +0200

    Update messages

commit c86431abb6015a28b1cfeddc91cda69cc0c3e06b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:16:37 2022 +0200

    Fix transaction events list when no pspReference is provided

commit a7127123556677206864aa3a9683c19645724a36
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:09:48 2022 +0200

    Fix spacing between transactions

commit dc224e2c7ebd2af438f2e997eb1ba3430ca5ffcc
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:06:32 2022 +0200

    Highlight rows that have the same pspReference on hover

commit 2e9aaed9599a5e5a0064c6140e6b6f48c0587850
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 17:33:06 2022 +0200

    Update macaw to unreleased version

commit a818c1b0ebeb4e17ea65aa6698c2c9d29be6cc2f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 17:21:24 2022 +0200

    Fix transactions list table layout

commit 50ae82b961f653dd8b2ba9b9cc4ece5c691fe39b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 16:34:52 2022 +0200

    Use Intl.DateTimeFormat to format dates instead of moment.js

commit c0f54100cb476637a8d0145ac00ccd5e017a9665
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Aug 31 17:21:34 2022 +0200

    Add transaction events

commit c34279d5c195734df604605481e3d84c5e81f764
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:53:01 2022 +0200

    Fix alignment when amount is <10

commit d3362c24e8bcf0263582dbcc324c2fe403a6f72a
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:42:41 2022 +0200

    Fix conditional display logic, add story for long numbers

commit 73cce9edd5e25c2cca68411ccebdfd3918099ae5
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:27:18 2022 +0200

    Fix IMoney to use new import

commit b0cf154c94139be726451ce52b0e4421928ebf80
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:15:37 2022 +0200

    Add order transactions component

commit 87808f66482448d4301d13196be84cb55912d994
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:28:02 2022 +0200

    Don't hide transaction balance when order is not confirmed

commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:22:47 2022 +0200

    Update lockfile

commit 9046b5f56cc293516e578c527abda4a30a66b079
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:20:50 2022 +0200

    Update GraphQL schema

* SALEOR-7898: Split payments - transactions list #2234

commit 0742eee71765caa9c7084f6f3eb9be90808ff29c
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:18:06 2022 +0200

    Remove too long font size

commit 2724965127b591e703acb966ecc50c018124cb3f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 15:03:35 2022 +0200

    Replace custom styles with Typography component

commit b94a616953bbef878bdd5d958eb6debda53aa524
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:54:39 2022 +0200

    Fix formatting

commit 2a2a22692473290b3b566d89e85b265f7b8e0670
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:24:38 2022 +0200

    Update messages

commit bdde8a0d54429d0d2d01d619ddde8a88fd29f0e1
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:23:37 2022 +0200

    Fix failing prettier check

commit 2f98b3bccc59bdcd978cc9cee8bede76f45f47a6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 14:07:46 2022 +0200

    Remove !important from styles

commit dfce53ba5add1e1a6b175caa2e1c5a03fa9dffe8
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:46:08 2022 +0200

    Refactor PR comments

commit 43781d792603c59031c75164415443f3b68f86d0
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:02:11 2022 +0200

    Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

commit 51e89a0f46059bd6d19513abee128503f818c2f8
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 9 13:01:15 2022 +0200

    Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 9565cab4a408845de40882ee564c4c7e79a3d5d6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 8 14:13:11 2022 +0200

    Update messages

commit ebf3b7a5f7a2b49d571d4cd6df2f74027e3d8304
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 8 14:11:59 2022 +0200

    Update snapshots

commit 854b21d7af3f14e3f7c4e53812c2d30490e0a675
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 7 17:36:55 2022 +0200

    Add copy icon to PspReference

commit 0124657acf623870773abecdf03b9b5ae3381757
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 7 15:38:45 2022 +0200

    Fix order saved when copying PSP reference

commit adf151fb56d06d9ee12d13bdef1b324395a86b4a
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 14:44:00 2022 +0200

    Update snapshots, fix inline styles in PSP reference

commit bfae5d9476e61e27b91ffa64e594a86b82e8f670
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 12:59:57 2022 +0200

    Fix transactions table sizing on `md` screen sizing

commit cdbb439f80534706a0a2e588f033ae94af04cb72
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 12:38:27 2022 +0200

    Fix PSP reference sizing issues

commit a2be62f8f2db11319c8843cdd4b6431d7518b389
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 6 10:06:28 2022 +0200

    Add parameter to clear additional params in modals

commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 5 15:42:46 2022 +0200

    Update prettier to latest version (TS syntax parsing issues)

commit 261879696f594b1e09b4a0c112dfce801b1cf6bd
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 5 15:39:08 2022 +0200

    Add buttons to void or capture transactions

commit ba89cca5ec3e5c61d9468f983ea7b7ab9eea8c14
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 14:13:13 2022 +0200

    Add copy feature to psp reference pill

commit 7f3ff30a2738bcfa773a5abce7e53828ce4b276e
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:35:02 2022 +0200

    Update snapshots

commit 4bee083c839ca5d141b8845131dba506a0745a79
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:29:38 2022 +0200

    Update messages

commit c86431abb6015a28b1cfeddc91cda69cc0c3e06b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:16:37 2022 +0200

    Fix transaction events list when no pspReference is provided

commit a7127123556677206864aa3a9683c19645724a36
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:09:48 2022 +0200

    Fix spacing between transactions

commit dc224e2c7ebd2af438f2e997eb1ba3430ca5ffcc
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 2 12:06:32 2022 +0200

    Highlight rows that have the same pspReference on hover

commit 2e9aaed9599a5e5a0064c6140e6b6f48c0587850
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 17:33:06 2022 +0200

    Update macaw to unreleased version

commit a818c1b0ebeb4e17ea65aa6698c2c9d29be6cc2f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 17:21:24 2022 +0200

    Fix transactions list table layout

commit 50ae82b961f653dd8b2ba9b9cc4ece5c691fe39b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 1 16:34:52 2022 +0200

    Use Intl.DateTimeFormat to format dates instead of moment.js

commit c0f54100cb476637a8d0145ac00ccd5e017a9665
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Aug 31 17:21:34 2022 +0200

    Add transaction events

commit c34279d5c195734df604605481e3d84c5e81f764
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:53:01 2022 +0200

    Fix alignment when amount is <10

commit d3362c24e8bcf0263582dbcc324c2fe403a6f72a
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:42:41 2022 +0200

    Fix conditional display logic, add story for long numbers

commit 73cce9edd5e25c2cca68411ccebdfd3918099ae5
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:27:18 2022 +0200

    Fix IMoney to use new import

commit b0cf154c94139be726451ce52b0e4421928ebf80
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 26 16:15:37 2022 +0200

    Add order transactions component

commit 87808f66482448d4301d13196be84cb55912d994
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:28:02 2022 +0200

    Don't hide transaction balance when order is not confirmed

commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:22:47 2022 +0200

    Update lockfile

commit 9046b5f56cc293516e578c527abda4a30a66b079
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:20:50 2022 +0200

    Update GraphQL schema

* SALEOR-7901: Split payments - order summary and payments balance #2310

commit 8d5be6ae4c46dffe9cca5e20cfe4b458d2cc7f2f
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 14:17:20 2022 +0200

    update snapshots

commit 7b84da1566a92811e0cf3424085219221ff8876c
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Tue Oct 4 16:10:40 2022 +0200

    Refactor inlined functions to separate file

commit 798c8cc87fda9ac48837013336d94291b5d87fb4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Tue Oct 4 16:08:27 2022 +0200

    Refactor tax amount turnary operator expression

commit 001d16d3c4010489fbf8a2872d5d80195797ef7d
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Sep 28 16:15:12 2022 +0200

    Apply suggestions from code review

commit 274c6f9f68630d8c91a588a77975d8d519c84e24
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 28 16:07:46 2022 +0200

    Apply suggestions from code review

    Co-authored-by: Dawid <tarasiukdawid@gmail.com>

commit ab13210f62b00dc68478ee94a30d5b0d5424cc09
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Sep 28 13:21:46 2022 +0200

    Hide "no payment" text when order has gift cards

commit 9159cf1913cec93a7960ba8d5ad29914d11d7a63
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Sep 28 13:11:52 2022 +0200

    Fix "Copied" text doesn't fit on short psp reference

commit a7eea637484c010b91b265df8eba5a729bec8e6b
Merge: 97f128b1f 3ac5e6304
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Mon Sep 26 16:44:52 2022 +0200

    Merge branch 'feature/split-payments' into split-payments/balance

commit 3ac5e6304e2d114288ae21d7def120b7cb669887
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:51:05 2022 +0200

    Split payments - transactions list (#2234)

    * Don't hide transaction balance when order is not confirmed

    * Add order transactions component

    * Fix IMoney to use new import

    * Fix conditional display logic, add story for long numbers

    * Fix alignment when amount is <10

    * Add transaction events

    * Use Intl.DateTimeFormat to format dates instead of moment.js

    * Fix transactions list table layout

    * Update macaw to unreleased version

    * Highlight rows that have the same pspReference on hover

    * Fix spacing between transactions

    * Fix transaction events list when no pspReference is provided

    * Update messages

    * Update snapshots

    * Add copy feature to psp reference pill

    * Add buttons to void or capture transactions

    * Update prettier to latest version (TS syntax parsing issues)

    * Add parameter to clear additional params in modals

    * Fix PSP reference sizing issues

    * Fix transactions table sizing on `md` screen sizing

    * Update snapshots, fix inline styles in PSP reference

    * Fix order saved when copying PSP reference

    * Add copy icon to PspReference

    * Update snapshots

    * Update messages

    * Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

    * Refactor PR comments

    * Remove !important from styles

    * Fix failing prettier check

    * Update messages

    * Fix formatting

    * Replace custom styles with Typography component

    * Remove too long font size

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 97f128b1f7b9376708f3d98a1a5131d5c0acc2be
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Mon Sep 26 11:46:29 2022 +0200

    force deploy

commit b97d93d8930cb2063772bace0ad5c779852a5c5c
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:08:27 2022 +0200

    Fix TS errors

commit b679bc91b670661c205ed2bd9c5b209d777173cc
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:35 2022 +0200

    Update snapshots

commit a6f3d3c50a46325011bba242b431cbf3cb81ac8b
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:21 2022 +0200

    Update messages

commit 99ec7ca736666b669eb215e463362fd2fe27c690
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:08 2022 +0200

    Fix story - gift card

commit 3c254dce2386dcbe544810948a86c5cf128d4cb4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 15:34:07 2022 +0200

    Improve loading layout

commit b1adf9d580d39b3301a8f56d0677a5ccf9608126
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 15:05:37 2022 +0200

    Display message in payment card when there are no transactions

commit e9bb8b22a95c7e2416ed5e457db7cbddc004fa3d
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 14:11:35 2022 +0200

    Handle gift cards edge case: lowered total amount

commit 115f56fb6f9e44f7f8bbec84d110a8e1c2af47d2
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 13:56:41 2022 +0200

    Filter out payments that are inactive and don't contain any transaction

commit e790aadca2a13fcccb8bb3a3c52967b90856c3e4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:57:24 2022 +0200

    Remove order level actions, move buttons to payment level

commit fd4a158c5aba32f4a7ed31daa54bc37274d1cdbe
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:31:23 2022 +0200

    Simplify OrderAddTransaction button

commit 6b298357933033df42745d6db465617963b181d6
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:26:40 2022 +0200

    Hide grant refund and send refund when there is no payment

commit b3c6532d299932bceafcbe48b06aaaf693dc21be
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:14:10 2022 +0200

    Add Stories for payments in order, fix edge cases for payments

commit 2db8efe628df5c647d36f2b97a48a40bd7c98eaf
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 14:46:54 2022 +0200

    Add payments displayed as transactions in order details

commit 3751cbf4fecf22c6624d39ca894190abb77363a6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 21 14:03:42 2022 +0200

    Add gift card Storybook example, fix spacing between OrderTransaction

commit 77a1647c0c7afe38298778372cace06e2dc428fb
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 20 17:00:18 2022 +0200

    Remove gift card from OrderSummaryCard

commit 85a4894d28d88c386a9b61fe09b517ac7ff8ad60
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 20 16:58:25 2022 +0200

    Display gift cards as transactions in order details

commit 1e36a176bab8c57c527f5e19ae05e46cf0cefa03
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 14:13:47 2022 +0200

    Fix logic for displaying "Mark as paid" button

commit 5aeca84a40c8d0a6df03315b56e48dcc1fc39cab
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 13:18:24 2022 +0200

    Fix order details page when loading

commit a6dc8f13ded5a4d7f5bf0b0778bb52c31b97028f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 13:11:50 2022 +0200

    Add "Mark as paid" / Add transaction button

commit 7ad01b66dc4b639ae24bbc58a4364eee89e4cf4c
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 14 16:52:38 2022 +0200

    Fix logic of showing / hiding capture & authorize amounts

commit b4328e4cbf09290f5d1a29ecc3ca88f33fb83142
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 14 13:17:27 2022 +0200

    Style payment + summary cards in order, style summary card

commit e4bdd44beea265899dbc70db6470ca9307becb5b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 13 15:25:54 2022 +0200

    Add payments to order query, add more Storybook cases for orders

commit 67dc47d5c19125442f1cf954b9b7d4b4e7d3eff7
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 13 10:53:26 2022 +0200

    Add new OrderPayment card

commit 093490a01bff3fd7aaaac270d74742a22e0b8885
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 14:46:35 2022 +0200

    Refactor OrderPayment -> OrderSummaryCard

commit 7eb73e2650d9602ef635a4b6b8a4aefd4ad89730
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:51:05 2022 +0200

    Split payments - transactions list (#2234)

    * Don't hide transaction balance when order is not confirmed

    * Add order transactions component

    * Fix IMoney to use new import

    * Fix conditional display logic, add story for long numbers

    * Fix alignment when amount is <10

    * Add transaction events

    * Use Intl.DateTimeFormat to format dates instead of moment.js

    * Fix transactions list table layout

    * Update macaw to unreleased version

    * Highlight rows that have the same pspReference on hover

    * Fix spacing between transactions

    * Fix transaction events list when no pspReference is provided

    * Update messages

    * Update snapshots

    * Add copy feature to psp reference pill

    * Add buttons to void or capture transactions

    * Update prettier to latest version (TS syntax parsing issues)

    * Add parameter to clear additional params in modals

    * Fix PSP reference sizing issues

    * Fix transactions table sizing on `md` screen sizing

    * Update snapshots, fix inline styles in PSP reference

    * Fix order saved when copying PSP reference

    * Add copy icon to PspReference

    * Update snapshots

    * Update messages

    * Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

    * Refactor PR comments

    * Remove !important from styles

    * Fix failing prettier check

    * Update messages

    * Fix formatting

    * Replace custom styles with Typography component

    * Remove too long font size

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:22:47 2022 +0200

    Update lockfile

commit 9046b5f56cc293516e578c527abda4a30a66b079
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:20:50 2022 +0200

    Update GraphQL schema

* SALEOR-7904: Split payments - Grant refund #2336

commit 4681481fc163683936a53fa8436a0eecad26f9c1
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Nov 2 16:49:45 2022 +0100

    Update snapshots

commit 0831c4f75670009bc0a17fe1e9dae94646927866
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Nov 2 15:24:43 2022 +0100

    Pin macaw version

commit b588948fa260509c5e13362b48f72d277897f7bb
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Oct 17 17:31:53 2022 +0200

    Fix refund card not working while loading

commit fccd15c73b40231423e544256541ddc4ebc4b37a
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 15:23:39 2022 +0200

    Add exhaustiveness check to switch...case statemet

commit 62e6c03b02bea5c2fb785e9cccbaf024b4ffa6cb
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 14:09:31 2022 +0200

    Remove USD as default currency

commit 586f91a6c87375544223dc666e1a358cbd3c814c
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 14:08:30 2022 +0200

    Refactor ProductCard event handlers into separate functions

commit 8b242905c7b787102ef764adc5f574ab3e9c77de
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 14:05:35 2022 +0200

    Refactor fulfilment subtitle into helper function

commit 1cdba397497e59aa89d2d4fb05816631e69f0ef6
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 14:01:05 2022 +0200

    Refactor payments summary logic

commit 5ca4709d3e902186005901f1ee68c3cb2b80df64
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 13:10:58 2022 +0200

    Refactor iterator spread to Array.from for more readability

commit d47098ce8cdc0c8ec6b7f49e5a7476cfebde62b7
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Oct 7 10:52:59 2022 +0200

    Update snapshots, messages

commit 53228797377f7dfeb830eb2e7176ea70c4dd3fec
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 16:33:09 2022 +0200

    Refactor ProductCard to use TableRowLink

commit f08d2c717a04a4e45a59b0d80b95f7b949f3ebb1
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 16:32:49 2022 +0200

    Disable hover effect when TableRow is not clickable

commit 0a7c75223e0a7c4cf7e01eb6e3d6644090be8b08
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 15:52:05 2022 +0200

    Refactor payments summary line into separate component

commit e2bc2ec506e5045d08560c6105685665820830de
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 15:41:49 2022 +0200

    Show granted, pending and refunded amounts

commit f9a47a4c7c48e479f4748d4bf8d373d2d1e6d3ea
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 15:18:33 2022 +0200

    Fix selected refund value calculated to NaN

commit 43bd259208359d1c2862c5493a16758de6970430
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 15:16:41 2022 +0200

    Don't prefill refund amount, disable submit when amount is 0

commit 41d461a40b09723f880200796eab4c6a0895969f
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 14:14:55 2022 +0200

    Remove warning text in Refund Card

commit 14cd616fdd8b6ae93b4563c87af33adf4b86c922
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Oct 6 14:13:54 2022 +0200

    Fix spacing in the Refund Card

commit 825bd16752795749fba20043772b3b862005da49
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 17:13:55 2022 +0200

    Update snapshots

commit 74427bb29a44cba6cb2c9b8d8db9997cfa6dd68b
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 16:59:06 2022 +0200

    Update messages

commit ddc6f8d09ecf82763c9ab3b4e9ed282863a5c970
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 16:52:36 2022 +0200

    redeploy

commit ee6341347ba95e06e18760a40b1c9aa03a0794a4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 16:47:02 2022 +0200

    Improve loading state of grant refund view, add input labels

commit 186caa1d243c2c9a92b4badb99a07f8275d61000
Merge: 319f2094b d21e75ead
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 16:17:57 2022 +0200

    Merge branch 'feature/split-payments' into split-payments/grant-refund

commit d21e75ead0a9222c3ab7884b73c00c652a605ea4
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Oct 5 14:35:00 2022 +0200

    SALEOR-7901: Split payments - order summary and payments balance (#2310)

    * Update GraphQL schema

    * Update lockfile

    * Split payments - transactions list (#2234)

    * Don't hide transaction balance when order is not confirmed

    * Add order transactions component

    * Fix IMoney to use new import

    * Fix conditional display logic, add story for long numbers

    * Fix alignment when amount is <10

    * Add transaction events

    * Use Intl.DateTimeFormat to format dates instead of moment.js

    * Fix transactions list table layout

    * Update macaw to unreleased version

    * Highlight rows that have the same pspReference on hover

    * Fix spacing between transactions

    * Fix transaction events list when no pspReference is provided

    * Update messages

    * Update snapshots

    * Add copy feature to psp reference pill

    * Add buttons to void or capture transactions

    * Update prettier to latest version (TS syntax parsing issues)

    * Add parameter to clear additional params in modals

    * Fix PSP reference sizing issues

    * Fix transactions table sizing on `md` screen sizing

    * Update snapshots, fix inline styles in PSP reference

    * Fix order saved when copying PSP reference

    * Add copy icon to PspReference

    * Update snapshots

    * Update messages

    * Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

    * Refactor PR comments

    * Remove !important from styles

    * Fix failing prettier check

    * Update messages

    * Fix formatting

    * Replace custom styles with Typography component

    * Remove too long font size

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Refactor OrderPayment -> OrderSummaryCard

    * Add new OrderPayment card

    * Add payments to order query, add more Storybook cases for orders

    * Style payment + summary cards in order, style summary card

    * Fix logic of showing / hiding capture & authorize amounts

    * Add "Mark as paid" / Add transaction button

    * Fix order details page when loading

    * Fix logic for displaying "Mark as paid" button

    * Display gift cards as transactions in order details

    * Remove gift card from OrderSummaryCard

    * Add gift card Storybook example, fix spacing between OrderTransaction

    * Add payments displayed as transactions in order details

    * Add Stories for payments in order, fix edge cases for payments

    * Hide grant refund and send refund when there is no payment

    * Simplify OrderAddTransaction button

    * Remove order level actions, move buttons to payment level

    * Filter out payments that are inactive and don't contain any transaction

    * Handle gift cards edge case: lowered total amount

    * Display message in payment card when there are no transactions

    * Improve loading layout

    * Fix story - gift card

    * Update messages

    * Update snapshots

    * Fix TS errors

    * force deploy

    * Fix "Copied" text doesn't fit on short psp reference

    * Hide "no payment" text when order has gift cards

    * Apply suggestions from code review

    Co-authored-by: Dawid <tarasiukdawid@gmail.com>

    * Apply suggestions from code review

    * Refactor tax amount turnary operator expression

    * Refactor inlined functions to separate file

    * update snapshots

    Co-authored-by: Michał Droń <dron.official@yahoo.com>
    Co-authored-by: Dawid <tarasiukdawid@gmail.com>

commit 90c55d5775e7acdbbe0dc75014effa09776bae8e
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:51:05 2022 +0200

    Split payments - transactions list (#2234)

    * Don't hide transaction balance when order is not confirmed

    * Add order transactions component

    * Fix IMoney to use new import

    * Fix conditional display logic, add story for long numbers

    * Fix alignment when amount is <10

    * Add transaction events

    * Use Intl.DateTimeFormat to format dates instead of moment.js

    * Fix transactions list table layout

    * Update macaw to unreleased version

    * Highlight rows that have the same pspReference on hover

    * Fix spacing between transactions

    * Fix transaction events list when no pspReference is provided

    * Update messages

    * Update snapshots

    * Add copy feature to psp reference pill

    * Add buttons to void or capture transactions

    * Update prettier to latest version (TS syntax parsing issues)

    * Add parameter to clear additional params in modals

    * Fix PSP reference sizing issues

    * Fix transactions table sizing on `md` screen sizing

    * Update snapshots, fix inline styles in PSP reference

    * Fix order saved when copying PSP reference

    * Add copy icon to PspReference

    * Update snapshots

    * Update messages

    * Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

    * Refactor PR comments

    * Remove !important from styles

    * Fix failing prettier check

    * Update messages

    * Fix formatting

    * Replace custom styles with Typography component

    * Remove too long font size

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 319f2094bb5f61be7de3d1f329a04d7556aaa9c6
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Oct 5 10:47:13 2022 +0200

    Add edit grant refund view

commit f01a0692308030466260f54a372f57a272ff7d6a
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Tue Oct 4 12:58:44 2022 +0200

    Fix form leave confirm dialog

commit e3844037a67577a5b6407a65df4a20c58fca8835
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Tue Oct 4 10:40:42 2022 +0200

    Handle form submission

commit a7472a526fb5ba869bca03b418242cab6cc33036
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Mon Oct 3 15:57:35 2022 +0200

    Write query for grant refund view, add product card

commit 9942a125458f4185cce6c6338b1f28f505792c82
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Sep 30 17:01:19 2022 +0200

    Calculate shipping cost, refactor refund card into component

commit 351901c3072450b98bde03d45eba119336b3cb2a
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 30 15:07:42 2022 +0200

    Add grant refund form and price calculation logic

commit b19854d8ef77fc3449e041986008799b63c4ba21
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Sep 28 15:49:21 2022 +0200

    Add grant refund create mutation

commit df0ad7c78d75ea38ee6349f226c573f833c53800
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Wed Sep 28 15:49:01 2022 +0200

    Add OrderGrantRefundPage

commit afc496add5038224e4a971bcaadfc60a5a17bd10
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Tue Sep 27 15:58:17 2022 +0200

    Add granted refunds list

commit 3d78fbf28318733b71c423e0e0f359d85002bf07
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Mon Sep 26 13:37:48 2022 +0200

    Add grant refund to order query

commit b97d93d8930cb2063772bace0ad5c779852a5c5c
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:08:27 2022 +0200

    Fix TS errors

commit b679bc91b670661c205ed2bd9c5b209d777173cc
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:35 2022 +0200

    Update snapshots

commit a6f3d3c50a46325011bba242b431cbf3cb81ac8b
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:21 2022 +0200

    Update messages

commit 99ec7ca736666b669eb215e463362fd2fe27c690
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 16:00:08 2022 +0200

    Fix story - gift card

commit 3c254dce2386dcbe544810948a86c5cf128d4cb4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 15:34:07 2022 +0200

    Improve loading layout

commit b1adf9d580d39b3301a8f56d0677a5ccf9608126
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 15:05:37 2022 +0200

    Display message in payment card when there are no transactions

commit e9bb8b22a95c7e2416ed5e457db7cbddc004fa3d
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 14:11:35 2022 +0200

    Handle gift cards edge case: lowered total amount

commit 115f56fb6f9e44f7f8bbec84d110a8e1c2af47d2
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Fri Sep 23 13:56:41 2022 +0200

    Filter out payments that are inactive and don't contain any transaction

commit e790aadca2a13fcccb8bb3a3c52967b90856c3e4
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:57:24 2022 +0200

    Remove order level actions, move buttons to payment level

commit fd4a158c5aba32f4a7ed31daa54bc37274d1cdbe
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:31:23 2022 +0200

    Simplify OrderAddTransaction button

commit 6b298357933033df42745d6db465617963b181d6
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:26:40 2022 +0200

    Hide grant refund and send refund when there is no payment

commit b3c6532d299932bceafcbe48b06aaaf693dc21be
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 16:14:10 2022 +0200

    Add Stories for payments in order, fix edge cases for payments

commit 2db8efe628df5c647d36f2b97a48a40bd7c98eaf
Author: Jonatan Witoszek <jonatan.witoszek@saleor.io>
Date:   Thu Sep 22 14:46:54 2022 +0200

    Add payments displayed as transactions in order details

commit 3751cbf4fecf22c6624d39ca894190abb77363a6
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 21 14:03:42 2022 +0200

    Add gift card Storybook example, fix spacing between OrderTransaction

commit 77a1647c0c7afe38298778372cace06e2dc428fb
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 20 17:00:18 2022 +0200

    Remove gift card from OrderSummaryCard

commit 85a4894d28d88c386a9b61fe09b517ac7ff8ad60
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 20 16:58:25 2022 +0200

    Display gift cards as transactions in order details

commit 1e36a176bab8c57c527f5e19ae05e46cf0cefa03
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 14:13:47 2022 +0200

    Fix logic for displaying "Mark as paid" button

commit 5aeca84a40c8d0a6df03315b56e48dcc1fc39cab
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 13:18:24 2022 +0200

    Fix order details page when loading

commit a6dc8f13ded5a4d7f5bf0b0778bb52c31b97028f
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Thu Sep 15 13:11:50 2022 +0200

    Add "Mark as paid" / Add transaction button

commit 7ad01b66dc4b639ae24bbc58a4364eee89e4cf4c
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 14 16:52:38 2022 +0200

    Fix logic of showing / hiding capture & authorize amounts

commit b4328e4cbf09290f5d1a29ecc3ca88f33fb83142
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Wed Sep 14 13:17:27 2022 +0200

    Style payment + summary cards in order, style summary card

commit e4bdd44beea265899dbc70db6470ca9307becb5b
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 13 15:25:54 2022 +0200

    Add payments to order query, add more Storybook cases for orders

commit 67dc47d5c19125442f1cf954b9b7d4b4e7d3eff7
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Tue Sep 13 10:53:26 2022 +0200

    Add new OrderPayment card

commit 093490a01bff3fd7aaaac270d74742a22e0b8885
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 14:46:35 2022 +0200

    Refactor OrderPayment -> OrderSummaryCard

commit 7eb73e2650d9602ef635a4b6b8a4aefd4ad89730
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Mon Sep 12 10:51:05 2022 +0200

    Split payments - transactions list (#2234)

    * Don't hide transaction balance when order is not confirmed

    * Add order transactions component

    * Fix IMoney to use new import

    * Fix conditional display logic, add story for long numbers

    * Fix alignment when amount is <10

    * Add transaction events

    * Use Intl.DateTimeFormat to format dates instead of moment.js

    * Fix transactions list table layout

    * Update macaw to unreleased version

    * Highlight rows that have the same pspReference on hover

    * Fix spacing between transactions

    * Fix transaction events list when no pspReference is provided

    * Update messages

    * Update snapshots

    * Add copy feature to psp reference pill

    * Add buttons to void or capture transactions

    * Update prettier to latest version (TS syntax parsing issues)

    * Add parameter to clear additional params in modals

    * Fix PSP reference sizing issues

    * Fix transactions table sizing on `md` screen sizing

    * Update snapshots, fix inline styles in PSP reference

    * Fix order saved when copying PSP reference

    * Add copy icon to PspReference

    * Update snapshots

    * Update messages

    * Fix typo

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

    * Revert "Update prettier to latest version (TS syntax parsing issues)"

    This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

    * Refactor PR comments

    * Remove !important from styles

    * Fix failing prettier check

    * Update messages

    * Fix formatting

    * Replace custom styles with Typography component

    * Remove too long font size

    Co-authored-by: Michał Droń <dron.official@yahoo.com>

commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:22:47 2022 +0200

    Update lockfile

commit 9046b5f56cc293516e578c527abda4a30a66b079
Author: Jonatan Witoszek <jonatanwitoszek@gmail.com>
Date:   Fri Aug 12 17:20:50 2022 +0200

    Update GraphQL schema

* Fix TS issues

* Fix EditorJS TS issues

* Fix Apollo & apollo-upload-client type mismatch

* SALEOR-7900 - Grant refund: Send refund view (#2359)

* Update GraphQL schema

* Update lockfile

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Refactor OrderPayment -> OrderSummaryCard

* Add new OrderPayment card

* Add payments to order query, add more Storybook cases for orders

* Style payment + summary cards in order, style summary card

* Fix logic of showing / hiding capture & authorize amounts

* Add "Mark as paid" / Add transaction button

* Fix order details page when loading

* Fix logic for displaying "Mark as paid" button

* Display gift cards as transactions in order details

* Remove gift card from OrderSummaryCard

* Add gift card Storybook example, fix spacing between OrderTransaction

* Add payments displayed as transactions in order details

* Add Stories for payments in order, fix edge cases for payments

* Hide grant refund and send refund when there is no payment

* Simplify OrderAddTransaction button

* Remove order level actions, move buttons to payment level

* Filter out payments that are inactive and don't contain any transaction

* Handle gift cards edge case: lowered total amount

* Display message in payment card when there are no transactions

* Improve loading layout

* Fix story - gift card

* Update messages

* Update snapshots

* Fix TS errors

* Add grant refund to order query

* Add granted refunds list

* Add OrderGrantRefundPage

* Add grant refund create mutation

* Add grant refund form and price calculation logic

* Calculate shipping cost, refactor refund card into component

* Write query for grant refund view, add product card

* Handle form submission

* Fix form leave confirm dialog

* Add edit grant refund view

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* SALEOR-7901: Split payments - order summary and payments balance (#2310)

* Update GraphQL schema

* Update lockfile

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Refactor OrderPayment -> OrderSummaryCard

* Add new OrderPayment card

* Add payments to order query, add more Storybook cases for orders

* Style payment + summary cards in order, style summary card

* Fix logic of showing / hiding capture & authorize amounts

* Add "Mark as paid" / Add transaction button

* Fix order details page when loading

* Fix logic for displaying "Mark as paid" button

* Display gift cards as transactions in order details

* Remove gift card from OrderSummaryCard

* Add gift card Storybook example, fix spacing between OrderTransaction

* Add payments displayed as transactions in order details

* Add Stories for payments in order, fix edge cases for payments

* Hide grant refund and send refund when there is no payment

* Simplify OrderAddTransaction button

* Remove order level actions, move buttons to payment level

* Filter out payments that are inactive and don't contain any transaction

* Handle gift cards edge case: lowered total amount

* Display message in payment card when there are no transactions

* Improve loading layout

* Fix story - gift card

* Update messages

* Update snapshots

* Fix TS errors

* force deploy

* Fix "Copied" text doesn't fit on short psp reference

* Hide "no payment" text when order has gift cards

* Apply suggestions from code review

Co-authored-by: Dawid <tarasiukdawid@gmail.com>

* Apply suggestions from code review

* Refactor tax amount turnary operator expression

* Refactor inlined functions to separate file

* update snapshots

Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Dawid <tarasiukdawid@gmail.com>

* Improve loading state of grant refund view, add input labels

* redeploy

* Update messages

* Update snapshots

* Fix spacing in the Refund Card

* Remove warning text in Refund Card

* Don't prefill refund amount, disable submit when amount is 0

* Fix selected refund value calculated to NaN

* Show granted, pending and refunded amounts

* Refactor payments summary line into separate component

* Disable hover effect when TableRow is not clickable

* Refactor ProductCard to use TableRowLink

* Update snapshots, messages

* Refactor iterator spread to Array.from for more readability

* Refactor payments summary logic

* Refactor fulfilment subtitle into helper function

* Refactor ProductCard event handlers into separate functions

* Remove USD as default currency

* Add exhaustiveness check to switch...case statemet

* Update snapshots, messages

* Add new page [wip]

* Fix refund card not working while loading

* Add new page [wip]

* Refactor order transaction component structure

* [WIP] Send refund page

* Add button to set max amount of refund

* Update GraphQL schema

* Update components after changing GraphQL schema

* Add manual refunds

* Disable refunds when transaction doesn't have appropriate actions

* Update macaw

* Update messages

* Update snapshots

* SALEOR-7904: Split payments - Grant refund (#2336)

* Update GraphQL schema

* Update lockfile

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Refactor OrderPayment -> OrderSummaryCard

* Add new OrderPayment card

* Add payments to order query, add more Storybook cases for orders

* Style payment + summary cards in order, style summary card

* Fix logic of showing / hiding capture & authorize amounts

* Add "Mark as paid" / Add transaction button

* Fix order details page when loading

* Fix logic for displaying "Mark as paid" button

* Display gift cards as transactions in order details

* Remove gift card from OrderSummaryCard

* Add gift card Storybook example, fix spacing between OrderTransaction

* Add payments displayed as transactions in order details

* Add Stories for payments in order, fix edge cases for payments

* Hide grant refund and send refund when there is no payment

* Simplify OrderAddTransaction button

* Remove order level actions, move buttons to payment level

* Filter out payments that are inactive and don't contain any transaction

* Handle gift cards edge case: lowered total amount

* Display message in payment card when there are no transactions

* Improve loading layout

* Fix story - gift card

* Update messages

* Update snapshots

* Fix TS errors

* Add grant refund to order query

* Add granted refunds list

* Add OrderGrantRefundPage

* Add grant refund create mutation

* Add grant refund form and price calculation logic

* Calculate shipping cost, refactor refund card into component

* Write query for grant refund view, add product card

* Handle form submission

* Fix form leave confirm dialog

* Add edit grant refund view

* Improve loading state of grant refund view, add input labels

* redeploy

* Update messages

* Update snapshots

* Fix spacing in the Refund Card

* Remove warning text in Refund Card

* Don't prefill refund amount, disable submit when amount is 0

* Fix selected refund value calculated to NaN

* Show granted, pending and refunded amounts

* Refactor payments summary line into separate component

* Disable hover effect when TableRow is not clickable

* Refactor ProductCard to use TableRowLink

* Update snapshots, messages

* Refactor iterator spread to Array.from for more readability

* Refactor payments summary logic

* Refactor fulfilment subtitle into helper function

* Refactor ProductCard event handlers into separate functions

* Remove USD as default currency

* Add exhaustiveness check to switch...case statemet

* Fix refund card not working while loading

* Pin macaw version

* Update snapshots

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Remove OrderRefund view

* Update messages

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* SALEOR-7901: Split payments - order summary and payments balance (#2310)

* Update GraphQL schema

* Update lockfile

* Split payments - transactions list (#2234)

* Don't hide transaction balance when order is not confirmed

* Add order transactions component

* Fix IMoney to use new import

* Fix conditional display logic, add story for long numbers

* Fix alignment when amount is <10

* Add transaction events

* Use Intl.DateTimeFormat to format dates instead of moment.js

* Fix transactions list table layout

* Update macaw to unreleased version

* Highlight rows that have the same pspReference on hover

* Fix spacing between transactions

* Fix transaction events list when no pspReference is provided

* Update messages

* Update snapshots

* Add copy feature to psp reference pill

* Add buttons to void or capture transactions

* Update prettier to latest version (TS syntax parsing issues)

* Add parameter to clear additional params in modals

* Fix PSP reference sizing issues

* Fix transactions table sizing on `md` screen sizing

* Update snapshots, fix inline styles in PSP reference

* Fix order saved when copying PSP reference

* Add copy icon to PspReference

* Update snapshots

* Update messages

* Fix typo

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Revert "Update prettier to latest version (TS syntax parsing issues)"

This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562.

* Refactor PR comments

* Remove !important from styles

* Fix failing prettier check

* Update messages

* Fix formatting

* Replace custom styles with Typography component

* Remove too long font size

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Refactor OrderPayment -> OrderSummaryCard

* Add new OrderPayment card

* Add payments to order query, add more Storybook cases for orders

* Style payment + summary cards in order, style summary card

* Fix logic of showing / hiding capture & authorize amounts

* Add "Mark as paid" / Add transaction button

* Fix order details page when loading

* Fix logic for displaying "Mark as paid" button

* Display gift cards as transactions in order details

* Remove gift card from OrderSummaryCard

* Add gift card Storybook example, fix spacing between OrderTransaction

* Add payments displayed as transactions in order details

* Add Stories for payments in order, fix edge cases for payments

* Hide grant refund and send refund when there is no payment

* Simplify OrderAddTransaction button

* Remove order level actions, move buttons to payment level

* Filter out payments that are inactive and don't contain any transaction

* Handle gift cards edge case: lowered total amount

* Display message in payment card when there are no transactions

* Improve loading layout

* Fix story - gift card

* Update messages

* Update snapshots

* Fix TS errors

* force deploy

* Fix "Copied" text doesn't fit on short psp reference

* Hide "no payment" text when order has gift cards

* Apply suggestions from code review

Co-authored-by: Dawid <tarasiukdawid@gmail.com>

* Apply suggestions from code review

* Refactor tax amount turnary operator expression

* Refactor inlined functions to separate file

* update snapshots

Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Dawid <tarasiukdawid@gmail.com>

* Fix types after merge

* Remove comment

* Refactor common messages

* Refactor inline formatted message

* Resolve CR

* Update src/utils/errors/transaction.ts

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Refactor money format function

* Fix EditorJS TS issues

* Fix Apollo & apollo-upload-client type mismatch

* Add loading state to OrderSendRefund

* Fix messages

* Fix storybook not building

* Fix stories, update snapshots, fix currency formatting

Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Dawid <tarasiukdawid@gmail.com>

* Fix grant refund page not loading

* Replace classnames with clsx

* Add missing fields to transactions list, new psp reference design (#2769)

* Add modal to create manual capture transactions in OrderDetails (#2880)

* Add manual capture transaction mutation

* Add manual transaction capture modal

* Refactor common elements of manual transaction into shared component

* Rewrite OrderManualTransactionForm to export form components separately

* Add tests for OrderManualTransactionForm hook

* Add tests to OrderManualTransactionForm Form component

* Fix polly recording ids, read replay / record config from env vars

* Add missing messages

* Remove refund functionality in Return & Replace (#2876)

* Refactor messages

* Remove old compoennts related to return + refund functionality

* Refactor return & replace internal components structure

* Add new submit card to OrderReturn

* Replace onRefundPayment with href

* add missing test

* Update messages

* Fix TS errors after merge

* Update imports @saleor -> @dashboard

* Update dashboard OrderDetails after changes in core (#2933)

* Fix TS errors after merge

* Update transaction events to use new `type` field

* Remove unused styles

* Fix table row hover effect

* Update messages

* Add "createdBy" to order transaction fixtures

* Add "createdBy" to TransactionEvent list

* Fix crash when transaction event has invalid data

* Add styles for PspReference link

* Update messages

* Add no events message to transaction events list

* Add PSP Reference field to manual transactions, update mutations

* Remove hiding from add manual transaction button

* Fix styling of ManualRefundCard

* Fix TS error

* Rename OrderPayment -> OrderPaymentSummaryCard

* Add pending amounts to OrderPaymentSummaryCard

* Refactor PaymentsSummary

* Add tests for OrderAddTransaction

* Extract messages

* Add tests for PaymentSummary calculation

* Add tests to EventCreatedBy

* Add tests to EventItem

* Add tests for transaction event status mapping

* Fix TS error

* Update schema

* Add missing fields to TransactionItem fragment

* Add missing fields to OrderTransaction

* fixup! Update schema

* Fix CR comments

* Update imports @saleor -> @dashboard, fix types

* Fix CR comments

* Fix Jest wrong timezone when run locally

* Fix EventItem test using invalid date

* Add feature flags to split payments PR (#3044)

* Remove transactions related changes from GraphQL files

* Fix issues with build-types, when feature flags are used

* Generate transactions only GraphQL files

* Update GraphQL imports

* Fix issue with dependencies

* Restore deleted views

* Add feature flags to OrderReturn

* Add feature flags to OrderSendRefund

* Add feature flag to OrderDetailsPage

* Add feature flag check in new order routes

* Update messages

* Fix TS error

* Add tests for OrderPaymentOrTransaction

* Update schema

* Use different query for order when FF is enabled

* Fix failing CI

* Fix CR

* fixup! Merge branch 'feature/split-payments' into split-payments/feature-flag

* Regenerate types after merge

* Transactions small fixes (#3110)

* Fix transaction action modal not closing on scucess

* Fix layout shift on OrderSendRefund

* Update schema behind feature flag

* Update types

* Add missing props

* Fix order event types

* Update OrderDetails to fix spacing in new macaw redesign

* Update GrantRefund page with new pages layout

* Update SendRefundPage with new page layout

* Update transactions feature flag schema

* Rollback fetch-schema to default values

* Add opacity to transactions that cannot be refunded

* Fix return & replace button message

* Add missing messages

* Add tooltip with event message

* Add missing status: info for transaction events

* Add markAsPaidStrategy configuration to ChannelDetails (#3239)

* Fix fulfilment titles, use the same text from OrderDetails

* Add back old payments UI (#3238)

* Remove Refund button from fulfilments in order with transactions

* Show old payments UI if order has payments

* Respect channel's markAsPaidStrategy when displaying new UI

* Rename onPaymentPaid to onMarkAsPaid prop

* Update messages

* CR

* Update snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate
snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate
snapshots

* Resolve TS errors

* Fetch transaction ids in old order query to fix detection

* run e2e

* fix test should be able to update shipping zone. TC: SALEOR_0808

* CR: Remove funny comment

---------

Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Dawid <tarasiukdawid@gmail.com>
Co-authored-by: Anna Szczech <anna.m.szczech@gmail.com>
2023-03-09 16:51:19 +01:00

561 lines
14 KiB
TypeScript

import { FetchResult, MutationFunction, MutationResult } from "@apollo/client";
import {
AddressInput,
CountryCode,
DateRangeInput,
OrderStatus,
PaymentChargeStatusEnum,
} from "@dashboard/graphql";
import { Node, SlugNode } from "@dashboard/types";
import { ConfirmButtonTransitionState, ThemeType } from "@saleor/macaw-ui";
import uniqBy from "lodash/uniqBy";
import moment from "moment-timezone";
import { IntlShape } from "react-intl";
import { MultiAutocompleteChoiceType } from "./components/MultiAutocompleteSelectField";
import { AddressType, AddressTypeInput } from "./customers/types";
import {
commonStatusMessages,
errorMessages,
orderStatusMessages,
paymentStatusMessages,
} from "./intl";
import {
MutationResultAdditionalProps,
PartialMutationProviderOutput,
StatusType,
UserError,
} from "./types";
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<
T,
Exclude<keyof T, Keys>
> &
{ [K in Keys]-?: Required<Pick<T, K>> }[Keys];
export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<
T,
Exclude<keyof T, Keys>
> &
{
[K in Keys]-?: Required<Pick<T, K>> &
Partial<Record<Exclude<Keys, K>, undefined>>;
}[Keys];
export function renderCollection<T>(
collection: T[] | undefined,
renderItem: (
item: T | undefined,
index: number | undefined,
collection: T[] | undefined,
) => any,
renderEmpty?: (collection: T[]) => any,
) {
if (collection === undefined) {
return renderItem(undefined, undefined, collection);
}
if (collection.length === 0) {
return !!renderEmpty ? renderEmpty(collection) : null;
}
return collection.map(renderItem);
}
export function decimal(value: string | number) {
if (typeof value === "string") {
return value === "" ? null : value;
}
return value;
}
export function weight(value: string) {
return value === "" ? null : parseFloat(value);
}
export const removeDoubleSlashes = (url: string) =>
url.replace(/([^:]\/)\/+/g, "$1");
export const transformPaymentStatus = (
status: string,
intl: IntlShape,
): { localized: string; status: StatusType } => {
switch (status) {
case PaymentChargeStatusEnum.PARTIALLY_CHARGED:
return {
localized: intl.formatMessage(paymentStatusMessages.partiallyPaid),
status: StatusType.ERROR,
};
case PaymentChargeStatusEnum.FULLY_CHARGED:
return {
localized: intl.formatMessage(paymentStatusMessages.paid),
status: StatusType.SUCCESS,
};
case PaymentChargeStatusEnum.PARTIALLY_REFUNDED:
return {
localized: intl.formatMessage(paymentStatusMessages.partiallyRefunded),
status: StatusType.INFO,
};
case PaymentChargeStatusEnum.FULLY_REFUNDED:
return {
localized: intl.formatMessage(paymentStatusMessages.refunded),
status: StatusType.INFO,
};
case PaymentChargeStatusEnum.PENDING:
return {
localized: intl.formatMessage(paymentStatusMessages.pending),
status: StatusType.WARNING,
};
case PaymentChargeStatusEnum.REFUSED:
return {
localized: intl.formatMessage(paymentStatusMessages.refused),
status: StatusType.ERROR,
};
case PaymentChargeStatusEnum.CANCELLED:
return {
localized: intl.formatMessage(commonStatusMessages.cancelled),
status: StatusType.ERROR,
};
case PaymentChargeStatusEnum.NOT_CHARGED:
return {
localized: intl.formatMessage(paymentStatusMessages.unpaid),
status: StatusType.ERROR,
};
}
return {
localized: status,
status: StatusType.ERROR,
};
};
export const transformOrderStatus = (
status: string,
intl: IntlShape,
): { localized: string; status: StatusType } => {
switch (status) {
case OrderStatus.FULFILLED:
return {
localized: intl.formatMessage(orderStatusMessages.fulfilled),
status: StatusType.SUCCESS,
};
case OrderStatus.PARTIALLY_FULFILLED:
return {
localized: intl.formatMessage(orderStatusMessages.partiallyFulfilled),
status: StatusType.WARNING,
};
case OrderStatus.UNFULFILLED:
return {
localized: intl.formatMessage(orderStatusMessages.unfulfilled),
status: StatusType.ERROR,
};
case OrderStatus.CANCELED:
return {
localized: intl.formatMessage(commonStatusMessages.cancelled),
status: StatusType.ERROR,
};
case OrderStatus.DRAFT:
return {
localized: intl.formatMessage(orderStatusMessages.draft),
status: StatusType.INFO,
};
case OrderStatus.UNCONFIRMED:
return {
localized: intl.formatMessage(orderStatusMessages.unconfirmed),
status: StatusType.INFO,
};
case OrderStatus.PARTIALLY_RETURNED:
return {
localized: intl.formatMessage(orderStatusMessages.partiallyReturned),
status: StatusType.INFO,
};
case OrderStatus.RETURNED:
return {
localized: intl.formatMessage(orderStatusMessages.returned),
status: StatusType.INFO,
};
}
return {
localized: status,
status: StatusType.ERROR,
};
};
export const transformAddressToForm = (data?: AddressType) => ({
city: data?.city || "",
cityArea: data?.cityArea || "",
companyName: data?.companyName || "",
country: data?.country?.code || "",
countryArea: data?.countryArea || "",
firstName: data?.firstName || "",
lastName: data?.lastName || "",
phone: data?.phone || "",
postalCode: data?.postalCode || "",
streetAddress1: data?.streetAddress1 || "",
streetAddress2: data?.streetAddress2 || "",
});
export function maybe<T>(exp: () => T): T | undefined;
export function maybe<T>(exp: () => T, d: T): T;
export function maybe(exp: any, d?: any) {
try {
const result = exp();
return result === undefined ? d : result;
} catch {
return d;
}
}
export function only<T>(obj: T, key: keyof T): boolean {
return Object.keys(obj).every(objKey =>
objKey === key ? obj[key] !== undefined : obj[key] === undefined,
);
}
export function empty(obj: {}): boolean {
return Object.keys(obj).every(key => obj[key] === undefined);
}
export function hasErrors(errorList: UserError[] | null): boolean {
return !(
errorList === undefined ||
errorList === null ||
errorList.length === 0
);
}
export function getMutationState(
called: boolean,
loading: boolean,
...errorList: any[][]
): ConfirmButtonTransitionState {
if (loading) {
return "loading";
}
if (called) {
return errorList.map(hasErrors).reduce((acc, curr) => acc || curr, false)
? "error"
: "success";
}
return "default";
}
export interface SaleorMutationResult {
errors?: any[];
}
type InferPromiseResult<T> = T extends Promise<infer V> ? V : never;
export const extractMutationErrors = async <
TData extends InferPromiseResult<TPromise>,
TPromise extends Promise<FetchResult<TData>>,
TErrors extends ReturnType<typeof getMutationErrors>,
>(
submitPromise: TPromise,
): Promise<TErrors> => {
const result = await submitPromise;
const e = getMutationErrors(result);
return e as TErrors;
};
export const hasMutationErrors = (result: FetchResult): boolean => {
if (!result?.data) {
return false;
}
return Object.values(result.data).some(
({ errors }: SaleorMutationResult) => errors.length > 0,
);
};
export const getMutationErrors = <
T extends FetchResult<any>,
TData extends T["data"],
TErrors extends TData[keyof TData]["errors"],
>(
result: T,
): TErrors[] => {
if (!result?.data) {
return [] as TErrors;
}
return Object.values(result.data).reduce(
(acc: TErrors[], mut: TData) => [
...acc,
...(mut.errors || []),
...(mut?.results?.flatMap(res => res.errors) || []),
],
[] as TErrors[],
) as TErrors;
};
export function getMutationStatus<
TData extends Record<string, SaleorMutationResult | any>,
>(opts: MutationResult<TData>): ConfirmButtonTransitionState {
const errors = getMutationErrors(opts);
return getMutationState(opts.called, opts.loading, errors);
}
export function getMutationProviderData<TData, TVariables>(
mutateFn: MutationFunction<TData, TVariables>,
opts: MutationResult<TData> & MutationResultAdditionalProps,
): PartialMutationProviderOutput<TData, TVariables> {
return {
mutate: variables => mutateFn({ variables }),
opts,
};
}
export const parseLogMessage = ({
intl,
code,
field,
}: {
intl: IntlShape;
code: string;
field?: string;
}) =>
intl.formatMessage(errorMessages.baseCodeErrorMessage, {
errorCode: code,
fieldError:
field &&
intl.formatMessage(errorMessages.codeErrorFieldMessage, {
fieldName: field,
}),
});
interface User {
email: string;
firstName?: string;
lastName?: string;
}
export function getUserName(user?: User, returnEmail?: boolean) {
return user && (user.email || (user.firstName && user.lastName))
? user.firstName && user.lastName
? [user.firstName, user.lastName].join(" ")
: returnEmail
? user.email
: user.email.split("@")[0]
: undefined;
}
export function getUserInitials(user?: User) {
const hasName = user?.firstName && user?.lastName;
const hasEmail = !!user?.email;
if (hasName) {
return `${user.firstName[0] + user.lastName[0]}`.toUpperCase();
}
if (hasEmail) {
return user.email.slice(0, 2).toUpperCase();
}
return undefined;
}
interface AnyEventWithPropagation {
stopPropagation: () => void;
}
export function stopPropagation<T extends AnyEventWithPropagation>(
cb: (event?: T) => void,
) {
return (event: T) => {
event.stopPropagation();
cb(event);
};
}
interface AnyEventWithPreventDefault {
preventDefault: () => void;
}
export function preventDefault<T extends AnyEventWithPreventDefault>(
cb: (event?: T) => void,
) {
return (event: T) => {
event.preventDefault();
cb(event);
};
}
export interface DateTime {
date: string;
time: string;
}
export function joinDateTime(date: string, time?: string) {
if (!date) {
return null;
}
const setTime = time || "00:00";
const dateTime = moment(date + " " + setTime).format();
return dateTime;
}
export function splitDateTime(dateTime: string) {
if (!dateTime) {
return {
date: "",
time: "",
};
}
// Default html input format YYYY-MM-DD HH:mm
const splitDateTime = moment(dateTime).format("YYYY-MM-DD HH:mm").split(" ");
return {
date: splitDateTime[0],
time: splitDateTime[1],
};
}
export function generateCode(charNum: number) {
let result = "";
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (let i = 0; i < charNum; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
export function isInEnum<TEnum extends {}>(needle: string, haystack: TEnum) {
return Object.keys(haystack).includes(needle);
}
export function findInEnum<TEnum extends {}>(needle: string, haystack: TEnum) {
const match = Object.keys(haystack).find(key => key === needle);
if (!!match) {
return haystack[needle as keyof TEnum];
}
throw new Error(`Key ${needle} not found in enum`);
}
export function findValueInEnum<TEnum extends {}>(
needle: string,
haystack: TEnum,
): TEnum[keyof TEnum] {
const match = Object.entries(haystack).find(([_, value]) => value === needle);
if (!match) {
throw new Error(`Value ${needle} not found in enum`);
}
return needle as unknown as TEnum[keyof TEnum];
}
export function parseBoolean(
a: string | undefined,
defaultValue: boolean,
): boolean {
if (a === undefined) {
return defaultValue;
}
return a === "true";
}
export function capitalize(s: string) {
return s.charAt(0).toLocaleUpperCase() + s.slice(1);
}
export function transformFormToAddressInput<T>(
address: T & AddressTypeInput,
): T & AddressInput {
return {
...address,
country: findInEnum(address.country, CountryCode),
};
}
export function getStringOrPlaceholder(
s: string | undefined,
placeholder?: string,
): string {
return s || placeholder || "...";
}
export const getDatePeriod = (days: number): DateRangeInput => {
if (days < 1) {
return {};
}
const end = moment().startOf("day");
const start = end.subtract(days - 1);
const format = "YYYY-MM-DD";
return {
gte: start.format(format),
lte: end.format(format),
};
};
export const isDarkTheme = (themeType: ThemeType) => themeType === "dark";
export const transformAddressToAddressInput = (data?: AddressType) => ({
city: data?.city || "",
cityArea: data?.cityArea || "",
companyName: data?.companyName || "",
country: findInEnum(data?.country?.code || "", CountryCode),
countryArea: data?.countryArea || "",
firstName: data?.firstName || "",
lastName: data?.lastName || "",
phone: data?.phone || "",
postalCode: data?.postalCode || "",
streetAddress1: data?.streetAddress1 || "",
streetAddress2: data?.streetAddress2 || "",
});
export function getFullName<T extends { firstName: string; lastName: string }>(
data: T,
) {
if (!data || !data.firstName || !data.lastName) {
return "";
}
return `${data.firstName} ${data.lastName}`;
}
export const flatten = (obj: unknown) => {
// Be cautious that repeated keys are overwritten
const result = {};
Object.keys(obj).forEach(key => {
if (typeof obj[key] === "object" && obj[key] !== null) {
Object.assign(result, flatten(obj[key]));
} else {
result[key] = obj[key];
}
});
return result;
};
export function PromiseQueue() {
let queue = Promise.resolve();
function add<T>(operation: (value: T | void) => PromiseLike<T>) {
return new Promise((resolve, reject) => {
queue = queue.then(operation).then(resolve).catch(reject);
});
}
return { queue, add };
}
export const combinedMultiAutocompleteChoices = (
selected: MultiAutocompleteChoiceType[],
choices: MultiAutocompleteChoiceType[],
) => uniqBy([...selected, ...choices], "value");
export type WithOptional<T, K extends keyof T> = Omit<T, K> &
Partial<Pick<T, K>>;
export const getBySlug = (slugToCompare: string) => (obj: SlugNode) =>
obj.slug === slugToCompare;
export const getById = (idToCompare: string) => (obj: Node) =>
obj.id === idToCompare;
export const getByUnmatchingId =
(idToCompare: string) => (obj: { id: string }) =>
obj.id !== idToCompare;
export const findById = <T extends Node>(id: string, list?: T[]) =>
list?.find(getById(id));