From 402bec7683f24b392b57d2b8425dd947e17316bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:22:40 +0200 Subject: [PATCH 01/30] Bump @types/node from 17.0.24 to 17.0.26 (#3061) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.24 to 17.0.26. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6c9c113108..13bcd84a59 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@svgr/webpack": "^6.2.1", "@types/dom-mediacapture-record": "^1.0.11", "@types/lodash-es": "^4.17.6", - "@types/node": "17.0.24", + "@types/node": "17.0.26", "@types/react": "17.0.43", "@types/react-dom": "17.0.14", "@types/react-redux": "7.1.23", diff --git a/yarn.lock b/yarn.lock index 7976b3c047..1ad892196e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1294,9 +1294,9 @@ version "0.7.31" resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" -"@types/node@*", "@types/node@17.0.24": - version "17.0.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.24.tgz#20ba1bf69c1b4ab405c7a01e950c4f446b05029f" +"@types/node@*", "@types/node@17.0.26": + version "17.0.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.26.tgz#1bbff9b23ee5a64f87b4f30c0c854b112ee2e635" "@types/node@^10.1.0": version "10.17.60" From aa263c67dc01757e42c288a8b0d1c4c4fbb13d99 Mon Sep 17 00:00:00 2001 From: ljupcovangelski Date: Wed, 27 Apr 2022 17:50:41 +0200 Subject: [PATCH 02/30] Bump version to 0.44.0-alpha --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 8298bb08b2..03eeeb66fc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.43.0 +0.44.0-alpha From fc7c6a028776bf42bd7bad95b334233ff55aa7a5 Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Thu, 28 Apr 2022 14:27:01 +0200 Subject: [PATCH 03/30] [#3092] Adding name to webhooks (#3094) * adding name to webhooks * fixed the tests * fix test * fix more tests --- .../airy/core/api/admin/WebhooksController.java | 8 +++++++- .../api/admin/payload/WebhookListPayload.java | 1 + .../admin/payload/WebhookSubscribePayload.java | 1 + .../api/admin/payload/WebhookUpdatePayload.java | 1 + .../core/api/admin/WebhooksControllerTest.java | 17 ++++++++++++----- backend/avro/webhook.avsc | 4 ++++ .../core/webhook/consumer/ConsumerTest.java | 1 + .../core/webhook/publisher/PublisherTest.java | 2 ++ 8 files changed, 29 insertions(+), 6 deletions(-) diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java index 1c846c2cd1..6f92cc0d6e 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java @@ -45,6 +45,7 @@ public ResponseEntity subscribe(@RequestBody @Valid WebhookSubscribePayload p final UUID id = Optional.ofNullable(payload.getId()).orElse(UUID.randomUUID()); final Webhook webhook = Webhook.newBuilder() .setId(id.toString()) + .setName(payload.getName()) .setEvents(payload.getEvents().stream().map(EventType::getEventType).collect(Collectors.toList())) .setEndpoint(payload.getUrl().toString()) .setStatus(Status.Subscribed) @@ -85,6 +86,9 @@ public ResponseEntity update(@RequestBody @Valid WebhookUpdatePayload payload if (payload.getUrl() != null) { webhook.setEndpoint(payload.getUrl().toString()); } + if (payload.getName() != null) { + webhook.setName(payload.getName().toString()); + } if (payload.getEvents() != null) { webhook.setEvents(payload.getEvents().stream().map(EventType::getEventType).collect(Collectors.toList())); } @@ -138,7 +142,6 @@ public ResponseEntity webhookInfo(@RequestBody @Valid We @PostMapping("/webhooks.list") public ResponseEntity webhookList() { final List webhooks = stores.getWebhooks().stream() - .filter(((webhook) -> webhook.getStatus().equals(Status.Subscribed))) .map(this::fromWebhookList).collect(Collectors.toList()); return ResponseEntity.status(HttpStatus.OK).body(new WebhookListResponsePayload(webhooks)); } @@ -146,6 +149,7 @@ public ResponseEntity webhookList() { private WebhookResponsePayload fromWebhook(Webhook webhook) { return WebhookResponsePayload.builder() .id(webhook.getId()) + .name(webhook.getName()) .events(webhook.getEvents()) .headers(webhook.getHeaders()) .status(webhook.getStatus().toString()) @@ -156,8 +160,10 @@ private WebhookResponsePayload fromWebhook(Webhook webhook) { private WebhookListPayload fromWebhookList(Webhook webhook) { return WebhookListPayload.builder() .id(webhook.getId()) + .name(webhook.getName()) .events(webhook.getEvents()) .headers(webhook.getHeaders()) + .status(webhook.getStatus().toString()) .url(webhook.getEndpoint()) .build(); } diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookListPayload.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookListPayload.java index e1d0c16b72..1fd84d357d 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookListPayload.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookListPayload.java @@ -14,4 +14,5 @@ public class WebhookListPayload { private String url; private Map headers; private List events; + private String status; } diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookSubscribePayload.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookSubscribePayload.java index b8f191a481..5725eb2b1b 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookSubscribePayload.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookSubscribePayload.java @@ -20,6 +20,7 @@ public class WebhookSubscribePayload { private UUID id; @NotNull private URL url; + private String name; private Map headers = new HashMap<>(); private List events = new ArrayList<>(); private String signatureKey; diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java index 7928ba5eac..732dabb5cb 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java @@ -18,6 +18,7 @@ @AllArgsConstructor public class WebhookUpdatePayload { private URL url; + private String name; private Map headers = new HashMap<>(); private List events = new ArrayList<>(); private String signatureKey; diff --git a/backend/api/admin/src/test/java/co/airy/core/api/admin/WebhooksControllerTest.java b/backend/api/admin/src/test/java/co/airy/core/api/admin/WebhooksControllerTest.java index dd4fe7d8fe..84df53b169 100644 --- a/backend/api/admin/src/test/java/co/airy/core/api/admin/WebhooksControllerTest.java +++ b/backend/api/admin/src/test/java/co/airy/core/api/admin/WebhooksControllerTest.java @@ -83,15 +83,16 @@ public void canManageWebhook() throws Exception { webTestHelper.post("/webhooks.info", infoPayload).andExpect(status().isNotFound()); final String url = "http://example.org/webhook"; + final String name = "webhook name"; final String xAuthHeader = "auth token"; final EventType subscribeEvent = EventType.MESSAGE_CREATED; final EventType newSubscribeEvent = EventType.MESSAGE_UPDATED; - final String subscribePayload = String.format("{\"id\":\"%s\",\"url\":\"%s\",\"headers\":{\"X-Auth\":\"%s\"},\"events\":[\"%s\"]}", - webhookId, url, xAuthHeader, subscribeEvent.getEventType()); + final String subscribePayload = String.format("{\"id\":\"%s\",\"name\":\"%s\",\"url\":\"%s\",\"headers\":{\"X-Auth\":\"%s\"},\"events\":[\"%s\"]}", + webhookId, name, url, xAuthHeader, subscribeEvent.getEventType()); - final String updatePayload = String.format("{\"id\":\"%s\",\"url\":\"%s\",\"headers\":{\"X-Auth\":\"%s\"},\"events\":[\"%s\", \"%s\"]}", - webhookId, url, xAuthHeader, subscribeEvent.getEventType(), newSubscribeEvent.getEventType()); + final String updatePayload = String.format("{\"id\":\"%s\",\"name\":\"%s\",\"url\":\"%s\",\"headers\":{\"X-Auth\":\"%s\"},\"events\":[\"%s\", \"%s\"]}", + webhookId, name, url, xAuthHeader, subscribeEvent.getEventType(), newSubscribeEvent.getEventType()); when(serviceDiscovery.getComponent(Mockito.anyString())).thenCallRealMethod(); @@ -113,12 +114,14 @@ public void canManageWebhook() throws Exception { webTestHelper.post("/webhooks.subscribe", subscribePayload) .andExpect(status().isOk()) .andExpect(jsonPath("$.id", equalTo(webhookId))) + .andExpect(jsonPath("$.name", equalTo(name))) .andExpect(jsonPath("$.url", equalTo(url))) .andExpect(jsonPath("$.headers['X-Auth']", equalTo(xAuthHeader))); retryOnException(() -> webTestHelper.post("/webhooks.update", updatePayload) .andExpect(status().isOk()) .andExpect(jsonPath("$.id", equalTo(webhookId))) + .andExpect(jsonPath("$.name", equalTo(name))) .andExpect(jsonPath("$.url", equalTo(url))) .andExpect(jsonPath("$.headers['X-Auth']", equalTo(xAuthHeader))) .andExpect(jsonPath("$.events", hasSize(2))), @@ -128,6 +131,7 @@ public void canManageWebhook() throws Exception { retryOnException(() -> webTestHelper.post("/webhooks.info", infoPayload) .andExpect(status().isOk()) .andExpect(jsonPath("$.id", equalTo(webhookId))) + .andExpect(jsonPath("$.name", equalTo(name))) .andExpect(jsonPath("$.url", equalTo(url))) .andExpect(jsonPath("$.headers['X-Auth']", equalTo(xAuthHeader))), "Webhook was not stored" @@ -145,6 +149,7 @@ public void canListWebhooks() throws Exception { new ProducerRecord<>(Topics.applicationCommunicationWebhooks.name(), UUID.randomUUID().toString(), Webhook.newBuilder() .setEndpoint("http://endpoint.com/webhook") + .setName("webhook name") .setId(UUID.randomUUID().toString()) .setStatus(Status.Subscribed) .setSubscribedAt(Instant.now().toEpochMilli()) @@ -153,6 +158,7 @@ public void canListWebhooks() throws Exception { new ProducerRecord<>(Topics.applicationCommunicationWebhooks.name(), UUID.randomUUID().toString(), Webhook.newBuilder() .setEndpoint("http://endpoint.com/webhook-2") + .setName("webhook name 2") .setId(UUID.randomUUID().toString()) .setStatus(Status.Subscribed) .setSubscribedAt(Instant.now().toEpochMilli()) @@ -161,6 +167,7 @@ public void canListWebhooks() throws Exception { new ProducerRecord<>(Topics.applicationCommunicationWebhooks.name(), UUID.randomUUID().toString(), Webhook.newBuilder() .setEndpoint("http://endpoint.com/webhook-2") + .setName("webhook name 2") .setId(UUID.randomUUID().toString()) .setStatus(Status.Unsubscribed) .setSubscribedAt(Instant.now().toEpochMilli()) @@ -170,7 +177,7 @@ public void canListWebhooks() throws Exception { retryOnException(() -> webTestHelper.post("/webhooks.list") .andExpect(status().isOk()) - .andExpect(jsonPath("$.data", hasSize(lessThanOrEqualTo(2)))), + .andExpect(jsonPath("$.data", hasSize(lessThanOrEqualTo(4)))), "list did not return all results" ); } diff --git a/backend/avro/webhook.avsc b/backend/avro/webhook.avsc index 9947320ac0..a2785e0209 100644 --- a/backend/avro/webhook.avsc +++ b/backend/avro/webhook.avsc @@ -7,6 +7,10 @@ "name": "id", "type": "string" }, + { + "name": "name", + "type": "string" + }, { "name": "events", "type": { diff --git a/backend/webhook/consumer/src/test/java/co/airy/core/webhook/consumer/ConsumerTest.java b/backend/webhook/consumer/src/test/java/co/airy/core/webhook/consumer/ConsumerTest.java index c5153fd761..0fdf1fc701 100644 --- a/backend/webhook/consumer/src/test/java/co/airy/core/webhook/consumer/ConsumerTest.java +++ b/backend/webhook/consumer/src/test/java/co/airy/core/webhook/consumer/ConsumerTest.java @@ -100,6 +100,7 @@ void canSendOutEvents() throws Exception { final String endpoint = "http://customer-endpoint.com/webhook"; final Webhook webhook = Webhook.newBuilder() .setEndpoint(endpoint) + .setName("webhook name") .setHeaders(Map.of( "user-defined", "header" )) diff --git a/backend/webhook/publisher/src/test/java/co/airy/core/webhook/publisher/PublisherTest.java b/backend/webhook/publisher/src/test/java/co/airy/core/webhook/publisher/PublisherTest.java index 7045925408..79a7a054e0 100644 --- a/backend/webhook/publisher/src/test/java/co/airy/core/webhook/publisher/PublisherTest.java +++ b/backend/webhook/publisher/src/test/java/co/airy/core/webhook/publisher/PublisherTest.java @@ -96,6 +96,7 @@ void canPublishMessageToQueue() throws Exception { final Webhook acceptAll = Webhook.newBuilder() .setEndpoint("http://endpoint.com/accept") + .setName("webhook name") .setId(UUID.randomUUID().toString()) .setStatus(Status.Subscribed) .setSubscribedAt(Instant.now().toEpochMilli()) @@ -103,6 +104,7 @@ void canPublishMessageToQueue() throws Exception { final Webhook selective = Webhook.newBuilder() .setEndpoint("http://endpoint.com/selective") + .setName("webhook name") .setEvents(List.of( EventType.MESSAGE_CREATED.getEventType(), EventType.CONVERSATION_UPDATED.getEventType() From eabe700a29916ec6c945e1e28d07f4b9826db795 Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Thu, 28 Apr 2022 15:55:24 +0200 Subject: [PATCH 04/30] [#3109] Make name optional webhook (#3111) * adding name to webhooks * fixed the tests * fix test * fix more tests * make webhook name optional --- backend/avro/webhook.avsc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/avro/webhook.avsc b/backend/avro/webhook.avsc index a2785e0209..4702359195 100644 --- a/backend/avro/webhook.avsc +++ b/backend/avro/webhook.avsc @@ -9,7 +9,11 @@ }, { "name": "name", - "type": "string" + "type": [ + "null", + "string" + ], + "default": null }, { "name": "events", From b30380174257240dda091d2a7cf9df7193e10b77 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Pena Rodriguez Date: Thu, 28 Apr 2022 17:55:29 +0200 Subject: [PATCH 05/30] House clean/move contacts dto to library (#3112) * move Contacts dto to model * use model library --- backend/api/contacts/BUILD | 1 + .../core/contacts/ContactsController.java | 2 +- .../java/co/airy/core/contacts/Stores.java | 8 +++--- .../payload/ContactResponsePayload.java | 2 +- ...ontactWithMergeHistoryResponsePayload.java | 2 +- .../payload/CreateContactPayload.java | 2 +- .../payload/UpdateContactPayload.java | 2 +- .../airy/core/contacts/DeleteContactTest.java | 2 +- .../airy/core/contacts/ListContactsTest.java | 2 +- .../core/contacts/UpdateContactsTest.java | 2 +- .../airy/core/contacts/util/TestContact.java | 2 +- backend/model/contacts/BUILD | 17 +++++++++++ .../java/co/airy/model/contacts}/Contact.java | 28 +++++++++---------- .../model/contacts}/ConversationContact.java | 2 +- .../model}/contacts/MetadataRepository.java | 2 +- 15 files changed, 47 insertions(+), 29 deletions(-) create mode 100644 backend/model/contacts/BUILD rename backend/{api/contacts/src/main/java/co/airy/core/contacts/dto => model/contacts/src/main/java/co/airy/model/contacts}/Contact.java (93%) rename backend/{api/contacts/src/main/java/co/airy/core/contacts/dto => model/contacts/src/main/java/co/airy/model/contacts}/ConversationContact.java (91%) rename backend/{api/contacts/src/main/java/co/airy/core => model/contacts/src/main/java/co/airy/model}/contacts/MetadataRepository.java (94%) diff --git a/backend/api/contacts/BUILD b/backend/api/contacts/BUILD index 09978d180f..2d965faccc 100644 --- a/backend/api/contacts/BUILD +++ b/backend/api/contacts/BUILD @@ -7,6 +7,7 @@ load("//tools/build:container_release.bzl", "container_release") app_deps = [ "//backend:base_app", "//backend/model/conversation", + "//backend/model/contacts", "//backend/model/metadata", "//backend/model/message", "//lib/java/uuid", diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/ContactsController.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/ContactsController.java index 6fd71452e2..a9e696b302 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/ContactsController.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/ContactsController.java @@ -1,7 +1,7 @@ package co.airy.core.contacts; import co.airy.avro.communication.Metadata; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import co.airy.core.contacts.payload.ContactInfoRequestPayload; import co.airy.core.contacts.payload.ContactResponsePayload; import co.airy.core.contacts.payload.ContactWithMergeHistoryResponsePayload; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/Stores.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/Stores.java index 08d3f856f5..cf619b6119 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/Stores.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/Stores.java @@ -2,8 +2,8 @@ import co.airy.avro.communication.Message; import co.airy.avro.communication.Metadata; -import co.airy.core.contacts.dto.Contact; -import co.airy.core.contacts.dto.ConversationContact; +import co.airy.model.contacts.Contact; +import co.airy.model.contacts.ConversationContact; import co.airy.kafka.schema.application.ApplicationCommunicationContacts; import co.airy.kafka.schema.application.ApplicationCommunicationMessages; import co.airy.kafka.schema.application.ApplicationCommunicationMetadata; @@ -35,8 +35,8 @@ import java.util.Map; import java.util.UUID; -import static co.airy.core.contacts.MetadataRepository.newContactMetadata; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.CONVERSATIONS; +import static co.airy.model.contacts.MetadataRepository.newContactMetadata; +import static co.airy.model.contacts.Contact.MetadataKeys.CONVERSATIONS; import static co.airy.model.metadata.MetadataKeys.ConversationKeys.CONTACT; import static co.airy.model.metadata.MetadataRepository.getId; import static co.airy.model.metadata.MetadataRepository.getSubject; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactResponsePayload.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactResponsePayload.java index cf1731a45c..9f886b33a5 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactResponsePayload.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactResponsePayload.java @@ -1,6 +1,6 @@ package co.airy.core.contacts.payload; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import com.fasterxml.jackson.databind.JsonNode; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactWithMergeHistoryResponsePayload.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactWithMergeHistoryResponsePayload.java index d5d575195e..bf9bf2bae9 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactWithMergeHistoryResponsePayload.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/ContactWithMergeHistoryResponsePayload.java @@ -1,6 +1,6 @@ package co.airy.core.contacts.payload; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import com.fasterxml.jackson.databind.JsonNode; import lombok.AllArgsConstructor; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/CreateContactPayload.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/CreateContactPayload.java index 86305f1c30..e6dd1c867f 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/CreateContactPayload.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/CreateContactPayload.java @@ -1,6 +1,6 @@ package co.airy.core.contacts.payload; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import com.fasterxml.jackson.databind.JsonNode; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/UpdateContactPayload.java b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/UpdateContactPayload.java index 7307d68cc3..9cd36caf9a 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/UpdateContactPayload.java +++ b/backend/api/contacts/src/main/java/co/airy/core/contacts/payload/UpdateContactPayload.java @@ -1,6 +1,6 @@ package co.airy.core.contacts.payload; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import com.fasterxml.jackson.databind.JsonNode; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/backend/api/contacts/src/test/java/co/airy/core/contacts/DeleteContactTest.java b/backend/api/contacts/src/test/java/co/airy/core/contacts/DeleteContactTest.java index 71fa0db0e9..8cce5248ad 100644 --- a/backend/api/contacts/src/test/java/co/airy/core/contacts/DeleteContactTest.java +++ b/backend/api/contacts/src/test/java/co/airy/core/contacts/DeleteContactTest.java @@ -2,7 +2,7 @@ import co.airy.spring.core.AirySpringBootApplication; import co.airy.spring.test.WebTestHelper; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import co.airy.core.contacts.payload.DeleteContactPayload; import co.airy.core.contacts.util.TestContact; import co.airy.core.contacts.util.Topics; diff --git a/backend/api/contacts/src/test/java/co/airy/core/contacts/ListContactsTest.java b/backend/api/contacts/src/test/java/co/airy/core/contacts/ListContactsTest.java index ab2fc37ae9..c7fae3cf4f 100644 --- a/backend/api/contacts/src/test/java/co/airy/core/contacts/ListContactsTest.java +++ b/backend/api/contacts/src/test/java/co/airy/core/contacts/ListContactsTest.java @@ -1,6 +1,6 @@ package co.airy.core.contacts; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import co.airy.core.contacts.util.TestContact; import co.airy.core.contacts.util.Topics; import co.airy.kafka.test.KafkaTestHelper; diff --git a/backend/api/contacts/src/test/java/co/airy/core/contacts/UpdateContactsTest.java b/backend/api/contacts/src/test/java/co/airy/core/contacts/UpdateContactsTest.java index a90594c2b0..f2f5fc0d35 100644 --- a/backend/api/contacts/src/test/java/co/airy/core/contacts/UpdateContactsTest.java +++ b/backend/api/contacts/src/test/java/co/airy/core/contacts/UpdateContactsTest.java @@ -1,6 +1,6 @@ package co.airy.core.contacts; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import co.airy.core.contacts.util.TestContact; import co.airy.core.contacts.util.Topics; import co.airy.kafka.test.KafkaTestHelper; diff --git a/backend/api/contacts/src/test/java/co/airy/core/contacts/util/TestContact.java b/backend/api/contacts/src/test/java/co/airy/core/contacts/util/TestContact.java index e23b5a94de..43f67c8bfc 100644 --- a/backend/api/contacts/src/test/java/co/airy/core/contacts/util/TestContact.java +++ b/backend/api/contacts/src/test/java/co/airy/core/contacts/util/TestContact.java @@ -1,6 +1,6 @@ package co.airy.core.contacts.util; -import co.airy.core.contacts.dto.Contact; +import co.airy.model.contacts.Contact; import co.airy.spring.test.WebTestHelper; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.JsonNode; diff --git a/backend/model/contacts/BUILD b/backend/model/contacts/BUILD new file mode 100644 index 0000000000..eb9858919e --- /dev/null +++ b/backend/model/contacts/BUILD @@ -0,0 +1,17 @@ +load("@com_github_airyhq_bazel_tools//lint:buildifier.bzl", "check_pkg") +load("//tools/build:java_library.bzl", "custom_java_library") + +custom_java_library( + name = "contacts", + srcs = glob(["src/main/java/co/airy/model/contacts/**/*.java"]), + visibility = ["//visibility:public"], + deps = [ + "//:jackson", + "//:lombok", + "//backend/model/conversation", + "//backend/model/metadata", + "//lib/java/log", + ], +) + +check_pkg(name = "buildifier") diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/dto/Contact.java b/backend/model/contacts/src/main/java/co/airy/model/contacts/Contact.java similarity index 93% rename from backend/api/contacts/src/main/java/co/airy/core/contacts/dto/Contact.java rename to backend/model/contacts/src/main/java/co/airy/model/contacts/Contact.java index 0107ffc94b..6238c8c134 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/dto/Contact.java +++ b/backend/model/contacts/src/main/java/co/airy/model/contacts/Contact.java @@ -1,4 +1,4 @@ -package co.airy.core.contacts.dto; +package co.airy.model.contacts; import co.airy.avro.communication.Metadata; import co.airy.log.AiryLoggerFactory; @@ -27,19 +27,19 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import static co.airy.core.contacts.MetadataRepository.newContactMetadata; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.ADDRESS; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.AVATAR_URL; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.CONVERSATIONS; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.CREATED_AT; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.DISPLAY_NAME; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.GENDER; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.LOCALE; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.ORGANIZATION_NAME; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.MERGE_HISTORY; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.TIMEZONE; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.TITLE; -import static co.airy.core.contacts.dto.Contact.MetadataKeys.VIA; +import static co.airy.model.contacts.MetadataRepository.newContactMetadata; +import static co.airy.model.contacts.Contact.MetadataKeys.ADDRESS; +import static co.airy.model.contacts.Contact.MetadataKeys.AVATAR_URL; +import static co.airy.model.contacts.Contact.MetadataKeys.CONVERSATIONS; +import static co.airy.model.contacts.Contact.MetadataKeys.CREATED_AT; +import static co.airy.model.contacts.Contact.MetadataKeys.DISPLAY_NAME; +import static co.airy.model.contacts.Contact.MetadataKeys.GENDER; +import static co.airy.model.contacts.Contact.MetadataKeys.LOCALE; +import static co.airy.model.contacts.Contact.MetadataKeys.ORGANIZATION_NAME; +import static co.airy.model.contacts.Contact.MetadataKeys.MERGE_HISTORY; +import static co.airy.model.contacts.Contact.MetadataKeys.TIMEZONE; +import static co.airy.model.contacts.Contact.MetadataKeys.TITLE; +import static co.airy.model.contacts.Contact.MetadataKeys.VIA; import static co.airy.model.metadata.MetadataRepository.getSubject; import static java.util.stream.Collectors.toMap; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/dto/ConversationContact.java b/backend/model/contacts/src/main/java/co/airy/model/contacts/ConversationContact.java similarity index 91% rename from backend/api/contacts/src/main/java/co/airy/core/contacts/dto/ConversationContact.java rename to backend/model/contacts/src/main/java/co/airy/model/contacts/ConversationContact.java index 41b9f73cf2..e7ba65c989 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/dto/ConversationContact.java +++ b/backend/model/contacts/src/main/java/co/airy/model/contacts/ConversationContact.java @@ -1,4 +1,4 @@ -package co.airy.core.contacts.dto; +package co.airy.model.contacts; import co.airy.model.conversation.Conversation; import co.airy.model.metadata.dto.MetadataMap; diff --git a/backend/api/contacts/src/main/java/co/airy/core/contacts/MetadataRepository.java b/backend/model/contacts/src/main/java/co/airy/model/contacts/MetadataRepository.java similarity index 94% rename from backend/api/contacts/src/main/java/co/airy/core/contacts/MetadataRepository.java rename to backend/model/contacts/src/main/java/co/airy/model/contacts/MetadataRepository.java index d4650b1695..b467a48346 100644 --- a/backend/api/contacts/src/main/java/co/airy/core/contacts/MetadataRepository.java +++ b/backend/model/contacts/src/main/java/co/airy/model/contacts/MetadataRepository.java @@ -1,4 +1,4 @@ -package co.airy.core.contacts; +package co.airy.model.contacts; import co.airy.avro.communication.Metadata; import co.airy.model.metadata.Subject; From d51a4e350eaa433384e82307996dd089c0e5fccc Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Fri, 29 Apr 2022 12:11:02 +0200 Subject: [PATCH 06/30] [#3109] Make name optional webhook (#3117) * adding name to webhooks * fixed the tests * fix test * fix more tests * make webhook name optional * finx subscribe --- .../co/airy/core/api/admin/WebhooksController.java | 11 ++++++++--- .../core/api/admin/payload/WebhookUpdatePayload.java | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java index 6f92cc0d6e..280303aa4f 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/WebhooksController.java @@ -79,9 +79,6 @@ public ResponseEntity update(@RequestBody @Valid WebhookUpdatePayload payload if (webhook == null) { return ResponseEntity.notFound().build(); } - if (webhook.getStatus().equals(Status.Unsubscribed)) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(fromWebhook(webhook)); - } if (payload.getUrl() != null) { webhook.setEndpoint(payload.getUrl().toString()); @@ -98,6 +95,14 @@ public ResponseEntity update(@RequestBody @Valid WebhookUpdatePayload payload if (payload.getSignatureKey() != null) { webhook.setSignKey(payload.getSignatureKey()); } + if (payload.getStatus() != null) { + if (Status.Subscribed.toString().equals(payload.getStatus().toString())) { + webhook.setStatus(Status.Subscribed); + } + if (Status.Unsubscribed.toString().equals(payload.getStatus().toString())) { + webhook.setStatus(Status.Unsubscribed); + } + } try { stores.storeWebhook(webhook); diff --git a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java index 732dabb5cb..f097932fef 100644 --- a/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java +++ b/backend/api/admin/src/main/java/co/airy/core/api/admin/payload/WebhookUpdatePayload.java @@ -22,6 +22,7 @@ public class WebhookUpdatePayload { private Map headers = new HashMap<>(); private List events = new ArrayList<>(); private String signatureKey; + private String status; @NotNull private UUID id; } From 5ccebf6d83cd818c6f105c0e673f3d95d2ece957 Mon Sep 17 00:00:00 2001 From: AudreyKj <38159391+AudreyKj@users.noreply.github.com> Date: Fri, 29 Apr 2022 15:06:10 +0200 Subject: [PATCH 07/30] =?UTF-8?q?[#3108]=C2=A0control=20center=20update=20?= =?UTF-8?q?(#3114)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * control center update * typo fix * updated images --- docs/docs/ui/control-center/catalog.md | 12 +++++++---- docs/docs/ui/control-center/components.md | 12 ----------- docs/docs/ui/control-center/introduction.md | 20 ++++++++++-------- docs/docs/ui/control-center/status.md | 12 +++++++++++ docs/docs/ui/overview.md | 13 +++++++++--- docs/sidebars.js | 2 +- .../img/sources/google/googleConnect.png | Bin 45745 -> 134571 bytes .../sources/instagram/instagramConnect.png | Bin 63853 -> 197456 bytes .../img/sources/twilio/whatsAppConnect.png | Bin 43734 -> 125041 bytes docs/static/img/ui/controlCenterCatalog.png | Bin 0 -> 46251 bytes .../img/ui/controlCenterCatalogDemo.png | Bin 74478 -> 0 bytes .../img/ui/controlCenterCatalogExample.png | Bin 26110 -> 0 bytes .../static/img/ui/controlCenterComponents.png | Bin 89163 -> 0 bytes .../static/img/ui/controlCenterConnectors.png | Bin 88156 -> 39349 bytes .../img/ui/controlCenterConnectorsDemo.png | Bin 73816 -> 0 bytes docs/static/img/ui/controlCenterStatus.png | Bin 0 -> 72204 bytes docs/static/img/ui/ui.png | Bin 0 -> 30858 bytes 17 files changed, 42 insertions(+), 29 deletions(-) delete mode 100644 docs/docs/ui/control-center/components.md create mode 100644 docs/docs/ui/control-center/status.md create mode 100644 docs/static/img/ui/controlCenterCatalog.png delete mode 100644 docs/static/img/ui/controlCenterCatalogDemo.png delete mode 100644 docs/static/img/ui/controlCenterCatalogExample.png delete mode 100644 docs/static/img/ui/controlCenterComponents.png delete mode 100644 docs/static/img/ui/controlCenterConnectorsDemo.png create mode 100644 docs/static/img/ui/controlCenterStatus.png create mode 100644 docs/static/img/ui/ui.png diff --git a/docs/docs/ui/control-center/catalog.md b/docs/docs/ui/control-center/catalog.md index 6a712b1c98..779d9d53c8 100644 --- a/docs/docs/ui/control-center/catalog.md +++ b/docs/docs/ui/control-center/catalog.md @@ -5,15 +5,19 @@ sidebar_label: Catalog import useBaseUrl from '@docusaurus/useBaseUrl'; -The Catalog page of the [Control Center](/ui/control-center/introduction) lists the available [connectors](/sources/introduction) that can be connected to an Airy Core app. You can choose which connector you want to add and configure it easily (see [Configuration](catalog#configuration) below). +The Catalog page of the [Control Center](/ui/control-center/introduction) lists both the [connectors](/sources/introduction) that have been installed and those that are not installed. + +In the Catalog 'Not Installed' list, you can choose which connector you want to add and configure it easily (see [Configuration](catalog#configuration) below). A connector is listed in the [Connectors](connectors) page once it has been successfully connected. ## Example -The screenshots below come from a sample Airy Core app. Its Control Center UI show that the app is already connected to the [Airy Live Chat](/sources/chatplugin/quickstart), [Facebook Messenger](/sources/facebook), [WhatsApp](/sources/whatsapp-twilio), [Google Business Messages](/sources/google), and [Instagram](/sources/instagram) connectors. The [SMS](/sources/sms-twilio) connector is listed in the Catalog: it hasn't been added to the app yet and is available to connect. -Control Center Connectors Example -Control Center Catalog Example +The screenshots below come from a sample Airy Core app's Control Center UI. + +The Catalog shows that the app is already connected to the [Airy Live Chat](/sources/chatplugin/quickstart), [Facebook Messenger](/sources/facebook), [WhatsApp](/sources/whatsapp-twilio), [Google Business Messages](/sources/google), and [Instagram](/sources/instagram) connectors. The [SMS](/sources/sms-twilio) connector hasn't been installed yet and is available to connect. + +Control Center Catalog Example ## Configuration diff --git a/docs/docs/ui/control-center/components.md b/docs/docs/ui/control-center/components.md deleted file mode 100644 index fc2d8659e9..0000000000 --- a/docs/docs/ui/control-center/components.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Components -sidebar_label: Components ---- - -import useBaseUrl from '@docusaurus/useBaseUrl'; - -The Components section of the [Control Center](/ui/control-center/introduction) provides a graphical overview of Airy Core's different [components](/getting-started/components) and their status. - -The data displayed in this comprehensible table is served by the [client.config endpoint](/api/endpoints/client-config). - -Control Center diff --git a/docs/docs/ui/control-center/introduction.md b/docs/docs/ui/control-center/introduction.md index 231bac874b..818fd90262 100644 --- a/docs/docs/ui/control-center/introduction.md +++ b/docs/docs/ui/control-center/introduction.md @@ -10,21 +10,23 @@ import ConnectorsSVG from "@site/static/icons/connectorsIcon.svg"; import CatalogSVG from "@site/static/icons/catalogIcon.svg"; import useBaseUrl from '@docusaurus/useBaseUrl'; -The Control Center serves as a technical dashboard: it provides a graphical overview of an Airy Core instance's [components](/getting-started/components) and [connectors](connectors) while its [catalog](catalog) enables to choose and configure additional [connectors](connectors). +The Control Center serves as the technical dashboard of your Airy Core app. + +It provides both a graphical overview and a way to manage your app's [components](/getting-started/components), [connectors](connectors), and [webhooks](/api/webhook). Its [catalog](catalog) enables you to choose and configure additional [connectors](connectors). } iconInvertible={true} - title='Components' - description="Get an overview of your app's components and their status" - link='ui/control-center/components' + title='Status' + description="Get an overview and manage your app's components and their status" + link='ui/control-center/status' /> } title='Connectors' iconInvertible={true} - description="View and manage your app's connectors" + description="View and configure your app's connectors" link='ui/control-center/connectors' /> -Screenshots of the Control Center UI: -Control Center Components Demo -Control Center Connectors Demo -Control Center Catalog Demo +Screenshots of the Control Center's Status, Connectors, and Catalog pages. +Control Center Status Demo +Control Center Connectors Demo +Control Center Catalog Demo diff --git a/docs/docs/ui/control-center/status.md b/docs/docs/ui/control-center/status.md new file mode 100644 index 0000000000..24294e2595 --- /dev/null +++ b/docs/docs/ui/control-center/status.md @@ -0,0 +1,12 @@ +--- +title: Status +sidebar_label: Status +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +The Status section of the [Control Center](/ui/control-center/introduction) provides a high-level overview of all your Airy Core app's [components](/getting-started/components) and their status. It also allows you to enable [components](/getting-started/components) through a toggle and see their status change in real time. + +The data displayed in this comprehensible table is served by the [client.config endpoint](/api/endpoints/client-config). + +Control Center diff --git a/docs/docs/ui/overview.md b/docs/docs/ui/overview.md index 440b66d8f8..5afc84d6ba 100644 --- a/docs/docs/ui/overview.md +++ b/docs/docs/ui/overview.md @@ -14,9 +14,9 @@ import TLDR from "@site/src/components/TLDR"; Not every message can be handled by code, which is why Airy comes with different UIs ready for you and your team to use. -While the [Chat Plugin](sources/chatplugin/overview.md) is the open-source chat UI for your website and app visitors, Airy UI offers all of the UI interfaces you need internally for a messaging platform. +While the [Chat Plugin](sources/chatplugin/overview.md) is the open-source chat UI for your website and app visitors, Airy UI offers all of the interfaces you need internally for a messaging platform. -Airy UI comes with two open-source, customizable separate UIs: the [Inbox](inbox/introduction) and the [Control Center](control-center/introduction). +Airy UI comes with two open-source, customizable separate UIs: the [Inbox](inbox/introduction) and the [Control Center](control-center/introduction). Both can be accessed through a common landing page (see screenshot below). The [Inbox](inbox/introduction) offers [instant messaging](inbox/messenger) along with [search, filtering](inbox/messenger#search-and-filter) and [tags](inbox/tags) to organize your conversations. @@ -39,6 +39,13 @@ The [Control Center](control-center/introduction) provides a technical dashboard /> +Screenshot of the Airy UI landing page: +UI Demo + +
+
+
+ Screenshot of the [Inbox](inbox/introduction): Inbox Messenger Demo @@ -47,4 +54,4 @@ Screenshot of the [Inbox](inbox/introduction):
Screenshot of the [Control Center](control-center/introduction): -Control Center Demo +Control Center Demo diff --git a/docs/sidebars.js b/docs/sidebars.js index 717ad75a1b..16787228c9 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -85,7 +85,7 @@ module.exports = { { 'Control Center': [ 'ui/control-center/introduction', - 'ui/control-center/components', + 'ui/control-center/status', 'ui/control-center/connectors', 'ui/control-center/catalog', ], diff --git a/docs/static/img/sources/google/googleConnect.png b/docs/static/img/sources/google/googleConnect.png index 0ade0b7055e741e61f9c2e09f866a5f0a2a68cf5..344b577b7b26c51737c206f55cae01c1e4c14f42 100644 GIT binary patch literal 134571 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

(?x(zTdgA7ZkEeO|5EcU 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

Anv}u@+kObvo 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 EFU*`M(EtDd literal 45745 zcmdSBWk8f&*FQQ#cS%Tt2na|@=SYWu(v5(WNOupdASI>bAkr{MHz)`wIW!F2L)Xyt zAH47LJnwrx{J)$}=la6FcC7tdYp=ETy7t<`hnE^kgm^S~004kcMOj`80Kf+U0N6M< z=%|{{;@{Z;0JO`OFLV^{?(RH2J&~v9hsd+^ZzU&Z7w+!vr{|ab<8V~Z_3b_6>BaHs z8S?C6=iq4f;CO9ocYYOt*x5fgI@#PiI61#OIyqb3*xElnfiJDiF0W55tW3-;FRpLd zRGmF~{6xrSU}Iy$+uQs0_U`KH`ugU^*Vp&v=5}^&&fh=a;NbAvw{Jl~L7knQM@L7E zjg9B$=i%WIl$4aIsi~Wro3XKRLqkI$AtCVz30qrRXJ==Hg+*{Ud}?ay`1rUS3SC-S z%E-v@^75*zs`~TiPg`4CPfySL4;Cgx*yPL79%2N(>Vn4ABJu*4Nh;6cn(sbDf-?^6~L4E-n%h z5;iq8F*7p{4-fMR2%({&b#!!KU|`VE(aFln?(FPfVPTn=n)M8g*3{IxxVW};_4fDo zv$C>kXuh`~)!KcT zmI@r|9i2M8yfsdkc#}G{x^ud;zFF7$^F`!nYQt*dk6-E8kYI2~XCG{Q8To{h=WAh! zOZ|Bfv{KY>P)bUwx~X+${bX?NP%&&cJ1;*ZG@_<&yQrjWb#o`AWHIk2qI&x35P7<_ zf2bWZ7GJZne}w#A*W{cvgFL^63|;!QoOdr@H^X)pHcw)^FWlU{!hT*HonG&r-mV

62b<1*DV`cMgs{PtT;M z3vK~`3O5z`=Q=*{ow)@K+8(r?!`%VpW3tpxASO;%Lo&HCE!lE78XMCN3@g2$$c2Wi z2!hl56T^d(K=d*9*GKZYZm&2*T7YE4Ke(Bg<-g6kMn;_QHa7Y+6L z#&~W}b*P{`R@Vp{^{N~{MC-tyVX~B#q8!||fGr3*5Nf3?~j?;sP9P}Ps z$q`v7T}CGpM1jH{&Rcf3>vx!2rN=MEnUkAYtqtrM+|Vs_o4BVUTD=Y-u^tef=?ljZ z9+kdua2{wpo~}u0O{d>}j`EwC!!HaxJm6HGUhfYGxRdLN-c9<~X^_`YFITEHqi|=c zq>;p$70Np2k(k!J%65DB<8Z#JFI!!#eTxt!z3yu|QK%#+bWp$4xQ-sSd5l4`2J|+>~mlL6~uQLPOcs?9FCdgm5ANV6i5>v*%1^8|_j5i;jRd5@9ZC zGcSmL8++V?YIyR5rd$)BYD>D^Ex+~94XzRUNLg(y$8m-TLAaZRH%zJYPrpJX4}%S2 z9wci}Bp>p3)$|Or0kQbq4jc=i+xmK;YNo_dq_%pby+nG9I=HF9&YMeb%4^r32enb0 zi$sH4M852>5N9l+{IY&<*|&-I4$V}0D$SPOa9A=z4H6lCoC2F z6<#Tj;JVc051);DT6jFu2KD|h3fOntU0y`A_$bAxO_djDvIIC+&*VC$#4i-UPfqeO zhgNU1evV=xI(my&Nm&TR7%R*6wWV88LX$*BDZqDrj6~Jx6q&^P>#~o%orY0w0kUQv{h>N^znLe!7Bov{UJ(_# za<{L{-bgy7C(k*eNFLdvBhxsA;;BA+%iPejR5A6S&$EKi0bqABaw{U%c}r#|W08-I zbtF;#K)=T{v6l}>FMDFV4(DfX->bG9tlEcP8B&}U>0Or#U)1oNh46P462Rs?Ir54- z$FSYARHr~-lrn8tDUgc>T1%5tPHaYSZjZK$m0!7>nemmLetfz-P^UM(d$t1Wf9u@ChGZV^TqPO`ZYE$4JYm)i$4 zvc6jAIk8ov+S#J_i=+PRdL-Bp)_)nDzZ3K}SY#aeeaFdS+0e80_RM}qQTuDXA8SgB zL&jc-e^q*ug!Q3HP(+reh!f#7HloCdV}JT?BdBp+E8FKzS7@_ui$Yh%u1J%dw*VWF zJHs728BMk!vN9@YF4q(0C%uHS6Hor0+TON(k}qP-o+HK3l@}zBGn8Kf|7{8!k;TDsl z_Tb6!nM1m?Xpzy$>EGEd4N0%ECV8!6=3KYTAD*$JyB`{U3o-414YAG5Ze)MX?ZS-D)ypw9H8-7`@Zcu?m8~w!u8)yg~PhITGY<+fF=I6LtMGdijXCO7Kee%7D8}Bi( z-I#8H2A_B{^p^71kaMx3jOm5QKdk6k$T*#sdZpw%D@+)Fua}1IvGlA@fJW+rL8b|% z4@7;ThA$mn*v|oS812RnNY~4Vc6Zy#eRaB`?AG@qZLm<6BfRK4Z^=uA6h=9)M)-1T zXYFbzUBP&5S=O@>{~|5uTwqs2=J{70(;!dA2b&`3TMZ@^4@cfc;6WqOPd#=tInsKP zgIGZA9|@jH<5Em!~5Rg_}`lCR|1X3rc=f~v=G3A`#_A;m{)!^^Rr_1G!}}Ufm%UU?#X5x!F-Ix z1>C~uB>~oL&J!zVQftL(m5}-%OZzl`PTY)mto&;p36SRIic}Tyu|v!k(^*c?RStXf zL@ahv@%+)rFUMgSRCuFFuFu$WxH<56BWFrJl@8k3wg-sq(r zC_D-rF~&r0ly``0d7W5*D{{q{fFzzWW@5%5+iMhHy9H*s+t_#q?Ne~DK zi0fjJQHpO#=4}$xW#jr4P+#Er`-Nl%2WYa?%Ioc@fM0y@WO>%ha(FDI~K;FE6t-R)wakk z3;yX+w6|%sYi+thyST8kvdOg@%LWk&_pYIN0KL#D;d#;zLVl;av1cd0VgaU(jtDY- zO)!IUgvV|X3AYV6XzHf%`dv9 z3>&p;P1abn!NPr(`*tNysUwMw<@>}1%%OH{Q zL9hAPB-Qpz@lrd{)c9rEDh^Ce7TJi7JVf#<4y5t(tHem4VhsZ{HPJ`rz7tF}bh5Zn z<WE#jdsCWCDn zzeCFCGE4A7+p+uG?xlvrMu}VOItENNZ8b@w0>KviY0dd&CrOroc<6SkUZ>VWq#I9GK_TLf}|A7Ia|HE^V!^(CEt*z_2<+ zw|vR2dpIE%n#YIk@dP}$JgN7 z9Cnb*ZxV=Z*KxR)2KPZ$w13sZ(;Eh~8XES*_{=|=2XnRr(_VWeo~9IOtJHQB3L(2M!v3jMwFVHC65IH{5jue_NIsrRI2&8NAsPitOV_M?0&tu1}5fNH;Ds2DaP zcslEgkP!7@EH5aB*8AhDnXgvR@iuRKn6=y96Ce!$5Wr!WdUV=1qcuONV_JRq)pTux zmZHAGh5%+BL*Us51(*hmIvq(SLWwv8^p6`@+LPCUJU71*20vG_I6NJnnl&Wi-WNTa z!YLPBfZ7_kca4a?(?Gfxd)2(nCbjfKEl2NR6Fif3iwFkSX0~jd*N%H{;JpXDw7AT` zK*jei=aeU3U7%NyG03i#OhEz53Yv5HPG;^Wy+}a$pDcEVDr^Le`yn|sEIZ>FHmgw1 zLFGj5vY+eTq^&0H)7ewnI%{Y3;{wt|8MYCLvf^&9xO&5MmxnwwjIwQ-tz6KA94OD1 zn0)2WOlKWEK!uLQAOiLjPK5D%3f~Zuf zQ5@3`{&T@CPK^hr9h&PIkr}eT)3eTGKRf)Erz$&9xd!^_yw3##xO09ohIt9=s~1QC zjp7(%pvUXmKVy_25HjC~4*2p~d zeaVAOnx5Uz4JrZDf>xBo>zFbQ(Lt`pd^~psibWnkG1tv}Y^b7ngct?Nu=3c=7|mbO zu6=9Z^h8qea;-;2AS!y71j^yDp^ohq#`p-;`r4&T2E-S|^FQ@=xf>V1*#)GLZ71gv z7nN43Ug$Cwv$Ypig$_JVaSs=iUBC=<&$6vHJHHgMgQ8+vB#=3A^F}NY#3ERjcDs7* z0WCvn8fF>%(%4-LeU4`lpCwObEPJx_txC?>m_St2jGsAqThoTTVdq^2>0G;6ZK97N zgCE`7vfKpKq`Qgx*H`gp^yePv#SNwFEU67-E-v8I>Y8(sY)9+J*TlkH?~*wDd{pBzk;_+nTd%85@8iF8^qEz{h4Px*vfI7wD6e*%k}4_1bwp%V(V4wl1_^=Vl_p` zZqpUakC6n@SGc+W&`@Xv8jWt{cu*S#Y#QnGkw9vfowJMDNnc2}XKhs;ou&jJZraC6 zxq(2VW-F8RDRp-vhXzA4h|g)wE0({~tbce`8|ozR)hge+-AgJviX&WIfFriuXTh>H z82R=ER*rGvQGVq|pb_oUOTOaeG0dKiJv!j*%!lb&?s`V@>CU}BBn8|#YKv`ppJIF| z>AldR?d_$(yWQLs)j!k|PSVS&9*6O)2zKoDD@pMiP4C&ql8Wh9_vI&xyqV2AoOQ}E z8uS=bpOlxvZW$vTIDM8lV&9`3pBdN#&fZvZ7Eh2`cnQ8#wXbUncQ$Q z{k3QX+o1B&KT8`;6=PX5ax8@91xpS?scn&w>37Xh^}F_}^(&wC8p;ZY*;41a22TY$ z2!oDMAMvN9hTgm~`q$1ZApb(jiH$r=>?6kku?W6Ilar_0+&$U)JJS(+;MVQ|)VfYp zbT``L=dL*l#llJ^raUlqJoo5PA27G-{%YC& zYI%E7oF@U?vhQ2qE<7vrtJ)peiVZ7oX;4H^L`A_GbI-7LUzKj;VhR#Hx6`LJcF28c zIjTLExH^GCNGJGw($-`|!bCHO=jBW;U4RjhqmQ;w{ryP+xM0Q4!T+EhZhRtoLL0$B z4NqHBcep9>B^eAxDzDJo51k%Sj)A2RHz z=NirHgA2k?<3K@A2dPP$ipuM5JOt_DvYjd%xdfJvXCHYNymU;=LBY8-3(Oj5QggRu z^v-uF-z^LZyCwht67*w6-PP07mJdJmsk@I7NK@6Nv~FzZZru+#h|g~tEr(VFtFqO5 zyQRNu$Xbw72xGeh5M!rW z*`JOt0?163E_D_AGdhlmzYGN2sTG;hY-|!pX`6#+)lB*Yj~6b>?RIut%2YLUM0IQ3M0& z=UYySe+jn}q;uMT=bY1(AU%Tx07p=k`aEp%vGo_Fi-mRtIhCbMR-e3t&5dfXJofmA z7#_5_`xD z+S?nc?@$W3A|AJEvRUXiKZUSvou8Osdh8L9oTufhTb!wbvXj-vtZo4wEUU+_9ZDzr zwpw3vL36Rkr-s80y>$Tq1G|+caS?QKzTYb=Df$|-%gJLna>HVMx++jZpNzTou9lZ4 z4|Of8)>Ua$Ovb$8jX-XvqlB&C&G5UGyq`H!U$07*nGG33bz<2%6+>Z)I&x*RWIU7Q z?6D-eFnJOVChF+%Yv>s2pi)5@CM8_P;`&k7k*ZYwu_#1NHmdYxMZ6VC@b9&lCfOS$ zi4fzm_Kn|-P)c??`PQOQ$6!FUH2>U;^J!tU8Ic}JP)rl9Z#ULtIh?ZPByIB#$o5HK z`3FWmro$-FBf3551jMkA-!kMtlO6OcjXG-08)N_gU*ajO7FnD+f@;(HxPe6Fm#(Ao zjksGQ!DdFPH!XresH5Qdy$y(P&=A{UfZ31`%B*KI2ygt*rJx%JYbX*2sVYi^LmRXx z&$DRCDs{mki!xZ$Uh|_1yM_a0*hmc2Q7sOt^;{V^5b<{2u2$xp55B86iUR~lzlGMq z9f49&g-6Uv%-KKy57#6HlHG-kTN@qFAju7s@>V(uQbW{z00K;)b>Qr0A`FHy=z#v} zRB(2EsMEGB0Ic~PLg;kL{uSkjpf8_i%=Bx@qk5R+hYHul7fzp^g#iHW<=l{p#R|c0 z3;>@5nqQls)DIwlZ@~yvthx840S{pMyCO9Bb^x##u`n?3i&KmHt-2f<;B$TfxXox| zseKWZWUEBY&xJ;VV$MATxJ!!aOznV+;G%#rgkYgsQ9ZSQjwt4j&EDZ@paj4K!9;P6 zX7sm6A9aY1k^)K=V6Y;p=7}&SJ1Tf1fuRTjfZTtJah>Nt0EXb-DOgZ7WZ_afL4kMKcyvLjt=Od{@EZ z{Tlp>qD7;k^BS7viW{8>1lOAU0?F-MQ}3 zFhL4Ec^71ALhnJL`H5>DT`z`E++!etjW(ujC{6p9L)!h%JE;~VZ+0)}dzew|Q1U?H zPmlc#Po=pKGHv}mMEmBa^0!U*ynl8CF|J-D9SEP`T_WtWgKxL1vFn2g=mV#vu1;)G z0s&8BA%kw+12X(D=`Sw|Wkw5?hKQU^kK|A9*{LQ(kPM29MseuFhK{eV*2}QmlJ7-f zLko+#m^=QIZHXDU;d*;MXe`rua&W7k6u&UvTQ$KOTwXg3VN-ihCN;IGt)_N!SQ>)e+vQYAPwNy< zl_B{y-#DT|I&Tez6p#Gd`QucQFk{Vi`8Ns_cKp-QjS`P8!}b#A^mjXSzxo{<4tK7UU&+2G zo!FyPa>VcC;WsS6V&6vZ!9QG7XKmP`9Hq!oC!I8STjmQ@lV4w7_hQ`yHO%ZqUdccF zhnZ^}kNym%^p-6lHTT*gjWJgvxFcCxGM8GSa$&&)6sQa7YyGt9%Zhe$C~Snj9J%$= z(#X(^2%q%Rw{9>(Pt`0(6c$=hFjml4x_m?Mo;tr#oPSj%R^{v?d7Pgkeap9+gvc;l zl;;P$e1T@lO{UY+FP-@miK9&)WpgPn2T!rz?aXY*!>ie9w~|e<+N?!r(O=Y6O*~D} zrwtE&Y6ZP zuVBd4iM@18T<}>|$pk~1PjO&VDUXKC=m_UBcf7sUo*w39oL-?iQe^}(HLkj^!z~gC_`y5-8_ zv>ts(XDG+7F*j!k;s`f{bXv-PLhHWZvgUCeB7drXBoLtTVL>&P71K}Xk-XfLxk2a8 z@cV?@6V4C~k`wCfJ~+p`;c!yAl%8)A(`Y76JoKzfBBcIiTU8p>}Nm7_?ze+x+%MO7@0)zsycRgJ+Dxop$>V#UmyZ zfzDo$d8#=hd(it&Ix5n_p&Ph0k5hy{F#jtIUYMEVW*vK11h0I)=2$%<=WM@*Q)9Mp z^Icjx@iG%E>1|e#+O&|fNpg>e)E=)|%Btg1oH(9GmYs;RNqzi3+UtI(#oQPQF4h{iLw$oK`+ft5$7{)7G7_;a8ZT3eWC? zdgm_ua?Q7;BN*_~C&6V}pY$}6V=A~y$8k_j1?AYXcti9SSOR<#ldv6eJUNWtG$dCy zZ0qEC#r#-(14=Gs#SRHV_(_`>^C*tRr=GA@|tjc)HaBE zKoDvo2ATU38sWdP`}c2m`(xMo|*t$Ta3 zqTcjV#7}zyNvN2_5uX|g8J{r5<-$`~say`*o2(NN#+mE(T+n2ek)fo-^^sN8u|nLH z&vrGur^^{r*p{-^ytOf<(a3($x!h7L*akHRjv!i~VYl?eZ;rB|y<0D|K&F|h(@k9s zZP~W1-93t_Oy7z#hc;HLTIrR>>nNFfTo^PVZFFi2la5`-L+oA5FxS*8w=@@0)fywM z&uHAi13G;&A@|G21j9k59LP`5x4L^llrfA_spJ~BERDYo#Gz5xH9nK$&iVNNbkoHd zwE3>lXj5Q-VH8xIoX5lSI6af2Oe~2UVYs2ndi+;jXt5yk2!H3*k7bS&F`&LevEF5$ zdYf+_uJ9cOA7dJsxs)N({zH+%=li?ywe-=^*t1m68LG*vW_K2tc~HsDz~1NJ1(Uc- z#Kerh*=zT1L6<^nBF~oX|4b3$EK%SnB21euv>WZDAf3~mZ1@|EUeydg*g$PHZ`Ce% zyCmnWy9}Nqi`{XsbOqhk&Y%B`&93VFrXJ|?26uq&_L)TOnhAu}p4kE>)wpHda8p`Q zy}16-5VD{%t=Gu@S7Yv_k9qlkN2u}>W#+}xK8c@?ND!-S55~KsY@arY5Z38R|J97Y z{l0#{Sc=6KUK$BoayZ*)!SP5*Ji9tHe+(1yau$uW{_8SA6d@HLOKY!bW4?9?Ml|lg zw%@E6DL^V|P;6+;H4rk#==uTC=g|zJS!I`(?@v6G~_A6~h{lR(;mnJs02IJzSXh z{l?6mVl9~F>uI}Fv*`h6Tjo}wZzcnw$qUG~BIQY|>|jY+6{Vfk_6N7TmLkiGxrJJX zoc_tZ+o>@V_uENGao(KKc$Z_VWC1zDWN8lLMa{MC@L(oY_u1<)PfxEK7A%g2LCm4?Bku6>iuPyd|w_7G0*sUX-Bh=>U+~p;kHOd?H z9OW`lwi_oYdHYOGWZx7SSMrl^d-$>ACT%CT!6?StNG*L#}bwH1al1xG+n=k8|`6Ko0J7-IUdcAf*Xd0t^*DICiAd$IB{V(wL zI(qk*2Sa7?>k6;u>26LUYyHsG>)dw3PAzs-~B+>#aac8L*vg7fD<4JR$dI$pL^VHjGlI4*L` z+<`-vy~7aK<3)RLn+R&Lb2Kj|*6RAvZWQn)4VpZNOc40_`V@p3J^|w>{UO~SV zAbTwBHo4t*4_7shXX%^p>EUCQ86TF6e&Hv-oKqo zEIdM6rUIRi{_fjkK1eu?i!36qoIAUGGQ8U<7&552kOlPHT6{Ta}YN@1*~+r=sg$* zp)mH&SaU zqjO2X8ikJ+D82stQD?z{4L>|nZerswqCHgP@K_Qsq;J;Ikj;Jhgd7h@Gv|8QM;tQO zGLJlyF8j8A%66Uih+Fh}5c_NY;e5fJuQYli!5Qv~n6bBim8R3P%C+e*CovFX$H&9< zVrRx%ny8ENbij?{3@!$b1G>jG&Yt_;A^bPvJnBNPdSIyfr<-UNj9=oqfE%xGB_df|G9006XR+b{zp(4A#e8oQQICF; zI$@B0LFvJ{TR-I_mKRm3vZ4>AG$3Fp+dmXTKWawX=55~k%ZDJjCilUGRk6%NZZe=a z=SpfTt0Ndft397Q#@tpy!xgq8#*2&GeA~1U6_mImWSK#E5*oo5%%GM+AzC+H zx^#)xz=0{vmIqe=z6_b4IIekQ{sc6$3l5rGY+F6otP;*IMTW}lB$0jgxSojrFwd4Z@$w01G?doS zBf+Q79v98yO*dhV5AUc(qF2Jh+BN!51o4kr9olVsKIYs1FNA>?RxiWlwlhQsLDdT6 zL>F;hGQWySheU1WBfc`oc1j<;-$_(fm0#Wb$_A?ADdz+Tp1PO?We?w^`DB0GRIs?u_Zg@!#o!)Y{-lI^V14BY7;$1dgS zjQWT@;W~3W-HRhD{I7zd2{x^arL|KajfZt>z@UuSvCtyp_+ul&Jj_5$G z=<7i=&;+aA?^m)d5P}<(I^{RYog0XhWr0=4+?)VwqCTJcm;$7_`+c7e`u@Q#*Lba+ zYw^NwW0r>X?00FzH{U$VCv*_|*c9wH?=l=Uf1@M!`Jp9V%Y^%O;}T7~@pp@4N^jx$ z9%QKX%YBIhL&RyD--2nK%r;5p``S+ITJHBkzC+TUVJD$0%eqdfUZ_jVg03s&@&PeV7I03ukVSwf29 zv(PEBD_pgCo{!3=MP2+_d>}=2{M{G4_u%FDC`OD$6JX%+69<4GcYVFU>_bq!%P-Xl zHusd)7ajf*qR`u$k9)ENg48+$#enp(GO^yat#3xGfE)jhrFgw=Pb<$_>3o=JVKr)- zkMHNsC4mgn59=;XO#l$4MG-$Wxj(+I$uW4I-?cr3GSB z$l-w_0Tna-n9ECVs@aHP?L7@8OhkJZcfjY)>DkYAOrKIu{%=6zA<`&7?CCMBF*L67V4Sb^D-Cs?z?tSg6@WJJT0(mH|x}QxeK-zfz~28EF2Onj+H} zqj$tb&W~Hkz|zjqjlJ2*ju!0e`X|3}w1ubVJce+_)|~Y_rK z+QFb-*e;zO1M6P@z0@MGuSHI}GW-EUnRYIrVg@znRNFVl%fwiD{RIiP&ux2GLf8^Nc)Wsf+}Q=lT)2^`y2WRGAh; zKq=%n!Fz^a!FOcE+=c?+xT%I4|M9!W85webrVrhpZ8y3@B6jZKnjL`Lhb857m28#FN;WsZ>)+x5Wx&r`@!OiAt{7|N7TQ z2Df>7IzmrzBM3mhj+U3vx7zszAc~Ir- zmt(>dcM3qZ1BB>;xV1cL*(^(U1$SISA1TyqQQl$WgMYMTRkI+rIND0tv$|q5yOoV==<{|y@H}5W{RYo(VN$$J%$J!~EH1{xdza_&dy*izi%noF zJ02#&zOA~B0hCi@{gI_*BNoj=BYU3grQe&lz;?tKEgrg^U4XiW2nK}Z88pRW=F6PI^aNZgmGZHlG_jkNgP5E0PI^^__Wa#^+-M2^Fz(1zPPEkO;UOv%{)1`-i~*uD3b7fSZx zmAdE$|mOX+QG=zT!?_9O#ztEL+n--~_(oUy_da%3BxIoh;_n3kmw_O94G+sP)u@y z3rd0oJEUWbFlEoQ-2~QDss+hBa3+CR&@NC*_58~HVH_+aM+UCD{_%8%Hwqh3^pQpE zbR`JG5P%5pYx(l-ckEV;n#+H81Lf2^p{~--w71|$0Xl`$H`q-3cStV-$ng+ zIJSv6CbD&4CMAY}o7T(C(Gb`!ZG939DKE5vg7R*=ia;8MzG;|y|H(msS=UPvNb$l8 zTN!c)ivV<-;4=#V$z9=r42ZqMG;Q|zAHsff!QK8!Wi6MFas?m`Wc+Q;ug%0C`YW@Z zl~hjoNSST6Gk(?OMo#+$J|s6xE!x>NjoZKzfGnh5y1qLfoY0+9F9tOIAQT3`Ufx}r z-!{z!NBXc)=xrGZJqFtS)?30S!2{68x+Vm5J{Hc|0H%{uJ#A}EN|-OyXvX6t{`z+p zLM^&z{+i~MDc_EqFzl>NYzQbwxLhDTEM_Wv$IbZuPn%Mqq~>9f_>bfxb&B|nRALDk zWV<#%&{5RPxBJJYnWEXgJ|2u)0+}t*(L(-)${?@qySe~>U}A1lj|rACIzYYJy0?Gy zv;uB}O*eZHwHb2z@eRx4w}j&u2;MiB-_am>{CkE>5smq%U7JC>&FQqLsM}7mk-CcK+zg`~p=_KInJ^zBgR}9_53tc0%g=S2RqO!|WNLWS! z(?*E3k>CIe07ra_c|jx7ZSGh#r!KD1?|`lGaj4R_FFF?v*mdl3m!`%8$Nd&1JCg}- zE@O=lhdEZ!4Cn7lZ%=;zpBwBe?z@X`#S_36-y(vZ^>E3V$J@nxe2kgxWF$1eQ|_JI z!;v{t<1`(8&6c0d2QKh^#C~>jU0dCvYPGJ72Tt84%sQvn;HKLb3g*W2m-h#rEoaD1 zyg!j-QXD9t#kT9SMe5{BdKrXx=D4EYoz1Pi$ZBC9#K99^O@Zi&Uzc-~xJL zOXwX^o}EQy9+1kb7(gPO9=ybeg?wjotaBtADcOpmBqMqHEm|4!Hf3bZ%0l;>qiK=u zn>T88tXIo1uPiyV0^YNlXBxYyJa&t5TWQKZ6g^%#6n$x%(SIFW_$!;bUsUmqzUoyP2|@OygiNI;g0havS3IZNRRDl@mEigDqYSF;1LHoZIw_1{sD9{a z`f=X#<43&`475qskekp8WhG+jq^<6uo*H(E-Y%p|{YKJ{)}%?^oN3{6wc(AA~2X+_^2 zYPnu>Vb;X^1l7Jjb&Ld``e+bKkE{RYzuXqFeVSGw>UA2UT1_Bxv&CMj&O#ar)s7YCZPDF}OTmqy+sEJ~bYEchj`?bxC5cgx7u1 zcCDb^JDb{;RC?~Vn)y8xjF~efD8gZ^QAc!@*o`(w$Fjq3}tJ z!`{r@_?6rw_iYd4x*d-=mKaM>J@4CgJ2ciO36(4k#`3@yyB0SRRsuOU9MuqXD#gZo z(MG!bU==SZP<$mRNW6r~Zfybw);1)#A=9E+JqmWCTK zB)Ee8fvDUtuH9v027WXu6J*kdAMhCd4fJTQ1x$W4oJRkxV z9kGW}x2Dft#?{)+AWs z_EdnOJ8-xC5a^M?B9x}R5zGPrIN{ncVqW`SWHQ3q*o7tzZ@F@0&cr-_Tozgo7h(Yx zQ^7U>r7&z)Q2~e)L-5Jl#bAb;xI<&q=MsVtDeQJyKJLDo zP6g=zr*UfyL}|~AC>H=Qi6KY@p$)`^7Xx<>1^3gs$M0I&T~7|z^rZcqy!wOB^iSqT z&@~sNx==sjYT!VH3W_dDATH?6`PyE3-h z8jyx9=sqPBz$S5@-v03iI6#7kBo1YRpiW3L>0mX^o!HOsQ`@L)_kDsIfR+ya+lFI@ zD&1#Af$I0i=dbaxJoqSZBOVnqwZ6EoAc37kB*~I;lJ(ywv;jcV`kaXOQDHw_Ox_E2 z{oBK{+xf9V$+fO(_`0&q{q$gPT?*M@Z<=c&%a_04(BOI|;k7^M_&FBm6P;JcFRm)l`RZHc9+we}noV8V4kd!`Ds;I;i6n zqmo$G=FL}GrPW9&#SxtNL?cB6ufW`=Rb9JFWf!2`<&jip^=i&ll@SJCN*_6*(jM() z-Iw<eW(HC^-Bx00MY&{(+$z35rKbJgf2y_LN)e>S&N`oLfYaT0!luuwYl1Dt6&Qw%i?dlygaE==`0_-OP zq@jZ`B3ydUs-InG$wj4rvtyN5F0_QX&e%2B6y9A}OFvGX^m;)dUxe&Qt&8tjQCsh1 z4OdoDc+$if-#S=8sinfd_8Gjlop>F1y(*!aW4^T{g$ejU52Pos$1e-tQFJZSo3j&T z4R;&%Gki0m3gYr?5iKqA73G$H2c6xpus-Pw4FLKI&}8X&>4=M)^6VCkFR22vK8Dwe zv@T_le-X2O5oHzWg5md#Inqfq)>(NA*9E1@E^?s48tR?py6WdWYs2IPN_dyNHsf>0 zs`hD32Gj)f{l6<)9*yN29UUpUIvTo~f@q1^u{~bWOOU~T{G<(*2VLbe2kp??DId9` z{6C6XPmKajr|yR`eG-)wbY6iJenxy%fuU4ht~4T+_!F4t;it^aN~&mk{(Z;Z_nTW_ zVR|SzY)jEywu~*49A^3{XM0Fv_1K-A832Id*fEE~!`-}+rq?3)G&&L~AMK8_y0bzG zKLSljp7oNCP`K`YgAv<8-`RoeQxv2W?x2Z3dL*W6K(yL;Kf4AMY<}~zq{?r#C=8GKu|LGEa-OPlnWzW`-?y;?a& zgoD7fPss7@p-E;FMIF$KazMEC=}gW9z2@bW-{^C475(nZBOl|Mn6d48n+47moE0&E zZ6IrYztd+NXB?!1&9nYxU}&ht>f~7@%C#wBdc;y-$H>aBM(8~9q|`d}Gq(x<%)!?3 z^Pq)9%vZ~{a%}aa?KA1Hd=~h0T|rO!(vl}t&&_W=b|kJZQDH6h=Xa6Me2g0Sh}S_? zlC8)Z7Bu(}cR0~R&kL`=_#B|324&%%mGjKWDNPYAP%q^V(-B3#DIXc0NX&rEp5pKu zzYmw!X?vg5m+bZQI=p!fFG-4^fgZRdMMf_Legc@ zGA1rrWsWBab|g;-F^!^!b*SyhI0R=tCdbx{I5m!YR1d@n&Nw#jX1niQxm6O1^0VEU zhwS%lNG#MQ21#G;i7_&?`twHq2oAWqk+5|y0Nrg254D@!o-Pf~$VlUa@Qg6E9TTTM z=Uiq(c{l*EB4j)H?X}yVZ z&I;RO9NI6on;98zu1E6?nAY0MVu|nEg>5;O&S`@;&eC$+8Jc;Y!0;@{5K%EXk2|P$PUm zXmiNuFmqNCJHX#-Fify|Q$9>I!Vs);AJmSANibv2HawtkOv}y372_D$Q(g2$c2Hx|d{| zk5s)|Ny^FXq>{T8(lS5`P{x1Ip%L!2gL*jLP1lh- zg&Ujy8m7-3FICE8rXifI-F!s@eeg9OtvqT(`C=C1((49%9~hwS6S&-AihoL+#Wd=b zH@c0Du`zw&n_d^{?d1Es-e{79n*xE^3{o<|{LcttBh>#xxT*_fgmc3z9Ey+YYQyE= zxgAs&Gz{>8W3O*JdRJnYaE21aJ+zyyze#_k~Aq zFU{Adud?g^(CkYWf56w!c+s;k|3zX_SgvWjg!y5RZ*b$nh^xvx@03!LzZpHD{)>=P ze{Z74X~|#B9Q_C@>U$_v6Y6n2g7t<}_m!+0yc>GF9(eO$(JJv*>sK@I%|DQ8^a1|W zMsY1jd)Red=st>3m19y_4uv-v!-IYrMYK|c(0G#kyb<|u(~P6&&RSFA8R|c{>Y0|p zbhhkK=N~v_NHYYCKYw%0O;?(;_EI&pI{IvkOmud2O_YiDuIhpo{sK36g}o6Q@Ny^{ zm|c{Nd3k~z=@X-yJ95i2kL}m*HJF6^b$Qt`hg9|`K59yZ)feJvl5X(kiq^N97yB9B z{@e#17?(nw@u!Lco&27XOR}sf*+Yh*?)L`!L*XE$zW>ACTgFA%b$!DOEl5eXlprb6 zATWY-DM(13fYQwX(xV_s3rN=>CEZ;oARs+-gY?ifbiK#mbzXNo_wRW>K40!n49BsL z9c!<>_S*jyJ0vc4h-gTOO?M>Ig55JW#y_92BdLjX2YGOsg%@3RT}XSk5FjvcCT{&0 z8+?ZZG5WDil0I^VfzD7-3@fQ8%BEAHq3N6WTjk{6`5dRO>^vN66oXxv;K>TADzW^| z%tBI46q;(okKn7#lT*Faubd@o>J_8<`}JpY+1&a0Ia`8h5A1zRT>xo?+o-co!PwO5D4k__4^9d;=#F8|!3W{8{eGTxak75XXK zVeA}PtofaJfa1LLA@mWCQ!a4YvrYZz_-78xED*`WuIh5 zMx2S2G^_UVuAcR}`)6`koRlbz?aAmx#|6ht<@kRYzw-wHX(u%ZP_QX*?ev+2|)X&kV1)kPzuueownXElj6P#y9wq zvBebUMU#9wr<8aTC%lTd=u1-))vbjk&NkD1V@*|Zt17y8;WE!HmDTVodANom@x;>X zRg>Efjx!Uc*t-j}62~00TO3(&|EwPk7(eFR5(se;?<9&fogFBvI478Q5ts2)%8?4;1wb5VHj96 z0#j8kgc2Kms^*rYR_lW9#pq3WI>%4boLhvj>Qx1dXej$}Av#tSYr*YmxDZkHoJA*6 zM0^m3$14QQ2fqXHqWmA)FxwZd1K)O;;lum+pMMG1_>2zGrPIHyGO!`;_$AfX^;0M= zSf|p!YntfK)VzYd`Z?5t9wB@W(pvvD#0XZxowdXXj}$6cl^1-u&c+V@ciLRoqZV=TQnEwVpwbjIG1! zSnV`ohp&4*7W43Hdfl*bx7(wgs=-X*MaXsU(r-1W23L1D;e&4M1f4&6IpIc?i!H%m z9N*0_@~c$-ybN$lj#Al|p8RAmA8qCoK4gs(-uhiw#*PwUtjRg>4LQ7JfG6mB9hQmo zN|0o8HJll;%SgwRuUD_v$E zAO6z$5U0Q$^G=Wn-sd)^Z+*-9js_p{CV3{48?%0fDp%XG1(7LR=CQlDQHzV@I>Z{) zRfCOvCR{&vjf(hoV)bIOsxaTa=AEJ*$LW`r4`3B`!VkNPi<`hsVv-$wAj_(d{qRns zKsbE}dR{Y-KEn#H3OxAn8)68Hoqa^ADS+Oe<{OjzLF->a3^VDA$%W_~zN}l|g-dFD z5vGVHIeeG=z{+}Bq0B{0o{8UO4h%aD&gc3ZQzmfys*C#jRM8TQ|4`xu5@I@X>VLAk zmR$rP`hB*%cIuI`_9A&S{>AX*B+{m&BQZ>CFWlO!j$~Bgo6QplZZ?@=El2G=Udvb8 zGI&_;Qa;YrlIWX)De>k;Km8@L^Ialw&TcP;j&!g)R6hCr%-J=!MZ|irr)L^=GlRPN zipeW&epo+D^%8rexU?6~YOnOv;VOvruw~mvNx3EBFQ3;JjB6t&XBmeMoj=Ll+(Uv$?>er4R8f|gPmnh=4L?0R z8&xR7s`M(nCAO+NWxZ9HI9iZDroTT}Gv3$;Xz4TfRuAf>&aZCqt;l($vFVF_^y+C& zQyO}}juTU9Z*@&}h^A+3{YPzG*^X>-uGnw<9_b&>rZp5aWsMtm8Hq9GAFoU#D2t`* zreD8FM{=BeE?p?Jby!mE1rDLjtIXwr9j;qru6zpZ==$fZzsqj7@4Xhi33H?c zLLmP3pn%sxSFQds?T4tGEp#xp4NJDW5Cb|s6u`1HsF0p==+5bU48#X6XLpbirXa{y z-&C&R15EMB*YI*O)C@d?-Lt|AMS)PjTQ$=Ut60F-7Gk(orN9u0;SXWYfsGyv4uE0< zEuwYEgGKDY>_6W|C&xX$_Xtqf(UVqx>><0dB9$EUeIJ+uXZnY*HxU=={)*A6E+fjy zUjR@YRpF+@H3_wObnY8f4={Q#xPp!#@#d|nObX7NVKh^4SNg7pu0hLs{0E@ z6AOmEVC^vgVwM2PSRs*@>ns^miup7=HH@z###&1vR!-#}pByjt@lrP>h>G1sb98x`A<&x!#<=IP6N)VwTdL9tT;Zqd2d2 z6vXpR?HTJ*_w@qHQ!SmDw(UPiW@W&-C`=My%)4Ha{-F%OgLiLHoD0wbpcm4!NmBG} z^BsNA>&N|!pT^OgidTDh7`##YL!Ew7czt^K+_Xb|v-O+H`TVg06y`1h|sNdLvYC(gSEvFQ=hwe1R0e;(;kN}Ez>U!?;R4x``6VJ6^}66FAoNZ zv(#ty+KM5VVSL5u_MoEC^lJM*Jv5<(bMihw5_m?OL0BmXl`I?Uvwc5BF`2w%HNN(P zNH6%NEhN1k_bsxUQ~{g(B@INMEj$VH{qylL9zqqI(%2D6=+($3`$2WA;SKSIh{k&| zCKz97Iz6aJ=f3%Y)yV8+>GfvJP7vS3?Mx^@HseFxrUtB*Z4u>Z zMShGo)`=(ayLL^(M@xu#ziKSx!R|5;(?^?E}Cex!t zhV}J0*lx)@_dULZMMT`J%^KaeaxGQcQ^8y-^l{Kwagm&xPh*1(P7FpsZ|taMbg0&g zf0b3oHI$|b9hyG&2#(M;8uPDYz(HPwly!mtJ_3V9CKD99JqLB`-w7TrY+T{sIjUWA z1n1@D6}oyb!RA<&LM|DuIPB|sJ!)m2`dV`AM87y?LD!!#d8%Fxd2a^h+w_xqpSWNs zEG)hG!mmK$!bqx5B`@Now&m}4-V@94g6;_J;|y`2hWg`Ti;Wfz(Aq z7v;|UvhTMI_Ee18O5nY%4Bf_dRL^{qN^Xf41(aUb+676(Zac5G_;irKJLYu29uyk4 z?^%grm6a9Z=l%3~y7^4O=}jYH_Er5_p~0x(j6W+kbm*(3Vac?eBx`)oa?LB#4TZ3eCNZ61^?H*EU7k zA|VuNVYpog&A$ne*~$j>adp)j^GG<4YP^`J~sGcb*_QL?%DRK8@N_O>ikniKpqim>@w>@WC zH6{+Q4^cMhHOHR9r5#r#E6;T1s}^Pq>m7vrf0%38f@@NE(JwYSAG{yicaDDT?y!@; zZ7e%d_H@t17HjSSTsMT0zGYPAVzBI4Yz1JEIEd5)`=?$}FN+8xu>mSG2g#HnItbK} zGhWbS;NMdZVJvgUf#9rCi@x3z(6o0+77NxrR?!9%hm8D zJc{x*^fGGdvOhZ9Lr9xl<)5s&gjF0RyIX>QI39H4vM{5f@{-FhAV46m<%iP_s3jWG zeH#&{Hg?MCZmx#kw&n43?+!X_4aQ}AGdIRx_h`vM90wd;5_!a`PfUD}BAK>bOtG7y zb{|JCX^;%0Z@P@6ThJnb-&Vs6&@VK@7RH+mBb|Az@eoH<>0%WRVO*p~w3O(8kfGfm zkjxgCktstvY9+3YZ5|`_a`ek?VEDxlGjIbgb@kp^wX$NAtn}DwmpFpXU+Y=zZTM6| zy!^QKnwaQ*G|w^+t~mObOpc~YyEL^JfNy(0I^ZGFEzIc#Z}j(V!aC$RExV4O10nT( zDi?=S@?dspjm|u4#;1VTSy0s@h9_@n2srXekELKi^j0)69HknnbOt3)8G215^$LEo zr!Bm%l=k0V?w+nO7JDTw$q4U`;d8{h<_lkIy|S3GjSVl^tzWM5Zo3CE;ze|`;UG5{ z1uAqc&3xNi7t9)+9w~KN zJoVn~e~rj{#2Oiih)b53mo|vjR@nQ!YGA?Ng_fK`i^-A07#EH)@kg$%G5iCnhAANx zE##n7RgH0fvqzV9VUc&0#zT#pCE70KOmw~489+vd?GGjrY%!62KaXvX z2BS^tz7?Tek3n2eOy51rM`>%>T=#Xs$pI5`xbwR4w>dU2HQEp07zVP(;UBUtE3Px9 znP9r(v#0CpJ-Gu7Q}EYe27)*gD#M2CPdbA^p(%itVbfe*xBJMY{*z`G~D0X9? zkpdtzDxMh#Qof59z8J^wT37%{vZ4Z{p-^5SXHVBwd#068F(TgCV5i0EPk=54Jtl`| z9)~w1bJbOdBDiagTZ!evn*oJIZvrH#*SoUzkzp5q(aQO~U|{p&nqP7DF>HtuP|vo+ zVHK)`O_Br|8ySczIax=mEFoaK{c8>z;!-J4`9pYDoJiN8Wh5{Cu5op21#g=0*_ny* z!_JpgH3vm$uLd1as^Gukr~l7LZne*gIDl^Qzh!{AAcp@heg28^=Nn^ZVQDEoYq<%H zic&ZXAd=rSzFOI7>Qd!G9Z+^aO?+x2t^vIbox7V`*#d)E8wTgC>(()R(!~jSzzV6T z$GA8xv?Jo%qxn2cM0pPpv+!=-lixctMkDzR>U|Q%#fa;M0?S52Z^N%BIgI)ezv64un|@H6KY5zqtJLkt2YqhYfi6;KVd87nV zGa1>I?DxSqbxOpT6P;O7G`Gbh>8V76M1_Qg{Efrf8!W*M0wAuvkd|n%U}E}L69F~^ z^4kp8k=g+0e9Sa-mvGVa+m;D`_!Dodv)M&*U41$$G0|uG$+z(>v#<5X>T(M*+;20( zfzN~jKfMaT2hLl=H1I)Ls)+C7t0TC%C9y61=9@L_8fo|Ab&x)9xQl9QYg}$?7N3t^ z{>Ai0>sd07&_R2i8OI6xKoKK+Xoon7fEOUWk~J7GglZkX`bMNOf;;%Rbl>Up`rJjX zCAE-)HB{@=f%R7U6#=4bK#QsG8^ZxB=Y+>t8388JlBtiz5Y_i#C?IJ9h6nj5b4k?0 zJ|+4bR@e&%HV?beiG-S3JUyQ}cox{L4E}89Z_3=mkVe$8lA-o_I&{&@+sq6D6&mTU)gtRvTPiTB{>YYSUTo4;M zE5pItAZ}j&G~6jm?`9o~@|ZX9CaMSz$dSa{k)E$%_cWVktQWPtTR54sb8or zzQ%@l;9ej1>W-54j^IjMcJ1~Lq;OgymxnLXXsf;(bNI(KDuXFGPfbiDVew><1XL(t z5icoo%H_XC;>JPFqoF`Gb8ZlPB*wqds24qKj%6D zfCng4n2zwjWhx>4&pA_2CuxwqDBXX{c=G5Usr>IWEYnV+S18m6s1y(h_TXEW)2WgB z`|{ow+q-->FEEMWjnp7t-6XL1?6Cqf;DoD&i(nK;s^{SE~)?_Lba1W2ADl-&(V)EtD$90LGUA!Pv_q_5L3VO-e*IHDZ=rlBvO6GX-mR+ z=_nw+B6&esh3?j}=<-%ua(|Ce@+l$^P#6LByOqX47H1W@6WVjaa5@{R*fniZP@nU<_bS zp@OgOidE!6rKnpPcmVM%RWA>2@vqHtG}-W_cbplf_owT+ba{-ANLw5Ja0c7kT$D&> z$KMOP4F>tTzkgo~KeaAT)|hZy&JlHRS_0S^q=tv#_14m-k-xbr51KX)WCE(R08dDf zGj2@NcS#%>)GcR}5bZ_|lf#=Nmfm;me>ik;uiO(lY5o8$ZXDcRkzPJS)Xx;482fH% zGej;6;4HtNut2|vvByJ<6JSBe2!Mxc7t+VsjT@j;Ns2D^xNEkhm%TY6Rg2Jw?;Ad=DWpLk170y^pYZ_{M*Qj~?#5{Qi{U-6j_%1R@;4 zF0wz2${hqqg(onNj)OXm2FF#wHbX~U4@U=2-j>>&tn*0F+<~d3-#L48fC(g3YQIft z%ey{TLxg9pPa~qHuvW+O;euOTk??H^fPF;0Ghhf7p@C;3X2i-M71c#enHW{R6Kt2% zHe!dy$HyxtHITIekCV0dru^!wo0Y`#E3+elIXXv1eG+(GeRp>nxnoNd zskmV=QqChkHGgGj?=g+)6O|Cj z1QpgqEfcNT(kIGC^Hjki#$V6gX&eJd`6Zu)T53dizq-Z$WRc^QpB!pJIW~59k5FTm z0bN1QGva(Frv0(Anz$2m%0`1I$2+NYei)We-Kk0j5)6L99EA&0O2>jLN_xb((N4+h zsh8PXPMI+ACiDE#vLs;K=H7gPjzn@bfMwFRHm3+-&{z74cyR*z(N(;t88yk|8l;3I2%L^F z3V}*ZyS6sJZSsvW6c(-4rjO<{uWsY=OY(XEpMCAY@ZlE5zw)4%;7WcVs1O~&=?Xb6 zgsOm^7qVM*7VV%nu;Rf3#Gpn&uqv!(_oy=c-p7CMzJ9{zz!&(JyN(J&S6@l#G;?fh z8CsE8W>6-X#6jk`nf}TCxh`K)%5h@H-=6K-q_BnkSCg7wc)U49iKoJVxWaFBb(`K# zLM3KD1Z+^8#oN6c|5?8|gyXSmKY;Bq7;+kpmIQE)A|_mrJ{=u?8r`NYODFfemw_Gd zR6q;vwZQLcdeQdT4!x>xhzw?IXE5Laop{{+a^a0xt0}&YklE?O(~s%5iXXag%f6uX z{Lc46n z-<=*g*&(LHQ*21K?(MOg{H;rJ!u3}#*~iNM)R*_CWb=JGcW2g{F%ha1np=~v9>kM8 zvqYzNt%>3*iTsNUb{%k>5o>4zN^$KqmUur7B~&rp?BHs7_#yPm8_eCU=$}J+P{P!E zo$rJl<_T;qdJjRbCyBFd&#t(Vj)Dpvfr*IDe2}d-5g3!UJsrg8kcHipbsS&za~@}` z(!h#Ia>B`}qIX>9D2VPm4Yws6q=8*WJTm&&wXEXtd|Ll}2r zT$x>4OYP`2(lG3ISej1+p+PyN$3`nu597~^^C^djzLIU!@TP4T3Z~#QlF3S8n=ZTE zgV(ec*9kdIS&hBEQE+i4gW+Fp4(ZzyMjk%d_o8yEZa(Lvx#mTk|xu zKVM`Uy^r`WTmpiB`L28QY5DQ{27;I%w)jLIfFtvr?qjwYKYnV#G>Ttg`?K6~ATj*+ zD`U)hPVU(U(06(_#Nbn6SOX0>_w8^i99yKjj{D1Z-rBF4k%pF!Yq+D9qCc0!G%TT! zcYkf#SFQ^t-qTKGwubsZf2+z9B8?Qkp1ENCl=(0wH{Q9S$|K?MH^bram+}dfgSrqb zL==61z1=+#8F3k%6rqaMSM>D>5IKcmU_B7PdUxC1aS8cZCbJU0N$bRTlus3C!jTG_{d~$7t6AU;N@;U;It@w=9`$Uz|S{f|4OsZc`I% z(e#N=)~Mo;vCmAWQJM_bkWe<~lKJ;Dn{#utR4Tv`qvK=^?Pk$1PU{`}*SC~oxiics zjU4GY904WKOt~OGeG=$R_Kr4kviIn(w_WjN4V2~)rGDJGVEi((_*^aYaOXeDD62Rd5(TKNjf zIP_WiKw~E$i2Kqfl>W!gHbrD#I#(j1^@$M{4ey;BAq~^bEuM3lL$V?ME!_TJc(L17suT?%D9U&hx#y>?4# zPzgq0&4IGJKQ{bb>_dJ$IOQ{cne}o79^9GO4hfgPOpZAAqq6x|%qN2do$!Bu8l1DF z=6=5WQxBR(p)HkDPB)0d!d_^%@3iw8XKk{fVBZo={vwhT9hpe?bjU<1eF00c^NoOk zQ?O||pFz`eyd6{@^D4M@k@T&>$GhX8aSv zRA>aZ1Yq{gF^%5BvQ4;gX0ayOq--r(Gg=cZbQM7WbUoKJww41txW9crwf925(%m=* zlSp(Tek|zkGBn9AZ!rvFK*)?fYOzJoPD)>mj*a(M{l7?%_9qSsy?c|tCp0kOwJ(xF z^-`BftVWWi%)~^@EPmT+c+5L#V<0Z0a?Iu|kA?L3TO#FP2Ao3kArS)q?2$_8K*Fu> zMI+$yLnqL79>;hB4=Gxu`4M_cke6bdfXC#}M|1?e_xf;wy>dfM)Zu{tefX~*?#vXh zEg#p6fp?xfb-H83-C18(qT@sCWrMaAS{r}J5Lr){;U0M37S{ky_eQq z(_RlM3tbbn&r@J~q-&1Jej+}AJ$@@J z{+x@O-^i^gkI>C|J}|T!qx76dYw!sJtSF!0C9XR=g#jHf4g4pP&}n^77HP>aap}!X zV3RM;W;An!Ewt%1g5cck7AnObdu0C+B{4S-pblZ*d_^foYeO0vQ}rINZ;J&BS*W1J zmnQ1j4BUQh@}3E1RznjtjzxMyE*?fPynVuDNpAPS0^3Pcl~o2?FM%7UyY?ql7-gzr zTQ~;)6nOk+uP@Y-^;l@lra%KC;;UEQttfDGX=G|0uf1Tom0o^PkdsI|ra7_J8!#7h zZP#zpYMY(SyC%~1b_0FWZeJFtp#o3ib^C5>-%5#Qe)nT~N9Ih}YW?m`O&%W)D@ zJ)?~#YGWxr?RnLBh*&F8M(pPc)*9t+zzPeTJcWI#jKTzna|B!FDdS1;vt3@l6fG1= zumOce99rb=2Iw=EcSMrxp2X){AGE#@v!$u|=Bqn>V?NTSmg=sJZr9+I`>U5DERB1X zpdmse1e7YSwk8~OGo+=8SUT>Ro9gL})_Oi7Nm(2hbUfi^i&4*czBz0^8DM&S}L&csXOQcf2?_atH`K_G9ZHov|dbWh$Za_-$p?XYyMYh7Z7 zm{+m;pT9Q1f-K7TP8j;@iZ;x0!;Z4083Q&fKt`K4!+cbLnF!ZPoCT)PUYvKqv!@)H zvXwl4uYDH6OvS)$skR(f-u>f4y)jaFaQ0z~N#jzTyI#ZB>BCDagVWHtznH19AQz5{ zp-V=j8;NB-l1+I)zV4xtZpi^m9(1p_m8B2nE$V@|qcw)2HNJG$%92qF-V1rtYM;&c z2D`tCa*2Hxa<)QF)n&mry{_GezWJ>0>BZZ>Tc=0bWM4E>m)sw?v^#^`vMLUa;UL{P z%Z5lT;^)VFY8`p|vT4|NvK;P(Bi9TCXC*5rlgIrdI`h`MB4e$ssS|4y(kZ&KY%k+| zdYg>qUC0Q@4J3pbr;U7msU5G-s#nQ@8N^Vx5-y%k!;8jVVt=U$6Iu4YQ6^y6%@>tv&I1i$9Iw zel3hQ>906C&J<_N2kx8fL=A1cSmtC&JXf{HVZ5KK-zX~dOjEbEU)ovBpz)c(Y5B#7 z`s!YGF{Cta{yg@4&fxh>)0q8~icU!|qc&xggIhjN;b5fYG@Z7eMbkAg(dqTOTX_Jw zLQkTlfSdF~-k&aQWp8r2_YG9 zYs&rvyW_wHX@4+#n+jKF?DpsGd0UB`#3w$ln$51u8alMtfE>ywzzk91z(*N`U-0=9 zM>u|y(ep4K4>9yaVzyQ&y-81Hk0xuN?aAqm$7%Y)o8F)b>%EtM06BVQtvBQ>jS|OQ z3y&XAi1H~P%RCH#C;TvqoYoEXTyl3qsE`A0Y5Sn(sxUD2l*uv-Z`qFjFOH2M*09?>>s30 z@DI*cU!+lHfKBZXVo;`m4FVEX_k*s*s^5KG%$W@F6-MEVwuFeINrQmJQUsyt1*G_MF;z) z@D4u!7)A$t-Vwi_Vb9_gO9Q|fu%ZI^*3+exND+4FQt1u1)L`()<2w)+W%k9j8ZrI< z&u{&|W&ZE^zyBZ8=TZwBc{CwSKX!9Awl(1|vU_J8sChyhd23m>)}?T8mf(!Cj-%JR zfxB+Uxc*rEn_Yl^P)bOS4_ zC1!p1PaN5m4?aD($Ep3IX;+PHx8Rz{`(CV9Sxbhl_p{}|1b9+GM_#%DM;cwE`HH!v zak#~!j>BKEWyq>#|I^s3nX=%)y%d8}^SC{`y6O=h5K1<9$buR3=OYdn$0#wp4!5ol z5e5o}dkme^A1*TWY2Lr?j%%@+)k@yAzxgUrbExfTB5ZzVMKL0VPYs+?SsGx}-?(xv z#Tsa6vYR|c7k9Yi9pB9fyz#hp(63F}y=C)PbmQz~7h#+&?1+t2r3QRPF(H(gkQ4RI zrE4D0wR#v)M3(40$?}c`xGR>g#-dmH=ehYoORsf*tX{8&*h1*R=gbZFMT?XLn*qQ{ z_z|q(A*^D9s)WIi5kB?PsjO{>YJn5|!ls$a%bKk-`TT$(uV^qQ*;RLWg5^A4lB?f$ z7?npJeA|Ihe<;_p6t&H!yC_P(ybuEQE7ch_IQ+ECf5Sf4SG?OeQ2yb4Z^}Ppu{7B0 ze82q;Yp*1 zf<=mJNkXB`jTe^KGdM`;iCxfLwGHUvv_=Go8ndgqA1iw^Sdis5IBAEG%82CJ{ksC8 z==G;F7GPc7rJg9{b+AEIHOTi_(c#Sg@Bl_j;R>oi@>>+NxsNS0eZm&CZ^URPjk{g;~vP`3vBmkR_?HiQ3ifxv%Apg)%p z{0~++)D;GQE)MwDZ3ZYK6>8n1%yEBy{wD_+)K7p5?rt9Va~;Cn&!k(xSqzqaVD5QXKZo$#<8-j<(8yt)9Z`wEnq;N*C5{( zFmWi3;KfJW5X&rh{?Q3|U?$eCK98{=qD-iG0hGq?n6cpx@_7td7xP&Yk&mqZZms(e^of zMhj@7F=5FqBl?|WMMh#TtpeVNse>rF^PmXRGeF2@JiC~mFLcS|`*wtPJodXrUlYkZaL%S@1?kvi)^4<)!h(tsvpLs1)V=$-moCSDGEE^>y44Y-_?W z{c+|xcWf`m>quv<&%jHVvP-mh6bF@(s7+e(e4_i=JLEGXzH2{pK1%wqpel7#K<@7r za+#w@W`;L&?5Jo4klH#XQYK{1Cqtac3X8E)S-CfXsJVTo+!f@ z6X|qNxZLmOxP8x`eJ+JybxeS$<|9@vDlUTCVui)Immt5Wp1(RoF#B4h6z zNb*5jM%?jmOjr>S!p@t6a-Grm7faJHrG?H!)2R;$ioa2d*vo{9>M;dT(3*8%rfK7J zQX8#;zP5XR&_O&FM5u5(2o9)&x76EOX1;HBE?*n1U~9 zvcTGdpoIQZ@OG_@R~T9X820F1gMIIphv_~O*4#s+5ubQ+0gDV^B^xkb;1drUH4|r= z#gmu2_G*jaET4Lsi7g(*j|@jh6Cr3$idfYrs%~((C z9h1(|_NC7>)qI9pGD;lW-SwXLpjQ#}t{!=22(*`1Tt1UME1yc7L!JkG-m=YfHk?ao zGpHH8=83@BVicNu1}nfgP&l@=-6n$%btBD<&_DzaVb&c`Uh<_AjfG;r2VLgJ`3wUW zr}~ngY8>(|#TkATi%mR(X$bOeG@64?g__at*rfmqS=7(iI_LaIGTezZq9ivxz~x-| zq%HtxtpBHTQ_DKO8ix4Bs&wvFjfWQz1hTB?!+N<^(QX_H>;piPc~FMX<@4~ZnBx)L zNcN_yHwL#(8s3g^KyM2dZeBmAGYZ(*QNy_C72Q=+Ztz}Iyi^AnU22-TR0~Q<3&78i z6n9gu&jgDpZkn%imUVjw^rSx5Pc6dLpT0-){Z`!TjY#LK)4{Ik<<`YDc9JxW{P&f) z#OckYfVU7g*?7r4mmMtyth?dhV!$XXs+rsFG8-jn3X5=gE_% z*ATC{MrQojAyUJrAJuKZL{7d`@UzPW%;+-$meI77y!~#X9DjQB7?!-TIqj*E)Ol^G z(oomZYkAq=-g0WrGBSS~h7y{tU+f8Ic@Z>ivXuBq76gdqd7DgnU8H?+i1~XZ2#3aD!c+Gn{jXKf+PcpM-2k~eKfg{~E z7RpBeA8-zm<@NCBNeqN9iRbRFxkyvt{CQsa4TBJ~1a+j-XMtr-sFWBhlUmvHnecet z3IK;eZJ_7>Z1Oqn`~OW5!1_O~HTvH&|MzR3{$J1sNw|BwGw9c#lS>Z;oUAC|IO^8S z_jj)w4)H1de9KCT2Oix@5=e`q0e*Houo_WaUjI`G$%}$jm)oGR+|@&;`hEL4i>s-_ zNZYwB6GQI!mh%pYI*O2M?}cL*T!9v^7cx}JHxl$ACgSLKRV*Ac2dcD;Wb%D}(qMYL zz@(akPnu!6`P~K&(Xc1#eBVGAZ|Lk;pRjV<3e8SnF}W1Bc~6pkq1+H zd3DY|d!r;?Q{xHtX9%fim|N(0*&SEkC0l!&21?x)M@nGcHD$mITOawfF-9DM-;Z9O zS^hcxgCz}!-so(j4`+`SKDOjFcX!;JdjO)B3uW^D+zDvUZzkIx2U^Z!BQN!c5LRM_ zJ5Kliw5$nE$6Yk7fJ#y7C^yV6oVGZFPe1Md&5w)H1Dn*qCO?eMcy5317x~y1T`YRU zu+Tb;yC3vO3y(UvA(j)n)h3jRdFh(nAcG)Zi9nYMs2@cfZST44>G&Fr*qrnPki1+H za-(y+6HW`b7dh;9UL2Ms+XkesOiT>tQfsqM4DSs>77UX;UwVna8e~LwsW4GuX8sYZ zt6gEps?Pm9B=gnH+nuXsCuwg+=dQl@Uj1PTHCtPZS6tVJM;&7?X!7wRM`*8H-6KK1 z73W;=Y%?mO!QW$$^bUzP<9tEvL&(haD*J*e@#a&cGd~&o16^Txr_qzj1gUY?H;fZ$ zYw(KcoP*FQqsV7Uj+!@{sn7^c)1iM6z#h!kaxWvAbt4qvhf7*z;g?|i)?r1x{A@v4 zGf{U0ujwkCnBf-5Tm*lTX4jLhig&ztN)&4P&czW3o(YtRf%*~4Tn`To`4qvsV&nT8^>8;8P4uC#YFJ}U3DdB)alTT5Mhr%IbhQ#*Tdz4hBkbFD*p z$K9ln6dt;mZ%&Llfq2b82{USVdLpkQn=ZGknddM>rPMC4eXv>t$yjjhx{I+fKagTl zVpVNDg790Ees?iGfXJr-siJXo;_46JO>7=j(HEei6XNp0*)O5n9<=gi8Qg2W^fl2bSC&1veDT|# zsW+Oem9KK559ORn93SSuGxn!ec0Ye6rRohVXzJn%zcA(pjHiyofI zOfnychVo>EMczj+T&n74y|vuR{}t^}8L zCP8y#o0>bcLNu7jN`ul!IlqzQv;rFsbT8S+H7ZRuyTLe9FLT%&u5mtHn~p!Fp=)!0 z++%MQ^`B`nj#(x|Um09=_>k!O$KE22GH8GwCn;P3tMW!PU5E-mJN}N*uIc}>O(ie0 z63|RXzA<9I`8t1ydCD9MDPNXQ)hQT1XH(1wH`1)uxK!43k>>hQe;P%I*z%Iq8W%I5 zh3}}_8yuTNyA<5c2;LCC+27l4MqHetdl|3b{nMHWpvLtaLOWz-sieMePlJ45d?hN~ zG(878J-hcQ49wK&*C({|cCkB$_n*R>1`MK+10={iOr?A1$mpdwL*eIJ1poH%%F*=$B z?uoPLG(wHX{Ga?Qf>sH`>){2j!{D(67BV$D%S824SNzXPLb!TxLRq)cr3rU+RQ~L7 z(629!8gD#|9$4N-hA2wSio)iY=(d_|aYo~{agZ>9oGfA3QFGw!55P2ykJ#_?n@;+) z>;xVRRo#CC1bw68&zGPMgKyenm(Obnt(N124h-s^X3iE1?bmf%i8t=LJ%2miK&Atl zUnD|Ekxy=gV_aC0csu<{_@(VJ6R21$4)abK#2Lqi40wQNsS`D6;lWKtwiJjeLp5*# zpVGlUtqeo`00zE1c;sDLMh|B>m|R;~8Me>m73sJ?(XdsV&;MX~$&Ym?wR5*#d2^ir zLtpY6XbbXYC1cUeQN;~x;+iv4K!8YZq}QvVDWrrKB{Op!aqdXipkI_JCWtVh0b0;K z1SvK|ku{fyUIKJo`Bo>~u6Dc1F4mHn&5@?I<;Bx6kiBmw-}oE{j8bkb^=zPa#*ZYi zm=N(%Kp3FXn7zMnqrtT?AIu;HOM4R&(kY#bi;9g@12gi$ykDeI-$4C1R=?iz#>wFw z@7BNZy;iPpU91!3f}Nq)dn&Eiy9PkhIJcfNL?t9(45V5dvtKqsn{B6ina1%E(sIHn z=D&zWiyTJr5lW9~6fhz0>Pdj=fy|Loe&E~1z6X}i+&aOI!K_5})fbkXsZ(1nUXZ|O zn&aH#y&T2e52;PBMra2Yi(X7NaUJ>wKy@M?u1n?g5nRrecs(HGg5AEWanAZ(+?q<} znkx<~vKB=u^NbgHg?WLR3UmX?6jEN}Kz=ou|EtO8;1*(~-1{ufLe`s5b@I93lwK_F zj3{Tf4nObw%K_uOa;M;#EX{#iw1C$6#pSLUy9C#6tX%2@Crn@{f&67t&d;<`bFYpA2484Wc;TeM=yRHsLQZ8GFKTa zgq&kIKK~P(6l7=ee6H-5(}Ud04t!ZKzI?TtONfp^{*TXM=tySXQl;A!T&ka zf~VN~i@Umj6BbIaq3}gub$vty65I_G`1jul3L5F2UEh@&;Doi<`QMOXIu-j~G+uwY zB>_R9o#(g+`(eyls_Jt-5}q1PO2j5v93`fPp}; zfDKe!7Lc|Unugv>NE8)a1XfvK6@l!cqDT=!hY&SFE+P==5Co+LLa3o75bnGI_ujkr zd!GIN{J!V<54?G&o%hU{nKS2i=FEoKqwo=@MeBWw=~*!7H5Tn7+Lze$y5=}zK`~kc z7~pJlI^B7J!f7o8;h7%nuN60s26|)>-Cu zh>2h(Z^*w4j2EE3Dn%hZVAtF%vBri!>Hr`%{PKpU*^?+iOR#oAEogibNWYAIgn+BI&$#8zAQbx{|(zaquUi&!0N+ud!> zIzaR)nRCG@js@gne6BG^K7mR>8v}}>>?E{`?^2y70FKZ0mJ?YO=%Za`Cl-EUiTTUgb$M$VV7G8cW7$z-ki>LPkP_2^FAzTHFl5iq8jChp7kl)|HM^+KHUhFwD$=6wVg0RO zq))71Ic29to+z^g+Gv9l8iIlqwh1u}i@sK{mGCJ-$s_aSJ&>_f%tIZ(Cly$K)TLo# zIPyfV#q!=i-W%O-?7deOS`BkLr5e6g(K9v-wRu|aMM-U`td&nrFa1}O^!gfbx%}AE z4g-r6S}5`RdS1`NFw+)pFTN3Jvf8*_t`(McY~1BUGlFhj*36jH#E_8hhx-5idifH` zw0ELiY$xH`URTb6mlSM=Nj;uo-j(%(4p(NN>oAaw$qEk)61bq}VW$dVfMH zpxp35YF9&lc~V@>00fA41eNNy_+yXoQymJ3FJoFFD3+{Z`v4+6j2s8 z^@Hl8C00d*M3|18#ck=~nax@5JDsKBoTYJ%x0QWLG*U$F9ac6J4@HHrCj#x`T4xk` z_L?~p5l4<6~+0Y z`Wr$)J62;yvCC~scSQTP(8`DD+)O#)HKv3?OsS3JO+`tT%9i}@w4(_yvuv!`s)*{6 z8>g_8gXb9#}Od-pH^Ho+OQ3-fuk-IQ8z*NW^%bh(nQW1Rq(8vYC_zi03?Hr+KL9B_CgdU(&KDT(yPSUnfLavGj|@Y#K1v6C3mE&GX&n~s zHj3d;6_3fp4pT|vBuA35WIq^VO{K)YTXwiVcu@-~QJXZGC{caHG-au+Zl%?6-Nv0a zLyMJ=-cuK~GQY?8I1_p892Xei04c+PDD~q5+tv3FOjE%!(r`$WopQ24jq>EVO*IJM z#D5VrbmPSB6MnxHf>8cKdLxQ77foq1D92ux1_;P{3`ch5M_SYN$*(Nefgmd|OL0Nu z()TYMf2N(~MOL4E5xHLq^!X;Cz(N<8`i+4m@WUS*{tsHMclQ(=nqR7~p3MMEaD~8n z=!_7U&K;y%WWbvB2ZTuI-13;8@GlVJw>$t2~r=5^B z{mDo8-mYfr6$N;U!;q%XvqSK^*Eb%&UxUmT&`Xw!|76))cUt|?^ScXq^&DfZaqm{Y zM)evW7v603UkN~j5zlmWX?1ald#E3tj$2)(xNid5Kp%>L+c1D#X8#5ZSnLI9#;QmE z$}%;JpLU3lYw7^hDj;XPGE?>x?*mYu1UX!hB4LkHG`@v0Vo^J0VSzrv&#zBlxrF@P zJJ=)zr145%xwmD$1c-xS&kx%GYS{)s(Hm*K(tI=;yag^u(78t-r~p9)*_w8N?+}Kd zZeTNl9I1eKM;P(t9H8D1N)14A2+8IH*Zg+2K|voNr>wO)Su8%@4V}{j+Lo9H&kL3o zFB0vX4MmoKP+0D?F~X$nM$E-|nX6sS;O-He{=@>99aIP;#3~+d#eEsxn3ll%4wlxc z9~h&`uf&IH3#<~vhcAlFS0yflwN{kN1LIcl1*{ez1;%16cHm~}DF*xqGzf$ZV_R%r`$qS4KyX})LcTIwLpX5x=Y`oI z#}7x8b$^Nd@}NbbTs0GD=@ zvwCE9*D$9s`l-4G-b$rD7l=!>JNE z-TrRjn^5{Q9SOGOMjK91reCF!BguK)=PEnjl{=mI6h)f9b}*8(IOP7RKVn;Bh-l!J zDCT9md)}n#;?RtK$9B=dXp$N^a+xAc~2PgiakJrqG3kz*1q zhne{Fv|n@$Vt@NNETEp(Jnc2~R>r=y+mPxSf~FR?5iF27ymwb&C~SE~kbz^r#hl8v zb*dlYm16RG{6a%yUsx>lMLlsv+oGO=KWVv~uws?SzULUTl-}I%d5<=7n<8({96e&Y zW9x#`$@T$_xpw=Pb}`j1jR`k#qb5#Hw^N4KgqgD$mX>m@3LB+*+N6kRi1=`Ii1BVO zfl2gyJV=yHJc%~FCpxY20TXznwYDCEdZfLhl6;yGT=wp=N#*^go<2R#gPJugAG{Jn zo!Ay`1V>8kjyFi@aB>`HXzi%6&(auLj-ZSmk1Fan?0FMrhjOV#+VR+~eEHNS$jC70 zzaKA^^u4(O@r?PjulBhlBk{_ozEURMIWDZ{7bisZ#URdnQK!4A^O^k?o;?X2A%%*K zog@hhrLLttce~nxq9iDTRRvzoS+|c6v(HS5cJLlbqPwa35dMp zZGTibhxeO(Sm(Y#uK(Uj2jeP3`b@<7m{o!yL=<&OqdZFr$WC^3q`mNp?KkaAT zoIH+4zkinjy{y)^*b!UowS6fUpBGd)R5ttaeC_TU|Akj&DH{nb9BtoUA8NFcTGj`_TXxygS}Poa&hRKKYcRt0HMRm88y|Z z`|PMXQ}bre&`ZfzOpcjM%H6ZC;%#K(F>1MRZ4hAEWfdiUN;y{g7sF)6`>K_DMQ zj5wpLa(2(#`i5@Iw)3)FAvPy+;&36Seb@v>a{U;qZs@ z{3(<{fg>yW%7s348(!KaB{TIjLL?B!JQNexA0sWph%6|l%g1wxz=yErr;y9rY)iz; z@5~RZP4J}iQ6(-1di`oo%9EK=%z1IfzFfbRnfGa4iCZFs1Gk4v#1F*9h-EJ3{ZLsq zypl8X_(v?g?9Q6-nCKBQ$umdtHL0t+a;g3iW!$(dDcyM~M(DM)jHHN@$_liWxf5DR z`0C!m9_(zvh{$>mio%igrFPz1&MS^SNnc<*clK;rt|Bj0!_wUSy59RGC%^2?s@Xq1 zR`)tKH&YFS`Lna9r2hgVRXrS_n&m5uC+u*~e`3ErNKC;c&1vITi?d>>qmlktN9kiR z^O&2*zBq?onKbS;BFt_eOZO=y>{u%3TMC`?6Z`D^a(+unsb9J|2nz>uIyC6&oNsdm z@uA7dvnMTK_TZeJmRVm+?6Z}aHeFyXSnFfb-=-D^bo}w=S0yd`HbE4q;I; zZI-Nbk|1Yh z6!~6a_W8jV@n^5dh14scyz`rAy#|ELk5lUR@OnO)shD>Z<$8$_pZ6CMp5bn1ZlI1@ zNL$yXk|W4s{k`YK7)3S{qKG+;%+Qg9*!+9>Z?WwTiLE+{e3q`p;+@sK9$1Q!I&M8w zSMILpxAZJ5W51LW?fP-{eP)VoRTw#Xv^GRH=DBV?y~!Cf_TBqJwUy6FSRMXgS-q8> z;o{>JqUm{u@wk7n4f@kWBNpc<~X zIGz{rztLl$l}^_v1Oxw05^nYiHt!-*xf$*1{YGxj=hNcG!V&}1e9uWig-J*i)%`&|I?FU*!NFiMxK2J z>fBdC_%wAZHvZ)fDV4GW8Sy|T@^^l~>-7c{Q+1t?HJSnp{}lD)yf4WA)$M}+=p{Y! zZ-L0pV*WE2*Ei+>o`FLXz@qt$Ie$3l{{NAjsR9QofEWbCqB*6{#E#P3ZQ$W(TbqM~ zK0jV|HVFQkm#sjPVq|C6lzbKmwE3DU3O#ZVBl+v8{EQbc65jl>{M2vNeB;eGxj9Jq z?->kly%C!sU{G?b@6pbUW*JfpFk`e`a`1&$fT;vUcnJms|8XUL*4Ab%6%WlA+9kpU z|4d!WIBAHpY2&AUtL7VTzRAsh-C#hndJ3c{`y`LOv5po~c$}(^&F;LjB;ON<)^8F7 z^9;-jQTvxW0S9W9*HHlhQVCvZD~)Ft4t(C~i?zS^%%Vi?BPY z*|1+gz{CFw9vnFrD!L&eu)VcO5UE1gsweRJanv@NI4l=zA8Xk}e7u+kSxrbF^nx}F zb%=mE3>PpS8=EEK8^swRhka%R1w!9e-v?zi2p!p*J_-ns<43ZC>Lv7O=l5wlopS@T PtH6n4R!8#=|9ImcKL&~a diff --git a/docs/static/img/sources/instagram/instagramConnect.png b/docs/static/img/sources/instagram/instagramConnect.png index d10c204ac2bc65573026bd26dc2ceeb3be460744..ee01687ebf7d7d848332399381026e2632a4c919 100644 GIT binary patch literal 197456 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%0AyA&wyWM7+Y@lZAU6PH6P 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 ReFl6u;I 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

WmUmyHGRZcc0A_aTL7@>_>GCaPMJ6-vq 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 V2FA*t1h=t2I@b)ZmS4FW_CKYgMN$9& literal 43734 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%0DNsOqIbzYoUVT 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 diff --git a/docs/static/img/ui/controlCenterCatalog.png b/docs/static/img/ui/controlCenterCatalog.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e64a19b4579f4f5ddccce2b82a7a4a62a3c8c8 GIT binary patch literal 46251 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/ui/controlCenterCatalogDemo.png b/docs/static/img/ui/controlCenterCatalogDemo.png deleted file mode 100644 index b8eb572fc559cee2857fdf8b8f6bc25271fd84ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74478 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

Oq4fT51ajNKj7HMzO+3kX;^)yESqfcHJ&z*7` zOAxo($8@=NliBvRhgDNZ2R|BIYB%+?4aOdy5@=o;%3N7LX|O~_w)F)tVOoM^H`j!B{%mlN*y|GR21O^P#BRdmdDg zJlS$Reb*AUp-elvbEVgUbYSk*bIVtDaEdXiENT&%U3h|MZHZ_xkOsL%&wYb|gICy5nYEdgSLb0V-=E1Bn@(>KXB_ zz6GTYWa*Um*?zdGgeuYbTdsQ@q5RJC_F38jM4A&J(~M zaYzcewb^mH^ysa~t&kpK!GS5Gp|@(Fri;gsBDD{gRmoKCJ(>ADX=;NT=C@36f^4ow z`DGvki40i2vqRW;H&i2`&0FxwID_Z$&4u7FE>0>(>%l)4j*}(ZBVIm#!2Q!LzVWo3 zL60zYw$0{K6ju_{_cRSxxG$y&hLpeC{dKN6&wdJ2Ss(utGygEK$l=RF%BD{gQ>8au zR)uWI??$!@vAN1>M+v$r(6ljQ42ME^M)nHNl`&xq%f!Vrt{u6^K9ynh)o!IfI+5-f zew`KX2Uk%LeLXvuY(5ayRl!C|nK4(&TMSN}s#|lF>ezinX1PMoGop;5di8^<@!}bK zO6pbe)1Pw_!G1mf`zhyq#bOJEn;#HxjVPSUpid;;~%8IemQ@SzbaH`y!ZTF zrdxXhl=;OkXj%D>fwVAnErK z!?of4LPeB6)@xb8x4*(jYwp9yPq zrG>{9rk^T=U7k)LY_IO0Es**qNi**iO+K57F6XhtpYMr;bI|`=B=71Q7L&QzD{YFXW-M8da z!lQ4lfLMozNtV_Sr+(|=K*Iwk!`)SmTFnp{<(iT=WuUL~m9K3v51^bN$+iZS*#rJQ zQPN_byE{qb0jNJ&6NP6!K*=I;U^xb@!dR1#!v1MBI5$80&Xf%*1dq}%81Cof6v?Q~ zGV}l9)F^OK%1%C-S3;p?SI>}@HpA+OT*HVpF3#6!Jf|*o!+!_sT7>J6^32*Z-h4$8 zsI(XcpGt4oC)B`{C@7#dvMM$Dty+Yw>Alo`Zmy)zV1B){q!>Ex&?NFiD-YYLt$%*|^t;;yYC3+aSqwDYp& z_wzACyc3q!$9Php*(_|p+Feght9<;}O$t4CovdViU;ZL6aNn-RP5Y=c4-(RNranSgm@q4h>=k>|Vr+L|(b%rD<^h^zpq zF)Y*TWQV7Gd`78gpV`hLePQ~-E&U#!mmdx?(me_~yc@p`zo-MP$P+Gj#anRM* z6DQ8b>5hd#8yg66>RRmI57}9NF`!fG(OM|gOr_c1*x&40JJ^dvwF*;1TitmDE#f+u z?|zc@GjZJexo#%DPQn-Z3kuOLxm2`zKcrZWa#}6!;D)~Hj_gi{{4E+)o{(;bpETp$ zn+#@Re~tTdt5%FJPce-!___Osf>u zQDF;x2W3Bu!`k>lX32B}s644~S!OWYm2QMcsOQx_cvtGE4n5gU2KK4%Um$Fw3!b5? zNqzM}FCtUsj^jnKoL;*@gj&=YO>(Kx52@JL9+Hp`S5i{i1VVHzsE@CVIW`9BGB5?TVjbsr99t-UXxvhR`Yk2WaOz46hy^{Z6EQyT_Vk8D_x6 zp?{4d^&5GBZeFi6561}o)HC%r{HF79dP#DyjTta_btyOEi1Yoxk>MtEwl9F0mzRN>WJM5kKYcPjdYut9GB(1L~T9Xd1fTI-D(<&_EI^zRd*;NUc%0@_mdbO8qez1 zRmb|txY=ZW|8Fkz0U(CpddJOMMKRxgRV&T?>Bw%&pl#lC4~uY-Y-V5` z^_qkcK+ny6CW>?6!3|c{P!*WQotu|eom3TFSCvFI?_Q;-Ck?wnjUp^f+0W^?Y^y0KbgV0CFi4{CQ#crK3o8+c zuBCKVB6Ty8J@Gc?t5k5K(JC*#`b_&QEV zkV@Lngk$8DJHsfHy1G`wHOT^{6_~tNgtL}e|G3v)O^pEtwQQE} zpF4XBXE0=j3<4`Cy*h!~ODQhyFFdu-IVt?ekwlBurgB{>Xp;=$ zhq1mWFLFyT3qDX)+W zdJE+>-M<>>3m$aD>eb1X*;6;gfi@!k^!*yLy3hOjw{%ciMjxmpcK^HqjOFD$Pl@!N zf{p6_oC5xo`RMQ?WX1|y`%y~0x*A4muk@@Q89n(}GjT$NvhvQC>o~Iazc%=0|Ec%y zmMkh1RCB}AtV87Hgu{Z`4%}r;K8I?SHimc}Wc+Qu8KUD0qnl#d%O7~3lNT@Pw9;c` zFw5^~fqA|JEqmLQj=1IY?+=5G$KD<7({{C0HSbLy&;lSyPeI@Ewx>k?pk+0*ia_;* zX)Q@YOz>qrkMQyr7hoQb^_X}6kM;H7Gvn_BVhN(C(X!ISG{I_la}tJ(|+k!2fR zgwFXK-9cGrLxG1`qLCRINh1Y1y*OumJJV;+w)TZMt>#w!{X6Gd?f3QviFSbxhoSS& z>Ac3DPv2Iu$t*&V)6C*(flXH?A(8(d|ZeF zhB8>&XmL+wJJkz?RA{apz#q`*xZ3s)Srok*$h9*G%aZi-t!WG{2bemYmXi^*`V<>A z>WA#gmX@7oW2q&5hmB?;56&Ilst>GcJmi}?@9Q!0Oh}ZCt4xQ0HZeNEId!kMJkn2F zCZYx4UJAKM8LU#ed&-6D)*949el@R=}AniLzRMwWa6*9;-#S`rVMA9)o?Fs$UPQX<&kP{ zwqQE%np&5GEk$|pi!RT;f6GiaYYqcZGT1)x?fNU<89mY4>Z{qE$B!O8`kmu=6TT}6 zb%^(TtMy&nFZ32#5;UgL&bD2*9yQkU;--tIqoXoE6ywwAN4;C@CCv)kxfn9=m=W*H6fh2UNj&wHj_SRJOv zX2X6GnX4a-0B#2t_G)N7XhhI2s=W6MlH6VMWOn*Q|;hPbuv%_A2j z>ge7iU{&>jj+`0|4*h-6>BVm_A2vT1Mpmd_`|6zi{CnM5U(zxF)?v(GwA=cp7Rp{e zspa9)J8?cy#WBw=pMNAKXs#Kzwy|y!n{dD`vlHE9|N27r86SGV%q?|;#z1!6OCY2; z#V}*i8UKlNH^zsjOOEy-HfERLPk4CI4binSHKi z3SH34X!eHN*rBFlLWy!=XI&mpH#t8GmCK0sIYFy8*qzd_Edev<=%ReWZo0W7Ot|;K zh)N;V<5YjVJK{4cL!_8dj#IQ5Q!Ab{iU!#M&+qq+c`60@^1i#`y}H@gz210Bb$WDn z0UY2-UmZATF5ma@g*;>rwU$O7+<0c!fx&%@^)(-2XAipwQn_gtJ2^DV?aKI?js8)~ zlE9KjyKomvY$spoo7Y^vsJyP&BEmX{#;rHG%DblJo%rIKZXrCdgj9cgj zB?XACtlA1=f00*Vyqt?q~~@Sq;CTktuq%JA6E z4cfXZo~$jmHZq~5p$^(v?%}+l1D;N5e@>p$nJy@p!$IVG1O-<8=F3s8qQx?t8;ulk zrEDb%Bmw@4g~7;}{k?^;N+7)BIC(JTF{7v@mtz`RYiyC5AsAu-;LSL{&Y_)`f^?Wi z`;8Yeq8;W_=JTr=8IxDCmkM=3+{)Z}Gu9Igqr@lkA^>pEQiL7MQB0cr2f$3&?KTuz z$icEE>ojmN=q=|G5c9XYx`-k2tL{$C(A?Ng=E3B98|X(l6)tYJryLOTwb5m^iuR1_ ze_I(lGHCHvkX#A*5qnA|EJRti{X#!!!d7#?Nq|1u;Bj=c5TVCk*!>fIiy#}{)|_5% z^76ywV1Sym3X}FBzfydHHQi{5c3LixCRD~;c32KGd{=ddoawgF_>a}$aWRk;Tre+V zt%D=ApFpRjWF;8-6f3or03myg&IGd~KqQvSva(lENf`i;ZH1ARZgos_0_Nu*&#eoG)#r4V1ggD z9-uv$0nSjv&i3^tX8-fNB!k&zW47+Lda_8bU+I-OufHZF7|Z4jynOqOs`++SR5kdt zo}3ri-DAb@jo7^?^71iLI{*3HF{#$YuCVFd!x@Ng|vlb$LVY)DOg=KYnPs3~$=xU-hK-7@z*U>Z>BGk4{u>-&6d zSGySW$(Ke-mmoNK4MTim7$0+p+D7CTC(i~YkdM`EFQ|B@T@w)@yg5Ss80{_HhTcWy zD6U=!`TEjvl}KnKF6dO_dO)XNa0x30FhmDBKbTIcPp4B}rPdrRA%Qa5U~t}AuAr}Y zrPB?L7yT!GaC8jLa3G^D7=BMi%gTS~w2xD71w>{8EpN54i5qmy2?xWZ8V1adsYmIy#sk^$`I%E+Is`}E7ag8%kw$DPbfbAG6mI(oH zZbD#DKk3JW9}hk?_~HK6X4m_<4|6`xKX7Z69lHXkr=4{fZbzr~m?=7oyCfpXZL=e0 zT3Wl5seHRP!h#4fUqDy+;x})^wT_M)EnDL%9L|*;DrBGHl9}S^u{46A%^CWVK8%jN z7Y&vZm$G|-)cNG#tR;meN7GFx?orYpke&ufKNWp zi|ocppl7ntN`PEY#V*4pqnr1;xG=s&SV#bGgG2LBUF5|*sJ&aEoO0CHS6Lwb3p8M) znzVzC$!Uoe#Kb>e;?k8H_bG;Jf4sp3_TWEdLS{zqO<0UsJ}J=i z{QZ`2w_@5C&sU*gxi(2Oe+bnc(4$;lH?UgpXe+tNS?}(4Dl<+6?-V`lDxvEJ{1f6$ zPk#Td>##UT@I##%5{&v1P3q{>Nll%LK0;pmB4_l^5*+COMUzK%^=|;>VgRU5;v3CWBFh)VBNor>1GAm@ ze6l`DhKCiupk{cK`u)(VzQ)C)##&F#1SSYgjJX=SuSQSEI2DtM<=8F= z#%Do6h&H6}c-`g_VGvY+VTkUI1W_ni=q2YpLLJUD*kCt^$a8?7Me(OnOvn~f-E{}w4R2hxFz@mr8A-ifq- zcMmd9PxQfd3{aZ%c30CfD+F8$dpsD9mF?I7scOqO41)UWs`1-QcNlG(Z+U{`vzyG7 zPnCNwBe;Fi24Wj3F9jGhb7yAYqe^rO&+KX z*?`jCfOSbZz@1>zl(2lxdp_4AY1*x^Nn~@iI+}@hGA|2FL8bj}A~JA29e-qJM8&8% z=33D{|22d!#WK1%`#dPLI}-<`~Ad+5ic`CK?BSyUDe<`|1-qLf zW!5LW2H?eLd*~kop6s=?js2R-<~F`V#ax}|9m%X`Q*S2k*~8KncNl%$16w`Tx(D^% ztkw#PGqVubtUDNW_z3_izA(N{0ozG|Y>e2JX*>@ooek{{D<9@1srey0t+?i)0ByDc zfP2;RApkT2=pRX2gRf#9xY;Nt*(c*|1Z?QAl;M@$<4!xgUrRPr2CY49)7*D`S!=f7)n&J@|Bu3gPe9 z;4$Z~VCPf22=y#HBPlm>T)@Q3`=v3J4*EnRJLsx0R~a3CJ!+Y`clSk_#L0<8Iyo`X zNVlFnMD_4Qz{X>e&Z1~L7(_z*F`txzPZ(!zb@`3}kMxIDoKlNTE^| zWg9=SFpnz^0yP%tOo(_fC|XgCkp_M&z9L)>)7F;L<=k4i>G++s`kZ+>aX^>lFEUoU3b6yfXM^DdjBAJV*gjG0J58Vqzm1GS#*cC>YbUXrYZm%JvK z#~Ye-3lt3jI=4`|1)p(k`5xvAJP<*>aMO%JJwxId;cZ}fF}v$ukBS`hpK;3zweDC2 z&!|O1qnXP0C-7wLTsBZdL<^tuZVkvqx1B;E5D4h*&WGUEDSS>8Y6~*~gbj!O_&Kfy zOCkOaX{ny8$vBg@^Dy50Z1V`J%nMb?L@j(EF}b*I5Qc)qJe?>mQk?p6zuPuBYsS$* zGnz=@@K72PCE_jH#r8zOFD>;h1Am&=0X&fBN2uk&BA-ud0l#EZBMeosG9sJ8W$&n}x@)rv zl#7@d$=U7k*eKpd@7rJVlIK6-Pv%^|iX8XDwx(A!<2D;XL6_-<0i%S7&sv^IL_W;L z)ONKJcLq{(5(_avQW&$FzS7!5FXpyZg-{YF3=Z6#z0$T*+IYHVg4@siSi9Zu30bOp z<)y^62VWmsGZu1NtZu!hW_V9Qh>jUF^b_5$9%BYHlzK!IFPL}Y<6_1=Zavo5&0=5p zu&dWS)cUc9VKHmUQPzBKSN~|g{zKu+UD1vDc0=Vb4Mq+cg;zpViHvVyHhq^JOL=2^wR-ZCJuD;jyF3AH%W)QHFf2fL^y#A#Am6Z^aE%yXtS}Cg`q&Q_l~vHfV);Zckp(yU`JEdBgPNq$F)|M2eJ_>n66Hc8iRK8T1TZ zm(Db``8~hr&1;);+a?9kmYv$AiIe|Y?IM%|`fQCyYt(VG-bd4jNO8N_nWimpxEq@H z=85QTq$Mc;E|vNgB4ba0P|}E;^0L&F`XalioNo8z(wuN%!-a^ax7(>PDy4+U4!7q` zw9^&S;`7EAJKj$7muyYXg>O{WST^>qj+I${>T*V?FBLDayk1rkw9d|dW_wv=#s~3< zaBn#j=|An~y(M`lJ97pA7hNnV_?P$k6YeX%cZKrVpU6#*;FUbK`IXT!uK>3xa>cU@ zYz16ubsE3Y*~8m>Q%VB!p0za-`%z{ZzEuYn>=p#G0XQRd{T4RFUEY-KA3=Db$FI4Y zf{nPRu%-SR!vH6YJ=OP_4{rH-HXKA0%)zA=*MwrwJ`$REz-=SJ%JxOg54zwKO=RiL zm^9MhxHi@LL!Tw)5Uso;j#%JigjNY47qsM?drDL0-*c#)oq2V|t5X%GXpJD1xQ9kN zmK_WLs@@nZq`jX(lp#nEBS?n-DpuK@dUM1qsac1>wgC@M?AWIrrT4MCFK9D=w0w5onGkn2d!mq<>?BRF&r(k{r;ay$4^i#M=WVP@r>1dF9 z69~AbA2`g(<)&PhN&%thZeEtARU$QWc#3DgXzi@4mebF1Z~$%*!_-GsAG5iDsW{GH z>AlRbU>B;SHYn>huk9U+^bEcux(MDun?oo-_=o#S%zO-L@$8-X2kOofF-I2$L#-xF_g zEO(8E>DxNvH6>e8dSUuvBN@~mbuHhrPRJte&!85&(&LU?D?%dBd+BYh3~eEVwPh!r zSiqhGfNs|IeeB-*jHi>DrT(~e`-U#F2^ATeQ8B^e zNw6m+Ow5iZRzHYS^i7pHu0^NEG9QdD|{^~*_!Yxb{VT48PyA&<{tpkbv6}sz{$&i1w+j%C-nLTDqE`#(X`%-ZVlN{2Yk&S zQfdQ9%_M`Jtk4xk)WFu+7&L0b!3I{p*9HUvfgmMEs+SeoRH0oO=i_@a;~ky7*WKN% zI}ZtjgQ&8&gJJg29ZISv^$IC76ZD^S>F*Y!EZG6-v zHz1mg=mO11YGRrW61*oXOKj6Tj{3?UN}j6W)_8ww4U9Qz@OP+MR#A|P!MYjj0U0Vj zH;;oJWA@5$F*MwIc1Mk~8jKdX`fgWyD0#>|i9@f$_fd2w6A8~hF%TO9q6PE@l>BBH zSna`=0HvTuS1>I*)kd|S)nAl?;cRdq}ADq{pr9hD=W@IJ=qRtC(tgRX@Z0l;||C^{+b8 zXV;~d%G;0pZt9hJ5F)q?4PK^r_0KKH5h^r4n-YU8_OUEzgd6rbmE~ak`%mlYxgo9%v(L>`W4v4SLeq9q8ob&O!(YFe=+ zx2Bt`MSN=$)2d{R1*3SR%uHI)hm6kV184iu%5l_Y32<4@S0`u_9As5Zkfq3dk>#e3}!?QMZPEc6Y&u5vLQD9iS(l|kankm%U?Uh@! zFww2G+yfEw_974|1Z4p_Ix{U#pwM@e3#m{p8ddHCF-Wb4CA$--ZWc11B=afIzrGsr z#tK$KO;BV}aFG4T>(VHL(6U#SZ}b}Tm|*XVRT!78s$92ZIt}#HWc7Y0W%B5i4wh8t z$LBh&XPO1|H|x2_sz8qw6l!RaYTr0^=vXlMtbFa6jY>@>^ItC(bzUkuSx&Ke$4aJV z19k-Hl$+R=PMNYYcCp7tYS#?M;WJ3mqiNrxQs|lPPX63`Y_*nw&IG8fI`x3$<{?)k z_6*GmSou?HXG;=BZeo$~9E|Q$paZa7OUm3yyw3#*x~XX0fUM$)`oKQJ%>8D*}##dm(mWb^t^>miRv=$N_ICee&Sn?uNL)`%-T$%{)w-o*u-ID{1XU1K#MFb8@O zQu)U)0PQyfVe3S=g9HsH508=*91JW-b8T#9fkevq>uYZ)m;?gVvqsZ*yEJL^rWRY} zReP&%g{M^VE!Ocpj>Y%a3Xe(*?`@@61FF@dS@&6x$eaM~LtjC!eb_y9AbJPtw*VxQ zOrtZhC2RIOgJx^{B6|lP)vGH>@YVSOLC&su>2N0RW!u_dR1t?w|A8zzCts9qgx+~si7tLCZKTl}K)*PpV+_!Kj*sT= zYr2eAb!=ZPJi|(%?6bv$bnqFsTvrco(~Y21dKoU&%K@Jb8vKYEXK6nV5HKt zIb9e}5`Y4w0MKw8Gl;eG*PW!2r#_UP3n;sX2KlpSHlz!w?>1e%a0L*h@$`NHJ;>5f z7MEY3!i!yEu*Xj{(x&;JeI;gcS$#$;iTQqsGx>O8Id#l-Sh3A%8w|UMTI6ojN-unV za?0!qV{Y8^@`3spkKLb*pyLN}nMr=H7;5a8Xwp0|JF7q#CP5na>Fbk7@za&X(nxAv z(-%VSCkvl%;R6t4{HyDSw3muBnuHXUj$=b; zxn77Kvw@J;wgM~0jY%9OZNsG9N42Neq+orzT&+-<8ADF1NKU? zc3SAJ59kCn+CZ^gz~z7exXb8yBQ5Fe5Qf%z8)#J%G7Rvi6$1=Ia&QIe-{3I?uy#(n6O&#HA2kb+b3V-UXVQ3?>$>SO z>st^Vqw0p0Vmt7I5A9q=07j1w`a}4O&n6Nmn8ZVZ{iogF{-Ar9kwmIDc5K!W?t3`N znRjeJ|L{(Ntcs-M$qy=^tYfkb1E&@Y@Q3P(3exuSiCm{U1nUoax>j$IN`0es-U8@V z@AkdBO#G+&lpDNp3qr*hep!ZRUZ-LXA$Gv)U;g33wqDH|3w*&$pXa!pc9g1Ri7|dY zPg-aqL-))38U5~vq=?DemAHN#FafTV#sFPvYTpVky`OSTsQ6mAsM$=xH|ErWYBIeV zo#Dbfz%}34QegI7~kS^sJiVYu@QF0r+{3p;9}AxK@rT zqN9tV<`O=V&US8Y`LcZ=JPoVI+=hSyVG1O5Eqoh-xZ}=bd&srO_CPbcS>xbnS#1Vm?#}QR1Z5jt7MrlmIzpj`aFnMgZ7|(;vf<`qRm56VOWccI0 zwTHFMa&b=BuX>Y>qL^xDPC@!R?Xgi!sEY`wE>b9j^}(~)Uw`o6${yXa;FX1q!i1(D zWUKd7!&lYHDw}rK3UQur+vG*fb+5+C0dad!X;Qdnzj6jfXdCvwfrWg$kelZ7(8il} zio+jJjc8@c@V+XWOKaQ|+y8#)2r&9o_KUDWP^gr>0ZQdqsgo`LPQ=c@^G{-X`@=`4 zZ7dXP!^>b8l`I4R_75Rv*fvjmt0RfQ?#)z|oC-6Tg2X{qbIt%K(^M$*o*iH#kKWC- zD!>KPmXz%*wzjr{_VP&#mC}{cTD@ppqGQFA^)n`C_{-YNA7#9;rR-dJOUI-iU$gj2 zAI)wp`Ri}Q!#+v^rWMf7>METD!?F7<-dl?4Qj$J5QHiC^XQyr(@Uhq2!&YtNrFCls zfSD|W(xNX#)al3j@>zfAVlwcEa^T@HBX9!ODNV(if@6o?Kt93L#{g2MwPY~ywdEt! zQ;9oC_nB9wRqW86*b4S)l~`1@Rt3bn)PR#r?4<;>s>iNT@Mph4wCL!HO)qG&-K6om zDSin2Cs{%LT%jKrz&^>259GzEvnw|*RP+RX*qoZY~xEf|p&~eBr zEnJ_8kXXxO6Lj=C{i={`Xt0C<^0foxbWTJ0xpq~9&$|o}fx>>P8z?z5-G z#*W}xNm;y5Yx$PUFMMtJEgzD0++8hr^@Hz4)Iz^@*39BQpb?u(WIx(|Gn zXaIV=fbX8VoZul4&fqP5k-Z#tI%Hi6G@Ni#uCu;c`raFFiCGxWltjT9D@^v7td5$tbiPW*fH7O^eb9JX97BD48#$t$S;@zd>eT&3hAB4uz8$RI*#kKQ zG`zgpzQ5J8uTvY({TbpfAn|^SH(qTjSetJ#L9)Fl!(PsFPSIazU%E z&a{~4iBeFn7nV-y*mPp2w_Jv)o?^-M1Rh3O7_PlPD{4Kg8QVr>hy;OvensA$Y-988 ztCIM_SfI-@W4Q&0aaho`lC9KKbtK7&qb4TqTDu1Ca&;5KB5a^q_vOnf`>h#}_fSOW z&iX8;f`oUpC76qgD@DlF3c;?Z3#8~<6$%SAb#=u62MoN*R!?vKgEp6tYj+GF2}d6m zLf+rGX$zvkmZE5Kzt(Pv1DlCz@!Ui7u-D1vsM++jV`%8d+`i(*FMZtb+!;q3O??By zmS)azXK?D&*bTGOEom>^&94*jKixN~ibxeJc6b-FOCe9>%dG)xksKqR^*>P;gfe8}0%onPvs@rVRdDd~Ib2L2KpVQN4K~N)P3oofC z?XnUBGkC4c-n`AI3KR4}SSJEdui65ZvxhEGRRCJS6eq;E3wjZ5aF^lj@dB_PSG}m7 zOka3v`uALs?p(kuBZDip!YsLfLLYRX^rf1vfmXulK@)>O?+cxmQBDK7?U9iNkJK4K z<*MaM=AMZL@00Oad1_Xh*;|siGv-eCg6MepPd{Qt6=5(?#L3BF0VD;0yl&CVmKC6_ z({FGqZqMNjWL^6t=1!5Llgj>A&=)W%UOqfr7J+pgVEg2d_43XBx6PP=nZgn+hL&b) z1dqO$3#zWd;kl-!W*x_?i7WSzwxsUh8RACrUV#*I&^20dG>iT|H+L$S%Tf6`FpzFw zAWIK)na5T9f$4?eHkF_WAMkgJ#?a->GJt-SyXPMHn@)vKaLT^b`Z6PX&%VuMJf1LK zTJY@iI<(p8*RgOjm$u3cJ#TyN@h!mBc7I%}v~vHsyk{Fji`49xiILmW1Tems(0 zkbWKyrfdSJWq>%X=`9-7S^!lb#+fC6zNYOU;S_|HgE5-*K4Jsl1^_MiBiG7Sk`fRR zwH)E_r>>@#iDyd;V7aRD@yh&Y!nsOLaBQg9u%`O$xLDX@ta8w8@O+w7CwCGb2Ng zUC>WX71RoALj3P$V+IBD!=@Okz!WJSBbDWZqdtKuDNz2&kVd+G^){F-qVDc z7zjrI#FEPiTl^~^p$>}IOpajgWvN#V9N#-j$-^nsgql6g@M?)lAVjq}!42f*WsHG<9tT=vn)mrA92-mUsC zmCXrtWgiFqQdIZP#y#UD`B%4;l?xUgNO|19dFww0J$iLg6hye4-s1JbC)4j9m(D7^ zbwc8h^F*_1b9dyd*tg@TT3SjL!-h8#?84^U@|Zouf|mcQ9PzmSbP;f%i@;gTD`c6d z>Drye!vKQzd9!XPAUN$4nw`Qilu6Ye2lPItd(@tubX|ES_vKv~e#kSW$*x8VZE@>1 zAW7g0VuPIA-1wLnpNCG1oB*+MT38x!w%g+&F#|HoEg)VD1UN==FBjFYx>-)=TJ+JA zBmu}PS{<=PCnhLiNi~IE>2;Xar2dB2Q3y~{FCqAjl?kRSfp|_V zd$qQs z>*=>xBp#|r*)u(9D%@YPcD>w@|6^+<0o-3G**-`V_d2g=f~>MUxkSRlKt} z{=TbRCrmSS092ti-lZin#Xsknp=0r0f=7WCB+IOGHYZ!c85|L`sznj}?sO|k!~YT^ zzQKRCzX}#99AJ!7H>3&u#P^@+uS=cs`K|7?=eM|@RqQ`?NRQH;Nt6q|weI2()C+5j z>{%OC+GDUDHq)!ijsFA70%-{E4<5UMRv&YA_LB zT}0AOi&xVNjAZrA?r!}~g=Rm%E4f$BV&1MLls_%3B%KvXnty?~&9!hd zZ{_WLwsJ%fr)|HXyXlhMbo&(oR~h|M@q!vJx(HoZjpt|vY0dTkWuEw&?6l+N(Xxh* z2;f%$t?nYUu#`hFg+&7 zBUNNFUeaNL!*=dR)qjj!NcR=lO zOrYu7m7EhWY|+v~ND+N$f;`syt~ycCaZGYv zCcmm4f!Wl0a_4Mef&i}qyVS>h$p)i8bZUhrMu0x~21ur3c7Hz0HaVU%zDaylCNIZm z)cE$DS2qK$U|;@Gx-hZklAsn0>|5$-zoT`slPVsEgoh~Kg&RjCFgAi`0fUarQq3-d z1=mA4?BWxnEx9kiT;rMJ>Sr}q0Z#w+7ck)j-Rz-d{#-vWx;jeu{dE4lzApY0%v&-@ zU3VtX7VhBgEj)ez>Kv|6GQc!}rvv%;#A&EPdDWw$8gLb;yK;WtL1qOPI^LbhnTU!| z+O^=_GcnmUwo6WOb)n_?tL_28wIng=a?M<5-W_C`a#*PHdr&D(lo0j*Phv(hM$Mx@57Vx%F(`ya9pEqVLPN~E%y!G_jPtnyQq?m@r(>-i0G1+%PQ&7TaL4&OpU94Qu3YU zyVn~q?q@GvuBTXi!ru^E8kTM8}^tO@=N6rC1;s;V<3Wu=uriL1V(q8uB14=^z8z+y6@?pfafY$It= zS9+=iAkIBi))C#1!|`4lL89-cC4k7|pCua~YAl|g4j$GVXL zz~?MnBF-b-CE=|7el0`@Pxb_=Ys?ZRvhD9=jEfvrij0lJGu1jdN3KD9U@59vNPVUk z{wMLvS!Q^O<#qCZK(m;J5&v$m%)FE?QLwBA zPD!i&Jka6O#~|30l~}4;7i9o-1>iWT!5iXlMxV?M+8=sLS$0DYx$8EX9Z#j|&1#{W zpXsK+Ddehi7ar7{1(KIWi%yy}{9;h!L80d)8?Zh0*ZwlMRsAZ$@$3WOE?0&tk-ABKcF8G1+yJlt?dYHan+vd$-|~Yj z$m#*h)3Trc47hdT;Lsci37e&|Z5j!(^ajwL1pHa}jUB6K5lQ2nGJR467*UF@5g0Yi zGjjgLnq7!u^-H zz`^6&g4cNMLro^oO|{^4L=h?Did(k*1?mpo6-9fQq3Yyxk7_KL^s%N6%a>2guGr}&G8wW zPxWmjaBaEIFp$>_XkCKxKP5_=gB3B)?NQggx-8Vo^b6SvSZCs*(@b2!VxW@#sp_`6 z7-L9FT)QyzP8p=`DZMdIyiE6J*{q}Esv!!L>^IG20(HRhec#@#*Z)44+csv}ev0`YHnR38N1tE*yx>QhG_tN7`>vDtiT2 zxE%sOVaZmVFLrm;<^be3Bb<54Tpyy;ICWe6^(Vm1kyeSI@5IHS!R=bdS13&h{{H=n3w`SEcS~QBi0M_Dgd|@AL4V{FCJVv7{=UlE;hAEm%+{(mA3%$PM%` zc;qvQd1`!eKUIj=K)Yd|pia)p&D^Rd1x6!!ubzAOj!?i)$ph403-&iCPE5@m<+rn- z@12$E?eH8P7swFM@MQYhv}5;vD`YMXx{`}&#Z0uHIEO_mA4~zlc)%SaWS0UjnFqs^ zXbxf+lWW;#9dK)aR&7bBceR_Q6%>d+MpSDrGQRCe2bFHhy};HS+Y0yTA|3cr;zoBeQhO$zinc#NoiT(v z&;)JKzut@yWCVe;%}j9PX!9J3w9A_&o+;BMFZ#^Vx&Bp4N;J%}7*7uIFxs7NUu)Ddz^C@N~F9`dM z{mH5k5VS@$=kS1R&Pe;ee+tvF4t|VKWbIYZ3HS|r>GJgn-$@OA>GD}2?ljR-boUU$ z+qrzBcScoK{gMf;Wdzj;Gk5Pt%pOiwW&FyqTw3+6Ee2GKG|DfIvsY62oSPY;Mt<`o zukQ|9(3YM&E%+>(_2R^Jhj_M+f!}f-3_ITMz_|K#ElYFXJUd7kq@v;B`2e5%ErpYj zwDyXWks3L0uRpzMs9v~V4rEXInOB#PwA|XBK3{FadTTgWOUx8~&V~a?0WIN;Ge3{q zrdm4#ESR9^-12ok{WVw_rVwA0*}D&;@~&QOgohZDm@Y={rF-Dw?-8~;)5H={>IrpU zk%8wpXZkZ%s|s>NRqWD;1p0r~+jGU<-F$;B@ za^5pm!XzE=?~GwHHgt)UB@bu9hqQGRXyLB5KFeLnDODEh87Z-8^f7IE74>0j zFHFtSnE2KU(`kk56C68t^h-r^_O3QfzH%@Ml{uTVE#*$)z8`_xi_Py+QVa3tw?OT; zqI#=3`=|Cx(KYZ~i!kuQ2D3xm$kMD5VuedbS`LZp$`AsAX`AZ)smLVWmPuy~0tBqVo_fPekYm^>1e043dkC*7}tp zbS>DF;Bvuqm}V-2Sx)>jzMKIbgF-4g;U))FN1aOyXnXj#A$3KkA>6M_OO>1amZ~CI z&oV27$M1S4;<9_gVMXB;x2VB&T$`J5Xb-I+`Rq zULiZ@u1`;VwB^HJYxKy{Ddng+RovQ7uF+g){^#$<`HNbO>VwA93naAhMd)@fP{!#z zL-%05Y1HbL`wsv@Ov^D5@urWC;H2JU7Q!A3R%(e>vrhn~5i8$CrDCg{CWxrlp)0S_ zRT9dSBzV&kr2|84wWMPQ6hyc=3A?IHDv#(X%2|)t1jJN|ZM)(oORo-E7m4Wd?G2id zYl^1-eFU{qs58?`AwE$0t&ZPb?{aSBmF{a{^=~p6uSzMZGLE;qMp2I|#yn!_vl)GW zjnosg9~3e1@f#GM?dy|OXhIy9=-I%2nQIaw1%8IRwHYEW!W=23PF^|qqf}*14KLXZ*;vMjZI~1zHVq+IO1HX-*M1F!gkMFN#312LYO!MvCkOn^3 z!Ho5?G9l|r4p2NWr|%Wh4gmgo(o1GqT!2gu;<1EC9Pu9kXL5aH1g>*WS{eAqGA5zA z&6WP6)QYak<%6I7FZ771Ea4DT=Rsg_Hm8pe<4p4eE@^ZHcr7M9)7Thx15DLi%RIkS zavA8fDYBd?2!m?yKcBn^G1|Gh)%JUaFSry;K!oV~x^#4mY5F7r(O3c^{YK!x)wo35@e0H^NJ=lBdl|R^&1(WW zXU@lNYu~251+Ygt$!R0G({{;%(?uq2LVf&gTt6q%WS2F~rklC$M+_v@27VvRN;FFy zv#Bx;+BTL*JBC9!xVR!H#d6Vl@%DWCQQQX1WhWyt?wb&oe+AnztngI?5a-OWi1TJk z*zEkGn^syGF$d_>L)6fl;M%!~Fv@ig5ag(L^D~0#RWs&t&|70K*1zkqUEMh}y>~r? z5-e|$T%}>vPMGvE%*B=4j(7D4@?tPLGlA3*{0pHcv{;LUl-&;Qg`FR{h@R)@VWndF zmv6XPzsTz7L<;X90Wj^u9otE%Tn$8c#sd#nX>8i5nO#?>bU!7DxSREL3NR%^FW&Tk zMw#msBLGy`j{n)`_FG1eKv1pL&zePZW>5||$I3%%t-g2^sNXzr;@dBzc8R)9LH7L0 z^TMUe(UoToHpPS@x&r+ojmnMTRWKb=dEDXRJ3YfxvE9xSXg_a{6_+j}4n(ZhY3V*) z!&EX$eg5m~qGr}?+|{a@69tJP&W=vEK{TQzC7z#m$G~!dn<3uSUG2I;c;d@ZNGIf3 z`2?xFwb&PVdea;%GSV!)ZI9K0yzm#gw{%aT#KT<8QerSuUnxC}yY($Ywbkd;M4{3L zqg(wfkq|SKWq(3-VJtU0zf6E{S6o9&7XSitlJ!ER`yA6$(>TsGw z<6FGYyoK%G;kg&Q|5ISA@=0*@@#yKkjpIO9vQ5>apr^Ny*#jgz^a4BEdd;(YYxakY z^YFbh$$4;$3iQf1uKoOUR^?pifHBY$BHi5bb3O%q4e7m|BDg{F=$4^$e~MOv4mw3% zeRGtj(Nbxma|9<%)$ebE;d2kib~;Osx!mqSBZT@Wr~QK3vp+Bxq&T5Aq%qi4ISWY) zz~W(#u~n@U+!Z`xRVEcIaj2py=R<3j8}x#*$<-N)p_o=)b{-!PDhEj=dA3kdogM!8 z(YjE_{psL^mHY(JXW5?|7hp*ax%8VxBTWBBWv;{l4VR9|3-m5TfY7hFqtMIEj**7u zM#p^$WvLetWfU|yB-7%H68rH}(T6sb_&%q={q>AH%*q0Na!(}xhf>0K(_F4?L(}$aK$e@qBp_sjq z{LZbx(~&SCfAlW5A#>S8w1vGFJiU>zQlSt8Ndp{Q$9ad758sO2=C8D&;<}LvGLDshiALBu;Y+lJ=nlVy@#?kOaN9A7b?IfB1`KJb*XFW&bE^02QXz2k*qRio zJJFjyZ=5f6y0BKaY~X3q4*}Bz=uXgSJ#oL7NA0}S&ve?M*Ox4W9e#u^iMLnz-`-v) z-tqmKY^D6Sibv7C1;ciN1b&dy%AGp`8 z@KFEBzuJONbr)NzwfVEa%$pME5 z{|3Q)TZ67;ZY>iYfusyBG*BQS;c=7fMTE+AIf&7z(gf?6P4HHZp-j@Rx^T%@@Kwn=kMi&7BmSlqz zz<8pB8u7xnOIoh9yct=QWlOMpupYB3B3t(0Ogf;zbv8?3{4P?4#s8a$Y5@IJx8#<7 z{%pvtZX@^q>m|GbU4}fb@YZ&=b*Hy!ETZfE#=~v9AlqhG&eG!B1#T=P7@xIbf0S@C zE<(KRd?(w!wdAV1LxRGKOkrgIEbnYdT1r z&KedB8$Dm4oK80I(e5l;jX)9(*E{}*m~Dz&I=Nmt<5@Qc`N{wT%+1CNhW1e#e%rKL?=qdG4Y28|)yCVWud!;;0PwBVv2+7}$HDMlIoo+Vlx+$uECB{3_BJ4iO~>0%Bly1Kzjwra1<4Il0wutB$NI zQeQfYR5f^%8o1Y93d$xu3cp(a<0}99VHmxpACM_P!+Y-S{t!ids zk;i*Wyf>4DrR*05NNK50<1bwiuu6z-+<7kP)Cknt#&iF3p}!My6`>`<0qi zUyE1fBlG9LyH_<997q8TUR+PnD!+OE{RBy%2=^>Fm<=S&H&WFutV3Zju-@MA5K&QZ zhT#2hqYy)lZLz1p|M=d2d|5;G8KKCskr4{mR2VEJJfNpl)YnRlwqFj0g6# zETNqLjsL9+75?a7Eve)>;hN?1=;x9l%Xn-gvn*2zg5Wz)^g}w z!lTmCa#*SJasxjJPapmk3{=q?K@m^)hVSnSKrcLzq_U~e{q_5Dc|BGs9Y4Ec<^xXe zj2i{@jV}Mb0hRb-r5miA{Q8FXRd_Ea7l7u+?!Xj!7O$pW32 zfBrd-Rug*b)Bb)HkxpXLLV(!aOrO0MwVuDlmSI%Z`)KgMI_iuQI&^famihUUh=BKm z$;M@TM9HRQ#*?>yUuW$L?CEV)z2T3YR69>^LzMH|S1)qH1A5NXh6D8`qtKH{PV);< z)eVcHi_=ZAAJ9+e-i|}2jU~YKTlu$DQY}7j9JiVMOpuTy7TUdM&YBk%apCFT%%c z?zdAjF*a0@`?fx2PhR||u0r)cwUi&1e;3aP2>31#rtn%Us$G_8DOyEyG=^;msdGr5#hk(SI8~h!F!A|w}Wl5H&if%X% zd@^|v_WLUmGor$rgp7Zg6leeYznD=so$>z<^N=p|+3&A0uU5fhE>iqiIoh-F>)#)w zbQ15lr#$PyI!7RH@`5)1_jf5B!bO!J;`inVUZWjZqUe9$@tich^X76h%U|Cw?AtYl z{03(p8+N4B`leuHNJIkE>mn80|Gi53=1pZ4d&m`$fW7fZNAVCqJNWlUs%PUSIvVxZ z&YGK&?6@z!)LSUFCVp)F;NU**?`xh-^DXgpPzheUNHKTG`1_7ja?QqpSG~dJY;xys zLtwJ2M-$fTpy}M9e>f1Z{Ja#A&J({;VJj`w{(B=+$URefTJqQ^@c#gGVAk{i diff --git a/docs/static/img/ui/controlCenterCatalogExample.png b/docs/static/img/ui/controlCenterCatalogExample.png deleted file mode 100644 index 468ebfb34c26ce3ada2abfee196ea9c28d89ac9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26110 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 diff --git a/docs/static/img/ui/controlCenterComponents.png b/docs/static/img/ui/controlCenterComponents.png deleted file mode 100644 index 5e4e87fd05033331ee8d09c4ef1bc342f5f5a217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89163 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 z 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%0A7g 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 V9mIe)m-hx3B{}uy6*8|s{2$i6F8lxh diff --git a/docs/static/img/ui/controlCenterConnectors.png b/docs/static/img/ui/controlCenterConnectors.png index 5d1e45d103d4f1308e9faf244d45241e05b5182b..239707b2b0c1fff6d69c66be6adc3bec2e8f5274 100644 GIT binary patch literal 39349 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

-
- Contact - - - {(!newContactCollapsed || isEditing) && ( - <> - - - - {(expanded || isEditing) && ( - <> - - - - - )} - + <> + +
+ Contact + + + {(!newContactCollapsed || isEditing) && ( + <> + + + + {(expanded || isEditing) && ( + <> + + + + + )} + + )} +
+ + {isEditing ? ( +
+ +
+ ) : ( + )} -
- - {isEditing ? ( -
- + + + {areOthersConversationForContact && ( +
+ Other conversations for this contact: +
+ {conversationsForContact && + conversationsForContact.map((conversationInfo: ConversationInfoForContact) => ( + + ))} +
- ) : ( - )} - + ); }; diff --git a/infrastructure/helm-chart/BUILD b/infrastructure/helm-chart/BUILD index df61787f86..a68d6807bf 100644 --- a/infrastructure/helm-chart/BUILD +++ b/infrastructure/helm-chart/BUILD @@ -2,12 +2,11 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push") - filegroup( name = "files", srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), ) @@ -20,7 +19,6 @@ pkg_tar( "//infrastructure/helm-chart/charts/prerequisites/charts/kafka:files", "//infrastructure/helm-chart/charts/tools/charts/akhq:files", "//infrastructure/helm-chart/charts/tools/charts/kafka-connect:files", - ], extension = "tgz", strip_prefix = "./", diff --git a/infrastructure/helm-chart/charts/ingress-controller/BUILD b/infrastructure/helm-chart/charts/ingress-controller/BUILD index c308888987..1f602ed4a8 100644 --- a/infrastructure/helm-chart/charts/ingress-controller/BUILD +++ b/infrastructure/helm-chart/charts/ingress-controller/BUILD @@ -2,14 +2,13 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push") - filegroup( name = "files", - visibility = ["//visibility:public"], srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), + visibility = ["//visibility:public"], ) pkg_tar( diff --git a/infrastructure/helm-chart/charts/prerequisites/charts/beanstalkd/BUILD b/infrastructure/helm-chart/charts/prerequisites/charts/beanstalkd/BUILD index 30aeddb343..a962005d28 100644 --- a/infrastructure/helm-chart/charts/prerequisites/charts/beanstalkd/BUILD +++ b/infrastructure/helm-chart/charts/prerequisites/charts/beanstalkd/BUILD @@ -2,14 +2,13 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push_version") - filegroup( name = "files", - visibility = ["//visibility:public"], srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), + visibility = ["//visibility:public"], ) pkg_tar( @@ -26,5 +25,5 @@ helm_template_test( helm_push_version( chart = ":package", - version = "1.0" + version = "1.0", ) diff --git a/infrastructure/helm-chart/charts/prerequisites/charts/kafka/BUILD b/infrastructure/helm-chart/charts/prerequisites/charts/kafka/BUILD index 1f1fd08452..859b0226bd 100644 --- a/infrastructure/helm-chart/charts/prerequisites/charts/kafka/BUILD +++ b/infrastructure/helm-chart/charts/prerequisites/charts/kafka/BUILD @@ -2,14 +2,13 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push_version") - filegroup( name = "files", - visibility = ["//visibility:public"], srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), + visibility = ["//visibility:public"], ) pkg_tar( @@ -26,5 +25,5 @@ helm_template_test( helm_push_version( chart = ":package", - version = "2.7.0" + version = "2.7.0", ) diff --git a/infrastructure/helm-chart/charts/tools/charts/akhq/BUILD b/infrastructure/helm-chart/charts/tools/charts/akhq/BUILD index 062bc547aa..8900f38491 100644 --- a/infrastructure/helm-chart/charts/tools/charts/akhq/BUILD +++ b/infrastructure/helm-chart/charts/tools/charts/akhq/BUILD @@ -2,14 +2,13 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push_version") - filegroup( name = "files", - visibility = ["//visibility:public"], srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), + visibility = ["//visibility:public"], ) pkg_tar( @@ -26,5 +25,5 @@ helm_template_test( helm_push_version( chart = ":package", - version = "0.16.0" + version = "0.16.0", ) diff --git a/infrastructure/helm-chart/charts/tools/charts/kafka-connect/BUILD b/infrastructure/helm-chart/charts/tools/charts/kafka-connect/BUILD index 1f1fd08452..859b0226bd 100644 --- a/infrastructure/helm-chart/charts/tools/charts/kafka-connect/BUILD +++ b/infrastructure/helm-chart/charts/tools/charts/kafka-connect/BUILD @@ -2,14 +2,13 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@com_github_airyhq_bazel_tools//helm:helm.bzl", "helm_template_test") load("//tools/build:helm.bzl", "helm_push_version") - filegroup( name = "files", - visibility = ["//visibility:public"], srcs = glob( ["**/*"], - exclude = [ "BUILD" ], + exclude = ["BUILD"], ), + visibility = ["//visibility:public"], ) pkg_tar( @@ -26,5 +25,5 @@ helm_template_test( helm_push_version( chart = ":package", - version = "2.7.0" + version = "2.7.0", ) diff --git a/lib/typescript/components/general/ConnectorAvatar/index.module.scss b/lib/typescript/components/general/ConnectorAvatar/index.module.scss new file mode 100644 index 0000000000..4874e4e650 --- /dev/null +++ b/lib/typescript/components/general/ConnectorAvatar/index.module.scss @@ -0,0 +1,15 @@ +.image { + display: flex; + align-self: center; + + svg { + height: 100%; + width: 100%; + } + + img { + height: 100%; + width: 100%; + border-radius: 50%; + } +} diff --git a/lib/typescript/components/general/ConnectorAvatar/index.tsx b/lib/typescript/components/general/ConnectorAvatar/index.tsx new file mode 100644 index 0000000000..8a245bb509 --- /dev/null +++ b/lib/typescript/components/general/ConnectorAvatar/index.tsx @@ -0,0 +1,52 @@ +import React, {CSSProperties} from 'react'; +import {ReactComponent as GoogleAvatar} from 'assets/images/icons/googleLogo.svg'; +import {ReactComponent as WhatsappAvatar} from 'assets/images/icons/whatsappLogoFilled.svg'; +import {ReactComponent as SmsAvatar} from 'assets/images/icons/phoneIcon.svg'; +import {ReactComponent as FacebookAvatar} from 'assets/images/icons/facebookMessengerLogoBlue.svg'; +import {ReactComponent as AiryAvatar} from 'assets/images/icons/airyLogo.svg'; +import {ReactComponent as InstagramAvatar} from 'assets/images/icons/instagramLogoFilled.svg'; +import {ReactComponent as TwilioAvatar} from 'assets/images/icons/twilioLogo.svg'; +import {ReactComponent as ViberAvatar} from 'assets/images/icons/viberLogoFilled.svg'; +import {ReactComponent as ZendeskAvatar} from 'assets/images/icons/zendeskLogo.svg'; +import {ReactComponent as DialogflowAvatar} from 'assets/images/icons/dialogflowLogo.svg'; +import {Source} from 'model'; +import styles from './index.module.scss'; + +type ConnectorAvatarProps = { + source: Source; + style?: CSSProperties; +}; + +export const getConnectorAvatar = (source: string) => { + switch (source) { + case Source.facebook: + return ; + case Source.google: + return ; + case Source.twilioSMS: + return ; + case Source.twilioWhatsApp: + return ; + case Source.twilio: + return ; + case Source.instagram: + return ; + case Source.viber: + return ; + case Source.zendesk: + return ; + case Source.dialogflow: + return ; + default: + return ; + } +}; + +export const ConnectorAvatar = (props: ConnectorAvatarProps) => { + const {source, style} = props; + return ( +
+ {getConnectorAvatar(source)} +
+ ); +}; diff --git a/lib/typescript/components/general/index.ts b/lib/typescript/components/general/index.ts index cfa8a6a73c..813be6e7e7 100644 --- a/lib/typescript/components/general/index.ts +++ b/lib/typescript/components/general/index.ts @@ -2,3 +2,4 @@ export * from './Carousel'; export * from './Emoji'; export * from './ListenOutsideClick'; export * from './AudioClip'; +export * from './ConnectorAvatar'; From 5f06c3843af129f8707db00d43317042dc23ad06 Mon Sep 17 00:00:00 2001 From: AudreyKj <38159391+AudreyKj@users.noreply.github.com> Date: Fri, 29 Apr 2022 17:11:22 +0200 Subject: [PATCH 09/30] [#3085] navbar wrong view selection (#3105) * renaming and routing fix * fixed title * fixes * page title fix * import fixes * fixed sidebar inbox * fix styling * changed route * new connector routing fix --- frontend/control-center/src/App.tsx | 43 ++-- .../src/actions/channel/index.ts | 8 +- .../src/components/Sidebar/index.tsx | 6 +- .../src/components/SourceInfo/index.tsx | 149 ++++++++++++++ .../src/pages/Catalog/CatalogItemList.tsx | 7 +- .../CatalogOutlet.tsx} | 4 +- .../src/pages/Catalog/index.tsx | 144 +------------ .../src/pages/Channels/index.tsx | 190 ------------------ .../ChannelCard/index.module.scss | 1 + .../ChannelCard/index.tsx | 2 +- .../ChannelsListItem/index.module.scss | 0 .../ChannelsListItem/index.tsx | 3 +- .../ConnectedChannelsList/index.module.scss | 0 .../ConnectedChannelsList/index.tsx | 54 +++-- .../src/pages/Connectors/ConnectorsOutlet.tsx | 8 + .../ChatPlugin/ChatPluginConnect.module.scss | 0 .../Airy/ChatPlugin/ChatPluginConnect.tsx | 21 +- .../sections/ConnectNewChatPlugin.module.scss | 0 .../sections/ConnectNewChatPlugin.tsx | 2 +- .../sections/CustomiseSection.module.scss | 0 .../ChatPlugin/sections/CustomiseSection.tsx | 0 .../sections/EditChatPlugin.module.scss | 0 .../ChatPlugin/sections/EditChatPlugin.tsx | 0 .../Messenger/FacebookConnect.module.scss | 0 .../Facebook/Messenger/FacebookConnect.tsx | 8 +- .../index.module.scss | 0 .../index.tsx | 0 .../index.module.scss | 0 .../index.tsx | 0 .../Google/GoogleConnect.module.scss | 0 .../Providers/Google/GoogleConnect.tsx | 8 +- .../Instagram/InstagramConnect.module.scss | 0 .../Providers/Instagram/InstagramConnect.tsx | 8 +- .../index.module.scss | 0 .../InstagramRequirementsDialog/index.tsx | 0 .../Twilio/SMS/TwilioSmsConnect.module.scss | 0 .../Providers/Twilio/SMS/TwilioSmsConnect.tsx | 2 +- .../Twilio/TwilioConnect.module.scss | 0 .../Providers/Twilio/TwilioConnect.tsx | 10 +- .../index.module.scss | 0 .../Twilio/TwilioRequirementsDialog/index.tsx | 0 .../TwilioWhatsappConnect.module.scss | 0 .../Twilio/WhatsApp/TwilioWhatsappConnect.tsx | 2 +- .../index.module.scss | 0 .../src/pages/Connectors/index.tsx | 70 +++++++ frontend/control-center/src/routes/routes.ts | 25 ++- .../control-center/src/services/pageTitle.ts | 4 +- .../inbox/src/components/Sidebar/index.tsx | 5 +- frontend/inbox/src/services/pageTitle.ts | 4 +- 49 files changed, 384 insertions(+), 404 deletions(-) create mode 100644 frontend/control-center/src/components/SourceInfo/index.tsx rename frontend/control-center/src/pages/{Channels/ChannelsOutlet.tsx => Catalog/CatalogOutlet.tsx} (60%) delete mode 100644 frontend/control-center/src/pages/Channels/index.tsx rename frontend/control-center/src/pages/{Channels => Connectors}/ChannelCard/index.module.scss (97%) rename frontend/control-center/src/pages/{Channels => Connectors}/ChannelCard/index.tsx (94%) rename frontend/control-center/src/pages/{Channels => Connectors}/ConnectedChannelsList/ChannelsListItem/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/ConnectedChannelsList/ChannelsListItem/index.tsx (95%) rename frontend/control-center/src/pages/{Channels => Connectors}/ConnectedChannelsList/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/ConnectedChannelsList/index.tsx (71%) create mode 100644 frontend/control-center/src/pages/Connectors/ConnectorsOutlet.tsx rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx (85%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/ConnectNewChatPlugin.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/ConnectNewChatPlugin.tsx (96%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/CustomiseSection.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/CustomiseSection.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/EditChatPlugin.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Airy/ChatPlugin/sections/EditChatPlugin.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Facebook/Messenger/FacebookConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Facebook/Messenger/FacebookConnect.tsx (93%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Google/GoogleConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Google/GoogleConnect.tsx (92%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Instagram/InstagramConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Instagram/InstagramConnect.tsx (94%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Instagram/InstagramRequirementsDialog/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Instagram/InstagramRequirementsDialog/index.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/SMS/TwilioSmsConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/SMS/TwilioSmsConnect.tsx (95%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/TwilioConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/TwilioConnect.tsx (91%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/TwilioRequirementsDialog/index.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/TwilioRequirementsDialog/index.tsx (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss (100%) rename frontend/control-center/src/pages/{Channels => Connectors}/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx (97%) rename frontend/control-center/src/pages/{Channels => Connectors}/index.module.scss (100%) create mode 100644 frontend/control-center/src/pages/Connectors/index.tsx diff --git a/frontend/control-center/src/App.tsx b/frontend/control-center/src/App.tsx index 6502431a8a..d25c42b87a 100644 --- a/frontend/control-center/src/App.tsx +++ b/frontend/control-center/src/App.tsx @@ -5,18 +5,19 @@ import Sidebar from './components/Sidebar'; import styles from './App.module.scss'; import {getClientConfig} from './actions/config'; import {Navigate, Route, Routes} from 'react-router-dom'; -import {CATALOG_ROUTE, CHANNELS_ROUTE, ROOT_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from './routes/routes'; -import FacebookConnect from './pages/Channels/Providers/Facebook/Messenger/FacebookConnect'; -import ChatPluginConnect from './pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect'; -import ConnectedChannelsList from './pages/Channels/ConnectedChannelsList'; -import TwilioSmsConnect from './pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect'; -import TwilioWhatsappConnect from './pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect'; -import GoogleConnect from './pages/Channels/Providers/Google/GoogleConnect'; -import InstagramConnect from './pages/Channels/Providers/Instagram/InstagramConnect'; +import {CATALOG_ROUTE, CONNECTORS_ROUTE, ROOT_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from './routes/routes'; +import FacebookConnect from './pages/Connectors/Providers/Facebook/Messenger/FacebookConnect'; +import ChatPluginConnect from './pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect'; +import ConnectedChannelsList from './pages/Connectors/ConnectedChannelsList'; +import TwilioSmsConnect from './pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect'; +import TwilioWhatsappConnect from './pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect'; +import GoogleConnect from './pages/Connectors/Providers/Google/GoogleConnect'; +import InstagramConnect from './pages/Connectors/Providers/Instagram/InstagramConnect'; import NotFound from './pages/NotFound'; -import ChannelsOutlet from './pages/Channels/ChannelsOutlet'; +import ConnectorsOutlet from './pages/Connectors/ConnectorsOutlet'; import Catalog from './pages/Catalog'; -import Channels from './pages/Channels'; +import CatalogOutlet from './pages/Catalog/CatalogOutlet'; +import Connectors from './pages/Connectors'; import Webhooks from './pages/Webhooks'; import Status from './pages/Status'; @@ -37,8 +38,9 @@ const App = (props: ConnectedProps) => { - } /> - }> + } /> + + }> } /> } /> } /> @@ -46,12 +48,23 @@ const App = (props: ConnectedProps) => { } /> } /> } /> - } /> + } /> + + }> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + } /> - } /> } /> - }> + } />
diff --git a/frontend/control-center/src/actions/channel/index.ts b/frontend/control-center/src/actions/channel/index.ts index 7fbcbbac66..bb661e20a4 100644 --- a/frontend/control-center/src/actions/channel/index.ts +++ b/frontend/control-center/src/actions/channel/index.ts @@ -17,16 +17,16 @@ import { import {HttpClientInstance} from '../../httpClient'; -const SET_CURRENT_CHANNELS = '@@channel/SET_CHANNELS'; -const ADD_CHANNELS = '@@channel/ADD_CHANNELS'; +const SET_CURRENT_CONNECTORS = '@@channel/SET_CONNECTORS'; +const ADD_CONNECTORS = '@@channel/ADD_CONNECTORS'; const SET_CHANNEL = '@@channel/SET_CHANNEL'; const DELETE_CHANNEL = '@@channel/DELETE_CHANNEL'; -export const setCurrentChannelsAction = createAction(SET_CURRENT_CHANNELS, (channels: Channel[]) => channels)< +export const setCurrentChannelsAction = createAction(SET_CURRENT_CONNECTORS, (channels: Channel[]) => channels)< Channel[] >(); -export const addChannelsAction = createAction(ADD_CHANNELS, (channels: Channel[]) => channels)(); +export const addChannelsAction = createAction(ADD_CONNECTORS, (channels: Channel[]) => channels)(); export const setChannelAction = createAction(SET_CHANNEL, (channel: Channel) => channel)(); export const deleteChannelAction = createAction(DELETE_CHANNEL, (channelId: string) => channelId)(); diff --git a/frontend/control-center/src/components/Sidebar/index.tsx b/frontend/control-center/src/components/Sidebar/index.tsx index 444fc63c7f..9b914d6070 100644 --- a/frontend/control-center/src/components/Sidebar/index.tsx +++ b/frontend/control-center/src/components/Sidebar/index.tsx @@ -2,7 +2,7 @@ import React from 'react'; import {Link} from 'react-router-dom'; import {useMatch} from 'react-router'; -import {CATALOG_ROUTE, CHANNELS_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from '../../routes/routes'; +import {CATALOG_ROUTE, CONNECTORS_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from '../../routes/routes'; import {ReactComponent as ConnectorsIcon} from 'assets/images/icons/gitMerge.svg'; import {ReactComponent as CatalogIcon} from 'assets/images/icons/catalogIcon.svg'; import {ReactComponent as WebhooksIcon} from 'assets/images/icons/webhooksIcon.svg'; @@ -34,8 +34,8 @@ const Sidebar = (props: SideBarProps) => { Status -
- +
+ Connectors diff --git a/frontend/control-center/src/components/SourceInfo/index.tsx b/frontend/control-center/src/components/SourceInfo/index.tsx new file mode 100644 index 0000000000..ddee1b8470 --- /dev/null +++ b/frontend/control-center/src/components/SourceInfo/index.tsx @@ -0,0 +1,149 @@ +import React from 'react'; +import {Source} from 'model'; +import {ReactComponent as AiryAvatarIcon} from 'assets/images/icons/airyLogo.svg'; +import {ReactComponent as MessengerAvatarIcon} from 'assets/images/icons/facebookMessengerLogoBlue.svg'; +import {ReactComponent as SMSAvatarIcon} from 'assets/images/icons/phoneIcon.svg'; +import {ReactComponent as WhatsAppAvatarIcon} from 'assets/images/icons/whatsappLogoFilled.svg'; +import {ReactComponent as GoogleAvatarIcon} from 'assets/images/icons/googleLogo.svg'; +import {ReactComponent as InstagramIcon} from 'assets/images/icons/instagramLogoFilled.svg'; +import { + cyChannelsChatPluginAddButton, + cyChannelsChatPluginList, + cyChannelsFacebookAddButton, + cyChannelsFacebookList, + cyChannelsGoogleAddButton, + cyChannelsGoogleList, + cyChannelsTwilioSmsAddButton, + cyChannelsTwilioSmsList, + cyChannelsTwilioWhatsappAddButton, + cyChannelsTwilioWhatsappList, + cyChannelsInstagramAddButton, + cyChannelsInstagramList, +} from 'handles'; +import { + CATALOG_FACEBOOK_ROUTE, + CATALOG_TWILIO_SMS_ROUTE, + CATALOG_TWILIO_WHATSAPP_ROUTE, + CONNECTORS_CONNECTED_ROUTE, + CATALOG_CHAT_PLUGIN_ROUTE, + CATALOG_GOOGLE_ROUTE, + CATALOG_INSTAGRAM_ROUTE, + CATALOG_CONNECTED_ROUTE, + CONNECTORS_FACEBOOK_ROUTE, + CONNECTORS_TWILIO_SMS_ROUTE, + CONNECTORS_TWILIO_WHATSAPP_ROUTE, + CONNECTORS_CHAT_PLUGIN_ROUTE, + CONNECTORS_GOOGLE_ROUTE, + CONNECTORS_INSTAGRAM_ROUTE, +} from '../../routes/routes'; + +export type SourceInfo = { + type: Source; + title: string; + description: string; + image: JSX.Element; + newChannelRoute: string; + channelsListRoute: string; + configKey: string; + channelsToShow: number; + itemInfoString: string; + dataCyAddChannelButton: string; + dataCyChannelList: string; +}; + +export const getSourcesInfo = (page: string): SourceInfo[] => { + const connectorsPage = page === 'Connectors'; + + return [ + { + type: Source.chatPlugin, + title: 'Airy Live Chat', + description: 'Best of class browser messenger', + image: , + newChannelRoute: connectorsPage ? CONNECTORS_CHAT_PLUGIN_ROUTE + '/new' : CATALOG_CHAT_PLUGIN_ROUTE + '/new', + channelsListRoute: connectorsPage + ? CONNECTORS_CONNECTED_ROUTE + '/chatplugin' + : CATALOG_CONNECTED_ROUTE + '/chatplugin', + configKey: 'sources-chat-plugin', + channelsToShow: 4, + itemInfoString: 'channels', + dataCyAddChannelButton: cyChannelsChatPluginAddButton, + dataCyChannelList: cyChannelsChatPluginList, + }, + { + type: Source.facebook, + title: 'Messenger', + description: 'Connect multiple Facebook pages', + image: , + newChannelRoute: connectorsPage ? CONNECTORS_FACEBOOK_ROUTE + '/new' : CATALOG_FACEBOOK_ROUTE + '/new', + channelsListRoute: connectorsPage + ? CONNECTORS_CONNECTED_ROUTE + '/facebook' + : CATALOG_CONNECTED_ROUTE + '/facebook', + configKey: 'sources-facebook', + channelsToShow: 4, + itemInfoString: 'channels', + dataCyAddChannelButton: cyChannelsFacebookAddButton, + dataCyChannelList: cyChannelsFacebookList, + }, + { + type: Source.twilioSMS, + title: 'SMS', + description: 'Deliver SMS with ease', + image: , + newChannelRoute: connectorsPage ? CONNECTORS_TWILIO_SMS_ROUTE + '/new' : CATALOG_TWILIO_SMS_ROUTE + '/new', + channelsListRoute: connectorsPage + ? CONNECTORS_CONNECTED_ROUTE + '/twilio.sms/#' + : CATALOG_CONNECTED_ROUTE + '/twilio.sms/#', + configKey: 'sources-twilio', + channelsToShow: 2, + itemInfoString: 'phones', + dataCyAddChannelButton: cyChannelsTwilioSmsAddButton, + dataCyChannelList: cyChannelsTwilioSmsList, + }, + { + type: Source.twilioWhatsApp, + title: 'WhatsApp', + description: 'World #1 chat app', + image: , + newChannelRoute: connectorsPage + ? CONNECTORS_TWILIO_WHATSAPP_ROUTE + '/new' + : CATALOG_TWILIO_WHATSAPP_ROUTE + '/new', + channelsListRoute: connectorsPage + ? CONNECTORS_CONNECTED_ROUTE + '/twilio.whatsapp/#' + : CATALOG_CONNECTED_ROUTE + '/twilio.whatsapp/#', + configKey: 'sources-twilio', + channelsToShow: 2, + itemInfoString: 'phones', + dataCyAddChannelButton: cyChannelsTwilioWhatsappAddButton, + dataCyChannelList: cyChannelsTwilioWhatsappList, + }, + { + type: Source.google, + title: 'Google Business Messages', + description: 'Be there when people search', + image: , + newChannelRoute: connectorsPage ? CONNECTORS_GOOGLE_ROUTE + '/new' : CATALOG_GOOGLE_ROUTE + '/new', + channelsListRoute: connectorsPage ? CONNECTORS_CONNECTED_ROUTE + '/google' : CATALOG_CONNECTED_ROUTE + '/google', + configKey: 'sources-google', + channelsToShow: 4, + itemInfoString: 'channels', + dataCyAddChannelButton: cyChannelsGoogleAddButton, + dataCyChannelList: cyChannelsGoogleList, + }, + { + type: Source.instagram, + title: 'Instagram', + description: 'Connect multiple Instagram pages', + image: , + newChannelRoute: connectorsPage ? CONNECTORS_INSTAGRAM_ROUTE + '/new' : CATALOG_INSTAGRAM_ROUTE + '/new', + channelsListRoute: connectorsPage + ? CONNECTORS_CONNECTED_ROUTE + '/instagram' + : CATALOG_CONNECTED_ROUTE + '/instagram', + configKey: 'sources-facebook', + channelsToShow: 4, + itemInfoString: 'channels', + dataCyAddChannelButton: cyChannelsInstagramAddButton, + dataCyChannelList: cyChannelsInstagramList, + }, + ]; +}; diff --git a/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx b/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx index f72ee8d967..361c00adfe 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import ChannelCard from '../Channels/ChannelCard'; +import ChannelCard from '../Connectors/ChannelCard'; import {StateModel} from '../../reducers'; import {useSelector} from 'react-redux'; import {useNavigate} from 'react-router-dom'; -import {SourceInfo} from './index'; +import {SourceInfo} from '../../components/SourceInfo'; import styles from './index.module.scss'; interface CatalogItemListProps { @@ -15,6 +15,7 @@ interface CatalogItemListProps { export const CatalogItemList = (props: CatalogItemListProps) => { const {list, installedConnectors, setDisplayDialogFromSource} = props; const config = useSelector((state: StateModel) => state.data.config); + const navigate = useNavigate(); return ( @@ -29,7 +30,7 @@ export const CatalogItemList = (props: CatalogItemListProps) => { sourceInfo={infoItem} addChannelAction={() => { if (config.components[infoItem.configKey] && config.components[infoItem.configKey].enabled) { - navigate(infoItem.newChannelRoute); + installedConnectors ? navigate(infoItem.channelsListRoute) : navigate(infoItem.newChannelRoute); } else { setDisplayDialogFromSource(infoItem.type); } diff --git a/frontend/control-center/src/pages/Channels/ChannelsOutlet.tsx b/frontend/control-center/src/pages/Catalog/CatalogOutlet.tsx similarity index 60% rename from frontend/control-center/src/pages/Channels/ChannelsOutlet.tsx rename to frontend/control-center/src/pages/Catalog/CatalogOutlet.tsx index 32e6d8a4a6..81e684b2b0 100644 --- a/frontend/control-center/src/pages/Channels/ChannelsOutlet.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogOutlet.tsx @@ -1,8 +1,8 @@ import React from 'react'; import {Outlet} from 'react-router-dom'; -const ChannelsOutlet = () => { +const CatalogOutlet = () => { return ; }; -export default ChannelsOutlet; +export default CatalogOutlet; diff --git a/frontend/control-center/src/pages/Catalog/index.tsx b/frontend/control-center/src/pages/Catalog/index.tsx index 6674b237c0..1059152d3a 100644 --- a/frontend/control-center/src/pages/Catalog/index.tsx +++ b/frontend/control-center/src/pages/Catalog/index.tsx @@ -1,161 +1,39 @@ import React, {useEffect, useState} from 'react'; - -import {ReactComponent as AiryAvatarIcon} from 'assets/images/icons/airyLogo.svg'; -import {ReactComponent as MessengerAvatarIcon} from 'assets/images/icons/facebookMessengerLogoBlue.svg'; -import {ReactComponent as SMSAvatarIcon} from 'assets/images/icons/phoneIcon.svg'; -import {ReactComponent as WhatsAppAvatarIcon} from 'assets/images/icons/whatsappLogoFilled.svg'; -import {ReactComponent as GoogleAvatarIcon} from 'assets/images/icons/googleLogo.svg'; -import {ReactComponent as InstagramIcon} from 'assets/images/icons/instagramLogoFilled.svg'; - import styles from './index.module.scss'; -import { - cyChannelsChatPluginAddButton, - cyChannelsChatPluginList, - cyChannelsFacebookAddButton, - cyChannelsFacebookList, - cyChannelsGoogleAddButton, - cyChannelsGoogleList, - cyChannelsTwilioSmsAddButton, - cyChannelsTwilioSmsList, - cyChannelsTwilioWhatsappAddButton, - cyChannelsTwilioWhatsappList, - cyChannelsInstagramAddButton, - cyChannelsInstagramList, -} from 'handles'; -import { - CHANNELS_FACEBOOK_ROUTE, - CHANNELS_TWILIO_SMS_ROUTE, - CHANNELS_TWILIO_WHATSAPP_ROUTE, - CHANNELS_CONNECTED_ROUTE, - CHANNELS_CHAT_PLUGIN_ROUTE, - CHANNELS_GOOGLE_ROUTE, - CHANNELS_INSTAGRAM_ROUTE, -} from '../../routes/routes'; import {StateModel} from '../../reducers'; import {useSelector} from 'react-redux'; import {allChannelsConnected} from '../../selectors/channels'; -import {FacebookMessengerRequirementsDialog} from '../Channels/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog'; -import {GoogleBusinessMessagesRequirementsDialog} from '../Channels/Providers/Google/GoogleBusinessMessagesRequirementsDialog'; -import {TwilioRequirementsDialog} from '../Channels/Providers/Twilio/TwilioRequirementsDialog'; -import {InstagramRequirementsDialog} from '../Channels/Providers/Instagram/InstagramRequirementsDialog'; +import {FacebookMessengerRequirementsDialog} from '../Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog'; +import {GoogleBusinessMessagesRequirementsDialog} from '../Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog'; +import {TwilioRequirementsDialog} from '../Connectors/Providers/Twilio/TwilioRequirementsDialog'; +import {InstagramRequirementsDialog} from '../Connectors/Providers/Instagram/InstagramRequirementsDialog'; import {setPageTitle} from '../../services/pageTitle'; import {CatalogItemList} from './CatalogItemList'; import {Channel, Source} from 'model'; - -export type SourceInfo = { - type: Source; - title: string; - description: string; - image: JSX.Element; - newChannelRoute: string; - channelsListRoute: string; - configKey: string; - channelsToShow: number; - itemInfoString: string; - dataCyAddChannelButton: string; - dataCyChannelList: string; -}; - -const SourcesInfo: SourceInfo[] = [ - { - type: Source.chatPlugin, - title: 'Airy Live Chat', - description: 'Best of class browser messenger', - image: , - newChannelRoute: CHANNELS_CHAT_PLUGIN_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/chatplugin', - configKey: 'sources-chat-plugin', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsChatPluginAddButton, - dataCyChannelList: cyChannelsChatPluginList, - }, - { - type: Source.facebook, - title: 'Messenger', - description: 'Connect multiple Facebook pages', - image: , - newChannelRoute: CHANNELS_FACEBOOK_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/facebook', - configKey: 'sources-facebook', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsFacebookAddButton, - dataCyChannelList: cyChannelsFacebookList, - }, - { - type: Source.twilioSMS, - title: 'SMS', - description: 'Deliver SMS with ease', - image: , - newChannelRoute: CHANNELS_TWILIO_SMS_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/twilio.sms/#', - configKey: 'sources-twilio', - channelsToShow: 2, - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioSmsAddButton, - dataCyChannelList: cyChannelsTwilioSmsList, - }, - { - type: Source.twilioWhatsApp, - title: 'WhatsApp', - description: 'World #1 chat app', - image: , - newChannelRoute: CHANNELS_TWILIO_WHATSAPP_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/twilio.whatsapp/#', - configKey: 'sources-twilio', - channelsToShow: 2, - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioWhatsappAddButton, - dataCyChannelList: cyChannelsTwilioWhatsappList, - }, - { - type: Source.google, - title: 'Google Business Messages', - description: 'Be there when people search', - image: , - newChannelRoute: CHANNELS_GOOGLE_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/google', - configKey: 'sources-google', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsGoogleAddButton, - dataCyChannelList: cyChannelsGoogleList, - }, - { - type: Source.instagram, - title: 'Instagram', - description: 'Connect multiple Instagram pages', - image: , - newChannelRoute: CHANNELS_INSTAGRAM_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/instagram', - configKey: 'sources-facebook', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsInstagramAddButton, - dataCyChannelList: cyChannelsInstagramList, - }, -]; +import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; const Catalog = () => { const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); const [displayDialogFromSource, setDisplayDialogFromSource] = useState(''); const [notInstalledConnectors, setNotInstalledConnectors] = useState([]); const [installedConnectors, setInstalledConnectors] = useState([]); + const [sourcesInfo, setSourcesInfo] = useState([]); + const pageTitle = 'Catalog'; useEffect(() => { - setPageTitle('Catalog'); + setPageTitle(pageTitle); + setSourcesInfo(getSourcesInfo(pageTitle)); }, []); useEffect(() => { - SourcesInfo.map((infoItem: SourceInfo) => { + sourcesInfo.map((infoItem: SourceInfo) => { if (channelsBySource(infoItem.type).length === 0) { setNotInstalledConnectors(prevArr => [...prevArr, infoItem]); } else { setInstalledConnectors(prevArr => [...prevArr, infoItem]); } }); - }, []); + }, [sourcesInfo]); const OpenRequirementsDialog = ({source}: {source: string}): JSX.Element => { switch (source) { diff --git a/frontend/control-center/src/pages/Channels/index.tsx b/frontend/control-center/src/pages/Channels/index.tsx deleted file mode 100644 index 54043ffaab..0000000000 --- a/frontend/control-center/src/pages/Channels/index.tsx +++ /dev/null @@ -1,190 +0,0 @@ -import React, {useEffect} from 'react'; - -import {Channel, Source} from 'model'; -import ChannelCard from './ChannelCard'; - -import {ReactComponent as AiryAvatarIcon} from 'assets/images/icons/airyLogo.svg'; -import {ReactComponent as MessengerAvatarIcon} from 'assets/images/icons/facebookMessengerLogoBlue.svg'; -import {ReactComponent as SMSAvatarIcon} from 'assets/images/icons/phoneIcon.svg'; -import {ReactComponent as WhatsAppAvatarIcon} from 'assets/images/icons/whatsappLogoFilled.svg'; -import {ReactComponent as GoogleAvatarIcon} from 'assets/images/icons/googleLogo.svg'; -import {ReactComponent as InstagramIcon} from 'assets/images/icons/instagramLogoFilled.svg'; - -import styles from './index.module.scss'; -import { - cyChannelsChatPluginAddButton, - cyChannelsChatPluginList, - cyChannelsFacebookAddButton, - cyChannelsFacebookList, - cyChannelsGoogleAddButton, - cyChannelsGoogleList, - cyChannelsTwilioSmsAddButton, - cyChannelsTwilioSmsList, - cyChannelsTwilioWhatsappAddButton, - cyChannelsTwilioWhatsappList, - cyChannelsInstagramAddButton, - cyChannelsInstagramList, -} from 'handles'; -import { - CHANNELS_FACEBOOK_ROUTE, - CHANNELS_TWILIO_SMS_ROUTE, - CHANNELS_TWILIO_WHATSAPP_ROUTE, - CHANNELS_CONNECTED_ROUTE, - CHANNELS_CHAT_PLUGIN_ROUTE, - CHANNELS_GOOGLE_ROUTE, - CHANNELS_INSTAGRAM_ROUTE, -} from '../../routes/routes'; -import {StateModel} from '../../reducers'; -import {connect, ConnectedProps, useSelector} from 'react-redux'; -import {useNavigate} from 'react-router-dom'; -import {allChannelsConnected} from '../../selectors/channels'; -import {listChannels} from '../../actions/channel'; -import {setPageTitle} from '../../services/pageTitle'; - -export type SourceInfo = { - type: Source; - title: string; - description: string; - image: JSX.Element; - newChannelRoute: string; - channelsListRoute: string; - configKey: string; - channelsToShow: number; - itemInfoString: string; - dataCyAddChannelButton: string; - dataCyChannelList: string; -}; - -const SourcesInfo: SourceInfo[] = [ - { - type: Source.chatPlugin, - title: 'Airy Live Chat', - description: 'Best of class browser messenger', - image: , - newChannelRoute: CHANNELS_CHAT_PLUGIN_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/chatplugin', - configKey: 'sources-chat-plugin', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsChatPluginAddButton, - dataCyChannelList: cyChannelsChatPluginList, - }, - { - type: Source.facebook, - title: 'Messenger', - description: 'Connect multiple Facebook pages', - image: , - newChannelRoute: CHANNELS_FACEBOOK_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/facebook', - configKey: 'sources-facebook', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsFacebookAddButton, - dataCyChannelList: cyChannelsFacebookList, - }, - { - type: Source.twilioSMS, - title: 'SMS', - description: 'Deliver SMS with ease', - image: , - newChannelRoute: CHANNELS_TWILIO_SMS_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/twilio.sms/#', - configKey: 'sources-twilio', - channelsToShow: 2, - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioSmsAddButton, - dataCyChannelList: cyChannelsTwilioSmsList, - }, - { - type: Source.twilioWhatsApp, - title: 'WhatsApp', - description: 'World #1 chat app', - image: , - newChannelRoute: CHANNELS_TWILIO_WHATSAPP_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/twilio.whatsapp/#', - configKey: 'sources-twilio', - channelsToShow: 2, - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioWhatsappAddButton, - dataCyChannelList: cyChannelsTwilioWhatsappList, - }, - { - type: Source.google, - title: 'Google Business Messages', - description: 'Be there when people search', - image: , - newChannelRoute: CHANNELS_GOOGLE_ROUTE + '/new_account', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/google', - configKey: 'sources-google', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsGoogleAddButton, - dataCyChannelList: cyChannelsGoogleList, - }, - { - type: Source.instagram, - title: 'Instagram', - description: 'Connect multiple Instagram pages', - image: , - newChannelRoute: CHANNELS_INSTAGRAM_ROUTE + '/new', - channelsListRoute: CHANNELS_CONNECTED_ROUTE + '/instagram', - configKey: 'sources-facebook', - channelsToShow: 4, - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsInstagramAddButton, - dataCyChannelList: cyChannelsInstagramList, - }, -]; - -const mapDispatchToProps = { - listChannels, -}; - -const mapStateToProps = (state: StateModel) => ({ - channels: Object.values(allChannelsConnected(state)), -}); - -const connector = connect(mapStateToProps, mapDispatchToProps); - -const Channels = (props: ConnectedProps) => { - const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); - const channelsBySource = (Source: Source) => channels.filter((channel: Channel) => channel.source === Source); - const navigate = useNavigate(); - - useEffect(() => { - if (props.channels.length === 0) { - props.listChannels(); - } - setPageTitle('Connectors'); - }, [props.channels.length]); - - return ( -
-
-
-

Connectors

-
-
- -
- {SourcesInfo.map((infoItem: SourceInfo) => { - return ( - channelsBySource(infoItem.type).length > 0 && ( -
- { - navigate(infoItem.channelsListRoute); - }} - /> -
- ) - ); - })} -
-
- ); -}; - -export default connector(Channels); diff --git a/frontend/control-center/src/pages/Channels/ChannelCard/index.module.scss b/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss similarity index 97% rename from frontend/control-center/src/pages/Channels/ChannelCard/index.module.scss rename to frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss index f6477a33f7..c3ae1328e7 100644 --- a/frontend/control-center/src/pages/Channels/ChannelCard/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss @@ -13,6 +13,7 @@ background-color: var(--color-background-blue); &:hover { cursor: pointer; + border: 1px solid transparent; } } diff --git a/frontend/control-center/src/pages/Channels/ChannelCard/index.tsx b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx similarity index 94% rename from frontend/control-center/src/pages/Channels/ChannelCard/index.tsx rename to frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx index f3ab33b48c..e7eeb8a877 100644 --- a/frontend/control-center/src/pages/Channels/ChannelCard/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {SourceInfo} from '..'; +import {SourceInfo} from '../../../components/SourceInfo'; import styles from './index.module.scss'; type SourceDescriptionCardProps = { diff --git a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/ChannelsListItem/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/ConnectedChannelsList/ChannelsListItem/index.module.scss rename to frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/ChannelsListItem/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx similarity index 95% rename from frontend/control-center/src/pages/Channels/ConnectedChannelsList/ChannelsListItem/index.tsx rename to frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx index cdad9d685f..794038c2eb 100644 --- a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/ChannelsListItem/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx @@ -26,6 +26,7 @@ const ChannelListItem = (props: ChannelListItemProps) => { const {channel} = props; const navigate = useNavigate(); const [deletePopupVisible, setDeletePopupVisible] = useState(false); + const path = location.pathname.includes('connectors') ? 'connectors' : 'catalog'; const togglePopupVisibility = () => { setDeletePopupVisible(!deletePopupVisible); @@ -63,7 +64,7 @@ const ChannelListItem = (props: ChannelListItemProps) => { styleVariant="link" type="button" onClick={() => - navigate(`/channels/${channel.source}/${channel.id}`, { + navigate(`/${path}/${channel.source}/${channel.id}`, { state: {channel: channel}, }) } diff --git a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/ConnectedChannelsList/index.module.scss rename to frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx similarity index 71% rename from frontend/control-center/src/pages/Channels/ConnectedChannelsList/index.tsx rename to frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx index 01a09251f7..fc2c6de843 100644 --- a/frontend/control-center/src/pages/Channels/ConnectedChannelsList/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useState} from 'react'; import {useSelector} from 'react-redux'; -import {Link, useNavigate, useParams} from 'react-router-dom'; +import {useNavigate, useParams} from 'react-router-dom'; import {sortBy} from 'lodash-es'; import {StateModel} from '../../../reducers'; @@ -8,7 +8,7 @@ import {allChannels} from '../../../selectors/channels'; import {Channel, Source} from 'model'; import ChannelsListItem from './ChannelsListItem'; -import {SearchField} from 'components'; +import {SearchField, LinkButton} from 'components'; import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg'; import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; import {ReactComponent as PlusIcon} from 'assets/images/icons/plus.svg'; @@ -17,13 +17,18 @@ import {ReactComponent as CloseIcon} from 'assets/images/icons/close.svg'; import styles from './index.module.scss'; import {cyChannelsFormBackButton} from 'handles'; import { - CHANNELS_FACEBOOK_ROUTE, - CHANNELS_CHAT_PLUGIN_ROUTE, - CHANNELS_ROUTE, - CHANNELS_TWILIO_SMS_ROUTE, - CHANNELS_TWILIO_WHATSAPP_ROUTE, - CHANNELS_GOOGLE_ROUTE, - CHANNELS_INSTAGRAM_ROUTE, + CONNECTORS_FACEBOOK_ROUTE, + CONNECTORS_CHAT_PLUGIN_ROUTE, + CONNECTORS_TWILIO_SMS_ROUTE, + CONNECTORS_TWILIO_WHATSAPP_ROUTE, + CONNECTORS_GOOGLE_ROUTE, + CONNECTORS_INSTAGRAM_ROUTE, + CATALOG_FACEBOOK_ROUTE, + CATALOG_CHAT_PLUGIN_ROUTE, + CATALOG_TWILIO_SMS_ROUTE, + CATALOG_TWILIO_WHATSAPP_ROUTE, + CATALOG_GOOGLE_ROUTE, + CATALOG_INSTAGRAM_ROUTE, } from '../../../routes/routes'; const ConnectedChannelsList = () => { @@ -43,34 +48,43 @@ const ConnectedChannelsList = () => { ); useEffect(() => { - setPageTitle(); + getInfo(); }, [source, channels]); - const setPageTitle = () => { + const getInfo = () => { + let ROUTE; switch (source) { case Source.facebook: setName('Facebook Messenger'); - setPath(CHANNELS_FACEBOOK_ROUTE + '/new'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_FACEBOOK_ROUTE : CATALOG_FACEBOOK_ROUTE; + setPath(ROUTE + '/new'); break; case Source.google: setName('Google Business Messages'); - setPath(CHANNELS_GOOGLE_ROUTE + '/new_account'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_GOOGLE_ROUTE : CATALOG_GOOGLE_ROUTE; + setPath(ROUTE + '/new'); break; case Source.twilioSMS: setName('Twilio SMS'); - setPath(CHANNELS_TWILIO_SMS_ROUTE + '/new_account'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_TWILIO_SMS_ROUTE : CATALOG_TWILIO_SMS_ROUTE; + setPath(ROUTE + '/new'); break; case Source.twilioWhatsApp: setName('Twilio Whatsapp'); - setPath(CHANNELS_TWILIO_WHATSAPP_ROUTE + '/new_account'); + ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_TWILIO_WHATSAPP_ROUTE + : CATALOG_TWILIO_WHATSAPP_ROUTE; + setPath(ROUTE + '/new'); break; case Source.chatPlugin: setName('Chat Plugin'); - setPath(CHANNELS_CHAT_PLUGIN_ROUTE + '/new'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_CHAT_PLUGIN_ROUTE : CATALOG_CHAT_PLUGIN_ROUTE; + setPath(ROUTE + '/new'); break; case Source.instagram: setName('Instagram'); - setPath(CHANNELS_INSTAGRAM_ROUTE + '/new'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_INSTAGRAM_ROUTE : CATALOG_INSTAGRAM_ROUTE; + setPath(ROUTE + '/new'); break; } }; @@ -111,10 +125,10 @@ const ConnectedChannelsList = () => {
- + navigate(-1)} type="button"> - Back to channels - + Back +
{filteredChannels.length > 0 ? ( diff --git a/frontend/control-center/src/pages/Connectors/ConnectorsOutlet.tsx b/frontend/control-center/src/pages/Connectors/ConnectorsOutlet.tsx new file mode 100644 index 0000000000..cf6a6e7430 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/ConnectorsOutlet.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import {Outlet} from 'react-router-dom'; + +const ConnectorsOutlet = () => { + return ; +}; + +export default ConnectorsOutlet; diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx similarity index 85% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx index 4c06e8811f..8408764c34 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx @@ -18,7 +18,12 @@ import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg import styles from './ChatPluginConnect.module.scss'; -import {CHANNELS_CHAT_PLUGIN_ROUTE, CHANNELS_CONNECTED_ROUTE} from '../../../../../routes/routes'; +import { + CONNECTORS_CHAT_PLUGIN_ROUTE, + CONNECTORS_CONNECTED_ROUTE, + CATALOG_CONNECTED_ROUTE, + CATALOG_CHAT_PLUGIN_ROUTE, +} from '../../../../../routes/routes'; const mapDispatchToProps = { connectChatPlugin, @@ -36,6 +41,12 @@ const connector = connect(mapStateToProps, mapDispatchToProps); const ChatPluginConnect = (props: ConnectedProps) => { const {channelId} = useParams(); const navigate = useNavigate(); + const CONNECTED_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CONNECTED_ROUTE + : CATALOG_CONNECTED_ROUTE; + const CHAT_PLUGIN_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CHAT_PLUGIN_ROUTE + : CATALOG_CHAT_PLUGIN_ROUTE; const createNewConnection = (displayName: string, imageUrl?: string) => { props @@ -46,13 +57,13 @@ const ChatPluginConnect = (props: ConnectedProps) => { }), }) .then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + '/chatplugin', {replace: true}); + navigate(CONNECTED_ROUTE + '/chatplugin', {replace: true}); }); }; const updateConnection = (displayName: string, imageUrl?: string) => { props.updateChannel({channelId: channelId, name: displayName, imageUrl: imageUrl}).then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + '/chatplugin', {replace: true}); + navigate(CONNECTED_ROUTE + '/chatplugin', {replace: true}); }); }; @@ -62,7 +73,7 @@ const ChatPluginConnect = (props: ConnectedProps) => { } }; - const openNewPage = () => navigate(CHANNELS_CHAT_PLUGIN_ROUTE + '/new'); + const openNewPage = () => navigate(CHAT_PLUGIN_ROUTE + '/new'); const OverviewSection = () => (
@@ -81,7 +92,7 @@ const ChatPluginConnect = (props: ConnectedProps) => {
{channel.metadata?.name}
- + Edit void; } export const ConnectNewChatPlugin = ({createNewConnection}: ConnectNewChatPluginProps) => { diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/CustomiseSection.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/CustomiseSection.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/CustomiseSection.tsx b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/CustomiseSection.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/EditChatPlugin.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/EditChatPlugin.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/EditChatPlugin.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/EditChatPlugin.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/EditChatPlugin.tsx b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/EditChatPlugin.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Airy/ChatPlugin/sections/EditChatPlugin.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/EditChatPlugin.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx similarity index 93% rename from frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx index cb3406e8b8..430af62a44 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx @@ -9,7 +9,7 @@ import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg import styles from './FacebookConnect.module.scss'; -import {CHANNELS_CONNECTED_ROUTE} from '../../../../../routes/routes'; +import {CONNECTORS_CONNECTED_ROUTE, CATALOG_CONNECTED_ROUTE} from '../../../../../routes/routes'; import {useCurrentChannel} from '../../../../../selectors/channels'; import {useNavigate} from 'react-router-dom'; @@ -30,6 +30,10 @@ const FacebookConnect = (props: ConnectedProps) => { const [buttonTitle, setButtonTitle] = useState('Connect Page'); const [errorMessage, setErrorMessage] = useState(''); + const CONNECTED_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CONNECTED_ROUTE + : CATALOG_CONNECTED_ROUTE; + const buttonStatus = () => { return !(id.length > 5 && token != ''); }; @@ -56,7 +60,7 @@ const FacebookConnect = (props: ConnectedProps) => { connectFacebookChannel(connectPayload) .then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + '/facebook', {replace: true}); + navigate(CONNECTED_ROUTE + '/facebook', {replace: true}); }) .catch(() => { setErrorMessage('Please check entered value'); diff --git a/frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.tsx b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.tsx b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Google/GoogleConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Google/GoogleConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Google/GoogleConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx similarity index 92% rename from frontend/control-center/src/pages/Channels/Providers/Google/GoogleConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx index 0504091865..ecadbbeb3c 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Google/GoogleConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx @@ -9,7 +9,7 @@ import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg import styles from './GoogleConnect.module.scss'; -import {CHANNELS_CONNECTED_ROUTE} from '../../../../routes/routes'; +import {CONNECTORS_CONNECTED_ROUTE, CATALOG_CONNECTED_ROUTE} from '../../../../routes/routes'; import {useCurrentChannel} from '../../../../selectors/channels'; import {useNavigate} from 'react-router-dom'; @@ -29,6 +29,10 @@ const GoogleConnect = (props: ConnectedProps) => { const [buttonTitle, setButtonTitle] = useState('Connect Page'); const [errorMessage, setErrorMessage] = useState(''); + const CONNECTED_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CONNECTED_ROUTE + : CATALOG_CONNECTED_ROUTE; + const buttonStatus = () => { return !(id.length > 5 && name.length > 0); }; @@ -51,7 +55,7 @@ const GoogleConnect = (props: ConnectedProps) => { connectGoogleChannel(connectPayload) .then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + '/google', {replace: true}); + navigate(CONNECTED_ROUTE + '/google', {replace: true}); }) .catch(() => { setErrorMessage('Please check entered value'); diff --git a/frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx similarity index 94% rename from frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx index bfe0ddbe0e..928ba27801 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx @@ -9,7 +9,7 @@ import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg import styles from './InstagramConnect.module.scss'; -import {CHANNELS_CONNECTED_ROUTE} from '../../../../routes/routes'; +import {CONNECTORS_CONNECTED_ROUTE, CATALOG_CONNECTED_ROUTE} from '../../../../routes/routes'; import {useCurrentChannel} from '../../../../selectors/channels'; import {useNavigate} from 'react-router-dom'; @@ -31,6 +31,10 @@ const InstagramConnect = (props: ConnectedProps) => { const [buttonTitle, setButtonTitle] = useState('Connect Page'); const [errorMessage, setErrorMessage] = useState(''); + const CONNECTED_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CONNECTED_ROUTE + : CATALOG_CONNECTED_ROUTE; + const buttonStatus = () => { return !(id.length > 5 && token != ''); }; @@ -58,7 +62,7 @@ const InstagramConnect = (props: ConnectedProps) => { connectInstagramChannel(connectPayload) .then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + '/instagram', {replace: true}); + navigate(CONNECTED_ROUTE + '/instagram', {replace: true}); }) .catch(() => { setErrorMessage('Please check entered value'); diff --git a/frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramRequirementsDialog/index.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramRequirementsDialog/index.tsx b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Instagram/InstagramRequirementsDialog/index.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx similarity index 95% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx index 1b815f19e9..ddefedee82 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Twilio/SMS/TwilioSmsConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx @@ -27,7 +27,7 @@ const TwilioSmsConnect = (props: ConnectedProps) => { }, []); useEffect(() => { - if (channelId !== 'new_account' && channelId?.length) { + if (channelId !== 'new' && channelId?.length) { channels.find((item: Channel) => { return item.id === channelId; }); diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx similarity index 91% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx index bbff624ed2..7e098eeb70 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx @@ -9,7 +9,7 @@ import {ReactComponent as ArrowLeft} from 'assets/images/icons/arrowLeft.svg'; import styles from './TwilioConnect.module.scss'; -import {CHANNELS_CONNECTED_ROUTE} from '../../../../routes/routes'; +import {CONNECTORS_CONNECTED_ROUTE, CATALOG_CONNECTED_ROUTE} from '../../../../routes/routes'; import {useNavigate} from 'react-router-dom'; type TwilioConnectProps = { @@ -32,6 +32,10 @@ const TwilioConnect = (props: TwilioConnectProps) => { const [nameInput, setNameInput] = useState(channel?.metadata?.name || ''); const [imageUrlInput, setImageUrlInput] = useState(channel?.metadata?.imageUrl || ''); + const CONNECTED_ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_CONNECTED_ROUTE + : CATALOG_CONNECTED_ROUTE; + const handleNumberInput = (e: React.ChangeEvent): void => { setNumberInput(e.target.value); }; @@ -55,7 +59,7 @@ const TwilioConnect = (props: TwilioConnectProps) => { if (source === Source.twilioWhatsApp) { connectTwilioWhatsapp(connectPayload).then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + `/twilio.whatsapp/#`, { + navigate(CONNECTED_ROUTE + `/twilio.whatsapp/#`, { replace: true, state: {source: 'twilio.whatsapp'}, }); @@ -63,7 +67,7 @@ const TwilioConnect = (props: TwilioConnectProps) => { } if (source === Source.twilioSMS) { connectTwilioSms(connectPayload).then(() => { - navigate(CHANNELS_CONNECTED_ROUTE + `/twilio.sms/#`, {replace: true, state: {source: 'twilio.sms'}}); + navigate(CONNECTED_ROUTE + `/twilio.sms/#`, {replace: true, state: {source: 'twilio.sms'}}); }); } }; diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioRequirementsDialog/index.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioRequirementsDialog/index.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.tsx similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/TwilioRequirementsDialog/index.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.tsx diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss diff --git a/frontend/control-center/src/pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx similarity index 97% rename from frontend/control-center/src/pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx rename to frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx index 6c65378f4a..feb4e558aa 100644 --- a/frontend/control-center/src/pages/Channels/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx @@ -27,7 +27,7 @@ const TwilioWhatsappConnect = (props: ConnectedProps) => { }, []); useEffect(() => { - if (channelId !== 'new_account') { + if (channelId !== 'new') { channels.find((item: Channel) => { return item.id === channelId; }); diff --git a/frontend/control-center/src/pages/Channels/index.module.scss b/frontend/control-center/src/pages/Connectors/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Channels/index.module.scss rename to frontend/control-center/src/pages/Connectors/index.module.scss diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx new file mode 100644 index 0000000000..cf536470ac --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -0,0 +1,70 @@ +import React, {useEffect, useState} from 'react'; +import {connect, ConnectedProps, useSelector} from 'react-redux'; +import {useNavigate} from 'react-router-dom'; +import {Channel, Source} from 'model'; +import ChannelCard from './ChannelCard'; +import {StateModel} from '../../reducers'; +import {allChannelsConnected} from '../../selectors/channels'; +import {listChannels} from '../../actions/channel'; +import {setPageTitle} from '../../services/pageTitle'; +import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; +import styles from './index.module.scss'; + +const mapDispatchToProps = { + listChannels, +}; + +const mapStateToProps = (state: StateModel) => ({ + channels: Object.values(allChannelsConnected(state)), +}); + +const connector = connect(mapStateToProps, mapDispatchToProps); + +const Connectors = (props: ConnectedProps) => { + const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); + const channelsBySource = (Source: Source) => channels.filter((channel: Channel) => channel.source === Source); + const [sourcesInfo, setSourcesInfo] = useState([]); + const navigate = useNavigate(); + const pageTitle = 'Connectors'; + + useEffect(() => { + setSourcesInfo(getSourcesInfo(pageTitle)); + }, []); + + useEffect(() => { + if (props.channels.length === 0) { + props.listChannels(); + } + setPageTitle(pageTitle); + }, [props.channels.length]); + + return ( +
+
+
+

Connectors

+
+
+ +
+ {sourcesInfo.map((infoItem: SourceInfo) => { + return ( + channelsBySource(infoItem.type).length > 0 && ( +
+ { + navigate(infoItem.channelsListRoute); + }} + /> +
+ ) + ); + })} +
+
+ ); +}; + +export default connector(Connectors); diff --git a/frontend/control-center/src/routes/routes.ts b/frontend/control-center/src/routes/routes.ts index 43c4157523..3d5643d659 100644 --- a/frontend/control-center/src/routes/routes.ts +++ b/frontend/control-center/src/routes/routes.ts @@ -1,12 +1,21 @@ export const ROOT_ROUTE = '/'; -export const CHANNELS_ROUTE = '/channels'; -export const CHANNELS_CONNECTED_ROUTE = '/channels/connected'; -export const CHANNELS_FACEBOOK_ROUTE = '/channels/facebook'; -export const CHANNELS_CHAT_PLUGIN_ROUTE = '/channels/chatplugin'; -export const CHANNELS_TWILIO_SMS_ROUTE = '/channels/twilio.sms'; -export const CHANNELS_TWILIO_WHATSAPP_ROUTE = '/channels/twilio.whatsapp'; -export const CHANNELS_GOOGLE_ROUTE = '/channels/google'; -export const CHANNELS_INSTAGRAM_ROUTE = '/channels/instagram'; +export const CONNECTORS_ROUTE = '/connectors'; +export const CONNECTORS_CONNECTED_ROUTE = '/connectors/connected'; +export const CONNECTORS_FACEBOOK_ROUTE = '/connectors/facebook'; +export const CONNECTORS_CHAT_PLUGIN_ROUTE = '/connectors/chatplugin'; +export const CONNECTORS_TWILIO_SMS_ROUTE = '/connectors/twilio.sms'; +export const CONNECTORS_TWILIO_WHATSAPP_ROUTE = '/connectors/twilio.whatsapp'; +export const CONNECTORS_GOOGLE_ROUTE = '/connectors/google'; +export const CONNECTORS_INSTAGRAM_ROUTE = '/connectors/instagram'; + export const CATALOG_ROUTE = '/catalog'; +export const CATALOG_CONNECTED_ROUTE = '/catalog/connected'; +export const CATALOG_FACEBOOK_ROUTE = '/catalog/facebook'; +export const CATALOG_CHAT_PLUGIN_ROUTE = '/catalog/chatplugin'; +export const CATALOG_TWILIO_SMS_ROUTE = '/catalog/twilio.sms'; +export const CATALOG_TWILIO_WHATSAPP_ROUTE = '/catalog/twilio.whatsapp'; +export const CATALOG_GOOGLE_ROUTE = '/catalog/google'; +export const CATALOG_INSTAGRAM_ROUTE = '/catalog/instagram'; + export const STATUS_ROUTE = '/status'; export const WEBHOOKS_ROUTE = '/webhooks'; diff --git a/frontend/control-center/src/services/pageTitle.ts b/frontend/control-center/src/services/pageTitle.ts index 2e67160a4a..7e49048693 100644 --- a/frontend/control-center/src/services/pageTitle.ts +++ b/frontend/control-center/src/services/pageTitle.ts @@ -1,7 +1,7 @@ export const setPageTitle = (title?: string) => { if (title?.length) { - document.title = `Airy UI - ${title}`; + document.title = `Control Center - ${title}`; } else { - document.title = 'Airy UI'; + document.title = 'Control Center'; } }; diff --git a/frontend/inbox/src/components/Sidebar/index.tsx b/frontend/inbox/src/components/Sidebar/index.tsx index bd520478a5..cc95b13eda 100644 --- a/frontend/inbox/src/components/Sidebar/index.tsx +++ b/frontend/inbox/src/components/Sidebar/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {Link, matchPath, useLocation} from 'react-router-dom'; +import {Link, useMatch} from 'react-router-dom'; import {ReactComponent as InboxIcon} from 'assets/images/icons/inbox.svg'; import {ReactComponent as TagIcon} from 'assets/images/icons/priceTag.svg'; @@ -9,9 +9,8 @@ import {INBOX_ROUTE, TAGS_ROUTE} from '../../routes/routes'; import styles from './index.module.scss'; export const Sidebar = () => { - const location = useLocation(); const isActive = (route: string) => { - return !!matchPath(location.pathname, route); + return useMatch(`${route}/*`); }; return ( diff --git a/frontend/inbox/src/services/pageTitle.ts b/frontend/inbox/src/services/pageTitle.ts index 2e67160a4a..81f62b9205 100644 --- a/frontend/inbox/src/services/pageTitle.ts +++ b/frontend/inbox/src/services/pageTitle.ts @@ -1,7 +1,7 @@ export const setPageTitle = (title?: string) => { if (title?.length) { - document.title = `Airy UI - ${title}`; + document.title = `Inbox - ${title}`; } else { - document.title = 'Airy UI'; + document.title = 'Inbox'; } }; From f6bd2ac34cc7555cd19801f6705748ddb6bb0fe3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Apr 2022 20:46:43 +0200 Subject: [PATCH 10/30] Bump react-i18next from 11.16.6 to 11.16.7 (#3097) Bumps [react-i18next](https://github.com/i18next/react-i18next) from 11.16.6 to 11.16.7. - [Release notes](https://github.com/i18next/react-i18next/releases) - [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/react-i18next/compare/v11.16.6...v11.16.7) --- updated-dependencies: - dependency-name: react-i18next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 13bcd84a59..ca26f31e7a 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "react-autosize-textarea": "^7.1.0", "react-color": "^2.19.3", "react-dom": "17.0.2", - "react-i18next": "^11.16.6", + "react-i18next": "^11.16.7", "react-markdown": "^8.0.2", "react-modal": "^3.14.4", "react-redux": "7.2.8", diff --git a/yarn.lock b/yarn.lock index 1ad892196e..051f3a07b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4691,9 +4691,9 @@ react-hot-loader@^4.13.0: shallowequal "^1.1.0" source-map "^0.7.3" -react-i18next@^11.16.6: - version "11.16.6" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.16.6.tgz#e8a07802c391a55e1528673201a2727994787641" +react-i18next@^11.16.7: + version "11.16.7" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.16.7.tgz#8d0680b7f4c8e43f59996336b7183ad576a28df7" dependencies: "@babel/runtime" "^7.14.5" html-escaper "^2.0.2" From 0fcd05ad0d91a621730caa6d3b8d139cf6dc1047 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Apr 2022 20:47:16 +0200 Subject: [PATCH 11/30] Bump cross-fetch from 3.0.6 to 3.1.5 in /docs (#3113) Bumps [cross-fetch](https://github.com/lquixada/cross-fetch) from 3.0.6 to 3.1.5. - [Release notes](https://github.com/lquixada/cross-fetch/releases) - [Commits](https://github.com/lquixada/cross-fetch/compare/v3.0.6...v3.1.5) --- updated-dependencies: - dependency-name: cross-fetch dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index de7c148633..0d34d08b74 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -3298,11 +3298,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: sha.js "^2.4.8" cross-fetch@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" - integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ== + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: - node-fetch "2.6.1" + node-fetch "2.6.7" cross-spawn@7.0.3, cross-spawn@^7.0.3: version "7.0.3" @@ -6454,10 +6454,12 @@ node-emoji@^1.10.0: dependencies: lodash.toarray "^4.4.0" -node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" node-forge@^0.10.0: version "0.10.0" @@ -9369,6 +9371,11 @@ totalist@^1.0.0: resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-trailing-lines@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" @@ -9864,6 +9871,11 @@ web-namespaces@^1.0.0, web-namespaces@^1.1.2: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webpack-bundle-analyzer@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz#74013106e7e2b07cbd64f3a5ae847f7e814802c7" @@ -10009,6 +10021,14 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-boxed-primitive@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" From 00c192461e03827149c6b7af42b9f262cb4febdd Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Mon, 2 May 2022 17:13:49 +0200 Subject: [PATCH 12/30] update docs for webhooks (#3124) --- docs/docs/api/webhook.md | 52 +++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/docs/docs/api/webhook.md b/docs/docs/api/webhook.md index cc7b61ab12..8e36e16da5 100644 --- a/docs/docs/api/webhook.md +++ b/docs/docs/api/webhook.md @@ -42,6 +42,7 @@ Subscribes the webhook for the first time or update its parameters. { "url": "https://endpoint.com/webhook", // required "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", + "name": "Customer relationship tool", "events": ["message.created", "message.updated", "conversation.updated", "channel.updated"], "headers": { "X-Custom-Header": "e.g. authentication token" @@ -51,9 +52,10 @@ Subscribes the webhook for the first time or update its parameters. ``` - `url` Endpoint to be called when sending events. -- `id` (optional) provide for updates -- `headers` (optional) HTTP headers to set on each request (useful for authentication) -- `signature_key` (optional) when set, the webhook will also sent a header `X-Airy-Content-Signature` that contains the SHA256 HMAC of the specified key and the content. +- `id` (optional) provide for updates. +- `name` (optional) name to identify the webhook. +- `headers` (optional) HTTP headers to set on each request (useful for authentication). +- `signature_key` (optional) when set, the webhook will also send a header `X-Airy-Content-Signature` that contains the SHA256 HMAC of the specified key and the content. - `events` (optional) List of event types to receive. [See below](#events) for a detailed list. Omit to receive all event types. **Sample response** @@ -62,7 +64,7 @@ Subscribes the webhook for the first time or update its parameters. { "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", "name": "Customer relationship tool", // optional - "url": "https://endpoint.com/webhook", + "url": "https://endpoint.com/webhook", // optional "events": [ // optional "message.created", @@ -86,8 +88,18 @@ Subscribes the webhook for the first time or update its parameters. ```json5 { - "url": "https://endpoint.com/webhook", + "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", + "name": "Customer relationship tool", // optional + "url": "https://endpoint.com/webhook", // optional + "events": [ + // optional + "message.created", + "message.updated", + "conversation.updated", + "channel.updated" + ], "headers": { + // optional "X-Custom-Header": "custom-code-for-header" }, "status": "Unsubscribed" @@ -105,6 +117,7 @@ Update the webhook parameters. ```json5 { "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", // required + "name": "Customer tool for relationship", // optional "url": "https://endpoint.com/webhook", // optional "events": ["message.created", "message.updated", "conversation.updated", "channel.updated"], // optional "headers": { @@ -125,7 +138,7 @@ Update the webhook parameters. ```json5 { "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", - "name": "Customer relationship tool", // optional + "name": "Customer tool for relationship", // optional "url": "https://endpoint.com/webhook", "events": [ // optional @@ -140,7 +153,6 @@ Update the webhook parameters. }, "status": "Subscribed" } -} ``` ## List @@ -153,16 +165,19 @@ List of subscribed webhooks. { "data": [ { - "name": "Customer relationship tool", + "name": "Customer relationship tool", // optional "url": "https://endpoint.com/webhook", "headers": { + // optional "X-Custom-Header": "custom-code-for-header" - } + }, + "status": "Subscribed" }, { - "name": "Datalake connector", + "name": "Datalake connector", // optional "url": "https://other-endpoint.com/webhook", - "events": ["conversation.updated"] + "events": ["conversation.updated"], // optional + "status": "Unsubscribed" } ] } @@ -184,12 +199,21 @@ List of subscribed webhooks. ```json5 { - "status": "Subscribed", - "name": "Customer relationship tool", + "id": "3e639566-29fa-450d-a59f-ae3c25d7260f", + "name": "Customer tool for relationship", // optional "url": "https://endpoint.com/webhook", + "events": [ + // optional + "message.created", + "message.updated", + "conversation.updated", + "channel.updated" + ], "headers": { + // optional "X-Custom-Header": "custom-code-for-header" - } + }, + "status": "Subscribed" } ``` From 63be6778d049f0d76e4bedc6aab312fa6685c24a Mon Sep 17 00:00:00 2001 From: Christoph Proeschel Date: Tue, 3 May 2022 17:24:52 +0200 Subject: [PATCH 13/30] [#3128] Fix npm deployment (#3129) --- frontend/chat-plugin/lib/BUILD | 13 ++++++-- .../{package.json => publish_package.json} | 0 lib/typescript/httpclient/BUILD | 18 +++++++--- .../{package.json => publish_package.json} | 0 tools/build/npm/templates/deploy.py | 33 ++----------------- 5 files changed, 27 insertions(+), 37 deletions(-) rename frontend/chat-plugin/lib/{package.json => publish_package.json} (100%) rename lib/typescript/httpclient/{package.json => publish_package.json} (100%) diff --git a/frontend/chat-plugin/lib/BUILD b/frontend/chat-plugin/lib/BUILD index 31a2a36b52..d65f4d94cb 100644 --- a/frontend/chat-plugin/lib/BUILD +++ b/frontend/chat-plugin/lib/BUILD @@ -9,6 +9,14 @@ package(default_visibility = ["//visibility:public"]) ts_web_library( name = "chat-plugin", + srcs = glob( + [ + "**/*.json", + "**/*.ts", + "**/*.tsx", + ], + exclude = ["publish_package.json"], + ), tsconfig = "//frontend/chat-plugin:widget_tsconfig", deps = ts_deps + npm_deps, ) @@ -48,7 +56,7 @@ web_library( genrule( name = "npm_library", srcs = [ - "package.json", + "publish_package.json", "README.md", ":dist", ":chat-plugin", @@ -57,7 +65,8 @@ genrule( outs = ["chat-plugin_npm_lib"], cmd = """ mkdir -p $(OUTS)/{src,dist} && cp -R $(location :dist) $(OUTS) \ - && cp $(location :package.json) $(location :README.md) $(OUTS) \ + && cp $(location :README.md) $(OUTS) \ + && cp $(location :publish_package.json) $(OUTS)/package.json \ && mv $(RULEDIR)/src $(OUTS) && mv $(RULEDIR)/index.d.ts $(OUTS) """, ) diff --git a/frontend/chat-plugin/lib/package.json b/frontend/chat-plugin/lib/publish_package.json similarity index 100% rename from frontend/chat-plugin/lib/package.json rename to frontend/chat-plugin/lib/publish_package.json diff --git a/lib/typescript/httpclient/BUILD b/lib/typescript/httpclient/BUILD index 938127a336..530a7677fa 100644 --- a/lib/typescript/httpclient/BUILD +++ b/lib/typescript/httpclient/BUILD @@ -12,6 +12,14 @@ ts_deps = [ ts_web_library( name = "httpclient", + srcs = glob( + [ + "**/*.json", + "**/*.ts", + "**/*.tsx", + ], + exclude = ["publish_package.json"], + ), deps = ts_deps + [ "@npm//@types/node", "@npm//camelcase-keys", @@ -58,7 +66,7 @@ web_library( genrule( name = "npm_library", srcs = [ - "package.json", + "publish_package.json", "README.md", ":dist_browser", ":dist_node", @@ -69,9 +77,11 @@ genrule( cmd = """ mkdir -p $(OUTS)/dist && cp $(location :dist_browser)/browser.js $(OUTS)/dist \ && cp $(location :dist_node)/node.js $(OUTS)/dist \ - && cp $(location :package.json) $(location :README.md) $(OUTS) \ - && mv $(RULEDIR)/src $(OUTS) -""", + && mv $(RULEDIR)/src $(OUTS) \ + && cp $(location :README.md) $(OUTS) \ + && cp $(location :publish_package.json) $(OUTS)/package.json \ + && ls $(OUTS) && cat $(OUTS)/package.json + """, ) assemble_npm( diff --git a/lib/typescript/httpclient/package.json b/lib/typescript/httpclient/publish_package.json similarity index 100% rename from lib/typescript/httpclient/package.json rename to lib/typescript/httpclient/publish_package.json diff --git a/tools/build/npm/templates/deploy.py b/tools/build/npm/templates/deploy.py index 592d2912c7..50c7f0e180 100644 --- a/tools/build/npm/templates/deploy.py +++ b/tools/build/npm/templates/deploy.py @@ -40,19 +40,10 @@ "snapshot": "{snapshot}", "release": "{release}", } + npm_registry = npm_repositories[repo_type] -npm_username, npm_token, npm_email = ( - os.getenv('DEPLOY_NPM_USERNAME'), - os.getenv('DEPLOY_NPM_TOKEN'), - os.getenv('DEPLOY_NPM_EMAIL'), -) - -if not npm_username: - raise Exception( - 'username should be passed via ' - '$DEPLOY_NPM_USERNAME env variable' - ) +npm_token = os.getenv('DEPLOY_NPM_EMAIL') if not npm_token: raise Exception( @@ -60,26 +51,6 @@ '$DEPLOY_NPM_TOKEN env variable' ) -if not npm_email: - raise Exception( - 'email should be passed via ' - '$DEPLOY_NPM_EMAIL env variable' - ) - -expect_input_tmpl = '''spawn npm adduser --registry={registry} -expect {{ - "Username:" {{send "{username}\r"; exp_continue}} - "Token:" {{send "$env(TOKEN)\r"; exp_continue}} - "Email: (this IS public)" {{send "{email}\r"; exp_continue}} -}}''' - -with tempfile.NamedTemporaryFile('wt', delete=False) as expect_input_file: - expect_input_file.write(expect_input_tmpl.format( - registry=npm_registry, - username=npm_username, - email=npm_email, - )) - node_path = ':'.join([ '/usr/bin/', '/bin/', From de50b3e6c9fe715045aead63eb48686851cc8b0a Mon Sep 17 00:00:00 2001 From: Juan Sebastian Pena Rodriguez Date: Wed, 4 May 2022 15:49:49 +0200 Subject: [PATCH 14/30] update test libraries (#3135) --- maven_install.json | 76 ++++++++++++++++++++++------------------------ repositories.bzl | 6 ++-- 2 files changed, 39 insertions(+), 43 deletions(-) diff --git a/maven_install.json b/maven_install.json index 2a99c3cd8c..1918596782 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,8 +1,8 @@ { "dependency_tree": { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -956891427, - "__RESOLVED_ARTIFACTS_HASH": 1410458028, + "__INPUT_ARTIFACTS_HASH": 1462154399, + "__RESOLVED_ARTIFACTS_HASH": 36979685, "conflict_resolution": { "com.fasterxml.jackson.core:jackson-annotations:2.10.0": "com.fasterxml.jackson.core:jackson-annotations:2.13.1", "com.fasterxml.jackson.core:jackson-core:2.10.0": "com.fasterxml.jackson.core:jackson-core:2.13.1", @@ -11,9 +11,8 @@ "org.apache.kafka:kafka-clients:2.7.0": "org.apache.kafka:kafka-clients:6.1.1-ccs", "org.apache.kafka:kafka_2.13:2.7.0": "org.apache.kafka:kafka_2.13:6.1.1-ccs", "org.hamcrest:hamcrest:2.1": "org.hamcrest:hamcrest:2.2", - "org.junit.jupiter:junit-jupiter-engine:5.7.0": "org.junit.jupiter:junit-jupiter-engine:5.8.2", - "org.junit.jupiter:junit-jupiter:5.7.0": "org.junit.jupiter:junit-jupiter:5.8.2", - "org.mockito:mockito-core:2.28.2": "org.mockito:mockito-core:4.0.0", + "org.junit.jupiter:junit-jupiter-engine:5.8.1": "org.junit.jupiter:junit-jupiter-engine:5.8.2", + "org.junit.jupiter:junit-jupiter:5.8.1": "org.junit.jupiter:junit-jupiter:5.8.2", "org.rocksdb:rocksdbjni:5.18.3": "org.rocksdb:rocksdbjni:5.18.4", "org.slf4j:slf4j-api:1.7.32": "org.slf4j:slf4j-api:1.7.35" }, @@ -3890,7 +3889,7 @@ "url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar" }, { - "coord": "net.bytebuddy:byte-buddy-agent:1.11.19", + "coord": "net.bytebuddy:byte-buddy-agent:1.12.9", "dependencies": [], "directDependencies": [], "exclusions": [ @@ -3899,17 +3898,17 @@ "org.springframework.boot:spring-boot-starter-logging", "org.slf4j:slf4j-log4j12" ], - "file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.jar", + "file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.9/byte-buddy-agent-1.12.9.jar", "mirror_urls": [ - "https://packages.confluent.io/maven/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.jar", - "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.jar", - "https://jitpack.io/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.jar" + "https://packages.confluent.io/maven/net/bytebuddy/byte-buddy-agent/1.12.9/byte-buddy-agent-1.12.9.jar", + "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.9/byte-buddy-agent-1.12.9.jar", + "https://jitpack.io/net/bytebuddy/byte-buddy-agent/1.12.9/byte-buddy-agent-1.12.9.jar" ], - "sha256": "871ba7021f8c335a14b47012f1bfe2cf8caa7c0b5a57dd1e00ee2b9e1f143fc0", - "url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.jar" + "sha256": "5d62779f66436ef2130b470b7ecb6463c552fd411be757267034798a130bf5ed", + "url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.9/byte-buddy-agent-1.12.9.jar" }, { - "coord": "net.bytebuddy:byte-buddy:1.11.19", + "coord": "net.bytebuddy:byte-buddy:1.12.9", "dependencies": [], "directDependencies": [], "exclusions": [ @@ -3918,14 +3917,14 @@ "org.springframework.boot:spring-boot-starter-logging", "org.slf4j:slf4j-log4j12" ], - "file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.jar", + "file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.9/byte-buddy-1.12.9.jar", "mirror_urls": [ - "https://packages.confluent.io/maven/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.jar", - "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.jar", - "https://jitpack.io/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.jar" + "https://packages.confluent.io/maven/net/bytebuddy/byte-buddy/1.12.9/byte-buddy-1.12.9.jar", + "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.9/byte-buddy-1.12.9.jar", + "https://jitpack.io/net/bytebuddy/byte-buddy/1.12.9/byte-buddy-1.12.9.jar" ], - "sha256": "4cd1038ca54507323bf04742634f618bb1624914df47a8b4a4dcfa797bd6a8d5", - "url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.jar" + "sha256": "e305b6b5bdf8602bc5012efaa50c96b0fb922a3c60308ee1af85605b74d82710", + "url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.9/byte-buddy-1.12.9.jar" }, { "coord": "net.minidev:accessors-smart:2.4.7", @@ -6976,15 +6975,15 @@ "url": "https://repo1.maven.org/maven2/org/lz4/lz4-java/1.7.1/lz4-java-1.7.1.jar" }, { - "coord": "org.mockito:mockito-core:4.0.0", + "coord": "org.mockito:mockito-core:4.5.1", "dependencies": [ - "net.bytebuddy:byte-buddy-agent:1.11.19", - "net.bytebuddy:byte-buddy:1.11.19", + "net.bytebuddy:byte-buddy-agent:1.12.9", + "net.bytebuddy:byte-buddy:1.12.9", "org.objenesis:objenesis:3.2" ], "directDependencies": [ - "net.bytebuddy:byte-buddy-agent:1.11.19", - "net.bytebuddy:byte-buddy:1.11.19", + "net.bytebuddy:byte-buddy-agent:1.12.9", + "net.bytebuddy:byte-buddy:1.12.9", "org.objenesis:objenesis:3.2" ], "exclusions": [ @@ -6993,27 +6992,27 @@ "org.springframework.boot:spring-boot-starter-logging", "org.slf4j:slf4j-log4j12" ], - "file": "v1/https/repo1.maven.org/maven2/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar", + "file": "v1/https/repo1.maven.org/maven2/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar", "mirror_urls": [ - "https://packages.confluent.io/maven/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar", - "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar", - "https://jitpack.io/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar" + "https://packages.confluent.io/maven/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar", + "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar", + "https://jitpack.io/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar" ], - "sha256": "904634ccb32c1d912e528e964a5066dd5992163b064b0e7207bc35d3734d108d", - "url": "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar" + "sha256": "0b66f11abbb39eaffb05989109892a50fd344d633a3b3587726ef1fe5fc8ab78", + "url": "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar" }, { "coord": "org.mockito:mockito-junit-jupiter:4.0.0", "dependencies": [ - "net.bytebuddy:byte-buddy-agent:1.11.19", - "net.bytebuddy:byte-buddy:1.11.19", + "org.apiguardian:apiguardian-api:1.1.2", "org.junit.jupiter:junit-jupiter-api:5.8.2", - "org.mockito:mockito-core:4.0.0", - "org.objenesis:objenesis:3.2" + "org.junit.platform:junit-platform-commons:1.8.2", + "org.mockito:mockito-core:4.5.1", + "org.opentest4j:opentest4j:1.2.0" ], "directDependencies": [ "org.junit.jupiter:junit-jupiter-api:5.8.2", - "org.mockito:mockito-core:4.0.0" + "org.mockito:mockito-core:4.5.1" ], "exclusions": [ "ch.qos.logback:logback-classic", @@ -7752,8 +7751,6 @@ "jakarta.activation:jakarta.activation-api:1.2.2", "jakarta.annotation:jakarta.annotation-api:1.3.5", "jakarta.xml.bind:jakarta.xml.bind-api:2.3.3", - "net.bytebuddy:byte-buddy-agent:1.11.19", - "net.bytebuddy:byte-buddy:1.11.19", "net.minidev:accessors-smart:2.4.7", "net.minidev:json-smart:2.4.7", "org.apiguardian:apiguardian-api:1.1.2", @@ -7765,9 +7762,8 @@ "org.junit.jupiter:junit-jupiter:5.8.2", "org.junit.platform:junit-platform-commons:1.8.2", "org.junit.platform:junit-platform-engine:1.8.2", - "org.mockito:mockito-core:4.0.0", + "org.mockito:mockito-core:4.5.1", "org.mockito:mockito-junit-jupiter:4.0.0", - "org.objenesis:objenesis:3.2", "org.opentest4j:opentest4j:1.2.0", "org.ow2.asm:asm:9.2", "org.skyscreamer:jsonassert:1.5.0", @@ -7789,7 +7785,7 @@ "org.assertj:assertj-core:3.21.0", "org.hamcrest:hamcrest:2.2", "org.junit.jupiter:junit-jupiter:5.8.2", - "org.mockito:mockito-core:4.0.0", + "org.mockito:mockito-core:4.5.1", "org.mockito:mockito-junit-jupiter:4.0.0", "org.skyscreamer:jsonassert:1.5.0", "org.springframework.boot:spring-boot-starter:2.6.4", diff --git a/repositories.bzl b/repositories.bzl index 6e5e35dea3..45bc377012 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -44,9 +44,9 @@ airy_jvm_deps = [ "org.aspectj:aspectjweaver:1.9.8", "org.hamcrest:hamcrest-library:2.1", "org.hamcrest:hamcrest:2.1", - "org.junit.jupiter:junit-jupiter-engine:5.7.0", - "org.junit.jupiter:junit-jupiter:5.7.0", - "org.mockito:mockito-core:2.28.2", + "org.junit.jupiter:junit-jupiter-engine:5.8.1", + "org.junit.jupiter:junit-jupiter:5.8.1", + "org.mockito:mockito-core:4.5.1", "org.projectlombok:lombok:1.18.10", "org.springframework.boot:spring-boot-loader:%s" % SPRING_BOOT, "org.springframework.boot:spring-boot-starter-actuator:%s" % SPRING_BOOT, From 191cf98f901fec8de3769ddf7e5bae4014a27f51 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Pena Rodriguez Date: Wed, 4 May 2022 18:51:30 +0200 Subject: [PATCH 15/30] chore/add mockito inline to deps (#3137) * add mockito inline to deps * Add mockito version variable --- repositories.bzl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/repositories.bzl b/repositories.bzl index 45bc377012..50bd48f5d0 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -1,5 +1,6 @@ SPRING = "5.3.17" SPRING_BOOT = "2.6.4" +MOCKITO_VERSION = "4.5.1" airy_jvm_deps = [ "com.amazonaws:aws-java-sdk-core:1.12.182", @@ -46,7 +47,7 @@ airy_jvm_deps = [ "org.hamcrest:hamcrest:2.1", "org.junit.jupiter:junit-jupiter-engine:5.8.1", "org.junit.jupiter:junit-jupiter:5.8.1", - "org.mockito:mockito-core:4.5.1", + "org.mockito:mockito-core:%s" % MOCKITO_VERSION, "org.projectlombok:lombok:1.18.10", "org.springframework.boot:spring-boot-loader:%s" % SPRING_BOOT, "org.springframework.boot:spring-boot-starter-actuator:%s" % SPRING_BOOT, From c9bfc8dd85c1494f1d7db1cf017570effc57b2b7 Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Thu, 5 May 2022 12:25:43 +0200 Subject: [PATCH 16/30] [#3121] Fix InfoCard and update connectors docs (#3136) * wip * impprove InfoCard * add new screenshot * small fix --- .../static/img/ui/controlCenterConnectors.png | Bin 39349 -> 216993 bytes .../src/pages/Catalog/CatalogItemList.tsx | 5 +- .../pages/Connectors/ChannelCard/index.tsx | 34 --------- .../index.module.scss | 46 ++++++++++-- .../src/pages/Connectors/InfoCard/index.tsx | 68 ++++++++++++++++++ .../src/pages/Connectors/index.tsx | 5 +- 6 files changed, 115 insertions(+), 43 deletions(-) delete mode 100644 frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx rename frontend/control-center/src/pages/Connectors/{ChannelCard => InfoCard}/index.module.scss (71%) create mode 100644 frontend/control-center/src/pages/Connectors/InfoCard/index.tsx diff --git a/docs/static/img/ui/controlCenterConnectors.png b/docs/static/img/ui/controlCenterConnectors.png index 239707b2b0c1fff6d69c66be6adc3bec2e8f5274..379dd092711c54aebbc369d53fa506caf8244d53 100644 GIT binary patch literal 216993 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 CvNa_D literal 39349 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

twjp8|9|mvkj8R|Xge!h5IPP&Xx~Ke1 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 YI=KwrnZl~L%4@hIrz%?_Z4&x_0RO{LUH||9 diff --git a/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx b/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx index 361c00adfe..b09f6116c8 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogItemList.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import ChannelCard from '../Connectors/ChannelCard'; +import InfoCard, {InfoCardStyle} from '../Connectors/InfoCard'; import {StateModel} from '../../reducers'; import {useSelector} from 'react-redux'; import {useNavigate} from 'react-router-dom'; @@ -24,8 +24,9 @@ export const CatalogItemList = (props: CatalogItemListProps) => {

{list.map(infoItem => ( - { diff --git a/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx deleted file mode 100644 index e7eeb8a877..0000000000 --- a/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -import {SourceInfo} from '../../../components/SourceInfo'; -import styles from './index.module.scss'; - -type SourceDescriptionCardProps = { - sourceInfo: SourceInfo; - addChannelAction: () => void; - installed: boolean; -}; - -const ChannelCard = (props: SourceDescriptionCardProps) => { - const {sourceInfo, addChannelAction, installed} = props; - - return ( -
-
-
{sourceInfo.image}
-
-

{sourceInfo.title}

- {!installed &&

{sourceInfo.description}

} -
-
-
- ); -}; - -export default ChannelCard; diff --git a/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss similarity index 71% rename from frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss rename to frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss index c3ae1328e7..edb5346ebf 100644 --- a/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss @@ -12,8 +12,9 @@ border-radius: 10px; background-color: var(--color-background-blue); &:hover { - cursor: pointer; - border: 1px solid transparent; + border: 2px solid var(--color-airy-blue); + margin-left: -1px; + width: 231px; } } @@ -60,9 +61,6 @@ justify-content: center; border-radius: 10px; border: 2px solid transparent; - &:hover { - border: 2px solid var(--color-airy-blue); - } } .channelLogoTitleContainerInstalled { @@ -93,3 +91,41 @@ } } } + +.isExpandedCard { + height: 120px; + width: 340px; + &:hover { + border: 2px solid var(--color-airy-blue); + margin-left: -1px; + width: 341px; + } +} + +.isExpandedContainer { + height: 120px; + width: 340px; + padding: 6px 0 0 0; + flex-direction: column; + align-items: start; + &:hover { + width: 341px; + } +} + +.isExpandedLogo { + min-width: 40px; + max-width: 100%; + margin: 0 18px; +} + +.isExpandedDetails { + width: 100%; + margin-left: 18px; + h1 { + @include font-l; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} diff --git a/frontend/control-center/src/pages/Connectors/InfoCard/index.tsx b/frontend/control-center/src/pages/Connectors/InfoCard/index.tsx new file mode 100644 index 0000000000..ed4449eca8 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/InfoCard/index.tsx @@ -0,0 +1,68 @@ +import React from 'react'; +import {SourceInfo} from '../../../components/SourceInfo'; +import styles from './index.module.scss'; + +export enum InfoCardStyle { + normal = 'normal', + expanded = 'expanded', +} + +type InfoCardProps = { + sourceInfo: SourceInfo; + addChannelAction: () => void; + installed: boolean; + style: InfoCardStyle; +}; + +const InfoCard = (props: InfoCardProps) => { + const {sourceInfo, addChannelAction, installed, style} = props; + + return ( +
+
+
+ {sourceInfo.image} +
+
+

{sourceInfo.title}

+ {!installed &&

{sourceInfo.description}

} +
+
+
+ ); +}; + +export default InfoCard; diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx index cf536470ac..ffc83756c2 100644 --- a/frontend/control-center/src/pages/Connectors/index.tsx +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -2,7 +2,7 @@ import React, {useEffect, useState} from 'react'; import {connect, ConnectedProps, useSelector} from 'react-redux'; import {useNavigate} from 'react-router-dom'; import {Channel, Source} from 'model'; -import ChannelCard from './ChannelCard'; +import InfoCard, {InfoCardStyle} from './InfoCard'; import {StateModel} from '../../reducers'; import {allChannelsConnected} from '../../selectors/channels'; import {listChannels} from '../../actions/channel'; @@ -51,8 +51,9 @@ const Connectors = (props: ConnectedProps) => { return ( channelsBySource(infoItem.type).length > 0 && (
- { navigate(infoItem.channelsListRoute); From 0db3b4f1775370bdf911d7b06c51a1601c0e9ff1 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Thu, 5 May 2022 15:03:26 +0200 Subject: [PATCH 17/30] [#3091] Added empty state connectors (#3138) --- .../ConnectedChannelsList/index.module.scss | 1 + .../EmptyStateConnectors/index.module.scss | 43 ++++++++++++++++ .../Connectors/EmptyStateConnectors/index.tsx | 25 ++++++++++ .../Connectors/InfoCard/index.module.scss | 1 + .../src/pages/Connectors/index.tsx | 50 +++++++++++-------- .../assets/images/icons/catalogIcon.svg | 2 +- lib/typescript/assets/images/icons/search.svg | 2 +- 7 files changed, 101 insertions(+), 23 deletions(-) create mode 100644 frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.module.scss create mode 100644 frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.tsx diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss index fc52dd9f36..0a4be11013 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss @@ -176,4 +176,5 @@ .searchIcon { height: 18px; width: 18px; + color: var(--color-text-gray); } diff --git a/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.module.scss b/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.module.scss new file mode 100644 index 0000000000..ff457f0e04 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.module.scss @@ -0,0 +1,43 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.container { + display: flex; + flex-direction: column; + flex: 1; + align-items: center; + justify-content: center; + margin-top: 10%; + + h1 { + @include font-xl; + font-weight: 800; + margin-top: 32px; + margin-bottom: 32px; + } + + p { + @include font-m; + text-align: center; + } +} + +.searchIconContainer { + display: flex; + justify-content: center; + align-items: center; + height: 105px; + width: 105px; + background: var(--color-background-gray); +} + +.linkContainer { + @include font-m; + display: flex; + align-items: center; + color: var(--color-airy-blue); + text-decoration: none; + margin-right: 4px; + width: 95px; + justify-content: space-around; +} diff --git a/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.tsx b/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.tsx new file mode 100644 index 0000000000..cf1a7b96d5 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/EmptyStateConnectors/index.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import styles from './index.module.scss'; +import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; +import {ReactComponent as CatalogIcon} from 'assets/images/icons/catalogIcon.svg'; +import {Link} from 'react-router-dom'; +import {CATALOG_ROUTE} from '../../../routes/routes'; + +export const EmptyStateConnectors = () => { + return ( +
+
+ +
+

No Connectors Found

+

You don't have any connectors installed, please open the

+
+ + + Catalog + +

and explore more.

+
+
+ ); +}; diff --git a/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss index edb5346ebf..5800f5df39 100644 --- a/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss @@ -15,6 +15,7 @@ border: 2px solid var(--color-airy-blue); margin-left: -1px; width: 231px; + cursor: pointer; } } diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx index ffc83756c2..74a2f42eb3 100644 --- a/frontend/control-center/src/pages/Connectors/index.tsx +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -9,6 +9,7 @@ import {listChannels} from '../../actions/channel'; import {setPageTitle} from '../../services/pageTitle'; import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; import styles from './index.module.scss'; +import {EmptyStateConnectors} from './EmptyStateConnectors'; const mapDispatchToProps = { listChannels, @@ -40,29 +41,36 @@ const Connectors = (props: ConnectedProps) => { return (
-
-
-

Connectors

+ {sourcesInfo.length > 0 && ( +
+
+

Connectors

+
-
- + )}
- {sourcesInfo.map((infoItem: SourceInfo) => { - return ( - channelsBySource(infoItem.type).length > 0 && ( -
- { - navigate(infoItem.channelsListRoute); - }} - /> -
- ) - ); - })} + {sourcesInfo.length === 0 ? ( + + ) : ( + <> + {sourcesInfo.map((infoItem: SourceInfo) => { + return ( + channelsBySource(infoItem.type).length > 0 && ( +
+ { + navigate(infoItem.channelsListRoute); + }} + /> +
+ ) + ); + })} + + )}
); diff --git a/lib/typescript/assets/images/icons/catalogIcon.svg b/lib/typescript/assets/images/icons/catalogIcon.svg index 8eea7d3faf..1580d107ff 100644 --- a/lib/typescript/assets/images/icons/catalogIcon.svg +++ b/lib/typescript/assets/images/icons/catalogIcon.svg @@ -1,3 +1,3 @@ - + diff --git a/lib/typescript/assets/images/icons/search.svg b/lib/typescript/assets/images/icons/search.svg index b8343adc03..c9495dbee6 100644 --- a/lib/typescript/assets/images/icons/search.svg +++ b/lib/typescript/assets/images/icons/search.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file From dab8cef1face7c8d1f91c6d4d6e1983261a6e58c Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 6 May 2022 16:37:46 +0200 Subject: [PATCH 18/30] [#3050] Added Webhooks to Control-Center (#3132) --- frontend/control-center/src/actions/index.ts | 2 + .../src/actions/webhook/index.ts | 48 ++++ .../src/components/Switch/index.module.scss | 38 +++ .../src/components/Switch/index.tsx | 21 ++ .../SubscriptionModal/index.module.scss | 115 +++++++++ .../Webhooks/SubscriptionModal/index.tsx | 218 ++++++++++++++++++ .../UnsubscribeModal/index.module.scss | 64 +++++ .../pages/Webhooks/UnsubscribeModal/index.tsx | 66 ++++++ .../WebhooksListItem/index.module.scss | 140 +++++++++++ .../pages/Webhooks/WebhooksListItem/index.tsx | 166 +++++++++++++ .../src/pages/Webhooks/index.module.scss | 56 +++++ .../src/pages/Webhooks/index.tsx | 158 ++++++++++++- .../control-center/src/reducers/data/index.ts | 4 + .../src/reducers/data/webhooks/index.ts | 40 ++++ lib/typescript/assets/scss/colors.scss | 2 + .../alerts/SettingsModal/ModalHeader.tsx | 9 +- .../components/alerts/SettingsModal/index.tsx | 20 +- .../components/cta/Button/index.tsx | 6 +- lib/typescript/httpclient/src/client.ts | 16 ++ .../httpclient/src/endpoints/index.ts | 4 + .../httpclient/src/endpoints/listWebhooks.ts | 7 + .../src/endpoints/subscribeWebhook.ts | 7 + .../src/endpoints/unsubscribeWebhook.ts | 7 + .../httpclient/src/endpoints/updateWebhook.ts | 7 + .../src/payload/ListWebhooksRequestPayload.ts | 11 + .../payload/SubscribeWebhookRequestPayload.ts | 11 + .../UnsubscribeWebhookRequestPayload.ts | 11 + .../payload/UpdateWebhookRequestPayload.ts | 10 + .../httpclient/src/payload/index.ts | 4 + lib/typescript/model/Webhook.ts | 23 ++ 30 files changed, 1273 insertions(+), 18 deletions(-) create mode 100644 frontend/control-center/src/actions/webhook/index.ts create mode 100644 frontend/control-center/src/components/Switch/index.module.scss create mode 100644 frontend/control-center/src/components/Switch/index.tsx create mode 100644 frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss create mode 100644 frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx create mode 100644 frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss create mode 100644 frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.tsx create mode 100644 frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss create mode 100644 frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx create mode 100644 frontend/control-center/src/reducers/data/webhooks/index.ts create mode 100644 lib/typescript/httpclient/src/endpoints/listWebhooks.ts create mode 100644 lib/typescript/httpclient/src/endpoints/subscribeWebhook.ts create mode 100644 lib/typescript/httpclient/src/endpoints/unsubscribeWebhook.ts create mode 100644 lib/typescript/httpclient/src/endpoints/updateWebhook.ts create mode 100644 lib/typescript/httpclient/src/payload/ListWebhooksRequestPayload.ts create mode 100644 lib/typescript/httpclient/src/payload/SubscribeWebhookRequestPayload.ts create mode 100644 lib/typescript/httpclient/src/payload/UnsubscribeWebhookRequestPayload.ts create mode 100644 lib/typescript/httpclient/src/payload/UpdateWebhookRequestPayload.ts create mode 100644 lib/typescript/model/Webhook.ts diff --git a/frontend/control-center/src/actions/index.ts b/frontend/control-center/src/actions/index.ts index 74bcbad990..1535d11308 100644 --- a/frontend/control-center/src/actions/index.ts +++ b/frontend/control-center/src/actions/index.ts @@ -1,2 +1,4 @@ export * from './channel'; export * from './metadata'; +export * from './config'; +export * from './webhook'; diff --git a/frontend/control-center/src/actions/webhook/index.ts b/frontend/control-center/src/actions/webhook/index.ts new file mode 100644 index 0000000000..cb6a959a73 --- /dev/null +++ b/frontend/control-center/src/actions/webhook/index.ts @@ -0,0 +1,48 @@ +import { + SubscribeWebhookRequestPayload, + UnsubscribeWebhookRequestPayload, + UpdateWebhookRequestPayload, +} from 'httpclient/src'; +import {Webhook} from 'model/Webhook'; +import _, {Dispatch} from 'redux'; +import _typesafe, {createAction} from 'typesafe-actions'; + +import {HttpClientInstance} from '../../httpClient'; + +const ADD_WEBHOOKS_TO_STORE = 'ADD_WEBHOOKS_TO_STORE'; +const SUBSCRIBE_WEBHOOK = 'SUBSCRIBE_WEBHOOK'; +const UNSUBSCRIBE_WEBHOOK = 'UNSUBSCRIBE_WEBHOOK'; +const UPDATE_WEBHOOK = 'UPDATE_WEBHOOK'; + +export const saveWebhooks = createAction(ADD_WEBHOOKS_TO_STORE, (webhook: Webhook[]) => webhook)(); +export const enableWebhook = createAction(SUBSCRIBE_WEBHOOK, (webhook: Webhook) => webhook)(); +export const disableWebhook = createAction(UNSUBSCRIBE_WEBHOOK, (webhook: Webhook) => webhook)(); +export const changeWebhook = createAction(UPDATE_WEBHOOK, (webhook: Webhook) => webhook)(); + +export const listWebhooks = () => async (dispatch: Dispatch) => { + return HttpClientInstance.listWebhooks().then((response: Webhook[]) => { + dispatch(saveWebhooks(response)); + return Promise.resolve(true); + }); +}; + +export const subscribeWebhook = (request: SubscribeWebhookRequestPayload) => async (dispatch: Dispatch) => { + return HttpClientInstance.subscribeWebhook(request).then((response: Webhook) => { + dispatch(enableWebhook(response)); + return Promise.resolve(true); + }); +}; + +export const unsubscribeWebhook = (request: UnsubscribeWebhookRequestPayload) => async (dispatch: Dispatch) => { + return HttpClientInstance.unsubscribeWebhook(request).then((response: Webhook) => { + dispatch(disableWebhook(response)); + return Promise.resolve(true); + }); +}; + +export const updateWebhook = (request: UpdateWebhookRequestPayload) => async (dispatch: Dispatch) => { + return HttpClientInstance.updateWebhook(request).then((response: Webhook) => { + dispatch(changeWebhook(response)); + return Promise.resolve(true); + }); +}; diff --git a/frontend/control-center/src/components/Switch/index.module.scss b/frontend/control-center/src/components/Switch/index.module.scss new file mode 100644 index 0000000000..68ca687558 --- /dev/null +++ b/frontend/control-center/src/components/Switch/index.module.scss @@ -0,0 +1,38 @@ +.switchCheckbox { + display: none; +} + +.switchLabel { + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; + width: 32px; + height: 14px; + background: var(--color-soft-green); + border-radius: 32px; + position: relative; + transition: background-color 0.2s; +} + +.switchLabel .switchButton { + content: ''; + position: absolute; + top: 2px; + left: 2px; + width: 10px; + height: 10px; + border-radius: 45px; + transition: 0.2s; + background: #fff; + box-shadow: 0 0 2px 0 rgba(10, 10, 10, 0.29); +} + +.switchCheckbox:checked + .switchLabel .switchButton { + left: calc(100% - 2px); + transform: translateX(-100%); +} + +.switchLabel:active .switchButton { + width: 6px; +} diff --git a/frontend/control-center/src/components/Switch/index.tsx b/frontend/control-center/src/components/Switch/index.tsx new file mode 100644 index 0000000000..45d5374635 --- /dev/null +++ b/frontend/control-center/src/components/Switch/index.tsx @@ -0,0 +1,21 @@ +import React from 'react'; +import styles from './index.module.scss'; + +type SwitchProps = { + isActive: boolean; + toggleActive: () => void; + onColor: string; + id: string; +}; + +export const Switch = (props: SwitchProps) => { + const {isActive, toggleActive, onColor, id} = props; + return ( + <> + + + + ); +}; diff --git a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss new file mode 100644 index 0000000000..afb226d54a --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss @@ -0,0 +1,115 @@ +@import 'assets/scss/colors.scss'; +@import 'assets/scss/fonts.scss'; + +.formContainer { + display: flex; + flex-direction: column; + width: 100%; + min-height: 580px; + align-items: center; +} + +.container { + @include font-base; + color: var(--color-text-gray); + background: white; + height: 500px; + + h1 { + margin-top: 45px; + margin-bottom: 28px; + font-weight: 700; + } +} + +.checkboxContainer { + display: flex; + align-items: center; + span { + @include font-base; + cursor: pointer; + margin-right: 96px; + } + input { + @include font-base; + cursor: pointer; + height: 16px; + width: 16px; + } +} + +.inputContainer { + display: flex; + + input { + @include font-base; + border: none; + background: var(--color-background-gray); + padding: 6px; + border-radius: 8px; + margin-right: 32px; + height: 50px; + padding: 16px 21px; + } + + input:last-child { + @include font-base; + width: 400px; + } +} + +.headerKeyContainer { + display: flex; + flex-direction: row; + margin-top: 48px; + margin-bottom: 48px; + + span { + @include font-base; + color: black; + margin-bottom: 28px; + font-weight: 800; + } + + input { + @include font-base; + width: 408px; + background: var(--color-background-gray); + border-radius: 6px; + color: var(--color-red-info); + padding: 17px 12px; + border: none; + } +} + +.headerKeyItem { + display: flex; + flex-direction: column; + margin-right: 42px; +} + +.errorMessage { + @include font-base; + display: flex; + position: absolute; + bottom: 24px; + color: var(--color-red-alert); + font-size: 16px; +} + +@keyframes spinAnimationRefresh { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(7200deg); + } +} + +.spinAnimation { + svg { + height: 20px; + width: 20px; + animation: spinAnimationRefresh 40s linear; + } +} diff --git a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx new file mode 100644 index 0000000000..fa1455dcc8 --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx @@ -0,0 +1,218 @@ +import {Button} from 'components/cta/Button'; +import React, {useLayoutEffect, useState} from 'react'; +import {ReactComponent as RefreshIcon} from 'assets/images/icons/refreshIcon.svg'; +import styles from './index.module.scss'; +import {Webhook, WebhooksEventType} from 'model/Webhook'; + +type SubscriptionModalProps = { + webhook: Webhook; + messageCreated?: boolean; + messageUpdated?: boolean; + conversationUpdated?: boolean; + channelUpdated?: boolean; + newWebhook?: boolean; + isLoading?: boolean; + error?: boolean; + setUpsertWebhook?: (isNew: boolean, webhook: Webhook) => void; +}; + +const isEventOn = (events: WebhooksEventType[] | undefined, event: WebhooksEventType): boolean => { + return events?.includes(event); +}; + +const SubscriptionModal = (props: SubscriptionModalProps) => { + const {webhook, newWebhook, isLoading, error, setUpsertWebhook} = props; + const {name, url, events, headers, signatureKey} = webhook; + const [buttonTitle, setButtonTitle] = useState(''); + const [newUrl, setNewUrl] = useState(newWebhook ? '' : url); + const [newName, setNewName] = useState(name || ''); + const [newEvents, setNewEvents] = useState(events || []); + const [newHeaders, setNewHeaders] = useState(headers['X-Custom-Header'] || ''); + const [newSignatureKey, setNewSignatureKey] = useState(signatureKey || ''); + const [messageCreatedChecked, setMessageCreatedChecked] = useState( + isEventOn(events, WebhooksEventType.messageCreated) + ); + const [messageUpdatedChecked, setMessageUpdatedChecked] = useState( + isEventOn(events, WebhooksEventType.messageUpdated) + ); + const [conversationUpdatedChecked, setConversationUpdatedChecked] = useState( + isEventOn(events, WebhooksEventType.conversationUpdated) + ); + const [channelUpdatedChecked, setChannelUpdatedChecked] = useState( + isEventOn(events, WebhooksEventType.channelUpdated) + ); + + const handleChecked = (event: WebhooksEventType) => { + switch (event) { + case WebhooksEventType.messageCreated: { + setMessageCreatedChecked(!messageCreatedChecked); + !newEvents.includes(event) + ? setNewEvents([...newEvents, WebhooksEventType.messageCreated]) + : setNewEvents(newEvents.filter(item => item !== event)); + break; + } + case WebhooksEventType.messageUpdated: { + setMessageUpdatedChecked(!messageUpdatedChecked); + !newEvents.includes(event) + ? setNewEvents([...newEvents, WebhooksEventType.messageUpdated]) + : setNewEvents(newEvents.filter(item => item !== event)); + break; + } + case WebhooksEventType.conversationUpdated: { + setConversationUpdatedChecked(!conversationUpdatedChecked); + !newEvents.includes(event) + ? setNewEvents([...newEvents, WebhooksEventType.conversationUpdated]) + : setNewEvents(newEvents.filter(item => item !== event)); + break; + } + case WebhooksEventType.channelUpdated: { + setChannelUpdatedChecked(!channelUpdatedChecked); + !newEvents.includes(event) + ? setNewEvents([...newEvents, WebhooksEventType.channelUpdated]) + : setNewEvents(newEvents.filter(item => item !== event)); + break; + } + } + }; + + useLayoutEffect(() => { + getButtonTitle(); + }, [isLoading, error]); + + const getButtonTitle = () => { + if (error) { + return setButtonTitle('Try again...'); + } + if (!isLoading) { + if (newWebhook) { + return setButtonTitle('Subscribe'); + } else { + return setButtonTitle('Update'); + } + } else { + if (newWebhook) { + return setButtonTitle('Subscribing...'); + } else { + return setButtonTitle('Updating...'); + } + } + }; + + const upsertWebhook = (isNew: boolean) => { + console.log('IS WEBHOOK NEW: ', isNew); + setUpsertWebhook(isNew, { + ...webhook, + ...(newUrl && { + url: newUrl, + }), + ...(newName && { + name: newName, + }), + ...(newEvents && { + events: newEvents, + }), + ...(newSignatureKey && { + signatureKey: newSignatureKey, + }), + ...(newSignatureKey && { + signatureKey: newSignatureKey, + }), + ...(newHeaders && { + headers: {'X-Custom-Header': newHeaders}, + }), + }); + }; + + return ( +
+
+

WEBHOOK

+
+ setNewName(event.target.value)} /> + setNewUrl(event.target.value)} + autoFocus={newWebhook ? true : false} + required={true} + /> +
+

ALL EVENTS

+
+ handleChecked(WebhooksEventType.messageCreated)} + /> + + handleChecked(WebhooksEventType.messageUpdated)} + /> + + handleChecked(WebhooksEventType.conversationUpdated)} + /> + + handleChecked(WebhooksEventType.channelUpdated)} + /> + +
+
+
+ (Customer Header)* + setNewHeaders(event.target.value)}> +
+
+ *Sign key + setNewSignatureKey(event.target.value)} /> +
+
+
+
+ +
+ {error && Unable to {newWebhook ? 'subscribe' : 'update'} Webhook} +
+ ); +}; + +export default SubscriptionModal; diff --git a/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss new file mode 100644 index 0000000000..cb656fba17 --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss @@ -0,0 +1,64 @@ +@import 'assets/scss/colors.scss'; +@import 'assets/scss/fonts.scss'; + +.container { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + min-height: 520px; + min-width: 1000px; + color: var(--color-text-gray); + background: white; + + h1 { + @include font-xl; + color: var(--color-text-contrast); + font-weight: 800; + margin-top: 50px; + margin-bottom: 16px; + } + p { + @include font-m; + color: var(--color-text-contrast); + font-weight: 400; + margin-bottom: 50px; + max-width: 75%; + line-break: anywhere; + text-align: center; + } +} + +.buttonContainer { + display: flex; + align-items: center; + button { + @include font-base; + margin: 0 12px; + } +} + +.errorMessage { + @include font-base; + position: absolute; + bottom: 40px; + color: var(--color-red-alert); + font-size: 16px; +} + +@keyframes spinAnimationRefresh { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(7200deg); + } +} + +.spinAnimation { + svg { + height: 20px; + width: 20px; + animation: spinAnimationRefresh 40s linear; + } +} diff --git a/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.tsx b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.tsx new file mode 100644 index 0000000000..80998f8f39 --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import styles from './index.module.scss'; + +import {ReactComponent as ErrorMessage} from 'assets/images/icons/errorMessage.svg'; +import {ReactComponent as RefreshIcon} from 'assets/images/icons/refreshIcon.svg'; +import {Button} from 'components/cta/Button'; + +type UnsubscribeModalProps = { + setUnsubscribe: (unsubscribe: boolean) => void; + setCancelUnsubscribe: (cancel: boolean) => void; + webhookUrl: string; + isLoading: boolean; + error: boolean; +}; + +export const UnsubscribeModal = (props: UnsubscribeModalProps) => { + const {setUnsubscribe, setCancelUnsubscribe, webhookUrl, isLoading, error} = props; + + const handleConfirm = () => { + setUnsubscribe(true); + }; + + const handleCancel = () => { + setCancelUnsubscribe(true); + }; + + return ( +
+ +

Unsubscribe Webhook

+

+ Are you sure
you want to unsubscribe

{webhookUrl}? +

+
+
+ + +
+
+ {error && Unable to unsubscribe Webhook} +
+ ); +}; diff --git a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss new file mode 100644 index 0000000000..d65aefa99a --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss @@ -0,0 +1,140 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.container { + @include font-base; + display: flex; + align-items: flex-start; + background: white; + height: 'auto'; + border-bottom: 1px solid var(--color-light-gray); + margin-top: 30px; + padding-bottom: 30px; + + span { + width: 40%; + color: var(--color-text-contrast); + text-decoration: underline; + overflow: hidden; + text-overflow: ellipsis; + padding-right: 8px; + } + + p { + width: 25%; + color: var(--color-text-gray); + overflow: hidden; + text-overflow: ellipsis; + padding-right: 8px; + white-space: nowrap; + } + + div:not(:last-child) { + margin-bottom: 3px; + } + + input:first-child { + width: 40%; + } + + input:not(:first-child, :last-child) { + width: 25%; + } + input { + width: 25%; + } +} + +.eventsContainer { + display: flex; + flex-direction: column; + width: 25%; + p { + @include font-base; + margin-bottom: 22px; + } + p:last-child { + margin-bottom: 0px; + } + input { + @include font-base; + margin-bottom: 22px; + } +} + +.statusContainer { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + width: 100%; + + svg path { + fill: var(--color-text-gray); + } +} + +.pensilIcon { + cursor: pointer; +} + +.inputs { + width: 100%; + height: 24px; + border: none; + font-size: 16px; + padding: 0px; +} + +.displayNameButtons { + display: flex; + + button { + border: none; + outline: none; + border-radius: 50%; + height: 24px; + width: 24px; + cursor: pointer; + background-color: transparent; + } + + .cancelEdit { + border: 1px solid var(--color-text-gray); + margin-left: 8px; + svg { + path { + fill: var(--color-text-gray); + } + } + &:hover { + border: 1px solid var(--color-red-alert); + svg { + path { + fill: var(--color-red-alert); + } + } + } + } + + .saveEdit { + border: 1px solid var(--color-soft-green); + margin-left: 8px; + svg { + height: 8px; + margin-bottom: 0.5px; + } + } + + .disabledSaveEdit { + border: 1px solid var(--color-text-gray); + margin-left: 8px; + svg { + height: 8px; + margin-bottom: 0.5px; + path { + fill: var(--color-text-gray); + } + } + } +} diff --git a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx new file mode 100644 index 0000000000..e14e099f38 --- /dev/null +++ b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx @@ -0,0 +1,166 @@ +import React, {useState} from 'react'; +import {ReactComponent as PensilIcon} from 'assets/images/icons/pencil.svg'; +import styles from './index.module.scss'; +import {Switch} from '../../../components/Switch'; +import {SettingsModal} from 'components'; +import SubscriptionModal from '../SubscriptionModal'; +import {UnsubscribeModal} from '../UnsubscribeModal'; +import {Webhook, WebhooksStatus} from 'model/Webhook'; + +type WebhooksListItemProps = { + webhook: Webhook; + switchId?: string; + upsertWebhook: ( + isNew: boolean, + webhook: Webhook, + onCall?: () => void, + onResponse?: () => void, + onError?: (error: Error) => void + ) => void; + setShowNotification?: (show: boolean, error?: boolean) => void; +}; + +const WebhooksListItem = (props: WebhooksListItemProps) => { + const {webhook, switchId, upsertWebhook} = props; + const {name, url, events, status} = webhook; + const [subscribed, setSubscribed] = useState(status || WebhooksStatus.subscribed); + const [editModeOn, setEditModeOn] = useState(false); + const [showUnsubscribeModal, setShowUnsubscribeModal] = useState(false); + const [isLoading, setIsLoading] = useState(false); + const [errorOccurred, setErrorOccurred] = useState(false); + + const cancelChanges = () => { + setEditModeOn(false); + setShowUnsubscribeModal(false); + }; + + const handleSubscribeToggle = () => { + subscribed === WebhooksStatus.subscribed + ? setShowUnsubscribeModal(true) + : upsertWebhook( + false, + { + ...webhook, + status: WebhooksStatus.subscribed, + }, + () => { + props.setShowNotification(false); + }, + () => { + setSubscribed(WebhooksStatus.subscribed); + props.setShowNotification(true); + setTimeout(() => { + props.setShowNotification(false); + }, 4000); + }, + (error: Error) => { + console.error(error); + props.setShowNotification(true, true); + setTimeout(() => { + props.setShowNotification(false); + }, 4000); + } + ); + }; + + const editWebhook = () => { + setEditModeOn(!editModeOn); + }; + + const upsertWebhookConfirm = (isNew: boolean, webhook: Webhook) => { + upsertWebhook( + isNew, + webhook, + () => { + setErrorOccurred(false); + setIsLoading(true); + }, + () => { + setIsLoading(false); + setEditModeOn(false); + }, + (error: Error) => { + console.error(error); + setErrorOccurred(true); + setIsLoading(false); + } + ); + }; + + const unsubscribeWebhookConfirm = () => { + upsertWebhook( + false, + { + ...webhook, + status: WebhooksStatus.unsubscribed, + }, + () => { + setErrorOccurred(false); + setIsLoading(true); + }, + () => { + setShowUnsubscribeModal(false); + setSubscribed(WebhooksStatus.unsubscribed); + setIsLoading(false); + }, + (error: Error) => { + console.error(error); + setErrorOccurred(true); + setIsLoading(false); + } + ); + }; + + return ( +
+ {url} +

{name}

+
+ <> + {events && + events.map((event, index) => ( +

+ {event} +

+ ))} + +
+
+ +
+ +
+
+ + {editModeOn && ( + + + + )} + {showUnsubscribeModal && ( + + + + )} +
+ ); +}; + +export default WebhooksListItem; diff --git a/frontend/control-center/src/pages/Webhooks/index.module.scss b/frontend/control-center/src/pages/Webhooks/index.module.scss index 19084c95bf..68cd4f5a72 100644 --- a/frontend/control-center/src/pages/Webhooks/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/index.module.scss @@ -12,6 +12,13 @@ width: 100%; } +.headlineContainer { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 100%; +} + .webhooksHeadline { @include font-xl; font-weight: 900; @@ -32,3 +39,52 @@ flex-direction: row; flex-wrap: wrap; } + +.listHeader { + display: flex; + flex-direction: row; + height: 50px; + align-items: center; + justify-content: flex-start; + + h2 { + @include font-base; + color: var(--color-text-gray); + font-weight: bold; + width: 25%; + } + + h2:first-child { + width: 40%; + } + + h2:last-child { + width: 10%; + } +} + +.successfullySubscribed { + @include font-base; + color: white; +} + +@keyframes translateYIn { + 0% { + transform: translateY(-50px); + opacity: 0; + } + + 50% { + transform: translateY(16px); + opacity: 1; + } + + 100% { + transform: translateY(-50px); + opacity: 0; + } +} + +.translateYAnimIn { + animation: translateYIn 4s ease-in-out; +} diff --git a/frontend/control-center/src/pages/Webhooks/index.tsx b/frontend/control-center/src/pages/Webhooks/index.tsx index 109576124b..4f9279a993 100644 --- a/frontend/control-center/src/pages/Webhooks/index.tsx +++ b/frontend/control-center/src/pages/Webhooks/index.tsx @@ -1,21 +1,165 @@ -import React, {useEffect} from 'react'; +import {SettingsModal} from 'components/alerts/SettingsModal'; +import {Button} from 'components/cta/Button'; +import {Webhook} from 'model/Webhook'; +import React, {useEffect, useState} from 'react'; +import {connect, ConnectedProps} from 'react-redux'; +import {listWebhooks, subscribeWebhook, updateWebhook} from '../../actions/webhook'; +import {StateModel} from '../../reducers'; import {setPageTitle} from '../../services/pageTitle'; import styles from './index.module.scss'; +import SubscriptionModal from './SubscriptionModal'; +import WebhooksListItem from './WebhooksListItem'; + +type WebhooksProps = {} & ConnectedProps; + +const mapStateToProps = (state: StateModel) => ({ + webhooks: Object.values(state.data.webhooks), +}); + +const mapDispatchToProps = { + listWebhooks, + subscribeWebhook, + updateWebhook, +}; + +const connector = connect(mapStateToProps, mapDispatchToProps); + +const Webhooks = (props: WebhooksProps) => { + const {listWebhooks, webhooks} = props; + const [newWebhook, setNewWebhook] = useState(false); + const [isLoading, setIsLoading] = useState(false); + const [errorOccurred, setErrorOccurred] = useState(false); + const [showSuccessNotification, setShowSuccessNotification] = useState(false); + const [notificationText, setNotificatioNText] = useState(''); + const [notifcationColor, setNotifcationColor] = useState(''); -const Webhooks = () => { useEffect(() => { setPageTitle('Webhooks'); }, []); + useEffect(() => { + webhooks.length === 0 && listWebhooks(); + }, [webhooks]); + + const handleNotification = (show: boolean, error: boolean) => { + error + ? (setNotificatioNText('Error occurred'), setNotifcationColor('#d51548')) + : (setNotificatioNText('Successfully Subscribed!'), setNotifcationColor('#0da36b')); + setShowSuccessNotification(show); + }; + + const upsertWebhook = ( + isNew: boolean, + webhook: Webhook, + onCall?: () => void, + onResponse?: () => void, + onError?: (error: Error) => void + ) => { + onCall(); + if (isNew) { + props + .subscribeWebhook({...webhook}) + .then(() => onResponse()) + .catch((error: Error) => { + onError(error); + }); + } else { + props + .updateWebhook({...webhook, id: webhook.id}) + .then(() => onResponse()) + .catch((error: Error) => { + onError(error); + }); + } + }; + + const subscribeWebhookConfirm = (isNew: boolean, webhook: Webhook) => { + upsertWebhook( + isNew, + webhook, + () => { + setErrorOccurred(false); + setIsLoading(true); + }, + () => { + setIsLoading(false); + setNewWebhook(false); + }, + (error: Error) => { + console.error(error); + setErrorOccurred(true); + setIsLoading(false); + } + ); + }; + + const SuccessfulSubscribed = () => { + return ( +
+ {notificationText} +
+ ); + }; + return ( -
-
+ <> + {showSuccessNotification && } + {newWebhook && ( + setNewWebhook(false)} title="Subscribe Webhook" style={{fontSize: '40px'}}> + + + )} +
+
+
+

Webhooks

+ +
+
+
+

URL

+

Name

+

Events

+

Status

+
-

Webhooks

+ {webhooks && + webhooks.map((webhook: Webhook, index) => ( + + ))}
-
+ ); }; -export default Webhooks; +export default connector(Webhooks); diff --git a/frontend/control-center/src/reducers/data/index.ts b/frontend/control-center/src/reducers/data/index.ts index 79eeda13d4..a9d7f2ae3f 100644 --- a/frontend/control-center/src/reducers/data/index.ts +++ b/frontend/control-center/src/reducers/data/index.ts @@ -4,6 +4,8 @@ import {User} from 'model'; import user from './user'; import config, {Config} from './config'; import channels, {ChannelsState} from './channels'; +import {Webhook} from 'model/Webhook'; +import webhooks from './webhooks'; export * from './channels'; export * from './config'; @@ -13,12 +15,14 @@ export type DataState = { user: User; channels: ChannelsState; config: Config; + webhooks: Webhook; }; const reducers: Reducer = combineReducers({ user, channels, config, + webhooks, }); export default reducers; diff --git a/frontend/control-center/src/reducers/data/webhooks/index.ts b/frontend/control-center/src/reducers/data/webhooks/index.ts new file mode 100644 index 0000000000..48c2981cc6 --- /dev/null +++ b/frontend/control-center/src/reducers/data/webhooks/index.ts @@ -0,0 +1,40 @@ +import {ActionType, getType} from 'typesafe-actions'; +import * as actions from '../../../actions/webhook'; +import {keyBy} from 'lodash-es'; + +type Action = ActionType; + +const webhookReducer: any = (state = {}, action: Action) => { + switch (action.type) { + case getType(actions.saveWebhooks): + return { + ...state, + ...keyBy(action.payload, 'id'), + }; + case getType(actions.enableWebhook): + return { + ...state, + [action.payload.id]: { + ...action.payload, + }, + }; + case getType(actions.disableWebhook): + return { + ...state, + [action.payload.id]: { + ...action.payload, + }, + }; + case getType(actions.changeWebhook): + return { + ...state, + [action.payload.id]: { + ...action.payload, + }, + }; + default: + return state; + } +}; + +export default webhookReducer; diff --git a/lib/typescript/assets/scss/colors.scss b/lib/typescript/assets/scss/colors.scss index 2e367162e7..5d12e87d0e 100644 --- a/lib/typescript/assets/scss/colors.scss +++ b/lib/typescript/assets/scss/colors.scss @@ -21,6 +21,7 @@ --color-fb-cta-border: #2281fd; --color-background-blue: #f1faff; --color-red-alert: #d51548; + --color-red-info: #ee336c; --color-accent-magenta: #f7147d; --color-error-background: #fae6e9; --color-highlight-yellow: #fbbd54; @@ -33,4 +34,5 @@ --color-airy-message-inbound: #f1faff; --color-airy-message-text-outbound: #ffffff; --color-airy-message-text-inbound: #000000; + --color-switch-unchecked-background: #efefef; } diff --git a/lib/typescript/components/alerts/SettingsModal/ModalHeader.tsx b/lib/typescript/components/alerts/SettingsModal/ModalHeader.tsx index e265836a44..12b7cf4d7e 100644 --- a/lib/typescript/components/alerts/SettingsModal/ModalHeader.tsx +++ b/lib/typescript/components/alerts/SettingsModal/ModalHeader.tsx @@ -1,19 +1,22 @@ -import React from 'react'; +import React, {CSSProperties} from 'react'; import styles from './ModalHeader.module.scss'; import {ReactComponent as CloseIcon} from 'assets/images/icons/close.svg'; type ModalHeaderProps = { title: string; close: (event: React.MouseEvent) => void; + style?: CSSProperties; }; -const ModalHeader = ({title, close}: ModalHeaderProps) => { +const ModalHeader = ({title, close, style}: ModalHeaderProps) => { return (
-
{title}
+
+ {title} +
); }; diff --git a/lib/typescript/components/alerts/SettingsModal/index.tsx b/lib/typescript/components/alerts/SettingsModal/index.tsx index 837aa46359..59809b9c5c 100644 --- a/lib/typescript/components/alerts/SettingsModal/index.tsx +++ b/lib/typescript/components/alerts/SettingsModal/index.tsx @@ -1,10 +1,19 @@ -import React from 'react'; +import React, {CSSProperties} from 'react'; import Modal from 'react-modal'; import ModalHeader from './ModalHeader'; import styles from './style.module.scss'; -export const SettingsModal = ({close, title, children, style}) => { +type SettingsModalProps = { + close: () => void; + title: string; + children: any; + style?: CSSProperties; + className?: string; +}; + +export const SettingsModal = (props: SettingsModalProps) => { + const {close, title, children, style, className} = props; return ( { shouldCloseOnOverlayClick={true} onRequestClose={close} > -
- - -
{children}
+
+ + {children}
); diff --git a/lib/typescript/components/cta/Button/index.tsx b/lib/typescript/components/cta/Button/index.tsx index 5740394ec1..28a0a63863 100644 --- a/lib/typescript/components/cta/Button/index.tsx +++ b/lib/typescript/components/cta/Button/index.tsx @@ -1,4 +1,4 @@ -import React, {ReactNode} from 'react'; +import React, {CSSProperties, ReactNode} from 'react'; import styles from './style.module.scss'; @@ -9,11 +9,12 @@ type ButtonProps = { type?: 'submit' | 'button' | 'reset'; disabled?: boolean; styleVariant?: styleVariantType; + style?: CSSProperties; tabIndex?: any; dataCy?: string; }; -export const Button = ({children, onClick, type, styleVariant, disabled, tabIndex, dataCy}: ButtonProps) => { +export const Button = ({children, onClick, type, styleVariant, style, disabled, tabIndex, dataCy}: ButtonProps) => { const styleFor = (variant: styleVariantType) => { switch (variant) { case 'small': @@ -36,6 +37,7 @@ export const Button = ({children, onClick, type, styleVariant, disabled, tabInde return ( - ))} + {conversationsForContact.map((conversationInfo: ConversationInfoForContact) => ( + + ))}
)} From 7a47e01e7d420104fe5dfe4249778ae33d818228 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Pena Rodriguez Date: Wed, 11 May 2022 10:42:43 +0200 Subject: [PATCH 20/30] Feature/3004 add service to every connector (#3149) --- backend/sources/facebook/events-router/BUILD | 1 + .../airy/core/sources/facebook/EventsRouter.java | 13 ++++++++++++- backend/sources/google/events-router/BUILD | 1 + .../airy/core/sources/google/EventsRouter.java | 12 +++++++++++- backend/sources/twilio/events-router/BUILD | 1 + .../airy/core/sources/twilio/EventsRouter.java | 12 +++++++++++- .../co/airy/core/webhook/consumer/Stores.java | 12 +++++++++++- .../charts/facebook/templates/service.yaml | 16 ++++++++++++++++ .../sources/charts/google/templates/service.yaml | 16 ++++++++++++++++ .../sources/charts/twilio/templates/service.yaml | 16 ++++++++++++++++ 10 files changed, 96 insertions(+), 4 deletions(-) diff --git a/backend/sources/facebook/events-router/BUILD b/backend/sources/facebook/events-router/BUILD index 3b0e648a1e..1f9638ce6b 100644 --- a/backend/sources/facebook/events-router/BUILD +++ b/backend/sources/facebook/events-router/BUILD @@ -5,6 +5,7 @@ load("//tools/build:container_release.bzl", "container_release") app_deps = [ "//backend:base_app", + "//:springboot_actuator", "//backend/model/channel", "//backend/model/message", "//backend/model/metadata", diff --git a/backend/sources/facebook/events-router/src/main/java/co/airy/core/sources/facebook/EventsRouter.java b/backend/sources/facebook/events-router/src/main/java/co/airy/core/sources/facebook/EventsRouter.java index 19d8ed56a9..526a30640e 100644 --- a/backend/sources/facebook/events-router/src/main/java/co/airy/core/sources/facebook/EventsRouter.java +++ b/backend/sources/facebook/events-router/src/main/java/co/airy/core/sources/facebook/EventsRouter.java @@ -26,6 +26,8 @@ import org.apache.kafka.streams.state.ReadOnlyKeyValueStore; import org.slf4j.Logger; import org.springframework.beans.factory.DisposableBean; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @@ -40,7 +42,7 @@ import static java.util.stream.Collectors.toList; @Component -public class EventsRouter implements DisposableBean, ApplicationListener { +public class EventsRouter implements HealthIndicator, DisposableBean, ApplicationListener { private static final Logger log = AiryLoggerFactory.getLogger(EventsRouter.class); private final String metadataStore = "metadata-store"; @@ -153,6 +155,15 @@ public void destroy() { } } + @Override + public Health health() { + if (streams == null || !streams.state().isRunningOrRebalancing()) { + return Health.down().build(); + } + streams.acquireLocalStore(metadataStore); + return Health.up().build(); + } + // visible for testing KafkaStreams.State getStreamState() { return streams.state(); diff --git a/backend/sources/google/events-router/BUILD b/backend/sources/google/events-router/BUILD index c99d2a2b3a..ab380ba42f 100644 --- a/backend/sources/google/events-router/BUILD +++ b/backend/sources/google/events-router/BUILD @@ -5,6 +5,7 @@ load("//tools/build:container_release.bzl", "container_release") app_deps = [ "//backend:base_app", + "//:springboot_actuator", "//backend/model/channel", "//backend/model/message", "//backend/model/metadata", diff --git a/backend/sources/google/events-router/src/main/java/co/airy/core/sources/google/EventsRouter.java b/backend/sources/google/events-router/src/main/java/co/airy/core/sources/google/EventsRouter.java index 12876a31c1..42e13c1e63 100644 --- a/backend/sources/google/events-router/src/main/java/co/airy/core/sources/google/EventsRouter.java +++ b/backend/sources/google/events-router/src/main/java/co/airy/core/sources/google/EventsRouter.java @@ -22,6 +22,8 @@ import org.slf4j.Logger; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @@ -35,7 +37,7 @@ import static co.airy.model.metadata.MetadataRepository.newConversationMetadata; @Component -public class EventsRouter implements DisposableBean, ApplicationListener { +public class EventsRouter implements HealthIndicator, DisposableBean, ApplicationListener { private static final String appId = "sources.google.EventsRouter"; private static final Logger log = AiryLoggerFactory.getLogger(EventsRouter.class); @@ -59,6 +61,14 @@ public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { startStream(); } + @Override + public Health health() { + if (streams == null || !streams.state().isRunningOrRebalancing()) { + return Health.down().build(); + } + return Health.up().build(); + } + private void startStream() { final StreamsBuilder builder = new StreamsBuilder(); final String applicationCommunicationMessages = new ApplicationCommunicationMessages().name(); diff --git a/backend/sources/twilio/events-router/BUILD b/backend/sources/twilio/events-router/BUILD index 0e7bd4b364..b3c2ea443f 100644 --- a/backend/sources/twilio/events-router/BUILD +++ b/backend/sources/twilio/events-router/BUILD @@ -5,6 +5,7 @@ load("//tools/build:container_release.bzl", "container_release") app_deps = [ "//backend:base_app", + "//:springboot_actuator", "//backend/model/channel", "//backend/model/message", "//lib/java/uuid", diff --git a/backend/sources/twilio/events-router/src/main/java/co/airy/core/sources/twilio/EventsRouter.java b/backend/sources/twilio/events-router/src/main/java/co/airy/core/sources/twilio/EventsRouter.java index 76307245c9..c9bc8a6d4f 100644 --- a/backend/sources/twilio/events-router/src/main/java/co/airy/core/sources/twilio/EventsRouter.java +++ b/backend/sources/twilio/events-router/src/main/java/co/airy/core/sources/twilio/EventsRouter.java @@ -16,12 +16,14 @@ import org.apache.kafka.streams.kstream.KTable; import org.slf4j.Logger; import org.springframework.beans.factory.DisposableBean; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @Component -public class EventsRouter implements DisposableBean, ApplicationListener { +public class EventsRouter implements HealthIndicator, DisposableBean, ApplicationListener { private static final Logger log = AiryLoggerFactory.getLogger(EventsRouter.class); public static final String appId = "sources.twilio.EventsRouter"; @@ -100,6 +102,14 @@ public void destroy() { } } + @Override + public Health health() { + if (streams == null || !streams.state().isRunningOrRebalancing()) { + return Health.down().build(); + } + return Health.up().build(); + } + /** * Visible For Testing * diff --git a/backend/webhook/consumer/src/main/java/co/airy/core/webhook/consumer/Stores.java b/backend/webhook/consumer/src/main/java/co/airy/core/webhook/consumer/Stores.java index 209986168e..686f40330b 100644 --- a/backend/webhook/consumer/src/main/java/co/airy/core/webhook/consumer/Stores.java +++ b/backend/webhook/consumer/src/main/java/co/airy/core/webhook/consumer/Stores.java @@ -7,13 +7,15 @@ import org.apache.kafka.streams.StreamsBuilder; import org.apache.kafka.streams.kstream.Materialized; import org.apache.kafka.streams.state.ReadOnlyKeyValueStore; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.beans.factory.DisposableBean; import org.springframework.boot.context.event.ApplicationStartedEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @Component -public class Stores implements ApplicationListener, DisposableBean { +public class Stores implements HealthIndicator, ApplicationListener, DisposableBean { private static final String appId = "webhook.Consumer"; private final String webhooksStore = "webhooks-store"; private final KafkaStreamsWrapper streams; @@ -49,6 +51,14 @@ public void onApplicationEvent(ApplicationStartedEvent event) { startStream(); } + @Override + public Health health() { + if (streams == null || !streams.state().isRunningOrRebalancing()) { + return Health.down().build(); + } + return Health.up().build(); + } + // visible for testing KafkaStreams.State getStreamState() { return streams.state(); diff --git a/infrastructure/helm-chart/charts/components/charts/sources/charts/facebook/templates/service.yaml b/infrastructure/helm-chart/charts/components/charts/sources/charts/facebook/templates/service.yaml index 6b4f02fa0a..ce10000c57 100644 --- a/infrastructure/helm-chart/charts/components/charts/sources/charts/facebook/templates/service.yaml +++ b/infrastructure/helm-chart/charts/components/charts/sources/charts/facebook/templates/service.yaml @@ -13,3 +13,19 @@ spec: type: NodePort selector: app: sources-facebook-connector +--- +apiVersion: v1 +kind: Service +metadata: + name: sources-facebook-events-router + labels: + core.airy.co/prometheus: spring +spec: + ports: + - name: web + port: 80 + targetPort: 8080 + protocol: TCP + type: NodePort + selector: + app: sources-facebook-events-router diff --git a/infrastructure/helm-chart/charts/components/charts/sources/charts/google/templates/service.yaml b/infrastructure/helm-chart/charts/components/charts/sources/charts/google/templates/service.yaml index 3196b024fc..089965c57e 100644 --- a/infrastructure/helm-chart/charts/components/charts/sources/charts/google/templates/service.yaml +++ b/infrastructure/helm-chart/charts/components/charts/sources/charts/google/templates/service.yaml @@ -13,3 +13,19 @@ spec: type: NodePort selector: app: sources-google-connector +--- +apiVersion: v1 +kind: Service +metadata: + name: sources-google-events-router + labels: + core.airy.co/prometheus: spring +spec: + ports: + - name: web + port: 80 + targetPort: 8080 + protocol: TCP + type: NodePort + selector: + app: sources-google-events-router diff --git a/infrastructure/helm-chart/charts/components/charts/sources/charts/twilio/templates/service.yaml b/infrastructure/helm-chart/charts/components/charts/sources/charts/twilio/templates/service.yaml index ccceaf2ae7..03a28d3dd0 100644 --- a/infrastructure/helm-chart/charts/components/charts/sources/charts/twilio/templates/service.yaml +++ b/infrastructure/helm-chart/charts/components/charts/sources/charts/twilio/templates/service.yaml @@ -13,3 +13,19 @@ spec: type: NodePort selector: app: sources-twilio-connector +--- +apiVersion: v1 +kind: Service +metadata: + name: sources-twilio-events-router + labels: + core.airy.co/prometheus: spring +spec: + ports: + - name: web + port: 80 + targetPort: 8080 + protocol: TCP + type: NodePort + selector: + app: sources-twilio-events-router From 412cf241f7d7a0c928770093533906591cc9eff9 Mon Sep 17 00:00:00 2001 From: Aitor Algorta Date: Wed, 11 May 2022 11:21:20 +0200 Subject: [PATCH 21/30] filter by enabled (#3150) --- .../Status/ComponentListItem/ItemInfo.tsx | 6 ++++- .../ComponentListItem/index.module.scss | 6 ++++- .../control-center/src/pages/Status/index.tsx | 24 +++++++++++-------- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx index 9db2a6fff4..8c2e2624f6 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx @@ -35,13 +35,17 @@ export const ItemInfo = (props: ComponentInfoProps) => { }`} >
- {isComponent && ( + {isComponent ? ( <>
{getChannelAvatar(channelSource)}
+ ) : ( + <> +
+ )}

diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss index bc7dc00f3c..5bcce0727c 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss +++ b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss @@ -66,7 +66,7 @@ } .serviceName { - margin-left: 25%; + margin-left: 10%; @include font-s; color: var(--color-text-gray); } @@ -90,3 +90,7 @@ justify-content: center; align-items: center; } + +.blankSpace { + width: 60px; +} diff --git a/frontend/control-center/src/pages/Status/index.tsx b/frontend/control-center/src/pages/Status/index.tsx index 01d8b750c0..7c53aab25d 100644 --- a/frontend/control-center/src/pages/Status/index.tsx +++ b/frontend/control-center/src/pages/Status/index.tsx @@ -14,7 +14,7 @@ const mapDispatchToProps = { const connector = connect(null, mapDispatchToProps); const Status = (props: ConnectedProps) => { - const config = useSelector((state: StateModel) => state.data.config); + const components = useSelector((state: StateModel) => Object.entries(state.data.config.components)); const [spinAnim, setSpinAnim] = useState(true); useEffect(() => { @@ -50,15 +50,19 @@ const Status = (props: ConnectedProps) => {

- {Object.entries(config.components).map((component, index) => ( - - ))} + {components + .filter(component => { + return component[1].enabled; + }) + .map((component, index) => ( + + ))}
); From 92e341aecb266bb000343a12b9f831b84bb6e800 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 May 2022 11:24:52 +0200 Subject: [PATCH 22/30] Bump react-redux from 7.2.8 to 8.0.1 (#3060) Bumps [react-redux](https://github.com/reduxjs/react-redux) from 7.2.8 to 8.0.1. - [Release notes](https://github.com/reduxjs/react-redux/releases) - [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md) - [Commits](https://github.com/reduxjs/react-redux/compare/v7.2.8...v8.0.1) --- updated-dependencies: - dependency-name: react-redux dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++++----------------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index ca26f31e7a..62bc1bcead 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "react-i18next": "^11.16.7", "react-markdown": "^8.0.2", "react-modal": "^3.14.4", - "react-redux": "7.2.8", + "react-redux": "8.0.1", "react-router-dom": "6.3.0", "redux": "^4.1.2", "regenerator-runtime": "^0.13.9", diff --git a/yarn.lock b/yarn.lock index 051f3a07b0..c63da279a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -845,9 +845,9 @@ "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-transform-typescript" "^7.16.7" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.14.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz" +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.14.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" dependencies: regenerator-runtime "^0.13.4" @@ -1241,7 +1241,7 @@ version "4.7.11" resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" -"@types/hoist-non-react-statics@^3.3.0": +"@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": version "3.3.1" resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" dependencies: @@ -1328,7 +1328,7 @@ dependencies: "@types/react" "*" -"@types/react-redux@7.1.23", "@types/react-redux@^7.1.20": +"@types/react-redux@7.1.23": version "7.1.23" resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.23.tgz" dependencies: @@ -1416,6 +1416,10 @@ version "2.0.6" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" +"@types/use-sync-external-store@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" + "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" @@ -4703,10 +4707,6 @@ react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" -react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - react-is@^18.0.0: version "18.0.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.0.0.tgz#026f6c4a27dbe33bf4a35655b9e1327c4e55e3f5" @@ -4744,16 +4744,16 @@ react-modal@^3.14.4: react-lifecycles-compat "^3.0.0" warning "^4.0.3" -react-redux@7.2.8: - version "7.2.8" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.8.tgz#a894068315e65de5b1b68899f9c6ee0923dd28de" +react-redux@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.1.tgz#2bc029f5ada9b443107914c373a2750f6bc0f40c" dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" + "@babel/runtime" "^7.12.1" + "@types/hoist-non-react-statics" "^3.3.1" + "@types/use-sync-external-store" "^0.0.3" hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" + react-is "^18.0.0" + use-sync-external-store "^1.0.0" react-router-dom@6.3.0: version "6.3.0" @@ -5669,6 +5669,10 @@ url-loader@^4.1.1: mime-types "^2.1.27" schema-utils "^3.0.0" +use-sync-external-store@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz#3343c3fe7f7e404db70f8c687adf5c1652d34e82" + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" From f799380187797f29a23e3419485a4e2811c9fffb Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 11 May 2022 11:38:06 +0200 Subject: [PATCH 23/30] [#3126] Added Webhooks to docs (#3143) --- docs/docs/ui/control-center/introduction.md | 11 ++++++++++- docs/docs/ui/control-center/webhooks.md | 16 ++++++++++++++++ docs/sidebars.js | 1 + docs/static/icons/webhooksIcon.svg | 3 +++ docs/static/img/ui/controlCenterWebhooks.png | Bin 0 -> 70068 bytes 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 docs/docs/ui/control-center/webhooks.md create mode 100644 docs/static/icons/webhooksIcon.svg create mode 100644 docs/static/img/ui/controlCenterWebhooks.png diff --git a/docs/docs/ui/control-center/introduction.md b/docs/docs/ui/control-center/introduction.md index 818fd90262..b13877cd0d 100644 --- a/docs/docs/ui/control-center/introduction.md +++ b/docs/docs/ui/control-center/introduction.md @@ -8,6 +8,7 @@ import ButtonBox from "@site/src/components/ButtonBox"; import ComponentsSVG from "@site/static/icons/componentsIcon.svg"; import ConnectorsSVG from "@site/static/icons/connectorsIcon.svg"; import CatalogSVG from "@site/static/icons/catalogIcon.svg"; +import WebhooksSVG from "@site/static/icons/webhooksIcon.svg"; import useBaseUrl from '@docusaurus/useBaseUrl'; The Control Center serves as the technical dashboard of your Airy Core app. @@ -36,11 +37,19 @@ It provides both a graphical overview and a way to manage your app's [components description="Add connectors to your app in just a few clicks" link='ui/control-center/catalog' /> + } + title='Webhooks' + iconInvertible={true} + description="Manage, update and connect webhooks" + link='ui/control-center/webhooks' + />
-Screenshots of the Control Center's Status, Connectors, and Catalog pages. +Screenshots of the Control Center's Status, Connectors, Catalog and Webhooks pages. Control Center Status Demo Control Center Connectors Demo Control Center Catalog Demo +Control Center Webhooks Demo diff --git a/docs/docs/ui/control-center/webhooks.md b/docs/docs/ui/control-center/webhooks.md new file mode 100644 index 0000000000..60721bd239 --- /dev/null +++ b/docs/docs/ui/control-center/webhooks.md @@ -0,0 +1,16 @@ +--- +title: Webhooks +sidebar_label: Webhooks +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +The Webhooks page of the [Control Center](/ui/control-center/introduction) lists all subscribed and unsubscribed [webhooks](/api/webhook) that have been connected in the past. + +## Example + +The screenshots below come from a sample Airy Core app's Control Center UI. + +On this page you are able to check your connected [webhooks](/api/webhook), update already connected [webhooks](/api/webhook) or connect new [webhooks](/api/webhook). + +Control Center Webhooks Example diff --git a/docs/sidebars.js b/docs/sidebars.js index 16787228c9..2dc32ed79b 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -88,6 +88,7 @@ module.exports = { 'ui/control-center/status', 'ui/control-center/connectors', 'ui/control-center/catalog', + 'ui/control-center/webhooks', ], }, ], diff --git a/docs/static/icons/webhooksIcon.svg b/docs/static/icons/webhooksIcon.svg new file mode 100644 index 0000000000..5f4013ca0e --- /dev/null +++ b/docs/static/icons/webhooksIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/static/img/ui/controlCenterWebhooks.png b/docs/static/img/ui/controlCenterWebhooks.png new file mode 100644 index 0000000000000000000000000000000000000000..45a1758ec1de47ccd8fb6a9e101f18c1232bb55d GIT binary patch literal 70068 zcmc$_Wmr^Q+dn+RkV=DeBO%=#gVG2{ORF?UN%v3!QX)vl&<)ZZf`If$N;d=2(*16( z>%O1&%lqZ|AMbJe_m`Qy_FC)wow?UK&$T07sVU$*qId)XfpC-*Wi>&d$50Rm0}~Sh zv?PmtV*!CsOkTazmb<^dKfAah^_Uo#oMU*(>f+*ZdVYCydcLu(_G6?ypgbaG*BW@S^Q_7)&`1r`EsIKnro}QjRe|9FPrV0xS z4-XGLJw4~<=PSQ`^YimNJv|K#4ILXBo1UI-YHB(@K7Pu~_VHs_L_~zIudk4ZxVyXi z%F4>Xz`)4Jh=+&A-rinbe!jhfQ&3P)ZEfA}-!qGgi;0PeySuw->FH~0Yd?SfOiD_& zva!?B)~l(hX=rRrNl8seNKk&M9upf|UQyBB-j1JbGc+`WKp;9hJMl8C#KfhKj{bg* z`_kLnH# zslcGnva&M#6!Ytw+me!!(dAR=$XS8V-{uxp+lN<++vm!0^OjjFI!TMc!NJYrN6`&i zBqSsmUAs=su0Lju3xDq8;NS#TBPqQm=NA@EFYg$9C-+Wo*Y+;miq{?U*L=%2D~1lH zkynXrf9mS%k$-nv7KeP=GKiAQXlQ5xf8Ogg-5IAXm(1RGuH9R--A(VU{6tQd&2|@z zwZ;sU8#hH8H%2Q}2Md(CljpuC&9fs)F?Z^^TRyr^K->)??=vUwYnSfh5qFEL>n&P; z!$Dv?0wq})ZO_@=?}316fMD?3V$x!ihrj=4*PFBD4Rk2}BM_O-x7N2oRxmU=zNF0C zmv0RJPv*NTq7uwO4$^2CDuFwj1NAzXkA*f>$4fB!55zN*O!AIb_oHwxoX-nHS=6TPrt7}cV%K~BvRg_C00TJoiYebRcxcz z4UF(Tnbt~QNtt~D{2i{MsiBjB$=xUayq=mOf-{UoTTmH?+SO|fd0rL1uJ|y}xGJ|~ zMaR%+ck)}wK4#GFe1q@EMH`X?0|bK3ZN`^Gc*P>ICf8f(zE#IKUi#+0arn@P0pLdz zJegE{Dbd4F!X5-4AjeZHI0{$L047Al2u{{=O6}JENu^63i7qrN9!T}RnWO~Z4BxbJ z;BdslgW0rrXsEPoH8sWOs{x$WcK&9sDJU#IF~a}$s?6}tFmt+@08=@s9Pi)FbOc+* z^Mq5aWz*%)!i?ZS=pfJ*Jg=a~;*IO>TKu)jcHe5^R34p^T69utdP-1ZLNOc=q?nZg zW4(5?+Mln7QQ9*E`!X1>etGt5o20Ag^wt!dHMCzVHJkgmpJh+%9QZ781Jpd8D+@AD z@6sCZmOs&=FaA_qkoV#$=Lx;dp!~@|eOxYUSpFMPY;I$UxC1Ufm zi6+`-l5dlWjTt3`PW>a23Qf!GeE7#o9JN>)a1ghq<#y6b%B6(ybAZ|pX@5Ar$A}qi zi&HsE|MRNIeVT`60_6AB+1OkCmnW;T+_7L+(8NxFy|IXQeUZ;O8!dBep4^M6J5I>S zALQVAt6-a_lQz~~eeF{R{jxfgPTI5m3YJgoF>4nGLC0(tIO;71zEIg$G@;eR*7-RS z;W^+MXp*hh*6ce$PELWRs@_$4%tY}@0!HMHBsqQ%gSqyy%o_fd!QG){+ZlJQ`>e;I z7V}K{-0f5&m$CS(($0p0jPsu~ZHGEU{8~OiQfJ(Koou^XLv%-YyNpra$KUMNqA^yz zXaQTKdN0A+*FV1(f1HcV>lR8t2BOyDKgXoMV~n(=St;|*Pju>RH7IL_xqJKg*n9hb z$Jo@j5BDS6pknk5*7Q)6ilMJ`!`d+L8->+>F;_jZKqsZt$h5(-rVqh?ej_ZTofhiE zo3BlZ`)zhYz7Fj~sP^kVHHG_QDGqMi+Kw+qsxLUIDkQes;q=-5ZY3vN}#;(gnSK!9N~+ z7G6UAAf7b`?}#~L)*0KTbR`7{G6AsFbNGp{$uZ`N#4S(r@i3h`TX-tH{?58!G(MB zJH0boywcUBTNfddHbFRNS~@iRyC8*H0fwj$_wtmO;I(LN%rM8cc^%U-_9fM@+TCzO zw3t9*Ul+=iSV}bgPlH+;bCNf{YCiOd&PDkz6Fmw#TonyFmWiXPR4Ha0)_>oSMR4>} zU_J<*st#*1^p$E~f@bjHwkDAR4WeOsySjtR+<6Ww?4uuss3du_t%Dr;iF23%MXKNm zLeL4lf<>v>J(JGBDj)!bfbjMtD zkshh@b`6mgS;mu9lLQ8p? zg`j`Ym+Co(klkn(t8czysQ42r0*}jCK@>$Kp$qVX$^z#}8yrNMT!J*feu46&h~9J# z93&MCJ#4n~jJZzru|~U|0sHe>wml#1G`%`-K$oZ4*i~g)12toaDXl0BuKJ<*n?m#A z4WAjsDuH|=@FaQ2n2#PP9$ednFloAVw= zZ>Fo!LeD+g)0-=M@Pd2+KEinD4^9}>2wDkb8tVhYQ~33=fzuW?DPL07S9I6(btY8o z37wW1~f+)`4@s&h{IT_^8%F z&B(qL`+@hQ`WK5}?Q&)m&ukyfdW9LFn7$eml2M6Im(BZlWh5hlT$u z3v<1SR6up*k1pNs&fuvp7F@HlEk??J`Yw-M{~;jwpz6*@NAIn)88;ci^60XM%ZM9K zTKAsCz?by(oq>5}#m4aGY}B2ZKMi`vv0;tZo!KjRF; z_0!O1+;rQ4`h%nx;9tTprH_=G#=nez9bc(jqIky}px|v!lM^6L1={WN2!ekp z?D78DHe;mwX2=*ABB##!H80&`Ur@QD^SC zz{UzDVMxLhY}6CfCWq`F!B8Dq3WV03sih+H@dKC76BYh;|%3<^W7bt4daVZoObzN`-To1 zZ5uJqj|M+a<8mCwwyHoIzSy&xq++3-Fnw8LB@j+ZphcXn+yDFi($+rIUHrx7!hV2j zy8~)|ZwsLwo@RtxQKFx7VnCXorO^IO=iJA=44LI9C_c@lx>Kd>!J*dq<5s@3pLRQY zD}3h?+@WxA>G_dRkLoXh@;r;xic-AG0U_deJsL9V!iSIWd^y|As_~+w>INnyKcf5( zudAjt*|Qu8{kB?^B9C-&wsohT*4bzoXn^;g94)VaC6n{sqS!~zdLDgpxPjWYVG-nn zIcpzWM7Q3KNe;L8TvZlgOc$MJ$#dy5E;DS;%bA!d)Oe(QVP5xDnXU4`+G<)H;S{|Z zZEM0^dI_f9*Es<`ByLgo*X@hA*1JriZsej7;A-klp-agq&(w4oYpBPU(mbIPs-WS9pNG^1pDux*G~6bp)>o z-4(MBT~|B{_# zVZYwFoxNwO>S1--x2OIQ$z{21ln5gM!n17XDXUxl(3wsN#{GogW}VNI^$1*R*JIdX zZxKwbj;=5gV;-h43aQtK(bXAV6aJg|F$2rDg#B`Ir-7Ey_Y?jU$K!O%b&1#cEDJ%0 zF!_(7HB8{>6=KPq7nnHK>6CB2TSBmRnqQ1|0^*ZW7@pJQtM6|m*AM)Mcu!p^K|;8s zbRx9#r^e87qe_w_&f5FLis4^du--b3V{~178pI6pXIe*JtNJ^hR7>hj3kr?IeOsCi zjYB>AUtAL00qmQuC%j#fAwE1Q`Ek^HL4`-ZB*R>VV!^;`&pk3v3uzeW?$`D{exxl% zgaL&@HH(|y%6>iw*;mY=WQEjwyaJB4Ni+X|`>{@B`E!|un!)+ci+*W$K~jxUgBWdjx>ZL)6ty3Xfu1m@3SW-y zksO8WR}^sQj7$hITOwhk?Erc73=BtT@R2;GMDI%9>wZ>W)0M88z}!-w{k2Mwh{5QH z@)*0N7dmF5nIWRq^)c-N?7z0he_49Yu8!t9My^~6HTZ{=oR;r|oOkpy$BY?oZma!j zD<{A$oW%42gJ9%!Yc_(V{xL@~b%z4=kh*c|N__W$V{K;_#QwVzn>>ndEf2l+encQK zrGH%P`xX7Bbi*mm_pk8pK7sZ_hNKDP#tq&Yen-0G^;_bbK-k$Vk z9%b4h$R{yNyODAJAkZ84u&?ANFMN1u&}~^Ii>D6?CdhHJ`o01r^q9BCgkvYnXMsU7n+({}F6&x-rg5{l!3KfWuJmGmSXCARc=JXM zeQiCQSfwDKPHp`ZQX3;FS8rg)Ofx<@P~AFE8Nd~41#Dd(u4Q2#C%S+Bt>4dL0{Nr= z)2qvYdQJozqCu?v)7&`(>O_CG6xGt4Z{Eoya)=$!%ef3-|KD7`rjf}t=SI0kb#_KT zQh~hg(|UFFxhUi8F9X@#pbj z44G{1BacP0g8YR~Ol~`Xtcd?ysmb=O@u<3VR^O5_!eRvXrp7L;xS|URk{_2g;1%@D zN8DDPsPZl9v340lN6E!MmMy<{1aiv0zZSi2`YQD3>W(a@bPXWgyt~%tM0-0w;9Q%f zxU~CYEb_IdT?4je< zJ9(gs)7u{|;htP`tXmD!mjIp0vyrug+t#o4X$_*~$3Pa>H~f`a+=yYZAR#dPV!VFR z;Htz>)-_B2C14VUB!8!n*vK)x;bJcUKpyt`#m0|f4mX28nxp=JQAwH0O#j?0=CUw& z*XvyT7GUk8_KV$OXZTQzzY4u z{!ta+Un&jA1Fi-`ZlqN!F@V^pIn=7Xk8~^2+aCqgsn=q?b%U~yG3*OjrWN=2JkEn3 z{8r$;pdq=3YPvxlA72}lNn3TT$4BpQlX8#(bg@xWaO}{u;0k2Jb`6CQC;(Tez^oEW z-Vgu_6*J(CP$;0Ee z5Gdf!XFHTD^R!BeOKcFLNB;TaExYKHHCr%fxrfaI^<-oJv4J!MUxPCAbB8 zz1oO`?Pphy0mCJAq%gO*rWkP_+I5)-5YgJWhxh29P78TL@WM|;4gir@Ddv_gn@<6n z0H`yxml#o=0Q`eGGQkbWoxwOD#4J9dJZd-jF{ri5t`8N|$%Ebfd6#Uynk(w+Gu`@M zg5?QP#4{Qy5XhMkt_83QO@}!+2cm<*eNe=DZa^Tn|0_S8)n;L=n6etgA5FamzgfS+ zC&2#HLpO^WIc)8Uwf|G+lNP6zrHDia_oC<6C{qS3=AAzX=87Wr=@JYY!`foq!~iL> zz;lynL3ICrKNOaSW{sjfi1s4^inqJS&?CT5;8={PC)HDaGJt&uybXaZPW?gS1hhlJ z>kFmb*%>=W^Yi1T*|{#c;RHs0cDR7~PpuU!J@)>PHeEUHKl}B(;^xoD9wCtS+(yUS z!t*(w9@D1kbG`{a^dcJ>HXE^VX|fS|W>XhBc0**XsVU>m=uSYK%kzitRb`i5%W;mv z%-yWB&HI&QDxVIA-u9Nc$uw@{jlWl{Vp}=9VK3rzJI(McHIKKl#L&mrkKiG_sv&#` zbEtPwXWwf2AYLQAU&7_({EP+58hCUaD6Bw5^3Z`D4W3!5vLr!YC(Jv8h z5lRo#dlYO=oJ^M58VpJ#2-G7Z5RKySq?;U3YTf^LnBSbe)!^ncy~#w6K6_(k@wj?p z6E!zw(f8vKgAg%`Bv%}KKvwXL!;>v@OuawrTPHlWVB@0t-4>_BiQ{b3xkt_OJH?!H zhTWv7u8TA+z7W5;y1doc2Vtoez90)94@YxV=uvZbIMQ9}=a1dPK}W^5y}Tmpm>vY`s2w!=2GSiysx;0GwYAcNTXXtm)KUA=qoGopc=dF8V=2gve=}2_;#Gf!x8&lT$OX zw?0Dl+~vjlRgx`V7bgxgVL?7 zoFF{dPrUGsgV@&Mx)Hy~=DfX4>x*tlJqxXEmyBoGjimU|mY;hSv(4Uixa2YGKJxd2 z*}!1?f0s~eH}_hvgsy}TDHER8gGPVbxX9RFYbfRu9`o;F0z5*Y_uKba)=wUxJV+FC zt0=+&8vKAA)fJThG5sh&8nAPC3qFDl9#G}t$f*(HOw|{FtVJ5ejTOYriT{N6r7!X^T_IypG z$twM7%+t=IvsWB9=?v5rFt;XSVGgV|vG-9&7MT`x6NBFikJ(8L>L#L%dN~>y0Uw5u zp}I=a!zq<#*E+1q_936Vo%>9;cQqz5)oQk$0wRG@p)_aWBXF2bkCudW!*aaYE7EzU za36+>{AcK&HEHv*KGmG>$(s&(?(i{;77tLSWsPGCUz|m#J>DZfF|TNJANPwjD??wPCg^GQiiC>F@`?>&c!k*&C7@M zly8enD4AJWqHUix4_L%nZ_}|#Y4zBS+lZCeekzFcvz^fY1iLfMlfLs)U%Sumd~dqpU$2l`aq>&w z5;`W#@=j56QOQ<*tgHqVe7mF=a6=I_y6(Ze+lDe7RTuieexNqQ`y|+RU$%V{EXg=3 z8w9(1s{ZR}SUHvL8e`*`QWmE5Yd2Daaj!S?&YOk^5$b;RmaKmU3P8LK=<`!CPQFP< zzlZ8w25Q{D`CBUCvXcK6g+g}$?L^JY!l0JbE@uSICZmd_@*%oC{cH)vEBmUQ{EVdV z@#3gKM^_d8NT_cRj7$BQ=jSh*suv2S)DgJqmU#RcLof z2dw>lncH7`-}gCuLZ7a8o30FhejPuVvV$0%aacVenyXSK`L%tmo#`Bz z6VulR36mjA-`(jtg&nz(Eg4>BCd*Ym`JKg2V4t=Y?6zb=wAH@ayX)N2bt?5c2UGa^ zhiqHN7Tb4#(4s|I)|LHuc2vaA3{w9p4-ZK-?T4r!D%u{>M)h^!3GovqW$08R!ykF9 zq86z#3Z@-M*&~iJe7b>n6{XY>gnOz`zG|OZmd~7?wbf=iKVF7ISeowMz03E+GuIK< ziuRQBOv2}wDFi|q1W-=x+&TkQZCkqwgf7@V`PNoJuiN0(p`#o_sEggh4$`21TxSr- zTRL7|&*_Z+1aStRa5H(59_+4Cpln>X-&A7I{1{%QYd3Absf?ri!TSlqyVSs;FbJG+ zpgqVL{Oq!xKka+av3Os9ENbl}O=i6sSkkoM!zFEuL+Mc&$B?PEQY=@>S+J(~kU|-C zB-YeHkI@)yu30_9v-VR-6t#+DjaYStqhvq~>eRXA+Q&Ia^BU9?miZ*MO9eA&R-tMvI;al-LSZxyBQ)_&nZoLk4&iLRJ+7m>xXRkR;8_FqHtnuV>$yOX}UrgPA7;$XDmJ|@n zzSLRMBN>)d-(=;3RngH{+k*MlCZn&hUVyMnoLyoyUD`5TeDKwX#JV$0rc4*_5xD%a z#+1OSt=Fs-2S`SlGZQ*={bD7LM-hW$kAA%R%(pM|=W~ezH1`z&_eT`5-0$=(KZWVt zatjkk*+o7%2$TM}M|@~$L3w5s33FIqR!ZZ8Q{q43`0!=e*Yz&cofWPE`tZ!4i`NQ} zXvf+Bzth5MmvfQO9a=@Mkr=9s&yZQUYK)ox@zpvnlFrX5tgpqBapggl$gEMU#){s| z-99=X`)(PeYA(EjV59a~g2^{)vI%E&pqqK&Sf8lYw8BN3N(#a21Lc}{JZ-R%?;6pl z0<|xj65_5mW=7yS`qmadh=Q^sqIc0j1`d;nJrOp~ynGs`*^=dc9ivl4zbkHDZe@T_ zJnqrd-`mcf&X~T+u${WJ6P4Q^%Hs66+8_SFh>s{ZzH~K!NIC*+)ah{9hX$})sB}wm zQH2hUj&sxb_VhK1iN;*6^_#hyh9NuAq(*LgWX)C~R|nKwZJ=qEIf>rsfA|Pi)h+6- zd8M{TgqV>qW&MRLyNdVf#Yncgt%CVCEc^??RQo6OFE)h=`~vEbR*oj79`L|x1Vs82l&`-U)bqs z$8h)kINHBGr``Rq6p_r!K8F2W2}Yy-fum! zjZ^Bxi5yVV&-dR@Pq0JYzx9P8CmB`>C@ZY_pW(qX-zh7UpS+2KRa|-`yID>KejKJM zxDL?_HXPCI7LWfV>?cnJy;+JIgC&w8^bPk;f1O%AVUc!{N=&t1mN4JHVfE~DrrETB z7JdMU)jsaKNg3I=4-Gr$%v|ldd}E)9d!Tzn*5&tgqG3g>z92@3u&*?L6M{Hv{CoB@ zxx67=NZOOW8S4};>6X4>xv_48_Tu#_?=RThSim60p#*8uc3Fn0X`4Is0|!yxWFJkU z8x2qVh6yEiqr>$b7^YR^>5@y23{@05WVe>y((q72e>rV*+ljbhr#Ni6|2VqhYYC%( zb|0Dtez2w#=db>2us2?)rrB!UShJ4equ$U4joQe+I3SHlQ~Ya8}=y+s(@YN6FY&Roq|D-Z5)iN#t)^Lby|o$ zj&Xf{wj3pue*ZP{wF;M`5WXfhnyZNfam_$Yd_WM`vDxwLq-}KZBchHKjzlDI-HRo0 zaicWi-;gYiepk(@Gv+c5LPmJ|5scaWY53m#z1fGPtCZd7%2U8LH_neRhLfueW!sR; z_@xN5*z~F(7xl;5?ohmkg5J&JZ{`z;#9x)b8OMo|$!<;e>02xAt1uEgl`>*VM2S_+ zh&ca{Mx4*ssT^bMW9x&rVq9?c)u)q-)B87*ozF-i;DwhO(9!H?#&^`dnna3{#S`HO`3UTn-p%qj2!DwD9PvUtZUQH@ETT)^-l3QSOnU3
; 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 => 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 literal 0 HcmV?d00001 From 54ce65eda3b047d908129b4e9f28d7c352c00370 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Thu, 12 May 2022 11:36:37 +0200 Subject: [PATCH 24/30] [#3016] Redesign connectors & prepared Inbox (Control-Center) (#3155) --- frontend/control-center/src/App.tsx | 16 +- .../components/Pagination/index.module.scss | 24 ++ .../src/components/Pagination/index.tsx | 72 ++++++ .../src/components/Sidebar/index.tsx | 8 + .../src/components/SourceInfo/index.tsx | 14 +- .../Connectors/ChannelCard/index.module.scss | 65 +++++ .../pages/Connectors/ChannelCard/index.tsx | 30 +++ .../ChannelsListItem/index.module.scss | 7 + .../ChannelsListItem/index.tsx | 22 +- .../DisableModal/index.module.scss | 64 +++++ .../DisableModal/index.tsx | 68 +++++ .../ConnectedChannelsList/index.module.scss | 56 +++-- .../ConnectedChannelsList/index.tsx | 111 +++++--- .../Connectors/InfoCard/index.module.scss | 19 +- .../src/pages/Connectors/index.tsx | 19 +- .../ChannelListItem/index.module.scss | 236 ++++++++++++++++++ .../ChannelsList/ChannelListItem/index.tsx | 102 ++++++++ .../Inbox/ChannelsList/index.module.scss | 198 +++++++++++++++ .../src/pages/Inbox/ChannelsList/index.tsx | 195 +++++++++++++++ .../Inbox/EmptyStateInbox/index.module.scss | 43 ++++ .../src/pages/Inbox/EmptyStateInbox/index.tsx | 25 ++ .../src/pages/Inbox/InboxOutlet.tsx | 8 + .../src/pages/Inbox/index.module.scss | 48 ++++ .../control-center/src/pages/Inbox/index.tsx | 78 ++++++ .../Status/ComponentListItem/ItemInfo.tsx | 2 +- frontend/control-center/src/routes/routes.ts | 10 + .../assets/images/icons/arrowRight.svg | 2 +- .../assets/images/icons/chevronLeft.svg | 3 + .../assets/images/icons/chevronRight.svg | 3 + .../assets/images/icons/disconnectIcon.svg | 3 + .../assets/images/icons/inboxIcon.svg | 3 + .../assets/images/icons/leftArrowCircle.svg | 3 + lib/typescript/assets/images/icons/pencil.svg | 2 +- .../components/cta/Button/index.tsx | 2 +- .../components/inputs/SearchField/index.tsx | 7 +- 35 files changed, 1475 insertions(+), 93 deletions(-) create mode 100644 frontend/control-center/src/components/Pagination/index.module.scss create mode 100644 frontend/control-center/src/components/Pagination/index.tsx create mode 100644 frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss create mode 100644 frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx create mode 100644 frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.module.scss create mode 100644 frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.tsx create mode 100644 frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.module.scss create mode 100644 frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx create mode 100644 frontend/control-center/src/pages/Inbox/ChannelsList/index.module.scss create mode 100644 frontend/control-center/src/pages/Inbox/ChannelsList/index.tsx create mode 100644 frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.module.scss create mode 100644 frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.tsx create mode 100644 frontend/control-center/src/pages/Inbox/InboxOutlet.tsx create mode 100644 frontend/control-center/src/pages/Inbox/index.module.scss create mode 100644 frontend/control-center/src/pages/Inbox/index.tsx create mode 100644 lib/typescript/assets/images/icons/chevronLeft.svg create mode 100644 lib/typescript/assets/images/icons/chevronRight.svg create mode 100644 lib/typescript/assets/images/icons/disconnectIcon.svg create mode 100644 lib/typescript/assets/images/icons/inboxIcon.svg create mode 100644 lib/typescript/assets/images/icons/leftArrowCircle.svg diff --git a/frontend/control-center/src/App.tsx b/frontend/control-center/src/App.tsx index d25c42b87a..691c9d0e51 100644 --- a/frontend/control-center/src/App.tsx +++ b/frontend/control-center/src/App.tsx @@ -5,7 +5,7 @@ import Sidebar from './components/Sidebar'; import styles from './App.module.scss'; import {getClientConfig} from './actions/config'; import {Navigate, Route, Routes} from 'react-router-dom'; -import {CATALOG_ROUTE, CONNECTORS_ROUTE, ROOT_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from './routes/routes'; +import {INBOX_ROUTE, CATALOG_ROUTE, CONNECTORS_ROUTE, ROOT_ROUTE, STATUS_ROUTE, WEBHOOKS_ROUTE} from './routes/routes'; import FacebookConnect from './pages/Connectors/Providers/Facebook/Messenger/FacebookConnect'; import ChatPluginConnect from './pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect'; import ConnectedChannelsList from './pages/Connectors/ConnectedChannelsList'; @@ -20,6 +20,9 @@ import CatalogOutlet from './pages/Catalog/CatalogOutlet'; import Connectors from './pages/Connectors'; import Webhooks from './pages/Webhooks'; import Status from './pages/Status'; +import Inbox from './pages/Inbox'; +import ChannelsList from './pages/Inbox/ChannelsList'; +import InboxOutlet from './pages/Inbox/InboxOutlet'; const mapDispatchToProps = { getClientConfig, @@ -62,6 +65,17 @@ const App = (props: ConnectedProps) => { } /> + }> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + } /> } /> } /> diff --git a/frontend/control-center/src/components/Pagination/index.module.scss b/frontend/control-center/src/components/Pagination/index.module.scss new file mode 100644 index 0000000000..171080f750 --- /dev/null +++ b/frontend/control-center/src/components/Pagination/index.module.scss @@ -0,0 +1,24 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.buttons { + button { + border: none; + background: none; + outline: none; + color: var(--color-text-gray); + &:hover { + cursor: pointer; + color: var(--color-airy-blue); + } + } + + button:first-of-type { + margin-right: 20px; + } +} + +.pages { + @include font-base; + font-weight: 700; +} diff --git a/frontend/control-center/src/components/Pagination/index.tsx b/frontend/control-center/src/components/Pagination/index.tsx new file mode 100644 index 0000000000..75cd0e0bbc --- /dev/null +++ b/frontend/control-center/src/components/Pagination/index.tsx @@ -0,0 +1,72 @@ +import React, {useEffect, useState} from 'react'; +import styles from './index.module.scss'; + +import {ReactComponent as ChevronLeft} from 'assets/images/icons/chevronLeft.svg'; +import {ReactComponent as ChevronRight} from 'assets/images/icons/chevronRight.svg'; + +type PaginationType = { + totalCount: number; + pageCount: number; + currentPage?: number; + onPageChange: (page: number) => void; + onSearch: boolean; +}; + +export const Pagination = (props: PaginationType) => { + const {totalCount, pageCount, currentPage, onPageChange, onSearch} = props; + const [displayedItems, setDisplayedItems] = useState([1, pageCount]); + const [endReached, setEndReached] = useState(false); + const pageSize = 8; + + useEffect(() => { + currentPage * pageCount + pageCount > totalCount ? setEndReached(true) : setEndReached(false); + pageCount < pageSize && !onSearch && setDisplayedItems([1, pageCount]); + }, [currentPage, pageCount, onSearch]); + + const onNext = () => { + onPageChange(currentPage + 1); + endReached + ? setDisplayedItems([1 + pageCount * currentPage, totalCount]) + : setDisplayedItems([1 + pageCount * currentPage, pageCount + pageCount * currentPage]); + }; + + const onPrevious = () => { + onPageChange(currentPage - 1); + setDisplayedItems([1 + pageCount * currentPage - pageCount * 2, pageCount * currentPage - pageCount]); + }; + + return ( +
+
+
+ + {onSearch + ? `${totalCount} ` + : pageCount === 0 + ? `${pageCount} ` + : `${displayedItems[0]} - ${displayedItems[1]} `} + + of {totalCount} +
+ {totalCount > pageCount && ( +
+ + +
+ )} +
+
+ ); +}; diff --git a/frontend/control-center/src/components/Sidebar/index.tsx b/frontend/control-center/src/components/Sidebar/index.tsx index 9b914d6070..b394fe6b5b 100644 --- a/frontend/control-center/src/components/Sidebar/index.tsx +++ b/frontend/control-center/src/components/Sidebar/index.tsx @@ -7,6 +7,7 @@ import {ReactComponent as ConnectorsIcon} from 'assets/images/icons/gitMerge.svg import {ReactComponent as CatalogIcon} from 'assets/images/icons/catalogIcon.svg'; import {ReactComponent as WebhooksIcon} from 'assets/images/icons/webhooksIcon.svg'; import {ReactComponent as StatusIcon} from 'assets/images/icons/statusIcon.svg'; +// import {ReactComponent as InboxIcon} from 'assets/images/icons/inboxIcon.svg'; import styles from './index.module.scss'; import {StateModel} from '../../reducers'; @@ -52,6 +53,13 @@ const Sidebar = (props: SideBarProps) => { Webhooks
+ {/*
+
+ + + Inbox + +
*/}
Version {props.version} diff --git a/frontend/control-center/src/components/SourceInfo/index.tsx b/frontend/control-center/src/components/SourceInfo/index.tsx index ddee1b8470..c36e9a7d7f 100644 --- a/frontend/control-center/src/components/SourceInfo/index.tsx +++ b/frontend/control-center/src/components/SourceInfo/index.tsx @@ -39,13 +39,13 @@ import { export type SourceInfo = { type: Source; + channel: boolean; title: string; description: string; image: JSX.Element; newChannelRoute: string; channelsListRoute: string; configKey: string; - channelsToShow: number; itemInfoString: string; dataCyAddChannelButton: string; dataCyChannelList: string; @@ -57,6 +57,7 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { return [ { type: Source.chatPlugin, + channel: true, title: 'Airy Live Chat', description: 'Best of class browser messenger', image: , @@ -65,13 +66,13 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { ? CONNECTORS_CONNECTED_ROUTE + '/chatplugin' : CATALOG_CONNECTED_ROUTE + '/chatplugin', configKey: 'sources-chat-plugin', - channelsToShow: 4, itemInfoString: 'channels', dataCyAddChannelButton: cyChannelsChatPluginAddButton, dataCyChannelList: cyChannelsChatPluginList, }, { type: Source.facebook, + channel: true, title: 'Messenger', description: 'Connect multiple Facebook pages', image: , @@ -80,13 +81,13 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { ? CONNECTORS_CONNECTED_ROUTE + '/facebook' : CATALOG_CONNECTED_ROUTE + '/facebook', configKey: 'sources-facebook', - channelsToShow: 4, itemInfoString: 'channels', dataCyAddChannelButton: cyChannelsFacebookAddButton, dataCyChannelList: cyChannelsFacebookList, }, { type: Source.twilioSMS, + channel: true, title: 'SMS', description: 'Deliver SMS with ease', image: , @@ -95,13 +96,13 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { ? CONNECTORS_CONNECTED_ROUTE + '/twilio.sms/#' : CATALOG_CONNECTED_ROUTE + '/twilio.sms/#', configKey: 'sources-twilio', - channelsToShow: 2, itemInfoString: 'phones', dataCyAddChannelButton: cyChannelsTwilioSmsAddButton, dataCyChannelList: cyChannelsTwilioSmsList, }, { type: Source.twilioWhatsApp, + channel: true, title: 'WhatsApp', description: 'World #1 chat app', image: , @@ -112,26 +113,26 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { ? CONNECTORS_CONNECTED_ROUTE + '/twilio.whatsapp/#' : CATALOG_CONNECTED_ROUTE + '/twilio.whatsapp/#', configKey: 'sources-twilio', - channelsToShow: 2, itemInfoString: 'phones', dataCyAddChannelButton: cyChannelsTwilioWhatsappAddButton, dataCyChannelList: cyChannelsTwilioWhatsappList, }, { type: Source.google, + channel: true, title: 'Google Business Messages', description: 'Be there when people search', image: , newChannelRoute: connectorsPage ? CONNECTORS_GOOGLE_ROUTE + '/new' : CATALOG_GOOGLE_ROUTE + '/new', channelsListRoute: connectorsPage ? CONNECTORS_CONNECTED_ROUTE + '/google' : CATALOG_CONNECTED_ROUTE + '/google', configKey: 'sources-google', - channelsToShow: 4, itemInfoString: 'channels', dataCyAddChannelButton: cyChannelsGoogleAddButton, dataCyChannelList: cyChannelsGoogleList, }, { type: Source.instagram, + channel: true, title: 'Instagram', description: 'Connect multiple Instagram pages', image: , @@ -140,7 +141,6 @@ export const getSourcesInfo = (page: string): SourceInfo[] => { ? CONNECTORS_CONNECTED_ROUTE + '/instagram' : CATALOG_CONNECTED_ROUTE + '/instagram', configKey: 'sources-facebook', - channelsToShow: 4, itemInfoString: 'channels', dataCyAddChannelButton: cyChannelsInstagramAddButton, dataCyChannelList: cyChannelsInstagramList, diff --git a/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss b/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss new file mode 100644 index 0000000000..7f7af8cac2 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/ChannelCard/index.module.scss @@ -0,0 +1,65 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; +@import 'assets/scss/z-index.scss'; + +.container { + width: 260px; + height: 100px; + margin-bottom: 28px; + margin-right: 36px; + display: flex; + align-items: center; + border: 1px solid var(--color-dark-elements-gray); + border-radius: 10px; + background-color: var(--color-background-blue); + text-decoration: none; + &:hover { + border: 2px solid var(--color-airy-blue); + margin-left: -1px; + width: 261px; + cursor: pointer; + } +} + +.channelCard { + display: flex; + flex-direction: column; + justify-content: space-between; + margin-left: 16px; +} + +.logoTitleContainer { + @include font-base; + font-weight: 600; + margin-bottom: 13px; + color: var(--color-text-contrast); + display: flex; + align-items: center; + margin-top: 14px; + + svg { + height: 30px; + width: 30px; + margin-right: 10px; + } +} + +.linkContainer { + @include font-s; + display: flex; + align-items: center; + flex-direction: row; + align-items: center; + margin-bottom: 14px; + + span { + color: var(--color-airy-blue); + margin-right: 4px; + text-decoration: underline; + } + .arrowIcon { + width: 8px; + padding-top: 3px; + color: var(--color-airy-blue); + } +} diff --git a/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx new file mode 100644 index 0000000000..8d3556b48d --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import styles from './index.module.scss'; +import {SourceInfo} from '../../../components/SourceInfo'; +import {Link} from 'react-router-dom'; +import {ReactComponent as ArrowRightIcon} from 'assets/images/icons/arrowRight.svg'; + +type ChannelCardProps = { + sourceInfo: SourceInfo; + channelsToShow?: number; +}; + +export const ChannelCard = (props: ChannelCardProps) => { + const {sourceInfo, channelsToShow} = props; + return ( + +
+
+ {sourceInfo.image} + {sourceInfo.title} +
+
+ + {channelsToShow} {channelsToShow === 1 ? 'channel' : 'channels'} + + +
+
+ + ); +}; diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss index 3ed9b92b8a..2542db3085 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss @@ -46,6 +46,7 @@ align-items: center; padding-left: 16px; padding-right: 16px; + color: var(--color-text-gray); &:empty { padding-right: 0px; } @@ -91,6 +92,12 @@ height: 50px; position: absolute; right: 44px; + svg { + color: var(--color-text-gray); + &:hover { + color: var(--color-airy-blue); + } + } } .disabledDisconnect { diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx index 794038c2eb..8a9edd3ca4 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx @@ -6,8 +6,9 @@ import {disconnectChannel} from '../../../../actions/channel'; import {SettingsModal, Button} from 'components'; import {Channel} from 'model'; -import {ReactComponent as CheckMarkIcon} from 'assets/images/icons/checkmark.svg'; -import ChannelAvatar from '../../../../components/ChannelAvatar'; +import {ReactComponent as CheckMarkFilledIcon} from 'assets/images/icons/checkmarkFilled.svg'; +import {ReactComponent as PencilIcon} from 'assets/images/icons/pencil.svg'; +import {ReactComponent as DisconnectIcon} from 'assets/images/icons/disconnectIcon.svg'; import styles from './index.module.scss'; import {useNavigate} from 'react-router-dom'; @@ -48,20 +49,13 @@ const ChannelListItem = (props: ChannelListItemProps) => { <>
-
- -
+ {channel.connected && }
{channel.metadata?.name}
{isPhoneNumberSource() &&
{channel.sourceChannelId}
} - {channel.connected && ( -
- Connected -
- )} -
-
diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.module.scss new file mode 100644 index 0000000000..cb656fba17 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.module.scss @@ -0,0 +1,64 @@ +@import 'assets/scss/colors.scss'; +@import 'assets/scss/fonts.scss'; + +.container { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + min-height: 520px; + min-width: 1000px; + color: var(--color-text-gray); + background: white; + + h1 { + @include font-xl; + color: var(--color-text-contrast); + font-weight: 800; + margin-top: 50px; + margin-bottom: 16px; + } + p { + @include font-m; + color: var(--color-text-contrast); + font-weight: 400; + margin-bottom: 50px; + max-width: 75%; + line-break: anywhere; + text-align: center; + } +} + +.buttonContainer { + display: flex; + align-items: center; + button { + @include font-base; + margin: 0 12px; + } +} + +.errorMessage { + @include font-base; + position: absolute; + bottom: 40px; + color: var(--color-red-alert); + font-size: 16px; +} + +@keyframes spinAnimationRefresh { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(7200deg); + } +} + +.spinAnimation { + svg { + height: 20px; + width: 20px; + animation: spinAnimationRefresh 40s linear; + } +} diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.tsx new file mode 100644 index 0000000000..bb49b34f4e --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/DisableModal/index.tsx @@ -0,0 +1,68 @@ +import React from 'react'; +import styles from './index.module.scss'; + +import {ReactComponent as ErrorMessage} from 'assets/images/icons/errorMessage.svg'; +import {ReactComponent as RefreshIcon} from 'assets/images/icons/refreshIcon.svg'; +import {Button} from 'components/cta/Button'; + +type DisableModalProps = { + setConfirmDisable: (confirm: boolean) => void; + setCancelDisable: (cancel: boolean) => void; + channel: string; + channelLength: number; + isLoading: boolean; + error: boolean; +}; + +export const DisableModal = (props: DisableModalProps) => { + const {setConfirmDisable, setCancelDisable, channel, channelLength, isLoading, error} = props; + + const handleConfirm = () => { + setConfirmDisable(true); + }; + + const handleCancel = () => { + setCancelDisable(true); + }; + + return ( +
+ +

Disable Channels

+

+ Are you sure you want to disable
all {channelLength} {channelLength === 1 ? 'channel' : 'channels'} of{' '} + {channel}? +

+
+
+ + +
+
+ {error && Unable to disable Channel} +
+ ); +}; diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss index 0a4be11013..6e31066542 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss @@ -13,10 +13,28 @@ min-height: calc(100vh - 170px); } +.headlineRow { + display: flex; + place-content: space-between; + margin-top: 32px; + margin-bottom: 16px; +} + .headline { @include font-xl; font-weight: bold; - margin-bottom: 8px; +} + +.description { + @include font-base; + color: var(--color-text-gray); +} + +.linkButtonContainer { + @include font-base; + display: flex; + align-items: center; + color: var(--color-text-contrast); } .backButton { @@ -25,17 +43,16 @@ cursor: pointer; text-decoration: none; max-width: 200px; - color: var(--color-airy-blue); &:hover { text-decoration: underline; } } .backIcon { - height: 13px; - width: 17px; + height: 20px; + width: 20px; path { - fill: var(--color-airy-blue); + fill: var(--color-text-contrast); } margin-right: 8px; } @@ -95,11 +112,6 @@ color: var(--color-soft-green); } -.headlineRow { - display: flex; - place-content: space-between; -} - .buttons { display: flex; flex-direction: row; @@ -107,12 +119,12 @@ button { align-self: center; - height: 40px; - min-width: 40px; + height: 32px; + width: 32px; margin-left: 16px; + border-radius: 32px; background: var(--color-blue-white); border: none; - border-radius: 4px; cursor: pointer; } @@ -121,6 +133,10 @@ } button:last-child { + border-radius: 48px; + height: 32px; + width: 32px; + border-radius: 32px; background: var(--color-airy-blue); svg { path { @@ -140,19 +156,20 @@ .searchField { min-width: 300px; - animation-name: searchFieldAnimation; - animation-duration: 500ms; - animation-fill-mode: forwards; + animation: searchFieldAnimation 3000ms ease; + height: 32px; + border-radius: 32px; } @keyframes searchFieldAnimation { 0% { - margin-left: 0px; - width: 0%; + width: 0px; + opacity: 0; } + 100% { - margin-left: 16px; width: 200px; + opacity: 1; } } @@ -166,6 +183,7 @@ .closeIcon { height: 10px; width: 10px; + z-index: 2; } .plusIcon { diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx index fc2c6de843..b363de9753 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useState} from 'react'; +import React, {useLayoutEffect, useMemo, useState} from 'react'; import {useSelector} from 'react-redux'; import {useNavigate, useParams} from 'react-router-dom'; import {sortBy} from 'lodash-es'; @@ -7,9 +7,9 @@ import {StateModel} from '../../../reducers'; import {allChannels} from '../../../selectors/channels'; import {Channel, Source} from 'model'; -import ChannelsListItem from './ChannelsListItem'; + import {SearchField, LinkButton} from 'components'; -import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/arrowLeft.svg'; +import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/leftArrowCircle.svg'; import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; import {ReactComponent as PlusIcon} from 'assets/images/icons/plus.svg'; import {ReactComponent as CloseIcon} from 'assets/images/icons/close.svg'; @@ -30,6 +30,9 @@ import { CATALOG_GOOGLE_ROUTE, CATALOG_INSTAGRAM_ROUTE, } from '../../../routes/routes'; +import {getChannelAvatar} from '../../../components/ChannelAvatar'; +import ChannelsListItem from './ChannelsListItem'; +import {Pagination} from '../../../components/Pagination'; const ConnectedChannelsList = () => { const {source} = useParams(); @@ -39,6 +42,7 @@ const ConnectedChannelsList = () => { }); const [name, setName] = useState(''); + const [description, setDescription] = useState(''); const [path, setPath] = useState(''); const [searchText, setSearchText] = useState(''); const [showingSearchField, setShowingSearchField] = useState(false); @@ -47,7 +51,16 @@ const ConnectedChannelsList = () => { channel.metadata?.name?.toLowerCase().includes(searchText.toLowerCase()) ); - useEffect(() => { + const pageSize = filteredChannels.length >= 8 ? 8 : filteredChannels.length; + const [currentPage, setCurrentPage] = useState(1); + + const currentTableData = useMemo(() => { + const firstPageIndex = (currentPage - 1) * pageSize; + const lastPageIndex = firstPageIndex + pageSize; + return filteredChannels.slice(firstPageIndex, lastPageIndex); + }, [currentPage, pageSize]); + + useLayoutEffect(() => { getInfo(); }, [source, channels]); @@ -56,21 +69,25 @@ const ConnectedChannelsList = () => { switch (source) { case Source.facebook: setName('Facebook Messenger'); + setDescription('Connect multiple Facebook pages'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_FACEBOOK_ROUTE : CATALOG_FACEBOOK_ROUTE; setPath(ROUTE + '/new'); break; case Source.google: setName('Google Business Messages'); + setDescription('Be there when people search'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_GOOGLE_ROUTE : CATALOG_GOOGLE_ROUTE; setPath(ROUTE + '/new'); break; case Source.twilioSMS: setName('Twilio SMS'); + setDescription('Deliver SMS with ease'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_TWILIO_SMS_ROUTE : CATALOG_TWILIO_SMS_ROUTE; setPath(ROUTE + '/new'); break; case Source.twilioWhatsApp: setName('Twilio Whatsapp'); + setDescription('World #1 chat app'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_TWILIO_WHATSAPP_ROUTE : CATALOG_TWILIO_WHATSAPP_ROUTE; @@ -78,11 +95,13 @@ const ConnectedChannelsList = () => { break; case Source.chatPlugin: setName('Chat Plugin'); + setDescription('Best of class browser messenger'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_CHAT_PLUGIN_ROUTE : CATALOG_CHAT_PLUGIN_ROUTE; setPath(ROUTE + '/new'); break; case Source.instagram: setName('Instagram'); + setDescription('Connect multiple Instagram pages'); ROUTE = location.pathname.includes('connectors') ? CONNECTORS_INSTAGRAM_ROUTE : CATALOG_INSTAGRAM_ROUTE; setPath(ROUTE + '/new'); break; @@ -96,8 +115,22 @@ const ConnectedChannelsList = () => { return (
+ navigate(-1)} type="button"> +
+ + Channels +
+
-

{name}

+
+
{getChannelAvatar(source)}
+
+

{name}

+

{description}

+
+
+
+
{showingSearchField && ( @@ -106,39 +139,50 @@ const ConnectedChannelsList = () => { value={searchText} setValue={(value: string) => setSearchText(value)} autoFocus={true} + style={{height: '32px', borderRadius: '32px'}} resetClicked={() => setSearchText('')} /> )}
-
- - -
+
+
+ +
- - navigate(-1)} type="button"> - - Back - - +
+ Name + Manage +
{filteredChannels.length > 0 ? ( - sortBy(filteredChannels, (channel: Channel) => channel.metadata.name.toLowerCase()).map( - (channel: Channel) => ( -
- -
- ) - ) + sortBy(searchText === '' ? currentTableData : filteredChannels, (channel: Channel) => + channel.metadata.name.toLowerCase() + ).map((channel: Channel) => ( +
+ +
+ )) ) : (

Result not found.

@@ -146,6 +190,13 @@ const ConnectedChannelsList = () => {
)}
+ = pageSize ? pageSize : filteredChannels.length} + currentPage={currentPage} + onPageChange={page => setCurrentPage(page)} + onSearch={searchText !== ''} + />
); }; diff --git a/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss index 5800f5df39..cf9c09abaa 100644 --- a/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss @@ -3,7 +3,8 @@ @import 'assets/scss/z-index.scss'; .channelCard { - width: 230px; + width: 260px; + height: 100px; margin-bottom: 28px; margin-right: 36px; display: flex; @@ -14,7 +15,7 @@ &:hover { border: 2px solid var(--color-airy-blue); margin-left: -1px; - width: 231px; + width: 261px; cursor: pointer; } } @@ -94,23 +95,23 @@ } .isExpandedCard { - height: 120px; - width: 340px; + height: 100px; + width: 260px; &:hover { border: 2px solid var(--color-airy-blue); margin-left: -1px; - width: 341px; + width: 261px; } } .isExpandedContainer { - height: 120px; - width: 340px; + height: 100px; + width: 260px; padding: 6px 0 0 0; flex-direction: column; align-items: start; &:hover { - width: 341px; + width: 261px; } } @@ -124,7 +125,7 @@ width: 100%; margin-left: 18px; h1 { - @include font-l; + @include font-base; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx index 74a2f42eb3..d29e7e6018 100644 --- a/frontend/control-center/src/pages/Connectors/index.tsx +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -10,6 +10,7 @@ import {setPageTitle} from '../../services/pageTitle'; import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; import styles from './index.module.scss'; import {EmptyStateConnectors} from './EmptyStateConnectors'; +import {ChannelCard} from './ChannelCard'; const mapDispatchToProps = { listChannels, @@ -53,9 +54,16 @@ const Connectors = (props: ConnectedProps) => { ) : ( <> - {sourcesInfo.map((infoItem: SourceInfo) => { - return ( - channelsBySource(infoItem.type).length > 0 && ( + {sourcesInfo.map( + (infoItem: SourceInfo, index: number) => + (channelsBySource(infoItem.type).length > 0 && infoItem.channel && ( + + )) || + (channelsBySource(infoItem.type).length > 0 && !infoItem.channel && (
) => { }} />
- ) - ); - })} + )) + )} )}
diff --git a/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.module.scss b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.module.scss new file mode 100644 index 0000000000..2542db3085 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.module.scss @@ -0,0 +1,236 @@ +@import 'assets/scss/fonts'; +@import 'assets/scss/colors'; + +.channelItem { + display: flex; + flex-direction: row; + align-items: center; + flex-grow: 1; + height: 64px; + border-bottom: 1px solid var(--color-light-gray); +} + +.channelLogo { + display: flex; + align-items: center; + height: 40px; + width: 40px; + margin-right: 8px; +} + +.channelNameButton { + display: flex; + flex: 1 1; + border-bottom: 1px solid var(--color-light-gray); +} + +.container { + display: flex; +} + +.channelLogoWrapper { + margin-right: 4px; + flex: none; + width: 24px; + height: 24px; + + svg { + width: 24px; + height: 24px; + } +} + +.channelName { + height: 50px; + display: flex; + align-items: center; + padding-left: 16px; + padding-right: 16px; + color: var(--color-text-gray); + &:empty { + padding-right: 0px; + } +} + +.channelId { + height: 50px; + display: flex; + align-items: center; +} + +.imageUrlLogo { + width: 35px; + height: 35px; + border-radius: 50%; +} + +.connectedHint { + display: inline-flex; + flex-direction: row; + border: 1px solid var(--color-soft-green); + padding: 0 8px; + border-radius: 4px; + margin-left: 8px; + width: 110px; + + @include font-s; + text-transform: uppercase; + color: var(--color-soft-green); + svg { + position: relative; + top: -1px; + left: 3px; + height: 8px; + width: auto; + margin-top: 5px; + } +} + +.listButtons { + display: flex; + align-items: center; + height: 50px; + position: absolute; + right: 44px; + svg { + color: var(--color-text-gray); + &:hover { + color: var(--color-airy-blue); + } + } +} + +.disabledDisconnect { + width: 20%; + display: flex; + height: 60px; + align-items: center; + justify-content: flex-end; + margin: 0 4px; + padding: 0 16px; +} + +.channelConnect { + width: 20%; + display: flex; + height: 60px; + align-items: center; + justify-content: flex-end; +} + +.connectButton button { + margin: 0.85em 0; + padding: 0 0.5em; + color: #fff; + background: var(--color-airy-blue); + + &:hover { + color: #fff; + } + text-decoration: none; +} + +header { + display: flex; + justify-content: space-between; + padding: 0.25em 1.25em; + div { + align-self: center; + } +} + +.closeIcon { + padding-right: 5px; + svg path { + fill: red; + } +} + +.errorContainer { + display: flex; + align-items: center; + box-sizing: border-box; + background: #ebf7ff; + border: 1px solid var(--color-light-gray); + border-radius: 4px; + padding: 6px; + margin-top: 24px; + svg { + fill: #a3afb6; + padding-right: 8px; + padding-left: 4px; + padding-top: 2px; + } +} + +:global { + .add-source span { + opacity: 1 !important; + } + .channelsConnect { + @include font-m; + + background-color: var(--color-airy-blue); + color: white; + border-radius: 4px; + text-align: center; + height: 48px; + border: none; + cursor: pointer; + padding: 8px 16px; + margin: 0 0; + + &:hover { + background-color: var(--color-airy-blue-hover); + } + + &:active { + background: var(--color-airy-blue-pressed); + } + + &:disabled { + cursor: not-allowed; + color: var(--color-light-gray); + background-color: var(--color-dark-elements-gray) !important; + } + + &:focus { + outline: none !important; + } + + &::-moz-focus-inner { + border: 0; + } + } +} + +.disconnectModal { + p { + color: var(--color-text-contrast); + font-family: Lato; + font-size: 16px; + letter-spacing: 0; + line-height: 24px; + margin-bottom: 16px; + } + a { + font-weight: 400; + } +} + +.modalSeparator { + margin-top: 24px; + margin-bottom: 24px; + height: 1px; + background: var(--color-light-gray); +} + +.modalButtons { + height: 24px; + display: flex; + justify-content: center; + align-items: center; + button { + margin: 0 8px; + } +} diff --git a/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx new file mode 100644 index 0000000000..8a9edd3ca4 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx @@ -0,0 +1,102 @@ +import React, {useState} from 'react'; +import {connect, ConnectedProps} from 'react-redux'; + +import {disconnectChannel} from '../../../../actions/channel'; + +import {SettingsModal, Button} from 'components'; +import {Channel} from 'model'; + +import {ReactComponent as CheckMarkFilledIcon} from 'assets/images/icons/checkmarkFilled.svg'; +import {ReactComponent as PencilIcon} from 'assets/images/icons/pencil.svg'; +import {ReactComponent as DisconnectIcon} from 'assets/images/icons/disconnectIcon.svg'; + +import styles from './index.module.scss'; +import {useNavigate} from 'react-router-dom'; + +type ChannelListItemProps = { + channel: Channel; +} & ConnectedProps; + +const mapDispatchToProps = { + disconnectChannel, +}; + +const connector = connect(null, mapDispatchToProps); + +const ChannelListItem = (props: ChannelListItemProps) => { + const {channel} = props; + const navigate = useNavigate(); + const [deletePopupVisible, setDeletePopupVisible] = useState(false); + const path = location.pathname.includes('connectors') ? 'connectors' : 'catalog'; + + const togglePopupVisibility = () => { + setDeletePopupVisible(!deletePopupVisible); + }; + + const isPhoneNumberSource = () => { + return channel.source === 'twilio.sms' || channel.source === 'twilio.whatsapp'; + }; + + const disconnectChannel = () => { + props.disconnectChannel({ + source: channel.source, + channelId: channel.id, + }); + togglePopupVisibility(); + }; + + return ( + <> +
+
+ {channel.connected && } +
{channel.metadata?.name}
+ {isPhoneNumberSource() &&
{channel.sourceChannelId}
} +
+ + +
+
+
+ + {deletePopupVisible && ( + +
+

+ You are about to disconnect a channel. You will not receive any new messages in Airy or be able to send + messages anymore. +

+

+ If you need help or experience a problem, please reach out to{' '} + support@airy.co. +

+
+
+ + +
+
+ + )} + + ); +}; + +export default connector(ChannelListItem); diff --git a/frontend/control-center/src/pages/Inbox/ChannelsList/index.module.scss b/frontend/control-center/src/pages/Inbox/ChannelsList/index.module.scss new file mode 100644 index 0000000000..6e31066542 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/ChannelsList/index.module.scss @@ -0,0 +1,198 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.wrapper { + background: white; + display: block; + border-radius: 10px; + padding-left: 96px; + padding-top: 88px; + width: 100%; + padding: 32px; + margin: 88px 1.5em 0 191px; + min-height: calc(100vh - 170px); +} + +.headlineRow { + display: flex; + place-content: space-between; + margin-top: 32px; + margin-bottom: 16px; +} + +.headline { + @include font-xl; + font-weight: bold; +} + +.description { + @include font-base; + color: var(--color-text-gray); +} + +.linkButtonContainer { + @include font-base; + display: flex; + align-items: center; + color: var(--color-text-contrast); +} + +.backButton { + display: block; + margin-bottom: 16px; + cursor: pointer; + text-decoration: none; + max-width: 200px; + &:hover { + text-decoration: underline; + } +} + +.backIcon { + height: 20px; + width: 20px; + path { + fill: var(--color-text-contrast); + } + margin-right: 8px; +} + +.inputContainer { + display: flex; + flex-direction: column; + margin-bottom: 32px; + width: 474px; + margin-top: 16px; + + label { + margin-top: 24px; + } + + input { + @include font-base; + } +} + +.subtitle { + display: flex; + flex-direction: column; + @include font-s; + color: var(--color-airy-blue); + img { + width: 17px; + height: 13px; + } +} + +.connectedChannels { + display: flex; + flex-direction: column; + margin-bottom: 32px; + width: 474px; + margin-top: 16px; +} + +.channelRow { + display: flex; + flex-direction: row; +} + +.connectedHint { + display: inline-flex; + align-items: center; + flex-direction: row; + border: 1px solid var(--color-soft-green); + padding: 0 8px; + border-radius: 4px; + margin-left: 8px; + font-family: 'Lato', sans-serif; + font-size: 0.8rem; + line-height: 1rem; + text-transform: uppercase; + color: var(--color-soft-green); +} + +.buttons { + display: flex; + flex-direction: row; + align-items: center; + + button { + align-self: center; + height: 32px; + width: 32px; + margin-left: 16px; + border-radius: 32px; + background: var(--color-blue-white); + border: none; + cursor: pointer; + } + + button:hover { + background-color: var(--color-background-blue); + } + + button:last-child { + border-radius: 48px; + height: 32px; + width: 32px; + border-radius: 32px; + background: var(--color-airy-blue); + svg { + path { + fill: white; + } + } + } + button:last-child:hover { + background-color: var(--color-airy-blue-hover); + } +} + +.searchFieldButtons { + display: flex; + align-items: center; +} + +.searchField { + min-width: 300px; + animation: searchFieldAnimation 3000ms ease; + height: 32px; + border-radius: 32px; +} + +@keyframes searchFieldAnimation { + 0% { + width: 0px; + opacity: 0; + } + + 100% { + width: 200px; + opacity: 1; + } +} + +.noSearchMatch { + @include font-m; + font-weight: bold; + color: var(--color-text-contrast); + margin-bottom: 4px; +} + +.closeIcon { + height: 10px; + width: 10px; + z-index: 2; +} + +.plusIcon { + height: 13px; + width: 13px; +} + +.searchIcon { + height: 18px; + width: 18px; + color: var(--color-text-gray); +} diff --git a/frontend/control-center/src/pages/Inbox/ChannelsList/index.tsx b/frontend/control-center/src/pages/Inbox/ChannelsList/index.tsx new file mode 100644 index 0000000000..048ea1a2a1 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/ChannelsList/index.tsx @@ -0,0 +1,195 @@ +import React, {useLayoutEffect, useState} from 'react'; +import {useSelector} from 'react-redux'; +import {useNavigate, useParams} from 'react-router-dom'; +import {sortBy} from 'lodash-es'; + +import {StateModel} from '../../../reducers'; +import {allChannels} from '../../../selectors/channels'; + +import {Channel, Source} from 'model'; +import ChannelsListItem from './ChannelListItem'; +import {SearchField, LinkButton, Button} from 'components'; +import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/leftArrowCircle.svg'; +import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; +import {ReactComponent as PlusIcon} from 'assets/images/icons/plus.svg'; +import {ReactComponent as CloseIcon} from 'assets/images/icons/close.svg'; + +import styles from './index.module.scss'; +import {cyChannelsFormBackButton} from 'handles'; +import { + CONNECTORS_FACEBOOK_ROUTE, + CONNECTORS_CHAT_PLUGIN_ROUTE, + CONNECTORS_TWILIO_SMS_ROUTE, + CONNECTORS_TWILIO_WHATSAPP_ROUTE, + CONNECTORS_GOOGLE_ROUTE, + CONNECTORS_INSTAGRAM_ROUTE, + CATALOG_FACEBOOK_ROUTE, + CATALOG_CHAT_PLUGIN_ROUTE, + CATALOG_TWILIO_SMS_ROUTE, + CATALOG_TWILIO_WHATSAPP_ROUTE, + CATALOG_GOOGLE_ROUTE, + CATALOG_INSTAGRAM_ROUTE, +} from '../../../routes/routes'; +import {getChannelAvatar} from '../../../components/ChannelAvatar'; + +const ChannelsList = () => { + const {source} = useParams(); + const navigate = useNavigate(); + const channels = useSelector((state: StateModel) => { + return Object.values(allChannels(state)).filter((channel: Channel) => channel.source === source); + }); + + const [name, setName] = useState(''); + const [description, setDescription] = useState(''); + const [path, setPath] = useState(''); + const [searchText, setSearchText] = useState(''); + const [showingSearchField, setShowingSearchField] = useState(false); + + const filteredChannels = channels.filter((channel: Channel) => + channel.metadata?.name?.toLowerCase().includes(searchText.toLowerCase()) + ); + + useLayoutEffect(() => { + getInfo(); + }, [source, channels]); + + const getInfo = () => { + let ROUTE; + switch (source) { + case Source.facebook: + setName('Facebook Messenger'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_FACEBOOK_ROUTE : CATALOG_FACEBOOK_ROUTE; + setPath(ROUTE + '/new'); + break; + case Source.google: + setName('Google Business Messages'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_GOOGLE_ROUTE : CATALOG_GOOGLE_ROUTE; + setPath(ROUTE + '/new'); + break; + case Source.twilioSMS: + setName('Twilio SMS'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_TWILIO_SMS_ROUTE : CATALOG_TWILIO_SMS_ROUTE; + setPath(ROUTE + '/new'); + break; + case Source.twilioWhatsApp: + setName('Twilio Whatsapp'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') + ? CONNECTORS_TWILIO_WHATSAPP_ROUTE + : CATALOG_TWILIO_WHATSAPP_ROUTE; + setPath(ROUTE + '/new'); + break; + case Source.chatPlugin: + setName('Chat Plugin'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_CHAT_PLUGIN_ROUTE : CATALOG_CHAT_PLUGIN_ROUTE; + setPath(ROUTE + '/new'); + break; + case Source.instagram: + setName('Instagram'); + setDescription('Best of class browser messenger'); + ROUTE = location.pathname.includes('connectors') ? CONNECTORS_INSTAGRAM_ROUTE : CATALOG_INSTAGRAM_ROUTE; + setPath(ROUTE + '/new'); + break; + } + }; + + const showSearchFieldToggle = () => { + setShowingSearchField(!showingSearchField); + setSearchText(''); + }; + + return ( +
+ navigate(-1)} type="button"> +
+ + Channels +
+
+
+
+
{getChannelAvatar(source)}
+
+

{name}

+

{description}

+
+
+ +
+
+
+
+ {showingSearchField && ( + setSearchText(value)} + autoFocus={true} + style={{height: '32px', borderRadius: '32px'}} + resetClicked={() => setSearchText('')} + /> + )} +
+
+
+ + +
+
+
+ Name + Manage +
+ +
+ {filteredChannels.length > 0 ? ( + sortBy(filteredChannels, (channel: Channel) => channel.metadata.name.toLowerCase()).map( + (channel: Channel) => ( +
+ +
+ ) + ) + ) : ( +
+

Result not found.

+

Try to search for a different term.

+
+ )} +
+
+ ); +}; + +export default ChannelsList; diff --git a/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.module.scss b/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.module.scss new file mode 100644 index 0000000000..b9b02ae3ac --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.module.scss @@ -0,0 +1,43 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.container { + display: flex; + flex-direction: column; + flex: 1; + align-items: center; + justify-content: center; + margin-top: 10%; + + h1 { + @include font-xl; + font-weight: 800; + margin-top: 32px; + margin-bottom: 32px; + } + + p { + @include font-m; + text-align: center; + } +} + +.searchIconContainer { + display: flex; + justify-content: center; + align-items: center; + height: 105px; + width: 105px; + background: var(--color-background-blue); +} + +.linkContainer { + @include font-m; + display: flex; + align-items: center; + color: var(--color-airy-blue); + text-decoration: none; + margin-right: 4px; + width: 95px; + justify-content: space-around; +} diff --git a/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.tsx b/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.tsx new file mode 100644 index 0000000000..567278201d --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/EmptyStateInbox/index.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import styles from './index.module.scss'; +import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; +import {ReactComponent as CatalogIcon} from 'assets/images/icons/catalogIcon.svg'; +import {Link} from 'react-router-dom'; +import {CATALOG_ROUTE} from '../../../routes/routes'; + +export const EmptyStateInbox = () => { + return ( +
+
+ +
+

No Sources installed

+

You don't have any conversational sources installed, please open the

+
+ + + Catalog + +

and explore more.

+
+
+ ); +}; diff --git a/frontend/control-center/src/pages/Inbox/InboxOutlet.tsx b/frontend/control-center/src/pages/Inbox/InboxOutlet.tsx new file mode 100644 index 0000000000..80d96e46f5 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/InboxOutlet.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import {Outlet} from 'react-router-dom'; + +const InboxOutlet = () => { + return ; +}; + +export default InboxOutlet; diff --git a/frontend/control-center/src/pages/Inbox/index.module.scss b/frontend/control-center/src/pages/Inbox/index.module.scss new file mode 100644 index 0000000000..194b988a0c --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/index.module.scss @@ -0,0 +1,48 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.inboxWrapper { + background: white; + border-radius: 10px; + padding: 32px; + margin: 88px 1.5em 0 191px; + height: calc(100vh - 88px); + overflow-y: scroll; + overflow-x: hidden; + width: 100%; +} + +.inboxHeadline { + @include font-xl; + font-weight: 900; + letter-spacing: 0; + display: flex; + justify-content: space-between; + color: var(--color-text-contrast); + margin-bottom: 14px; +} + +.inboxHeadlineText { + @include font-xl; + font-weight: 900; +} + +.wrapper { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.channelsContainer { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.channelsLine { + width: 100%; + span { + @include font-base; + color: var(--color-airy-blue); + } +} diff --git a/frontend/control-center/src/pages/Inbox/index.tsx b/frontend/control-center/src/pages/Inbox/index.tsx new file mode 100644 index 0000000000..0a36626868 --- /dev/null +++ b/frontend/control-center/src/pages/Inbox/index.tsx @@ -0,0 +1,78 @@ +import {Source} from 'model'; +import {Channel} from 'model/Channel'; +import React, {useEffect, useState} from 'react'; +import {connect, ConnectedProps, useSelector} from 'react-redux'; +import {listChannels} from '../../actions/channel'; +import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; +import {StateModel} from '../../reducers'; +import {allChannelsConnected} from '../../selectors/channels'; +import {setPageTitle} from '../../services/pageTitle'; +import {ChannelCard} from '../Connectors/ChannelCard'; +import {EmptyStateInbox} from './EmptyStateInbox'; +import styles from './index.module.scss'; + +const mapDispatchToProps = { + listChannels, +}; + +const mapStateToProps = (state: StateModel) => ({ + channels: Object.values(allChannelsConnected(state)), +}); + +const connector = connect(mapStateToProps, mapDispatchToProps); + +const Inbox = (props: ConnectedProps) => { + const [sourcesInfo, setSourcesInfo] = useState([]); + const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); + const channelsBySource = (Source: Source) => channels.filter((channel: Channel) => channel.source === Source); + + useEffect(() => { + setSourcesInfo(getSourcesInfo('Inbox')); + }, []); + + useEffect(() => { + if (props.channels.length === 0) { + props.listChannels(); + } + }, [props.channels.length]); + + useEffect(() => { + setPageTitle('Inbox'); + }, []); + + return ( +
+ {sourcesInfo.length > 0 && ( +
+
+

Inbox

+
+
+ )} +
+ {sourcesInfo.length === 0 ? ( + + ) : ( +
+
+ Channels +
+
+
+
+
+
+ {sourcesInfo.map((infoItem: SourceInfo, index: number) => { + if (channelsBySource(infoItem.type).length > 0) { + return ; + } + })} +
+
+ )} +
+
+ ); +}; + +export default connector(Inbox); diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx index 8c2e2624f6..74a85f8faf 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx @@ -38,7 +38,7 @@ export const ItemInfo = (props: ComponentInfoProps) => { {isComponent ? ( <>
{getChannelAvatar(channelSource)}
diff --git a/frontend/control-center/src/routes/routes.ts b/frontend/control-center/src/routes/routes.ts index 3d5643d659..c5e25b27d6 100644 --- a/frontend/control-center/src/routes/routes.ts +++ b/frontend/control-center/src/routes/routes.ts @@ -1,4 +1,5 @@ export const ROOT_ROUTE = '/'; + export const CONNECTORS_ROUTE = '/connectors'; export const CONNECTORS_CONNECTED_ROUTE = '/connectors/connected'; export const CONNECTORS_FACEBOOK_ROUTE = '/connectors/facebook'; @@ -17,5 +18,14 @@ export const CATALOG_TWILIO_WHATSAPP_ROUTE = '/catalog/twilio.whatsapp'; export const CATALOG_GOOGLE_ROUTE = '/catalog/google'; export const CATALOG_INSTAGRAM_ROUTE = '/catalog/instagram'; +export const INBOX_ROUTE = '/inbox'; +export const INBOX_CONNECTED_ROUTE = '/inbox/connected'; +export const INBOX_FACEBOOK_ROUTE = '/inbox/facebook'; +export const INBOX_CHAT_PLUGIN_ROUTE = '/inbox/chatplugin'; +export const INBOX_TWILIO_SMS_ROUTE = '/inbox/twilio.sms'; +export const INBOX_TWILIO_WHATSAPP_ROUTE = '/inbox/twilio.whatsapp'; +export const INBOX_GOOGLE_ROUTE = '/inbox/google'; +export const INBOX_INSTAGRAM_ROUTE = '/inbox/instagram'; + export const STATUS_ROUTE = '/status'; export const WEBHOOKS_ROUTE = '/webhooks'; diff --git a/lib/typescript/assets/images/icons/arrowRight.svg b/lib/typescript/assets/images/icons/arrowRight.svg index 5fb1330dfe..8c4a7176eb 100644 --- a/lib/typescript/assets/images/icons/arrowRight.svg +++ b/lib/typescript/assets/images/icons/arrowRight.svg @@ -1,3 +1,3 @@ - + diff --git a/lib/typescript/assets/images/icons/chevronLeft.svg b/lib/typescript/assets/images/icons/chevronLeft.svg new file mode 100644 index 0000000000..04ca73b09e --- /dev/null +++ b/lib/typescript/assets/images/icons/chevronLeft.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/chevronRight.svg b/lib/typescript/assets/images/icons/chevronRight.svg new file mode 100644 index 0000000000..617758eae1 --- /dev/null +++ b/lib/typescript/assets/images/icons/chevronRight.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/disconnectIcon.svg b/lib/typescript/assets/images/icons/disconnectIcon.svg new file mode 100644 index 0000000000..f33f6d8d6a --- /dev/null +++ b/lib/typescript/assets/images/icons/disconnectIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/inboxIcon.svg b/lib/typescript/assets/images/icons/inboxIcon.svg new file mode 100644 index 0000000000..c4ac78b544 --- /dev/null +++ b/lib/typescript/assets/images/icons/inboxIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/leftArrowCircle.svg b/lib/typescript/assets/images/icons/leftArrowCircle.svg new file mode 100644 index 0000000000..662f680d49 --- /dev/null +++ b/lib/typescript/assets/images/icons/leftArrowCircle.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/pencil.svg b/lib/typescript/assets/images/icons/pencil.svg index 1b139da83d..83799f435c 100644 --- a/lib/typescript/assets/images/icons/pencil.svg +++ b/lib/typescript/assets/images/icons/pencil.svg @@ -1,3 +1,3 @@ - + diff --git a/lib/typescript/components/cta/Button/index.tsx b/lib/typescript/components/cta/Button/index.tsx index 28a0a63863..1adb2f5f06 100644 --- a/lib/typescript/components/cta/Button/index.tsx +++ b/lib/typescript/components/cta/Button/index.tsx @@ -14,7 +14,7 @@ type ButtonProps = { dataCy?: string; }; -export const Button = ({children, onClick, type, styleVariant, style, disabled, tabIndex, dataCy}: ButtonProps) => { +export const Button = ({children, onClick, type, styleVariant, disabled, tabIndex, dataCy, style}: ButtonProps) => { const styleFor = (variant: styleVariantType) => { switch (variant) { case 'small': diff --git a/lib/typescript/components/inputs/SearchField/index.tsx b/lib/typescript/components/inputs/SearchField/index.tsx index 2eeaeacd74..e829b1d144 100644 --- a/lib/typescript/components/inputs/SearchField/index.tsx +++ b/lib/typescript/components/inputs/SearchField/index.tsx @@ -1,4 +1,4 @@ -import React, {createRef, useCallback} from 'react'; +import React, {createRef, CSSProperties, useCallback} from 'react'; import {ReactComponent as CloseIcon} from 'assets/images/icons/close.svg'; import {ReactComponent as SearchIcon} from 'assets/images/icons/search.svg'; @@ -12,9 +12,10 @@ type Props = { resetClicked?: () => void; autoFocus?: boolean; dataCy?: string; + style?: CSSProperties; }; -export const SearchField = ({id, placeholder, value, setValue, resetClicked, autoFocus, dataCy}: Props) => { +export const SearchField = ({id, placeholder, value, setValue, resetClicked, autoFocus, dataCy, style}: Props) => { const inputRef = createRef(); const resetButton = useCallback(() => { setValue(''); @@ -24,7 +25,7 @@ export const SearchField = ({id, placeholder, value, setValue, resetClicked, aut }, [value, setValue]); return ( -
+
From ce77fb8ab677e7c38d75ef631742e0531a959f1c Mon Sep 17 00:00:00 2001 From: AudreyKj <38159391+AudreyKj@users.noreply.github.com> Date: Thu, 12 May 2022 16:03:27 +0200 Subject: [PATCH 25/30] [#3115] dark mode for UI (#3153) * darkmode wip * dark mode wip * added localstorage and toggle * toggle improvements * emoji picker fix * added darkmode to controlcenter * finished darkmode * small fixes * comment test * fixed toggle * removed log * linting * fixed checkmark * fix expandable * reorganized colors --- frontend/control-center/src/App.tsx | 3 ++ .../ChannelAvatar/index.module.scss | 4 ++ .../src/components/Sidebar/index.module.scss | 3 +- .../src/components/TopBar/index.module.scss | 13 +++-- .../src/components/TopBar/index.tsx | 17 +++++++ .../src/components/Wrapper/index.module.scss | 2 +- .../src/pages/Catalog/index.module.scss | 3 +- .../ChannelsListItem/index.module.scss | 2 +- .../ConnectedChannelsList/index.module.scss | 10 ++-- .../ChatPlugin/ChatPluginConnect.module.scss | 3 +- .../Messenger/FacebookConnect.module.scss | 3 +- .../index.module.scss | 3 +- .../index.module.scss | 3 +- .../Google/GoogleConnect.module.scss | 3 +- .../Instagram/InstagramConnect.module.scss | 3 +- .../index.module.scss | 3 +- .../Twilio/SMS/TwilioSmsConnect.module.scss | 3 +- .../Twilio/TwilioConnect.module.scss | 5 +- .../index.module.scss | 3 +- .../TwilioWhatsappConnect.module.scss | 3 +- .../src/pages/Connectors/index.module.scss | 2 +- .../ComponentListItem/index.module.scss | 6 ++- .../src/pages/Status/index.module.scss | 5 +- .../SubscriptionModal/index.module.scss | 16 +++++- .../UnsubscribeModal/index.module.scss | 2 +- .../WebhooksListItem/index.module.scss | 2 +- .../pages/Webhooks/WebhooksListItem/index.tsx | 2 +- .../src/pages/Webhooks/index.module.scss | 2 +- frontend/inbox/index.html | 2 +- frontend/inbox/src/App.module.scss | 1 + frontend/inbox/src/App.tsx | 3 ++ .../inbox/src/assets/scss/animations.scss | 4 +- .../ChannelAvatar/index.module.scss | 4 ++ .../src/components/ChannelAvatar/index.tsx | 2 +- .../src/components/Dialog/index.module.scss | 2 +- .../DialogCustomizable/index.module.scss | 2 +- .../components/IconChannel/index.module.scss | 6 +++ .../src/components/Sidebar/index.module.scss | 2 +- .../src/components/Tag/index.module.scss | 4 +- frontend/inbox/src/components/Tag/index.tsx | 6 +-- .../src/components/TopBar/index.module.scss | 14 +++-- .../inbox/src/components/TopBar/index.tsx | 28 ++++++++-- .../src/components/Wrapper/index.module.scss | 2 +- .../Inbox/ConversationList/index.module.scss | 8 ++- .../ConversationListHeader/index.module.scss | 7 +-- .../ConversationListItem/index.module.scss | 2 +- .../AudioRecording/index.module.scss | 4 +- .../MessageInput/InputOptions.module.scss | 4 +- .../pages/Inbox/MessageInput/InputOptions.tsx | 2 +- .../MessageInput/InputSelector.module.scss | 4 ++ .../Inbox/MessageInput/index.module.scss | 9 ++-- .../ContactDetails/Expandable.tsx | 2 +- .../ContactDetails/index.module.scss | 14 +++++ .../ConversationMetadata/index.module.scss | 14 +++-- .../Messenger/ConversationMetadata/index.tsx | 6 ++- .../Messenger/MessageList/index.module.scss | 2 +- .../MessengerContainer/index.module.scss | 2 +- .../Inbox/NoConversations/index.module.scss | 2 + .../pages/Inbox/QuickFilter/Popup.module.scss | 21 +++++--- .../pages/Inbox/QuickFilter/index.module.scss | 5 +- .../Inbox/TemplateSelector/index.module.scss | 1 + .../src/pages/Tags/EmptyStateTags.module.scss | 2 +- .../inbox/src/pages/Tags/TableRow.module.scss | 5 +- .../inbox/src/pages/Tags/index.module.scss | 5 +- .../assets/images/icons/arrowLeft.svg | 2 +- .../assets/images/icons/arrowRight.svg | 2 +- .../assets/images/icons/checkmark.svg | 4 +- lib/typescript/assets/images/icons/close.svg | 2 +- .../images/icons/fallbackMediaImage.svg | 3 ++ .../assets/images/icons/zendeskLogo.svg | 4 +- .../assets/images/logo/airyLogoDark.svg | 4 ++ lib/typescript/assets/scss/colors.scss | 51 +++++++++++++++---- .../SettingsModal/ModalHeader.module.scss | 9 ++-- .../alerts/SettingsModal/style.module.scss | 2 +- .../components/cta/Button/style.module.scss | 5 +- .../cta/HrefButton/style.module.scss | 2 +- .../cta/LinkButton/style.module.scss | 2 +- .../general/Carousel/index.module.scss | 4 +- .../inputs/Dropdown/style.module.scss | 8 +-- .../components/inputs/Input/style.module.scss | 15 +++--- .../inputs/SearchField/style.module.scss | 8 ++- .../inputs/TextArea/style.module.scss | 3 +- .../components/inputs/Toggle/index.tsx | 20 +++++--- .../inputs/Toggle/style.module.scss | 28 ++++++---- .../loaders/SimpleLoader/style.module.scss | 2 +- .../components/QuickReplies/index.module.scss | 2 +- .../components/RichCard/index.module.scss | 2 +- .../components/RichText/index.module.scss | 4 +- .../ButtonTemplate/index.module.scss | 5 +- .../components/Buttons/index.module.scss | 4 +- .../GenericTemplate/index.module.scss | 2 + .../components/QuickReplies/index.module.scss | 2 +- .../components/RichText/index.module.scss | 4 +- .../components/Suggestions/index.module.scss | 2 +- 94 files changed, 370 insertions(+), 169 deletions(-) create mode 100644 lib/typescript/assets/images/icons/fallbackMediaImage.svg create mode 100644 lib/typescript/assets/images/logo/airyLogoDark.svg diff --git a/frontend/control-center/src/App.tsx b/frontend/control-center/src/App.tsx index 691c9d0e51..33832a9b00 100644 --- a/frontend/control-center/src/App.tsx +++ b/frontend/control-center/src/App.tsx @@ -33,6 +33,9 @@ const connector = connect(null, mapDispatchToProps); const App = (props: ConnectedProps) => { useEffect(() => { props.getClientConfig(); + if (localStorage.getItem('theme') === 'dark') { + document.documentElement.setAttribute('data-theme', 'dark'); + } }, []); return ( diff --git a/frontend/control-center/src/components/ChannelAvatar/index.module.scss b/frontend/control-center/src/components/ChannelAvatar/index.module.scss index 4874e4e650..847f1e043b 100644 --- a/frontend/control-center/src/components/ChannelAvatar/index.module.scss +++ b/frontend/control-center/src/components/ChannelAvatar/index.module.scss @@ -1,3 +1,5 @@ +@import 'assets/scss/colors.scss'; + .image { display: flex; align-self: center; @@ -5,6 +7,8 @@ svg { height: 100%; width: 100%; + + fill: var(--color-text-contrast); } img { diff --git a/frontend/control-center/src/components/Sidebar/index.module.scss b/frontend/control-center/src/components/Sidebar/index.module.scss index c8bc850712..47d8b8c1c4 100644 --- a/frontend/control-center/src/components/Sidebar/index.module.scss +++ b/frontend/control-center/src/components/Sidebar/index.module.scss @@ -11,7 +11,8 @@ margin-top: 88px; width: 175px; height: 100%; - background-color: white; + background-color: var(--color-background-white); + color: var(--color-text-contrast); position: fixed; } diff --git a/frontend/control-center/src/components/TopBar/index.module.scss b/frontend/control-center/src/components/TopBar/index.module.scss index c8786d4f65..1dc3224ffa 100644 --- a/frontend/control-center/src/components/TopBar/index.module.scss +++ b/frontend/control-center/src/components/TopBar/index.module.scss @@ -8,12 +8,13 @@ justify-content: space-between; z-index: $navigation; height: 72px; - background-color: white; - box-shadow: 0 3px 8px 0 var(--color-light-gray); + background-color: var(--color-background-white); + box-shadow: 0 3px 8px 0 var(--color-shadow-gray); position: fixed; overflow: visible; top: 0; width: 100%; + color: var(--color-text-contrast); } .airyLogo { @@ -96,7 +97,7 @@ .dropdownContainer { position: absolute; - background-color: white; + background-color: var(--color-background-white); border: 1px solid var(--color-light-gray); border-radius: 8px; top: 68px; @@ -241,3 +242,9 @@ box-shadow: 0px 0px 0px 3px var(--color-background-blue); } } + +.theme { + background: transparent; + border: none; + margin-left: 8px; +} diff --git a/frontend/control-center/src/components/TopBar/index.tsx b/frontend/control-center/src/components/TopBar/index.tsx index 314c34c14d..de0d64656f 100644 --- a/frontend/control-center/src/components/TopBar/index.tsx +++ b/frontend/control-center/src/components/TopBar/index.tsx @@ -2,6 +2,7 @@ import React, {useState, useCallback} from 'react'; import _, {connect, ConnectedProps} from 'react-redux'; import {ListenOutsideClick} from 'components'; import {StateModel} from '../../reducers'; +import {Toggle} from 'components'; import {ReactComponent as ShortcutIcon} from 'assets/images/icons/shortcut.svg'; import {ReactComponent as LogoutIcon} from 'assets/images/icons/signOut.svg'; import {ReactComponent as AiryLogo} from 'assets/images/logo/airyLogo.svg'; @@ -26,6 +27,7 @@ const connector = connect(mapStateToProps); const TopBar = (props: TopBarProps & ConnectedProps) => { const [isAccountDropdownOn, setAccountDropdownOn] = useState(false); const [isFaqDropdownOn, setFaqDropdownOn] = useState(false); + const [darkTheme, setDarkTheme] = useState(localStorage.getItem('theme') === 'dark' ? true : false); const accountClickHandler = useCallback(() => { setAccountDropdownOn(!isAccountDropdownOn); @@ -43,6 +45,18 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { setFaqDropdownOn(false); }, [setFaqDropdownOn]); + const toggleDarkTheme = () => { + if (localStorage.getItem('theme') === 'dark') { + document.documentElement.removeAttribute('data-theme'); + localStorage.removeItem('theme'); + setDarkTheme(false); + } else { + localStorage.setItem('theme', 'dark'); + document.documentElement.setAttribute('data-theme', 'dark'); + setDarkTheme(true); + } + }; + return (
@@ -127,6 +141,9 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { )}
)} +
); diff --git a/frontend/control-center/src/components/Wrapper/index.module.scss b/frontend/control-center/src/components/Wrapper/index.module.scss index 05cdd3f2da..5496a588ec 100644 --- a/frontend/control-center/src/components/Wrapper/index.module.scss +++ b/frontend/control-center/src/components/Wrapper/index.module.scss @@ -13,7 +13,7 @@ .Content { width: auto; - background: white; + background: var(--color-background-white); padding: 32px; margin: 88px 2.5em 5em 7.5em; border-radius: 10px; diff --git a/frontend/control-center/src/pages/Catalog/index.module.scss b/frontend/control-center/src/pages/Catalog/index.module.scss index 84da70835f..fe36c7b78e 100644 --- a/frontend/control-center/src/pages/Catalog/index.module.scss +++ b/frontend/control-center/src/pages/Catalog/index.module.scss @@ -2,7 +2,8 @@ @import 'assets/scss/colors.scss'; .catalogWrapper { - background: white; + background: var(--color-background-white); + color: var(--color-text-contrast); border-radius: 10px; padding: 32px; margin: 88px 1.5em 0 191px; diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss index 2542db3085..cbaecdc694 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.module.scss @@ -171,7 +171,7 @@ header { @include font-m; background-color: var(--color-airy-blue); - color: white; + color: var(--color-background-white); border-radius: 4px; text-align: center; height: 48px; diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss index 6e31066542..eb6e225ac1 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss @@ -2,7 +2,8 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); + color: var(--color-text-contrast); display: block; border-radius: 10px; padding-left: 96px; @@ -63,6 +64,7 @@ margin-bottom: 32px; width: 474px; margin-top: 16px; + color: var(--color-text-contrast); label { margin-top: 24px; @@ -123,13 +125,13 @@ width: 32px; margin-left: 16px; border-radius: 32px; - background: var(--color-blue-white); + background: var(--color-blue-white-button); border: none; cursor: pointer; } button:hover { - background-color: var(--color-background-blue); + background-color: var(--color-button-light-blue); } button:last-child { @@ -140,7 +142,7 @@ background: var(--color-airy-blue); svg { path { - fill: white; + fill: var(--color-background-white); } } } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss index 937e5c62a0..6d843d3420 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.module.scss @@ -2,7 +2,8 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); + color: var(--color-text-contrast); display: block; border-radius: 10px; padding-left: 96px; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss index 65d35ec957..80e91d3b42 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -16,6 +16,7 @@ .headline { @include font-xl; font-weight: bold; + color: var(--color-text-contrast); margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss index c872e48ef6..7caea7a4b3 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookMessengerRequirementsDialog/index.module.scss @@ -7,7 +7,7 @@ flex-direction: column; width: 582px; height: 430px; - background: white; + background: var(--color-background-white); border-radius: 8px; z-index: $popup; position: fixed; @@ -24,6 +24,7 @@ .headline { @include font-base; + color: var(--color-text-contrast); padding-top: 40px; padding-left: 40px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss index 756bb3c014..69844dc9da 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleBusinessMessagesRequirementsDialog/index.module.scss @@ -6,7 +6,7 @@ display: flex; flex-direction: column; width: 582px; - background: white; + background: var(--color-background-white); border-radius: 8px; z-index: $popup; position: fixed; @@ -23,6 +23,7 @@ .headline { @include font-base; + color: var(--color-text-contrast); padding-top: 40px; padding-left: 40px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss index 65d35ec957..f542613968 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -15,6 +15,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss index 65d35ec957..f542613968 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -15,6 +15,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss index 4dd5875522..ae0d2cafa0 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramRequirementsDialog/index.module.scss @@ -6,7 +6,7 @@ flex-direction: column; width: 582px; height: 430px; - background: white; + background: var(--color-background-white); border-radius: 8px; z-index: 1; position: fixed; @@ -23,6 +23,7 @@ .headline { @include font-base; + color: var(--color-text-contrast); padding-top: 40px; padding-left: 40px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss index 99e0284f67..f09ec12bb1 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -15,6 +15,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss index 6fe6bc38a5..6c8af63732 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.module.scss @@ -23,7 +23,7 @@ width: 300px; border: 1px solid var(--color-light-gray); border-radius: 8px; - background-color: white; + background-color: var(--color-background-white); margin-top: 24px; } @@ -82,7 +82,7 @@ } .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -95,6 +95,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss index 7dbcfdd263..75ffbc81a0 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioRequirementsDialog/index.module.scss @@ -7,7 +7,7 @@ flex-direction: column; width: 582px; height: 360px; - background: white; + background: var(--color-background-white); border-radius: 8px; z-index: $popup; position: fixed; @@ -24,6 +24,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; padding-top: 40px; padding-left: 40px; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss index 99e0284f67..f09ec12bb1 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .wrapper { - background: white; + background: var(--color-background-white); display: block; border-radius: 10px; padding-left: 96px; @@ -15,6 +15,7 @@ .headline { @include font-xl; + color: var(--color-text-contrast); font-weight: bold; margin-bottom: 8px; } diff --git a/frontend/control-center/src/pages/Connectors/index.module.scss b/frontend/control-center/src/pages/Connectors/index.module.scss index 9a5c68703d..fd6b21b579 100644 --- a/frontend/control-center/src/pages/Connectors/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/index.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .channelsWrapper { - background: white; + background: var(--color-background-white); border-radius: 10px; padding: 32px; margin: 88px 1.5em 0 191px; diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss index 5bcce0727c..4d466bd5db 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss +++ b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss @@ -7,7 +7,7 @@ padding-bottom: 20px; display: flex; flex-direction: column; - background: white; + background: var(--color-background-white); border-left: 1px solid var(--color-light-gray); border-right: 1px solid var(--color-light-gray); border-bottom: 1px solid var(--color-light-gray); @@ -51,6 +51,10 @@ border: none; cursor: pointer; } + + svg { + fill: var(--color-text-contrast); + } } .arrowDownIcon { diff --git a/frontend/control-center/src/pages/Status/index.module.scss b/frontend/control-center/src/pages/Status/index.module.scss index 5fa53cc460..67f4412637 100644 --- a/frontend/control-center/src/pages/Status/index.module.scss +++ b/frontend/control-center/src/pages/Status/index.module.scss @@ -7,6 +7,7 @@ padding: 28px 18px; margin: 88px 1.5em 0 191px; background: var(--color-blue-white); + color: var(--color-text-contrast); border-radius: 10px; overflow-y: scroll; overflow-x: hidden; @@ -25,8 +26,8 @@ .listHeader { display: flex; flex-direction: row; - background-color: var(--color-airy-blue); - border: 1px solide var(--color-airy-blue); + background-color: var(--color-elements-blue); + border: 1px solide var(--color-elements-blue); border-top-right-radius: 10px; border-top-left-radius: 10px; height: 50px; diff --git a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss index afb226d54a..9a55a4b530 100644 --- a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.module.scss @@ -12,7 +12,7 @@ .container { @include font-base; color: var(--color-text-gray); - background: white; + background: var(--color-background-white); height: 500px; h1 { @@ -35,6 +35,7 @@ cursor: pointer; height: 16px; width: 16px; + background-color: var(--color-background-white); } } @@ -45,6 +46,7 @@ @include font-base; border: none; background: var(--color-background-gray); + color: var(--color-text-contrast); padding: 6px; border-radius: 8px; margin-right: 32px; @@ -52,6 +54,11 @@ padding: 16px 21px; } + input:focus { + outline: none; + border: 1px solid var(--color-airy-blue); + } + input:last-child { @include font-base; width: 400px; @@ -66,7 +73,7 @@ span { @include font-base; - color: black; + color: var(--color-text-contrast); margin-bottom: 28px; font-weight: 800; } @@ -80,6 +87,11 @@ padding: 17px 12px; border: none; } + + input:focus { + outline: none; + border: 1px solid var(--color-airy-blue); + } } .headerKeyItem { diff --git a/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss index cb656fba17..47935ef7be 100644 --- a/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/UnsubscribeModal/index.module.scss @@ -9,7 +9,7 @@ min-height: 520px; min-width: 1000px; color: var(--color-text-gray); - background: white; + background: var(--color-background-white); h1 { @include font-xl; diff --git a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss index d65aefa99a..a23a8b5ae3 100644 --- a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.module.scss @@ -5,7 +5,7 @@ @include font-base; display: flex; align-items: flex-start; - background: white; + background: var(--color-background-white); height: 'auto'; border-bottom: 1px solid var(--color-light-gray); margin-top: 30px; diff --git a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx index e14e099f38..e7c30ecb3e 100644 --- a/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx +++ b/frontend/control-center/src/pages/Webhooks/WebhooksListItem/index.tsx @@ -130,7 +130,7 @@ const WebhooksListItem = (props: WebhooksListItemProps) => { id={switchId} isActive={subscribed === WebhooksStatus.subscribed ? true : false} toggleActive={handleSubscribeToggle} - onColor="#EFEFEF" + onColor={localStorage.getItem('theme') === 'dark' ? '#828484' : '#EFEFEF'} />
diff --git a/frontend/control-center/src/pages/Webhooks/index.module.scss b/frontend/control-center/src/pages/Webhooks/index.module.scss index 68cd4f5a72..011cc9559f 100644 --- a/frontend/control-center/src/pages/Webhooks/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/index.module.scss @@ -2,7 +2,7 @@ @import 'assets/scss/colors.scss'; .webhooksWrapper { - background: white; + background: var(--color-background-white); border-radius: 10px; padding: 32px; margin: 88px 1.5em 0 191px; diff --git a/frontend/inbox/index.html b/frontend/inbox/index.html index 30bf3ed067..d3cd9c809e 100644 --- a/frontend/inbox/index.html +++ b/frontend/inbox/index.html @@ -1,5 +1,5 @@ - + Airy UI diff --git a/frontend/inbox/src/App.module.scss b/frontend/inbox/src/App.module.scss index ee153c151e..1d1f9e01df 100644 --- a/frontend/inbox/src/App.module.scss +++ b/frontend/inbox/src/App.module.scss @@ -20,4 +20,5 @@ height: 100%; min-height: 100vh; background-color: var(--color-background-gray); + transition: all 0.5 ease; } diff --git a/frontend/inbox/src/App.tsx b/frontend/inbox/src/App.tsx index f47b308b35..d903134957 100644 --- a/frontend/inbox/src/App.tsx +++ b/frontend/inbox/src/App.tsx @@ -23,6 +23,9 @@ const connector = connect(null, mapDispatchToProps); const App = (props: ConnectedProps) => { useEffect(() => { props.getClientConfig(); + if (localStorage.getItem('theme') === 'dark') { + document.documentElement.setAttribute('data-theme', 'dark'); + } }, []); return ( diff --git a/frontend/inbox/src/assets/scss/animations.scss b/frontend/inbox/src/assets/scss/animations.scss index f146b6c0d6..99198b81ba 100644 --- a/frontend/inbox/src/assets/scss/animations.scss +++ b/frontend/inbox/src/assets/scss/animations.scss @@ -87,7 +87,7 @@ .fill-to-bottom:hover, .fill-to-bottom:focus, .fill-to-bottom:active { - color: white; + color: var(--color-background-white); } .fill-to-bottom:hover:before, .fill-to-bottom:focus:before, @@ -123,7 +123,7 @@ .fill-to-top:hover, .fill-to-top:focus, .fill-to-top:active { - color: white; + color: var(--color-background-white); } .fill-to-top:hover:before, .fill-to-top:focus:before, diff --git a/frontend/inbox/src/components/ChannelAvatar/index.module.scss b/frontend/inbox/src/components/ChannelAvatar/index.module.scss index 1ef72c3c8a..70bd1c879b 100644 --- a/frontend/inbox/src/components/ChannelAvatar/index.module.scss +++ b/frontend/inbox/src/components/ChannelAvatar/index.module.scss @@ -13,4 +13,8 @@ width: 100%; border-radius: 50%; } + + circle { + fill: var(----color-channel-icon-circle); + } } diff --git a/frontend/inbox/src/components/ChannelAvatar/index.tsx b/frontend/inbox/src/components/ChannelAvatar/index.tsx index 7c71ac8da6..e11600d776 100644 --- a/frontend/inbox/src/components/ChannelAvatar/index.tsx +++ b/frontend/inbox/src/components/ChannelAvatar/index.tsx @@ -50,7 +50,7 @@ const ChannelAvatar = (props: ChannelAvatarProps) => { }; return ( -
+
{channel.metadata?.imageUrl || imageUrl ? getCustomLogo(channel) : getChannelAvatar(channel)}
); diff --git a/frontend/inbox/src/components/Dialog/index.module.scss b/frontend/inbox/src/components/Dialog/index.module.scss index e0e59e41ba..36116c2794 100644 --- a/frontend/inbox/src/components/Dialog/index.module.scss +++ b/frontend/inbox/src/components/Dialog/index.module.scss @@ -2,7 +2,7 @@ .dialog { position: absolute; - background-color: white; + background-color: var(--color-background-white); border: 1px solid var(--color-light-gray); border-radius: 4px; z-index: $popup; diff --git a/frontend/inbox/src/components/DialogCustomizable/index.module.scss b/frontend/inbox/src/components/DialogCustomizable/index.module.scss index e0e59e41ba..36116c2794 100644 --- a/frontend/inbox/src/components/DialogCustomizable/index.module.scss +++ b/frontend/inbox/src/components/DialogCustomizable/index.module.scss @@ -2,7 +2,7 @@ .dialog { position: absolute; - background-color: white; + background-color: var(--color-background-white); border: 1px solid var(--color-light-gray); border-radius: 4px; z-index: $popup; diff --git a/frontend/inbox/src/components/IconChannel/index.module.scss b/frontend/inbox/src/components/IconChannel/index.module.scss index db0a0ce0b9..c903742db0 100644 --- a/frontend/inbox/src/components/IconChannel/index.module.scss +++ b/frontend/inbox/src/components/IconChannel/index.module.scss @@ -1,3 +1,5 @@ +@import 'assets/scss/colors.scss'; + .iconName { display: flex; align-items: center; @@ -33,6 +35,10 @@ overflow: hidden; text-overflow: ellipsis; } + + circle { + fill: var(----color-channel-icon-circle); + } } .iconText { diff --git a/frontend/inbox/src/components/Sidebar/index.module.scss b/frontend/inbox/src/components/Sidebar/index.module.scss index 001b600fce..f8bc6c9fa9 100644 --- a/frontend/inbox/src/components/Sidebar/index.module.scss +++ b/frontend/inbox/src/components/Sidebar/index.module.scss @@ -10,7 +10,7 @@ margin-top: 88px; width: 80px; height: auto; - background-color: white; + background-color: var(--color-background-white); } .linkSection { diff --git a/frontend/inbox/src/components/Tag/index.module.scss b/frontend/inbox/src/components/Tag/index.module.scss index c301335bc2..c247ece515 100644 --- a/frontend/inbox/src/components/Tag/index.module.scss +++ b/frontend/inbox/src/components/Tag/index.module.scss @@ -10,7 +10,7 @@ align-items: center; padding: 0px 8px; background: var(--color-airy-blue); - color: #fff; + color: var(--color-background-white); border-radius: 16px; line-height: 24px; max-width: 100%; @@ -39,7 +39,7 @@ height: 10px; width: 10px; path { - fill: #fff; + fill: white; } } diff --git a/frontend/inbox/src/components/Tag/index.tsx b/frontend/inbox/src/components/Tag/index.tsx index 55d1cd6145..8180e32f3f 100644 --- a/frontend/inbox/src/components/Tag/index.tsx +++ b/frontend/inbox/src/components/Tag/index.tsx @@ -1,11 +1,9 @@ import React from 'react'; import {connect, ConnectedProps} from 'react-redux'; - +import {StateModel} from '../../reducers'; import {Tag as TagModel} from 'model'; - import {ReactComponent as Close} from 'assets/images/icons/close.svg'; import styles from './index.module.scss'; -import {StateModel} from '../../reducers'; type TagProps = { tag: TagModel; @@ -38,7 +36,7 @@ export const Tag = ({tag, expanded, variant, onClick, removeTag, config: {tagCon color: `#${tagColor.font}`, border: `1px solid #${tagColor.border}`, } - : {backgroundColor: `#${tagColor.default}`}; + : {backgroundColor: `#${tagColor.default}`, color: 'white', border: `1px solid #${tagColor.border}`}; return (
diff --git a/frontend/inbox/src/components/TopBar/index.module.scss b/frontend/inbox/src/components/TopBar/index.module.scss index ad989f74cc..e3829aebd8 100644 --- a/frontend/inbox/src/components/TopBar/index.module.scss +++ b/frontend/inbox/src/components/TopBar/index.module.scss @@ -8,8 +8,8 @@ justify-content: space-between; z-index: $navigation; height: 72px; - background-color: white; - box-shadow: 0 3px 8px 0 var(--color-light-gray); + background-color: var(--color-background-white); + box-shadow: 0 3px 8px 0 var(--color-shadow-gray); position: fixed; overflow: visible; top: 0; @@ -66,6 +66,7 @@ .accountName { font-weight: 900; + color: var(--color-text-contrast); } .accountHint { @@ -82,7 +83,7 @@ .dropdownContainer { position: absolute; - background-color: white; + background-color: var(--color-background-white); border: 1px solid var(--color-light-gray); border-radius: 8px; top: 68px; @@ -167,6 +168,7 @@ .help { @include font-m; + background: transparent; margin-right: 16px; border: 1px solid var(--color-text-gray); border-radius: 50%; @@ -186,6 +188,12 @@ } } +.theme { + background: transparent; + border: none; + margin-left: 8px; +} + #dropDownLink { color: var(--color-airy-blue); text-decoration: none; diff --git a/frontend/inbox/src/components/TopBar/index.tsx b/frontend/inbox/src/components/TopBar/index.tsx index 63e1d04dc8..604f090ac5 100644 --- a/frontend/inbox/src/components/TopBar/index.tsx +++ b/frontend/inbox/src/components/TopBar/index.tsx @@ -2,9 +2,11 @@ import React, {useState, useCallback} from 'react'; import {connect, ConnectedProps} from 'react-redux'; import {ListenOutsideClick} from 'components'; import {StateModel} from '../../reducers'; +import {Toggle} from 'components'; import {ReactComponent as ShortcutIcon} from 'assets/images/icons/shortcut.svg'; import {ReactComponent as LogoutIcon} from 'assets/images/icons/signOut.svg'; import {ReactComponent as AiryLogoWithText} from 'assets/images/logo/airyPrimaryRgb.svg'; +import {ReactComponent as AiryLogoWithTextDark} from 'assets/images/logo/airyLogoDark.svg'; import {ReactComponent as ChevronDownIcon} from 'assets/images/icons/chevronDown.svg'; import {ReactComponent as AiryLogo} from 'assets/images/logo/airyLogo.svg'; import styles from './index.module.scss'; @@ -27,6 +29,7 @@ const connector = connect(mapStateToProps); const TopBar = (props: TopBarProps & ConnectedProps) => { const [isAccountDropdownOn, setAccountDropdownOn] = useState(false); const [isFaqDropdownOn, setFaqDropdownOn] = useState(false); + const [darkTheme, setDarkTheme] = useState(localStorage.getItem('theme') === 'dark' ? true : false); const accountClickHandler = useCallback(() => { setAccountDropdownOn(!isAccountDropdownOn); @@ -44,16 +47,32 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { setFaqDropdownOn(false); }, [setFaqDropdownOn]); + const toggleDarkTheme = () => { + if (localStorage.getItem('theme') === 'dark') { + document.documentElement.removeAttribute('data-theme'); + localStorage.removeItem('theme'); + setDarkTheme(false); + } else { + localStorage.setItem('theme', 'dark'); + document.documentElement.setAttribute('data-theme', 'dark'); + setDarkTheme(true); + } + }; + return (
- + {!darkTheme ? ( + + ) : ( + + )}
-
+
+ {isFaqDropdownOn && ( @@ -126,6 +145,9 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { )}
)} +
); diff --git a/frontend/inbox/src/components/Wrapper/index.module.scss b/frontend/inbox/src/components/Wrapper/index.module.scss index 05cdd3f2da..5496a588ec 100644 --- a/frontend/inbox/src/components/Wrapper/index.module.scss +++ b/frontend/inbox/src/components/Wrapper/index.module.scss @@ -13,7 +13,7 @@ .Content { width: auto; - background: white; + background: var(--color-background-white); padding: 32px; margin: 88px 2.5em 5em 7.5em; border-radius: 10px; diff --git a/frontend/inbox/src/pages/Inbox/ConversationList/index.module.scss b/frontend/inbox/src/pages/Inbox/ConversationList/index.module.scss index 3b63823f9f..c97bfc7605 100644 --- a/frontend/inbox/src/pages/Inbox/ConversationList/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/ConversationList/index.module.scss @@ -6,7 +6,7 @@ width: 100%; overflow: hidden; height: 100%; - background-color: white; + background-color: var(--color-background-white); } .conversationListPaginationWrapper { @@ -16,7 +16,7 @@ .conversationListContainerFilterBox { display: block; - background: white; + background: var(--color-background-white); } .conversationListContactList { @@ -24,7 +24,7 @@ flex-direction: column; overflow-y: auto; height: 100%; - background-color: white; + background-color: var(--color-background-white); } .conversationListLoading { @@ -33,8 +33,6 @@ } .conversationListContainer { - box-shadow: 0 8px 20px -7px rgba(250, 245, 250, 0.7); - background: #fefefe; padding-bottom: 16px; margin: 16px; border-bottom: 1px solid var(--color-background-gray); diff --git a/frontend/inbox/src/pages/Inbox/ConversationListHeader/index.module.scss b/frontend/inbox/src/pages/Inbox/ConversationListHeader/index.module.scss index 39dfbf144a..ac105edb7d 100644 --- a/frontend/inbox/src/pages/Inbox/ConversationListHeader/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/ConversationListHeader/index.module.scss @@ -48,7 +48,7 @@ .backButton { border: none; - background-color: white; + background-color: var(--color-background-white); padding-left: 0px; padding-right: 14px; } @@ -59,14 +59,14 @@ .searchBox { color: black; - background: white; + background: var(--color-background-white); display: flex; align-items: center; } .searchButton { border: none; - background-color: white; + background-color: var(--color-background-white); cursor: pointer; outline: none; height: 24px; @@ -84,6 +84,7 @@ font-size: 24px; font-weight: 900; margin-bottom: 4px; + color: var(--color-text-contrast); } .searchIcon { diff --git a/frontend/inbox/src/pages/Inbox/ConversationListItem/index.module.scss b/frontend/inbox/src/pages/Inbox/ConversationListItem/index.module.scss index b706c2dafd..4ca38d41af 100644 --- a/frontend/inbox/src/pages/Inbox/ConversationListItem/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/ConversationListItem/index.module.scss @@ -54,7 +54,7 @@ .contactDetails { width: 100%; - border-bottom: 1px solid var(--color-background-gray); + border-bottom: 1px solid transparent; overflow: hidden; padding-bottom: 16px; } diff --git a/frontend/inbox/src/pages/Inbox/MessageInput/AudioRecording/index.module.scss b/frontend/inbox/src/pages/Inbox/MessageInput/AudioRecording/index.module.scss index ca2052c519..c52e51c38a 100644 --- a/frontend/inbox/src/pages/Inbox/MessageInput/AudioRecording/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/MessageInput/AudioRecording/index.module.scss @@ -34,7 +34,7 @@ svg { path { - fill: white; + fill: var(--color-background-white); } } } @@ -45,7 +45,7 @@ svg { path { - stroke: white; + stroke: var(--color-background-white); } } } diff --git a/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.module.scss b/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.module.scss index 37478da9c7..50ea4c3506 100644 --- a/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.module.scss +++ b/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.module.scss @@ -79,7 +79,7 @@ @include font-s; position: absolute; background-color: var(--color-text-contrast); - color: white; + color: var(--color-background-white); border-radius: 4px; padding: 4px 8px; display: none; @@ -169,7 +169,7 @@ svg { path { - stroke: white; + stroke: var(--color-background-white); fill: none; } } diff --git a/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.tsx b/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.tsx index c99d11d4f5..9c0575d88c 100644 --- a/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.tsx +++ b/frontend/inbox/src/pages/Inbox/MessageInput/InputOptions.tsx @@ -180,7 +180,7 @@ export const InputOptions = (props: Props) => { )} {isShowingEmojiDrawer && (
- +
)} diff --git a/frontend/inbox/src/pages/Inbox/MessageInput/InputSelector.module.scss b/frontend/inbox/src/pages/Inbox/MessageInput/InputSelector.module.scss index a351053737..c0eee6e815 100644 --- a/frontend/inbox/src/pages/Inbox/MessageInput/InputSelector.module.scss +++ b/frontend/inbox/src/pages/Inbox/MessageInput/InputSelector.module.scss @@ -29,6 +29,10 @@ outline: none; z-index: 1; + svg { + fill: var(--color-text-contrast); + } + &:hover { border-color: var(--color-airy-blue); diff --git a/frontend/inbox/src/pages/Inbox/MessageInput/index.module.scss b/frontend/inbox/src/pages/Inbox/MessageInput/index.module.scss index a094234d69..e52ef61059 100644 --- a/frontend/inbox/src/pages/Inbox/MessageInput/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/MessageInput/index.module.scss @@ -34,7 +34,7 @@ &:hover { .chevronDown { path { - fill: white; + fill: var(--color-background-white); } } } @@ -112,10 +112,9 @@ position: relative; width: 40px; margin-left: 8px; - transition: 0.2s ease-in-out all; top: 1px; border: none; - background: white; + background: transparent; padding: 0; outline: none; cursor: pointer; @@ -130,7 +129,7 @@ border: none; width: 40px; @include font-s; - background: #cad5db; + background: var(--color-button-gray); font-weight: 400; color: #000; border-radius: 50%; @@ -155,7 +154,7 @@ padding: 10px; border-radius: 4px; z-index: 1; - background-color: var(--color-light-gray); + background-color: var(--color-tooltip-gray); p { @include font-s; diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/Expandable.tsx b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/Expandable.tsx index 074e84a2d4..a219b03a18 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/Expandable.tsx +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/Expandable.tsx @@ -16,7 +16,7 @@ export const Expandable = (props: ExpandableProps) => { return (
{!collapse ? ( - + ) : ( )} diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss index b9110baa22..aed316b572 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss @@ -36,6 +36,7 @@ .infoName { word-break: break-all; + color: var(--color-text-contrast); } .infoLink:link, @@ -54,6 +55,7 @@ .container legend { @include font-s-bold; margin-bottom: 15px; + color: var(--color-text-contrast); } .container label { @@ -67,6 +69,8 @@ padding: 0; margin: 0; @include font-s; + background: var(--color-background-white); + color: var(--color-text-contrast); } .details { @@ -76,12 +80,14 @@ .detailName { font-weight: bold; margin-right: 3px; + color: var(--color-text-contrast); } .expandable { display: flex; align-items: center; cursor: pointer; + color: var(--color-text-contrast); } .saveButtonContainer { @@ -93,6 +99,9 @@ .arrowIcon { margin-right: 6px; + svg { + fill: var(--color-text-contrast); + } } .downIcon { @@ -100,6 +109,10 @@ height: 9px; } +.arrowRightIcon { + width: 8px; +} + .infoIcon { width: 12px; margin-right: 6px; @@ -112,6 +125,7 @@ bottom: 40px; display: flex; flex-direction: column; + color: var(--color-text-contrast); .iconsContainer { display: flex; diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.module.scss b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.module.scss index 2c3a0d93c0..639ded1af5 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.module.scss @@ -8,7 +8,7 @@ height: auto; flex-direction: column; overflow: auto; - background-color: #fff; + background-color: var(--color-background-white); margin: 0 0 0 8px; padding: 16px; border-top-left-radius: 8px; @@ -38,9 +38,6 @@ &:hover { svg { visibility: visible; - path { - fill: var(--color-airy-blue); - } &:hover { cursor: pointer; } @@ -106,6 +103,7 @@ svg { height: 8px; margin-bottom: 0.5px; + fill: var(--color-soft-green); } } @@ -135,6 +133,7 @@ .tagsHeaderTitle { font-weight: bold; + color: var(--color-text-contrast); } .addTags { @@ -154,6 +153,7 @@ .addTagsDescription { margin: 8px 0; + color: var(--color-text-contrast); } .addTagsButtonRow { @@ -177,6 +177,12 @@ cursor: pointer; } +.cancelIcon { + svg { + fill: var(--color-text-contrast); + } +} + .iconBlue { svg { fill: var(--color-airy-blue); diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.tsx b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.tsx index a124668e03..e1fda1bf30 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.tsx +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/index.tsx @@ -245,7 +245,11 @@ const ConversationMetadata = (props: ConnectedProps) => { ) : ( - )} diff --git a/frontend/inbox/src/pages/Inbox/Messenger/MessageList/index.module.scss b/frontend/inbox/src/pages/Inbox/Messenger/MessageList/index.module.scss index da2faa3260..9a9481c9fd 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/MessageList/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/Messenger/MessageList/index.module.scss @@ -24,7 +24,7 @@ cursor: pointer; border: none; outline: none; - background-color: white; + background-color: var(--color-background-white); &:hover { .suggestionIcon { diff --git a/frontend/inbox/src/pages/Inbox/Messenger/MessengerContainer/index.module.scss b/frontend/inbox/src/pages/Inbox/Messenger/MessengerContainer/index.module.scss index 7e5a94ef51..49200a23b4 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/MessengerContainer/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/Messenger/MessengerContainer/index.module.scss @@ -6,7 +6,7 @@ flex: 1; height: auto; flex-direction: column; - background-color: #fff; + background-color: var(--color-background-white); margin: 0 8px 0 8px; border-top-left-radius: 8px; border-top-right-radius: 8px; diff --git a/frontend/inbox/src/pages/Inbox/NoConversations/index.module.scss b/frontend/inbox/src/pages/Inbox/NoConversations/index.module.scss index 0d8b1ab589..05efc6badc 100644 --- a/frontend/inbox/src/pages/Inbox/NoConversations/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/NoConversations/index.module.scss @@ -1,5 +1,7 @@ .component { margin: 1.5em; + background-color: var(--color-background-white); + color: var(--color-text-contrast); } .component { diff --git a/frontend/inbox/src/pages/Inbox/QuickFilter/Popup.module.scss b/frontend/inbox/src/pages/Inbox/QuickFilter/Popup.module.scss index 5b61b19209..830f101819 100644 --- a/frontend/inbox/src/pages/Inbox/QuickFilter/Popup.module.scss +++ b/frontend/inbox/src/pages/Inbox/QuickFilter/Popup.module.scss @@ -66,8 +66,9 @@ .filterButton { border: 1px solid var(--color-light-gray); + color: var(--color-text-contrast); border-radius: 8px; - background-color: white; + background-color: var(--color-background-white); padding: 6px 8px; margin-right: 8px; display: flex; @@ -76,7 +77,6 @@ outline: none; max-height: 29px; white-space: nowrap; - svg { display: inline-block; margin-right: 2px; @@ -102,16 +102,16 @@ @extend .filterButton; border: 1px solid var(--color-airy-blue); background-color: var(--color-airy-blue); - color: white; + color: var(--color-background-white); outline: none; path { - stroke: white; - fill: white; + stroke: var(--color-background-white); + fill: var(--color-background-white); } .openIcon { - border-color: white; + border-color: var(--color-background-white); } } @@ -157,7 +157,11 @@ flex-direction: row; margin: 0px; cursor: pointer; - border: 7px solid white; + border: 7px solid var(--color-background-white); + + circle { + fill: var(----color-channel-icon-circle); + } } .sourceSelected { @@ -196,7 +200,7 @@ margin-right: 4px; path { - fill: white; + fill: var(--color-background-white); } svg { @@ -211,6 +215,7 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + color: var(--color-text-contrast); } .checkmarkCircleIcon { diff --git a/frontend/inbox/src/pages/Inbox/QuickFilter/index.module.scss b/frontend/inbox/src/pages/Inbox/QuickFilter/index.module.scss index d77ae170f3..a4c9835fd1 100644 --- a/frontend/inbox/src/pages/Inbox/QuickFilter/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/QuickFilter/index.module.scss @@ -30,6 +30,7 @@ border: 1px solid transparent; cursor: pointer; transition: background 400ms, border 400ms; + color: var(--color-text-contrast); } .quickFilterButtonActive { @@ -67,7 +68,7 @@ display: flex; align-items: center; cursor: pointer; - background: rgba(0, 0, 0, 0); + background: var(--color-text-contrast); border: none; margin-right: -13px; margin-top: -12px; @@ -108,7 +109,7 @@ .filterHint { @include font-s; background-color: var(--color-airy-blue); - color: white; + color: var(--color-background-white); border-radius: 4px; padding: 4px 8px; margin: 0 0 4px 4px; diff --git a/frontend/inbox/src/pages/Inbox/TemplateSelector/index.module.scss b/frontend/inbox/src/pages/Inbox/TemplateSelector/index.module.scss index 6ec0129d03..866b98ef5f 100644 --- a/frontend/inbox/src/pages/Inbox/TemplateSelector/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/TemplateSelector/index.module.scss @@ -50,6 +50,7 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + color: var(--color-text-contrast); } .emptyMessage { diff --git a/frontend/inbox/src/pages/Tags/EmptyStateTags.module.scss b/frontend/inbox/src/pages/Tags/EmptyStateTags.module.scss index b48382a4d8..076d4533ab 100644 --- a/frontend/inbox/src/pages/Tags/EmptyStateTags.module.scss +++ b/frontend/inbox/src/pages/Tags/EmptyStateTags.module.scss @@ -4,7 +4,7 @@ .cardRaised { width: 100%; height: 100%; - background: #fff; + background: var(--color-background-white); display: flex; flex-direction: column; align-content: center; diff --git a/frontend/inbox/src/pages/Tags/TableRow.module.scss b/frontend/inbox/src/pages/Tags/TableRow.module.scss index c8aaaa511e..8ed1194fb8 100644 --- a/frontend/inbox/src/pages/Tags/TableRow.module.scss +++ b/frontend/inbox/src/pages/Tags/TableRow.module.scss @@ -24,8 +24,9 @@ } .editInput { - border: 1px solid #cad5db; - background-color: #f7f7f7; + border: 1px solid var(--color-light-gray); + background-color: var(--color-background-white); + color: var(--color-text-contrast); border-radius: 4px; padding: 6px; font-size: 16px; diff --git a/frontend/inbox/src/pages/Tags/index.module.scss b/frontend/inbox/src/pages/Tags/index.module.scss index af3902a1b8..ebf4dd7816 100644 --- a/frontend/inbox/src/pages/Tags/index.module.scss +++ b/frontend/inbox/src/pages/Tags/index.module.scss @@ -34,7 +34,7 @@ .cardRaised { width: 100%; height: 100%; - background: #fff; + background: var(--color-background-white); display: flex; flex-direction: column; align-content: center; @@ -97,7 +97,7 @@ align-items: center; color: var(--color-airy-blue); cursor: pointer; - background: white; + background: var(--color-background-white); border: none; &:hover { color: var(--color-airy-blue-hover); @@ -120,6 +120,7 @@ p { margin-bottom: 8px; max-width: 480px; + color: var(--color-text-contrast); strong { font-weight: 700; word-wrap: break-word; diff --git a/lib/typescript/assets/images/icons/arrowLeft.svg b/lib/typescript/assets/images/icons/arrowLeft.svg index ff4c2a0264..44f219f634 100644 --- a/lib/typescript/assets/images/icons/arrowLeft.svg +++ b/lib/typescript/assets/images/icons/arrowLeft.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/lib/typescript/assets/images/icons/arrowRight.svg b/lib/typescript/assets/images/icons/arrowRight.svg index 8c4a7176eb..04e5c641e9 100644 --- a/lib/typescript/assets/images/icons/arrowRight.svg +++ b/lib/typescript/assets/images/icons/arrowRight.svg @@ -1,3 +1,3 @@ - + diff --git a/lib/typescript/assets/images/icons/checkmark.svg b/lib/typescript/assets/images/icons/checkmark.svg index 1445ff999c..b18eef14dc 100644 --- a/lib/typescript/assets/images/icons/checkmark.svg +++ b/lib/typescript/assets/images/icons/checkmark.svg @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/lib/typescript/assets/images/icons/close.svg b/lib/typescript/assets/images/icons/close.svg index 0adabf932b..9658253cb8 100644 --- a/lib/typescript/assets/images/icons/close.svg +++ b/lib/typescript/assets/images/icons/close.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/lib/typescript/assets/images/icons/fallbackMediaImage.svg b/lib/typescript/assets/images/icons/fallbackMediaImage.svg new file mode 100644 index 0000000000..cd36aa44ba --- /dev/null +++ b/lib/typescript/assets/images/icons/fallbackMediaImage.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/typescript/assets/images/icons/zendeskLogo.svg b/lib/typescript/assets/images/icons/zendeskLogo.svg index d57eab32a1..fc26ed397c 100644 --- a/lib/typescript/assets/images/icons/zendeskLogo.svg +++ b/lib/typescript/assets/images/icons/zendeskLogo.svg @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/lib/typescript/assets/images/logo/airyLogoDark.svg b/lib/typescript/assets/images/logo/airyLogoDark.svg new file mode 100644 index 0000000000..b6c0d466a1 --- /dev/null +++ b/lib/typescript/assets/images/logo/airyLogoDark.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/lib/typescript/assets/scss/colors.scss b/lib/typescript/assets/scss/colors.scss index 5d12e87d0e..b8ed79336a 100644 --- a/lib/typescript/assets/scss/colors.scss +++ b/lib/typescript/assets/scss/colors.scss @@ -1,15 +1,32 @@ :root { + //colors that change with darkmode (default is light mode) --color-text-contrast: #212428; + --color-background-gray: #f7f7f7; + --color-light-greyish-white: #efefef; + --color-toggle-grey: #e8eaea; + --color-blue-white: #f5f8fa; + --color-background-white: #fff; + --color-channel-icon-circle: #f1faff; + --color-template-highlight: #fff; + --color-tooltip-gray: #cad5db; + --color-background-blue: #f1faff; + --color-template-gray: #f0f0f0; + --color-shadow-gray: #cad5db; + --color-button-gray: #cad5db; + --color-airy-message-inbound: #f1faff; + --color-airy-message-outbound: #1578d4; + --color-elements-blue: #1578d4; + --color-airy-message-text-inbound: #000000; + + //colors that do not change with darkmode --color-text-gray: #737373; --color-dark-elements-gray: #98a4ab; --color-icons-gray: #a0abb2; --color-light-gray: #cad5db; - --color-background-gray: #f7f7f7; - --color-template-gray: #f0f0f0; - --color-light-greyish-white: #efefef; --color-greyish-white: #e8eaea; - --color-template-highlight: #fff; - --color-blue-white: #f5f8fa; + --color-very-light-grey: #e8eaea; + --color-blue-white-button: #f5f8fa; + --color-button-light-blue: #f1faff; --color-airy-dark-blue: #1b4469; --color-airy-logo-blue: #4bb3fd; --color-hover-blue: #337bb3; @@ -19,7 +36,6 @@ --color-airy-blue-pressed: #1b4469; --color-fb-cta: #1877f2; --color-fb-cta-border: #2281fd; - --color-background-blue: #f1faff; --color-red-alert: #d51548; --color-red-info: #ee336c; --color-accent-magenta: #f7147d; @@ -30,9 +46,26 @@ --color-soft-green: #0da36b; --color-tag-green: #0e764f; --color-tag-purple: #730a80; - --color-airy-message-outbound: #1578d4; - --color-airy-message-inbound: #f1faff; --color-airy-message-text-outbound: #ffffff; - --color-airy-message-text-inbound: #000000; --color-switch-unchecked-background: #efefef; } + +html[data-theme='dark'] { + --color-text-contrast: #e8e6e3; + --color-background-gray: #1f201c; + --color-light-greyish-white: #1f201c; + --color-toggle-grey: #828484; + --color-blue-white: #1f201c; + --color-background-white: #272822; + --color-channel-icon-circle: #272822; + --color-template-highlight: #272822; + --color-tooltip-gray: #1f201c; + --color-background-blue: #243037; + --color-template-gray: #484848; + --color-shadow-gray: #4d5153; + --color-button-gray: #313537; + --color-airy-message-inbound: #1c1e1f; + --color-airy-message-outbound: #1160aa; + --color-elements-blue: #115fa8; + --color-airy-message-text-inbound: #ffffff; +} diff --git a/lib/typescript/components/alerts/SettingsModal/ModalHeader.module.scss b/lib/typescript/components/alerts/SettingsModal/ModalHeader.module.scss index 9728b7d6cb..a3113b487a 100644 --- a/lib/typescript/components/alerts/SettingsModal/ModalHeader.module.scss +++ b/lib/typescript/components/alerts/SettingsModal/ModalHeader.module.scss @@ -25,14 +25,13 @@ position: absolute; right: 16px; top: 16px; + + svg { + fill: var(--color-text-contrast); + } } .closeIcon { width: 10px; height: 10px; - svg { - path { - stroke: #aaa; - } - } } diff --git a/lib/typescript/components/alerts/SettingsModal/style.module.scss b/lib/typescript/components/alerts/SettingsModal/style.module.scss index 1e731e241f..75db10f939 100644 --- a/lib/typescript/components/alerts/SettingsModal/style.module.scss +++ b/lib/typescript/components/alerts/SettingsModal/style.module.scss @@ -19,7 +19,7 @@ min-width: 450px; transform: translate(-50%, -50%); border: none; - background-color: white; + background-color: var(--color-background-white); border-radius: 7px; padding: 2em; outline: none; diff --git a/lib/typescript/components/cta/Button/style.module.scss b/lib/typescript/components/cta/Button/style.module.scss index bbe605c62f..20ab713a60 100644 --- a/lib/typescript/components/cta/Button/style.module.scss +++ b/lib/typescript/components/cta/Button/style.module.scss @@ -49,13 +49,13 @@ font-size: 13px; height: 24px; padding: 0 8px 0 8px; - background-color: white; + background-color: var(--color-background-white); color: var(--color-airy-blue); border: 1px solid var(--color-airy-blue); &:hover { background-color: var(--color-airy-blue-hover); - color: white; + color: var(--color-background-white); } &:active { @@ -76,6 +76,7 @@ background: transparent; text-decoration: underline; color: var(--color-airy-blue); + background-color: var(--color-background-white); cursor: pointer; float: right; padding: 1.35em 0.25em; diff --git a/lib/typescript/components/cta/HrefButton/style.module.scss b/lib/typescript/components/cta/HrefButton/style.module.scss index c6161e2cbe..03cf288465 100644 --- a/lib/typescript/components/cta/HrefButton/style.module.scss +++ b/lib/typescript/components/cta/HrefButton/style.module.scss @@ -18,6 +18,6 @@ .buttonLabel { @include font-base; - color: white; + color: var(--color-background-white); text-align: center; } diff --git a/lib/typescript/components/cta/LinkButton/style.module.scss b/lib/typescript/components/cta/LinkButton/style.module.scss index 127389900d..7f66adfd49 100644 --- a/lib/typescript/components/cta/LinkButton/style.module.scss +++ b/lib/typescript/components/cta/LinkButton/style.module.scss @@ -5,7 +5,7 @@ @include font-base; border: 0; padding: 0; - background-color: white; + background-color: var(--color-background-white); cursor: pointer; text-decoration: none; color: var(--color-airy-blue); diff --git a/lib/typescript/components/general/Carousel/index.module.scss b/lib/typescript/components/general/Carousel/index.module.scss index 376120f06a..aa9989af80 100644 --- a/lib/typescript/components/general/Carousel/index.module.scss +++ b/lib/typescript/components/general/Carousel/index.module.scss @@ -7,8 +7,6 @@ margin-top: 5px; overflow: hidden; position: relative; - max-width: inherit; - width: 100%; } .carouselChildren { @@ -26,7 +24,7 @@ top: 50%; transform: translateY(-50%); border: none; - background-color: #ffffff; + background-color: var(--color-background-white); padding: 0; line-height: 0; cursor: pointer; diff --git a/lib/typescript/components/inputs/Dropdown/style.module.scss b/lib/typescript/components/inputs/Dropdown/style.module.scss index 1e65463695..67c2b9e625 100644 --- a/lib/typescript/components/inputs/Dropdown/style.module.scss +++ b/lib/typescript/components/inputs/Dropdown/style.module.scss @@ -74,7 +74,8 @@ position: absolute; margin-top: 4px; overflow: visible; - background: white; + background: var(--color-background-white); + color: var(--color-text-contrast); border: 1px solid lightgray; border-radius: 6px; align-self: flex-start; @@ -87,8 +88,9 @@ .item { @include font-base; display: flex; - border: 0 solid white; - box-shadow: 0 0 0 0 white; + border: 0 solid var(--color-background-white); + box-shadow: 0 0 0 0 var(--color-background-white); + color: var(--color-text-contrast); padding: 8px 8px; cursor: pointer; align-self: flex-start; diff --git a/lib/typescript/components/inputs/Input/style.module.scss b/lib/typescript/components/inputs/Input/style.module.scss index 82bddb63e7..25417d78fd 100644 --- a/lib/typescript/components/inputs/Input/style.module.scss +++ b/lib/typescript/components/inputs/Input/style.module.scss @@ -7,11 +7,11 @@ .input { display: flex; - background-color: white; + background-color: var(--color-background-white); + color: var(--color-text-contrast); width: 100%; border: 1px solid var(--color-dark-elements-gray); border-radius: 4px; - color: var(--color-text-contrast); overflow: hidden; &::placeholder { @@ -56,9 +56,11 @@ .icon svg { transform: scale(0.5, 0.668); - path { - fill: var(--color-soft-green); - } + fill: var(--color-soft-green); + } + + .icon svg:hover { + fill: var(--color-soft-green); } } .input { @@ -113,6 +115,8 @@ flex-grow: 1; border: none; padding: 4px 8px; + background-color: var(--color-background-white); + color: var(--color-text-contrast); &:focus { background-color: var(--color-background-blue); @@ -124,7 +128,6 @@ border: none; outline: none; box-shadow: none; - background-color: rgba(0, 0, 0, 0); } } diff --git a/lib/typescript/components/inputs/SearchField/style.module.scss b/lib/typescript/components/inputs/SearchField/style.module.scss index 22d5c1e96f..436078e045 100644 --- a/lib/typescript/components/inputs/SearchField/style.module.scss +++ b/lib/typescript/components/inputs/SearchField/style.module.scss @@ -14,6 +14,8 @@ width: 100%; border-radius: 0; -webkit-appearance: none; + background-color: var(--color-background-white); + color: var(--color-text-contrast); &::-webkit-search-decoration, &::-webkit-search-cancel-button { @@ -59,9 +61,5 @@ .closeIcon { height: 10px; width: 10px; - svg { - path { - fill: var(--color-text-gray); - } - } + fill: var(--color-text-contrast); } diff --git a/lib/typescript/components/inputs/TextArea/style.module.scss b/lib/typescript/components/inputs/TextArea/style.module.scss index 773ff3abed..ece79216ed 100644 --- a/lib/typescript/components/inputs/TextArea/style.module.scss +++ b/lib/typescript/components/inputs/TextArea/style.module.scss @@ -2,7 +2,8 @@ @import 'assets/scss/fonts.scss'; .textarea { - background-color: white; + background-color: var(--color-background-white); + color: var(--color-text-contrast); width: 100%; border: 1px solid var(--color-dark-elements-gray); border-radius: 4px; diff --git a/lib/typescript/components/inputs/Toggle/index.tsx b/lib/typescript/components/inputs/Toggle/index.tsx index aa5c69ec7e..eeaaec7f90 100644 --- a/lib/typescript/components/inputs/Toggle/index.tsx +++ b/lib/typescript/components/inputs/Toggle/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, {useState} from 'react'; import styles from './style.module.scss'; type ToggleType = { @@ -7,12 +7,18 @@ type ToggleType = { updateValue: (value: boolean) => void; variant?: 'blue' | 'green'; //default is blue size?: 'big' | 'small'; //default is big + emojiBefore?: string; + emojiAfter?: string; }; -export const Toggle = ({value, text, updateValue, variant, size}: ToggleType) => { - const onCheckboxChange = event => { +export const Toggle = ({value, text, updateValue, variant, size, emojiBefore, emojiAfter}: ToggleType) => { + const [emoji, setEmoji] = useState(value ? emojiAfter : emojiBefore); + + const onCheckboxChange = (event: React.ChangeEvent) => { updateValue(event.target.checked); + emoji && emoji === emojiBefore ? setEmoji(emojiAfter) : setEmoji(emojiBefore); }; + return ( @@ -20,10 +26,12 @@ export const Toggle = ({value, text, updateValue, variant, size}: ToggleType) => + } ${emoji === emojiBefore ? styles.emojiBefore : styles.emojiAfter}`} + > + {emoji ?? ''} + - {text && {text}} + {text && {text}} ); }; diff --git a/lib/typescript/components/inputs/Toggle/style.module.scss b/lib/typescript/components/inputs/Toggle/style.module.scss index 4960c768e9..be077913d3 100644 --- a/lib/typescript/components/inputs/Toggle/style.module.scss +++ b/lib/typescript/components/inputs/Toggle/style.module.scss @@ -37,16 +37,25 @@ bottom: 0; transition: 0.4s; border-radius: 50px; + padding: 0 5px; cursor: pointer; } +.emojiBefore { + justify-content: flex-end; +} + +.emojiAfter { + justify-content: flex-start; +} + .sliderBlue { background-color: var(--color-background-blue); border: 1px solid var(--color-airy-blue); } .sliderGreen { - background: var(--color-light-greyish-white); + background: var(--color-toggle-grey); box-shadow: inset 0px 6px 8px 3px rgba(0, 0, 0, 0.1); } @@ -70,15 +79,15 @@ } .sliderBlue:before { - background-color: var(--color-airy-blue); + background-color: var(--color-elements-blue); } .sliderGreen:before { - background: linear-gradient(180deg, white 0%, var(--color-greyish-white) 100%); + background: linear-gradient(180deg, white 0%, var(--color-very-light-grey) 100%); } input:checked + .sliderBlue { - background-color: var(--color-airy-blue); + background-color: var(--color-elements-blue); } input:checked + .sliderGreen { @@ -88,18 +97,13 @@ input:checked + .sliderGreen { input:focus + .sliderBlue { box-shadow: 0 0 0 2pt Highlight; } -@media (-webkit-min-device-pixel-ratio: 0) { - input:focus + .sliderBlue { - box-shadow: 0 0 0 2pt -webkit-focus-ring-color; - } -} input:checked + .slider:before { background-color: white; } input:checked + .sliderGreen:before { - background: var(--color-light-greyish-white); + background: var(--color-very-light-grey); } input:checked + .sliderBig:before { @@ -109,3 +113,7 @@ input:checked + .sliderBig:before { input:checked + .sliderSmall:before { transform: translateX(15px); } + +.toggleText { + margin-left: 3px; +} diff --git a/lib/typescript/components/loaders/SimpleLoader/style.module.scss b/lib/typescript/components/loaders/SimpleLoader/style.module.scss index 569f176ed2..4186c1dc6a 100644 --- a/lib/typescript/components/loaders/SimpleLoader/style.module.scss +++ b/lib/typescript/components/loaders/SimpleLoader/style.module.scss @@ -19,7 +19,7 @@ .loaderWhite { @extend .loader; div { - background: white; + background: var(--color-background-white); } } diff --git a/lib/typescript/render/providers/chatplugin/components/QuickReplies/index.module.scss b/lib/typescript/render/providers/chatplugin/components/QuickReplies/index.module.scss index 420f29b25d..05df48c88e 100644 --- a/lib/typescript/render/providers/chatplugin/components/QuickReplies/index.module.scss +++ b/lib/typescript/render/providers/chatplugin/components/QuickReplies/index.module.scss @@ -5,7 +5,7 @@ display: flex; flex-direction: column; margin-top: 5px; - align-items: flex-end; + align-items: flex-start; } .container { diff --git a/lib/typescript/render/providers/chatplugin/components/RichCard/index.module.scss b/lib/typescript/render/providers/chatplugin/components/RichCard/index.module.scss index dad7a737b2..82d243a62c 100644 --- a/lib/typescript/render/providers/chatplugin/components/RichCard/index.module.scss +++ b/lib/typescript/render/providers/chatplugin/components/RichCard/index.module.scss @@ -31,8 +31,8 @@ .description { @include font-base; + color: var(--color-text-contrast); font-size: 15px; - color: black; letter-spacing: 0; line-height: 24px; } diff --git a/lib/typescript/render/providers/chatplugin/components/RichText/index.module.scss b/lib/typescript/render/providers/chatplugin/components/RichText/index.module.scss index 4ff77b327a..f3aa0809b3 100644 --- a/lib/typescript/render/providers/chatplugin/components/RichText/index.module.scss +++ b/lib/typescript/render/providers/chatplugin/components/RichText/index.module.scss @@ -1,7 +1,7 @@ @import 'assets/scss/colors.scss'; .contactContent { - width: 100%; + width: auto; overflow-wrap: break-word; word-break: break-word; padding: 10px; @@ -12,7 +12,7 @@ } .memberContent { - width: 100%; + width: auto; overflow-wrap: break-word; word-break: break-word; padding: 10px; diff --git a/lib/typescript/render/providers/facebook/components/ButtonTemplate/index.module.scss b/lib/typescript/render/providers/facebook/components/ButtonTemplate/index.module.scss index a788b224b6..7971ec7fc8 100644 --- a/lib/typescript/render/providers/facebook/components/ButtonTemplate/index.module.scss +++ b/lib/typescript/render/providers/facebook/components/ButtonTemplate/index.module.scss @@ -16,7 +16,6 @@ padding: 16px; } -.messageTime { - @include font-s; - color: var(--color-text-gray); +.tempateText { + color: var(--color-text-contrast); } diff --git a/lib/typescript/render/providers/facebook/components/Buttons/index.module.scss b/lib/typescript/render/providers/facebook/components/Buttons/index.module.scss index 8ed3a48482..fd116902a5 100644 --- a/lib/typescript/render/providers/facebook/components/Buttons/index.module.scss +++ b/lib/typescript/render/providers/facebook/components/Buttons/index.module.scss @@ -10,12 +10,12 @@ } .buttonText { - color: var(--color-contrast); + color: var(--color-text-contrast); text-decoration: none; padding: 8px; display: block; &:hover { - color: var(--color-contrast); + color: var(--color-text-contrast); text-decoration: none; } } diff --git a/lib/typescript/render/providers/facebook/components/GenericTemplate/index.module.scss b/lib/typescript/render/providers/facebook/components/GenericTemplate/index.module.scss index 23ec320ca2..c1942526ce 100644 --- a/lib/typescript/render/providers/facebook/components/GenericTemplate/index.module.scss +++ b/lib/typescript/render/providers/facebook/components/GenericTemplate/index.module.scss @@ -3,6 +3,7 @@ .template { background-color: var(--color-template-gray); + color: var(--color-text-contrast); border-radius: 16px; width: 320px; overflow-wrap: break-word; @@ -13,6 +14,7 @@ .templateTitle { font-weight: 700; + color: var(--color-text-contrast); } .templateImage { diff --git a/lib/typescript/render/providers/facebook/components/QuickReplies/index.module.scss b/lib/typescript/render/providers/facebook/components/QuickReplies/index.module.scss index 3a77d20a6e..ca6bb1f5e7 100644 --- a/lib/typescript/render/providers/facebook/components/QuickReplies/index.module.scss +++ b/lib/typescript/render/providers/facebook/components/QuickReplies/index.module.scss @@ -5,7 +5,7 @@ display: flex; flex-direction: column; margin: 5px 0px; - align-items: flex-end; + align-items: flex-start; } .container { diff --git a/lib/typescript/render/providers/google/components/RichText/index.module.scss b/lib/typescript/render/providers/google/components/RichText/index.module.scss index 4ff77b327a..f3aa0809b3 100644 --- a/lib/typescript/render/providers/google/components/RichText/index.module.scss +++ b/lib/typescript/render/providers/google/components/RichText/index.module.scss @@ -1,7 +1,7 @@ @import 'assets/scss/colors.scss'; .contactContent { - width: 100%; + width: auto; overflow-wrap: break-word; word-break: break-word; padding: 10px; @@ -12,7 +12,7 @@ } .memberContent { - width: 100%; + width: auto; overflow-wrap: break-word; word-break: break-word; padding: 10px; diff --git a/lib/typescript/render/providers/google/components/Suggestions/index.module.scss b/lib/typescript/render/providers/google/components/Suggestions/index.module.scss index 6e80e4709d..5e1270dc4a 100644 --- a/lib/typescript/render/providers/google/components/Suggestions/index.module.scss +++ b/lib/typescript/render/providers/google/components/Suggestions/index.module.scss @@ -57,7 +57,7 @@ text-align: center; border-radius: 6px; padding-right: 2px; - background-color: var(--color-light-gray); + background-color: var(--color-tooltip-gray); opacity: 0; transition: opacity 0.8s; } From bdb5b1c12be6546af99b710dc677272471c673b7 Mon Sep 17 00:00:00 2001 From: AudreyKj <38159391+AudreyKj@users.noreply.github.com> Date: Fri, 13 May 2022 10:17:03 +0200 Subject: [PATCH 26/30] [#3163] darkmode follow-up (#3164) --- lib/typescript/components/inputs/Toggle/index.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/typescript/components/inputs/Toggle/index.tsx b/lib/typescript/components/inputs/Toggle/index.tsx index eeaaec7f90..1af409a78c 100644 --- a/lib/typescript/components/inputs/Toggle/index.tsx +++ b/lib/typescript/components/inputs/Toggle/index.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react'; +import React, {useState, useEffect} from 'react'; import styles from './style.module.scss'; type ToggleType = { @@ -12,11 +12,14 @@ type ToggleType = { }; export const Toggle = ({value, text, updateValue, variant, size, emojiBefore, emojiAfter}: ToggleType) => { - const [emoji, setEmoji] = useState(value ? emojiAfter : emojiBefore); + const [emoji, setEmoji] = useState(''); + + useEffect(() => { + value ? setEmoji(emojiAfter) : setEmoji(emojiBefore); + }, [value]); const onCheckboxChange = (event: React.ChangeEvent) => { updateValue(event.target.checked); - emoji && emoji === emojiBefore ? setEmoji(emojiAfter) : setEmoji(emojiBefore); }; return ( From 2682ea6d16cb35f2f71edb1fc8c34a9861468852 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 13 May 2022 10:51:03 +0200 Subject: [PATCH 27/30] [#3158] Added animations control center (#3162) --- .../src/components/TopBar/index.module.scss | 13 +- .../src/components/TopBar/index.tsx | 136 ++++++++--------- .../ChannelsListItem/index.tsx | 9 +- .../ConnectedChannelsList/index.module.scss | 9 ++ .../ConnectedChannelsList/index.tsx | 26 ++-- .../Status/ComponentListItem/ItemInfo.tsx | 16 +- .../ComponentListItem/index.module.scss | 20 ++- .../pages/Status/ComponentListItem/index.tsx | 26 ++-- .../Webhooks/SubscriptionModal/index.tsx | 1 - .../src/pages/Webhooks/index.module.scss | 9 ++ .../src/assets/animations/animations.scss | 47 ------ frontend/inbox/src/assets/animations/index.ts | 12 -- .../src/components/TopBar/index.module.scss | 16 ++ .../inbox/src/components/TopBar/index.tsx | 137 +++++++++--------- .../ConversationMetadata/index.module.scss | 2 +- .../Messenger/ConversationMetadata/index.tsx | 6 +- lib/typescript/assets/scss/animations.scss | 90 ++++++++++++ lib/typescript/render/services/index.ts | 1 + .../render/services/useAnimation.ts | 12 ++ 19 files changed, 354 insertions(+), 234 deletions(-) delete mode 100644 frontend/inbox/src/assets/animations/animations.scss delete mode 100644 frontend/inbox/src/assets/animations/index.ts create mode 100644 lib/typescript/assets/scss/animations.scss create mode 100644 lib/typescript/render/services/useAnimation.ts diff --git a/frontend/control-center/src/components/TopBar/index.module.scss b/frontend/control-center/src/components/TopBar/index.module.scss index 1dc3224ffa..4cf2a5b046 100644 --- a/frontend/control-center/src/components/TopBar/index.module.scss +++ b/frontend/control-center/src/components/TopBar/index.module.scss @@ -1,6 +1,7 @@ @import 'assets/scss/colors.scss'; @import 'assets/scss/fonts.scss'; @import 'assets/scss/z-index.scss'; +@import 'assets/scss/animations.scss'; .topBar { display: flex; @@ -64,13 +65,13 @@ } .dropHintOpen { - transition: 500ms ease; + transition: 300ms ease; margin-bottom: 0; transform: rotate(180deg); } .dropHintClose { - transition: 500ms ease; + transition: 300ms ease; margin-bottom: 0; transform: rotate(0deg); } @@ -248,3 +249,11 @@ border: none; margin-left: 8px; } + +.animateIn { + animation: topbarDropdownIn 300ms ease; +} + +.animateOut { + animation: topbarDropdownOut 300ms ease; +} diff --git a/frontend/control-center/src/components/TopBar/index.tsx b/frontend/control-center/src/components/TopBar/index.tsx index de0d64656f..effb1e821e 100644 --- a/frontend/control-center/src/components/TopBar/index.tsx +++ b/frontend/control-center/src/components/TopBar/index.tsx @@ -9,6 +9,7 @@ import {ReactComponent as AiryLogo} from 'assets/images/logo/airyLogo.svg'; import {ReactComponent as ChevronDownIcon} from 'assets/images/icons/chevronDown.svg'; import styles from './index.module.scss'; import {env} from '../../env'; +import {useAnimation} from 'render'; interface TopBarProps { isAdmin: boolean; @@ -28,23 +29,18 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { const [isAccountDropdownOn, setAccountDropdownOn] = useState(false); const [isFaqDropdownOn, setFaqDropdownOn] = useState(false); const [darkTheme, setDarkTheme] = useState(localStorage.getItem('theme') === 'dark' ? true : false); + const [animationAction, setAnimationAction] = useState(false); + const [chevronAnim, setChevronAnim] = useState(false); - const accountClickHandler = useCallback(() => { - setAccountDropdownOn(!isAccountDropdownOn); + const toggleAccountDropdown = useCallback(() => { + setChevronAnim(!chevronAnim); + useAnimation(isAccountDropdownOn, setAccountDropdownOn, setAnimationAction, 300); }, [setAccountDropdownOn, isAccountDropdownOn]); - const hideAccountDropdown = useCallback(() => { - setAccountDropdownOn(false); - }, [setAccountDropdownOn]); - - const faqClickHandler = useCallback(() => { - setFaqDropdownOn(!isFaqDropdownOn); + const toggleFaqDropdown = useCallback(() => { + useAnimation(isFaqDropdownOn, setFaqDropdownOn, setAnimationAction, 300); }, [setFaqDropdownOn, isFaqDropdownOn]); - const hideFaqDropdown = useCallback(() => { - setFaqDropdownOn(false); - }, [setFaqDropdownOn]); - const toggleDarkTheme = () => { if (localStorage.getItem('theme') === 'dark') { document.documentElement.removeAttribute('data-theme'); @@ -65,80 +61,88 @@ const TopBar = (props: TopBarProps & ConnectedProps) => {
-
+
?
- - {isFaqDropdownOn && ( - - {props.user.name && (
-
+
{props.user.name}
-
+
- {isAccountDropdownOn && ( - - )} -
diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss index eb6e225ac1..37a53073e8 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.module.scss @@ -1,5 +1,6 @@ @import 'assets/scss/fonts.scss'; @import 'assets/scss/colors.scss'; +@import 'assets/scss/animations.scss'; .wrapper { background: var(--color-background-white); @@ -198,3 +199,11 @@ width: 18px; color: var(--color-text-gray); } + +.animateIn { + animation: searchfieldAnimIn 300ms ease; +} + +.animateOut { + animation: searchfieldAnimOut 300ms ease; +} diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx index b363de9753..97a358f33a 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx @@ -33,6 +33,7 @@ import { import {getChannelAvatar} from '../../../components/ChannelAvatar'; import ChannelsListItem from './ChannelsListItem'; import {Pagination} from '../../../components/Pagination'; +import {useAnimation} from 'render/services/useAnimation'; const ConnectedChannelsList = () => { const {source} = useParams(); @@ -46,6 +47,7 @@ const ConnectedChannelsList = () => { const [path, setPath] = useState(''); const [searchText, setSearchText] = useState(''); const [showingSearchField, setShowingSearchField] = useState(false); + const [animationAction, setAnimationAction] = useState(false); const filteredChannels = channels.filter((channel: Channel) => channel.metadata?.name?.toLowerCase().includes(searchText.toLowerCase()) @@ -109,7 +111,7 @@ const ConnectedChannelsList = () => { }; const showSearchFieldToggle = () => { - setShowingSearchField(!showingSearchField); + useAnimation(showingSearchField, setShowingSearchField, setAnimationAction, 300); setSearchText(''); }; @@ -133,16 +135,18 @@ const ConnectedChannelsList = () => {
- {showingSearchField && ( - setSearchText(value)} - autoFocus={true} - style={{height: '32px', borderRadius: '32px'}} - resetClicked={() => setSearchText('')} - /> - )} +
+ {showingSearchField && ( + setSearchText(value)} + autoFocus={true} + style={{height: '32px', borderRadius: '32px'}} + resetClicked={() => setSearchText('')} + /> + )} +
diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx index 74a85f8faf..7e1c433c12 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx @@ -2,7 +2,6 @@ import React, {useState} from 'react'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; import {ReactComponent as UncheckedIcon} from 'assets/images/icons/serviceUnhealthy.svg'; import {ReactComponent as ArrowRight} from 'assets/images/icons/arrowRight.svg'; -import {ReactComponent as ArrowDown} from 'assets/images/icons/arrowDown.svg'; import {getChannelAvatar} from '../../../components/ChannelAvatar'; import {getComponentName} from '../../../services'; import {getSourceForComponent} from 'model'; @@ -14,20 +13,15 @@ type ComponentInfoProps = { itemName: string; isComponent: boolean; isExpanded: boolean; - setIsExpanded: React.Dispatch>; enabled?: boolean; }; export const ItemInfo = (props: ComponentInfoProps) => { - const {healthy, itemName, isComponent, isExpanded, setIsExpanded, enabled} = props; + const {healthy, itemName, isComponent, isExpanded, enabled} = props; const [channelSource] = useState(itemName && getSourceForComponent(itemName)); const [componentName] = useState(itemName && getComponentName(itemName)); const [componentEnabled, setComponentEnabled] = useState(enabled); - const toggleExpanded = () => { - setIsExpanded(!isExpanded); - }; - return (
{
{isComponent ? ( <> - +
+ +
{getChannelAvatar(channelSource)}
) : ( diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss index 4d466bd5db..53bcf3bf44 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss +++ b/frontend/control-center/src/pages/Status/ComponentListItem/index.module.scss @@ -11,11 +11,15 @@ border-left: 1px solid var(--color-light-gray); border-right: 1px solid var(--color-light-gray); border-bottom: 1px solid var(--color-light-gray); - transition: all 0.5s ease; + transition: all 0.5s ease-out; + &:hover { + cursor: pointer; + } } .wrapperExpanded { display: inline-block; + z-index: 1; } .container { @@ -61,6 +65,19 @@ width: 15px; display: flex; align-items: center; + margin: 0px 40px; +} + +.arrowDownIconOpen { + transition: 300ms ease; + margin-bottom: 0; + transform: rotate(90deg); +} + +.arrowDownIconClose { + transition: 300ms ease; + margin-bottom: 0; + transform: rotate(0deg); } .componentName { @@ -93,6 +110,7 @@ display: flex; justify-content: center; align-items: center; + z-index: 2; } .blankSpace { diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx index 1db3ccf886..07ce71c1b2 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx @@ -14,27 +14,30 @@ export const ComponentListItem = (props: ComponentsListProps) => { const [isExpanded, setIsExpanded] = useState(false); const wrapper = useRef(null); const paddingWrapper = 20; + const defaultHeight = 50; + const serviceItemHeight = 24; useEffect(() => { if (wrapper && wrapper.current) { if (isExpanded) { - wrapper.current.style.height = `${wrapper.current.scrollHeight + paddingWrapper}px`; + wrapper.current.style.height = `${defaultHeight + services.length * (serviceItemHeight + paddingWrapper)}px`; } else { - wrapper.current.style.height = '50px'; + wrapper.current.style.height = `${defaultHeight}px`; } } }, [isExpanded]); + const toggleExpanded = () => { + setIsExpanded(!isExpanded); + }; + return ( -
- +
+ {services.map((service, index) => ( { itemName={service.name} isComponent={false} isExpanded={isExpanded} - setIsExpanded={setIsExpanded} key={index} /> ))} diff --git a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx index fa1455dcc8..4648a1bd2a 100644 --- a/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx +++ b/frontend/control-center/src/pages/Webhooks/SubscriptionModal/index.tsx @@ -99,7 +99,6 @@ const SubscriptionModal = (props: SubscriptionModalProps) => { }; const upsertWebhook = (isNew: boolean) => { - console.log('IS WEBHOOK NEW: ', isNew); setUpsertWebhook(isNew, { ...webhook, ...(newUrl && { diff --git a/frontend/control-center/src/pages/Webhooks/index.module.scss b/frontend/control-center/src/pages/Webhooks/index.module.scss index 011cc9559f..8010610e23 100644 --- a/frontend/control-center/src/pages/Webhooks/index.module.scss +++ b/frontend/control-center/src/pages/Webhooks/index.module.scss @@ -1,5 +1,6 @@ @import 'assets/scss/fonts.scss'; @import 'assets/scss/colors.scss'; +@import 'assets/scss/animations.scss'; .webhooksWrapper { background: var(--color-background-white); @@ -88,3 +89,11 @@ .translateYAnimIn { animation: translateYIn 4s ease-in-out; } + +.animateIn { + animation: fadeInTranslateXLeft 3000ms ease; +} + +.animateOut { + animation: fadeInTranslateXLeft 3000ms ease; +} diff --git a/frontend/inbox/src/assets/animations/animations.scss b/frontend/inbox/src/assets/animations/animations.scss deleted file mode 100644 index a8a770a042..0000000000 --- a/frontend/inbox/src/assets/animations/animations.scss +++ /dev/null @@ -1,47 +0,0 @@ -@keyframes fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -@keyframes fadeInTranslateXLeft { - from { - opacity: 0; - } - from { - transform: translateX(-100px); - } - to { - opacity: 1; - } - to { - transform: translateX(0px); - } -} - -@keyframes fadeOutTranslateXLeft { - from { - opacity: 1; - } - from { - transform: translateX(0px); - } - to { - opacity: 0; - } - to { - transform: translateX(-100px); - } -} diff --git a/frontend/inbox/src/assets/animations/index.ts b/frontend/inbox/src/assets/animations/index.ts deleted file mode 100644 index 02b548b4de..0000000000 --- a/frontend/inbox/src/assets/animations/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {Dispatch, SetStateAction} from 'react'; - -export const useAnimation = ( - useState: Dispatch>, - currentState: boolean, - fadeState: Dispatch>, - timeOut: number -) => { - setTimeout(() => useState(!currentState), timeOut); - setTimeout(() => fadeState(true), timeOut); - fadeState(false); -}; diff --git a/frontend/inbox/src/components/TopBar/index.module.scss b/frontend/inbox/src/components/TopBar/index.module.scss index e3829aebd8..aa489d6548 100644 --- a/frontend/inbox/src/components/TopBar/index.module.scss +++ b/frontend/inbox/src/components/TopBar/index.module.scss @@ -1,6 +1,7 @@ @import 'assets/scss/colors.scss'; @import 'assets/scss/fonts.scss'; @import 'assets/scss/z-index.scss'; +@import 'assets/scss/animations.scss'; .topBar { display: flex; @@ -56,10 +57,17 @@ } .dropHintOpen { + transition: 300ms ease; margin-bottom: 0; transform: rotate(180deg); } +.dropHintClose { + transition: 300ms ease; + margin-bottom: 0; + transform: rotate(0deg); +} + .accountDetails { padding-right: 12px; } @@ -235,3 +243,11 @@ } } } + +.animateIn { + animation: topbarDropdownIn 300ms ease; +} + +.animateOut { + animation: topbarDropdownOut 300ms ease; +} diff --git a/frontend/inbox/src/components/TopBar/index.tsx b/frontend/inbox/src/components/TopBar/index.tsx index 604f090ac5..35e28676c4 100644 --- a/frontend/inbox/src/components/TopBar/index.tsx +++ b/frontend/inbox/src/components/TopBar/index.tsx @@ -11,6 +11,7 @@ import {ReactComponent as ChevronDownIcon} from 'assets/images/icons/chevronDown import {ReactComponent as AiryLogo} from 'assets/images/logo/airyLogo.svg'; import styles from './index.module.scss'; import {env} from '../../env'; +import {useAnimation} from 'render'; interface TopBarProps { isAdmin: boolean; @@ -30,23 +31,18 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { const [isAccountDropdownOn, setAccountDropdownOn] = useState(false); const [isFaqDropdownOn, setFaqDropdownOn] = useState(false); const [darkTheme, setDarkTheme] = useState(localStorage.getItem('theme') === 'dark' ? true : false); + const [animationAction, setAnimationAction] = useState(false); + const [chevronAnim, setChevronAnim] = useState(false); - const accountClickHandler = useCallback(() => { - setAccountDropdownOn(!isAccountDropdownOn); + const toggleAccountDropdown = useCallback(() => { + useAnimation(isAccountDropdownOn, setAccountDropdownOn, setAnimationAction, 300); + setChevronAnim(!chevronAnim); }, [setAccountDropdownOn, isAccountDropdownOn]); - const hideAccountDropdown = useCallback(() => { - setAccountDropdownOn(false); - }, [setAccountDropdownOn]); - - const faqClickHandler = useCallback(() => { - setFaqDropdownOn(!isFaqDropdownOn); + const toggleFaqDropdown = useCallback(() => { + useAnimation(isFaqDropdownOn, setFaqDropdownOn, setAnimationAction, 300); }, [setFaqDropdownOn, isFaqDropdownOn]); - const hideFaqDropdown = useCallback(() => { - setFaqDropdownOn(false); - }, [setFaqDropdownOn]); - const toggleDarkTheme = () => { if (localStorage.getItem('theme') === 'dark') { document.documentElement.removeAttribute('data-theme'); @@ -70,79 +66,88 @@ const TopBar = (props: TopBarProps & ConnectedProps) => {
- +
- {isFaqDropdownOn && ( - - {props.user.name && (
-
+
{props.user.name}
-
+
- {isAccountDropdownOn && ( - - )}

twjp8|9|mvkj8R|Xge!h5IPP&Xx~Ke1 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 YI=KwrnZl~L%4@hIrz%?_Z4&x_0RO{LUH||9 literal 88156 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⪙u>noGaX^~nqusNJg>8&O^fNPTduwm^zfj-*<6 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 z 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 diff --git a/docs/static/img/ui/controlCenterConnectorsDemo.png b/docs/static/img/ui/controlCenterConnectorsDemo.png deleted file mode 100644 index 7ec8c735b8d0a40a313d3b06a1c89e444ab9be3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73816 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/ui/ui.png b/docs/static/img/ui/ui.png new file mode 100644 index 0000000000000000000000000000000000000000..e8212defc3b3ca6d6f4db4a82de9516f9920eb52 GIT binary patch literal 30858 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⋙vFywUSw)te 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 e53&E{k4Z9 Date: Fri, 29 Apr 2022 15:20:09 +0200 Subject: [PATCH 08/30] [#3073] show available conversation for same contact (#3107) * contacts conversation wip * finished conv for contacts --- .../ContactDetails/index.module.scss | 30 +++++ .../ContactDetails/index.tsx | 127 ++++++++++++------ infrastructure/helm-chart/BUILD | 4 +- .../charts/ingress-controller/BUILD | 5 +- .../prerequisites/charts/beanstalkd/BUILD | 7 +- .../charts/prerequisites/charts/kafka/BUILD | 7 +- .../helm-chart/charts/tools/charts/akhq/BUILD | 7 +- .../charts/tools/charts/kafka-connect/BUILD | 7 +- .../general/ConnectorAvatar/index.module.scss | 15 +++ .../general/ConnectorAvatar/index.tsx | 52 +++++++ lib/typescript/components/general/index.ts | 1 + 11 files changed, 201 insertions(+), 61 deletions(-) create mode 100644 lib/typescript/components/general/ConnectorAvatar/index.module.scss create mode 100644 lib/typescript/components/general/ConnectorAvatar/index.tsx diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss index b8b4abaada..b9110baa22 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.module.scss @@ -106,3 +106,33 @@ fill: var(--color-text-contrast); overflow: visible; } + +.contactConversationList { + position: absolute; + bottom: 40px; + display: flex; + flex-direction: column; + + .iconsContainer { + display: flex; + flex-wrap: wrap; + } + + span { + @include font-s-bold; + display: inline-block; + } + + button { + width: 40px; + border: none; + background: transparent; + margin-top: 5px; + opacity: 1; + transition: opacity 0.25s ease; + + &:hover { + opacity: 0.3; + } + } +} diff --git a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.tsx b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.tsx index a6e4cd4d96..e84ee44386 100644 --- a/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.tsx +++ b/frontend/inbox/src/pages/Inbox/Messenger/ConversationMetadata/ContactDetails/index.tsx @@ -4,10 +4,12 @@ import {getContactDetails, updateContactDetails} from '../../../../../actions'; import {StateModel} from '../../../../../reducers'; import {getInfoDetailsPayload, fillContactInfo} from './util'; import {UpdateContactDetailsRequestPayload} from 'httpclient/src'; -import {Contact} from 'model'; +import {Contact, Source} from 'model'; import {ContactInfoPoint} from './ContactInfoPoint'; import {Expandable} from './Expandable'; -import {Button} from 'components'; +import {Button, ConnectorAvatar} from 'components'; +import {Link} from 'react-router-dom'; +import {INBOX_CONVERSATIONS_ROUTE} from '../../../../../routes/routes'; import styles from './index.module.scss'; import {cyContactSaveButton} from 'handles'; @@ -32,6 +34,11 @@ type ContactDetailsProps = { getIsExpanded: (isExpanded: boolean) => void; } & ConnectedProps; +interface ConversationInfoForContact { + id: string; + connector: string; +} + const ContactDetails = (props: ContactDetailsProps) => { const { conversationId, @@ -53,6 +60,8 @@ const ContactDetails = (props: ContactDetailsProps) => { const [organization, setOrganization] = useState('company name'); const [newContactCollapsed, setNewContactCollapsed] = useState(existingContact); const [existingContactCollapsed, setExistingContactCollapsed] = useState(existingContact); + const [conversationsForContact, setConversationsForContact] = useState([]); + const [areOthersConversationForContact, setAreOthersConversationForContact] = useState(false); const [expanded, setExpanded] = useState(false); const totalInfoPoints = 6; const visibleInfoPointsNewContact = 1; @@ -64,12 +73,15 @@ const ContactDetails = (props: ContactDetailsProps) => { useEffect(() => { getContactDetails(conversationId); setExpanded(false); + setAreOthersConversationForContact(false); + setConversationsForContact([]); }, [conversationId]); useEffect(() => { if (conversationId && contacts && contacts[conversationId]) { fillContactInfo(contacts[conversationId], setEmail, setPhone, setTitle, setAddress, setCity, setOrganization); updateContactType(contacts[conversationId]); + setConversationsForContact(formatConversationsForContact(contacts[conversationId].conversations)); } }, [contacts, conversationId]); @@ -84,6 +96,20 @@ const ContactDetails = (props: ContactDetailsProps) => { } }, [editingCanceled]); + const formatConversationsForContact = (convObj: {[key: string]: string}) => { + const conversationsForContactArr = []; + + for (const idProperty in convObj) { + if (idProperty !== conversationId) setAreOthersConversationForContact(true); + const convInfo = {} as ConversationInfoForContact; + convInfo.id = idProperty; + convInfo.connector = convObj[idProperty]; + conversationsForContactArr.push(convInfo); + } + + return conversationsForContactArr; + }; + const removeDefaultTextWhenEditing = () => { if (email === 'email') setEmail(''); if (phone === 'phone') setPhone(''); @@ -138,46 +164,69 @@ const ContactDetails = (props: ContactDetailsProps) => { }; return ( -