From 2308fdaa4ee94b73a0eb456b68ac77763b7272a4 Mon Sep 17 00:00:00 2001 From: Audrey Kadjar Date: Wed, 17 Aug 2022 11:42:56 +0200 Subject: [PATCH 01/42] [#3606] logo fix (#3607) * logo fix * fix --- .../src/pages/Catalog/CatalogItemDetails/index.module.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.module.scss b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.module.scss index 000468f7cb..8282442021 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.module.scss +++ b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.module.scss @@ -88,6 +88,7 @@ .logoIcon { width: 120px; height: 125px; + margin-bottom: 15px; display: flex; align-items: center; } @@ -95,7 +96,7 @@ .installButton { width: 100%; height: 50px; - margin-top: 10px; + margin-top: 15px; @include font-base; } From 4704f9047577a1795b3464eeb919edabd9145a38 Mon Sep 17 00:00:00 2001 From: ljupcovangelski Date: Thu, 18 Aug 2022 15:09:36 +0200 Subject: [PATCH 02/42] Bump version to 0.49.0-alpha --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a758a09aae..3744be55fd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.48.0 +0.49.0-alpha From 9aad4d650884c78405dc93a1511514cea37a39de Mon Sep 17 00:00:00 2001 From: Christoph Proeschel Date: Fri, 19 Aug 2022 13:53:13 +0200 Subject: [PATCH 03/42] [#3534] Whatsapp: Receive messages (#3614) --- .../co/airy/model/metadata/MetadataKeys.java | 1 + .../sources/facebook/EventsRouterTest.java | 2 +- .../sources/whatsapp/ChannelsController.java | 2 +- .../payload/ConnectChannelRequestPayload.java | 2 +- .../whatsapp/ChannelsControllerTest.java | 2 +- backend/sources/whatsapp/events-router/BUILD | 45 +++++ .../core/sources/whatsapp/EventsRouter.java | 156 ++++++++++++++++++ .../core/sources/whatsapp/MessageMapper.java | 77 +++++++++ .../airy/core/sources/whatsapp/dto/Event.java | 19 +++ .../core/sources/whatsapp/model/Value.java | 44 +++++ .../sources/whatsapp/model/WebhookEntry.java | 25 +++ .../sources/whatsapp/model/WebhookEvent.java | 18 ++ .../sources/whatsapp/EventsRouterTest.java | 130 +++++++++++++++ .../src/test/resources/image.json | 41 +++++ .../src/test/resources/status.json | 39 +++++ .../src/test/resources/test.properties | 4 + .../src/test/resources/text.json | 39 +++++ .../whatsapp/helm/templates/deployments.yaml | 8 - docs/docs/api/endpoints/connect-whatsapp.mdx | 4 +- docs/docs/concepts/release-process.md | 11 +- docs/docs/sources/whatsapp-cloud.md | 10 +- tools/build/npm/templates/deploy.py | 2 +- 22 files changed, 659 insertions(+), 22 deletions(-) create mode 100644 backend/sources/whatsapp/events-router/BUILD create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/EventsRouter.java create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/MessageMapper.java create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/dto/Event.java create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/Value.java create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEntry.java create mode 100644 backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEvent.java create mode 100644 backend/sources/whatsapp/events-router/src/test/java/co/airy/core/sources/whatsapp/EventsRouterTest.java create mode 100644 backend/sources/whatsapp/events-router/src/test/resources/image.json create mode 100644 backend/sources/whatsapp/events-router/src/test/resources/status.json create mode 100644 backend/sources/whatsapp/events-router/src/test/resources/test.properties create mode 100644 backend/sources/whatsapp/events-router/src/test/resources/text.json diff --git a/backend/model/metadata/src/main/java/co/airy/model/metadata/MetadataKeys.java b/backend/model/metadata/src/main/java/co/airy/model/metadata/MetadataKeys.java index ab4864179a..8b4937e7e8 100644 --- a/backend/model/metadata/src/main/java/co/airy/model/metadata/MetadataKeys.java +++ b/backend/model/metadata/src/main/java/co/airy/model/metadata/MetadataKeys.java @@ -51,6 +51,7 @@ public static class MessageKeys { public static class Source { public static final String ID = "source.id"; + // one of: delivered, seen public static final String DELIVERY_STATE = "source.delivery_state"; public static final String ERROR = "source.error"; } diff --git a/backend/sources/facebook/events-router/src/test/java/co/airy/core/sources/facebook/EventsRouterTest.java b/backend/sources/facebook/events-router/src/test/java/co/airy/core/sources/facebook/EventsRouterTest.java index 036dbd2908..da2b8edd53 100644 --- a/backend/sources/facebook/events-router/src/test/java/co/airy/core/sources/facebook/EventsRouterTest.java +++ b/backend/sources/facebook/events-router/src/test/java/co/airy/core/sources/facebook/EventsRouterTest.java @@ -89,7 +89,7 @@ void beforeEach() throws InterruptedException { // This tests simulates multiple users sending messages via multiple facebook pages // It ensures that we create the correct number of conversations and messages - //@Test + @Test void joinsAndCountsMessagesCorrectly() throws Exception { Random rand = new Random(); List pageIds = Arrays.asList("p1", "p2", "p3", "p4", "p5"); diff --git a/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/ChannelsController.java b/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/ChannelsController.java index c102518d35..00a5343c7e 100644 --- a/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/ChannelsController.java +++ b/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/ChannelsController.java @@ -38,7 +38,7 @@ public ChannelsController(Api api, Stores stores) { @PostMapping("/channels.whatsapp.connect") ResponseEntity connectWhatsapp(@RequestBody @Valid ConnectChannelRequestPayload payload) { final String token = payload.getUserToken(); - final String phoneNumber = payload.getPhoneNumber(); + final String phoneNumber = payload.getPhoneNumberId(); final String channelId = UUIDv5.fromNamespaceAndName("whatsapp", phoneNumber).toString(); diff --git a/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/payload/ConnectChannelRequestPayload.java b/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/payload/ConnectChannelRequestPayload.java index 3c4f533d94..d1f44ace0b 100644 --- a/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/payload/ConnectChannelRequestPayload.java +++ b/backend/sources/whatsapp/connector/src/main/java/co/airy/core/sources/whatsapp/payload/ConnectChannelRequestPayload.java @@ -13,7 +13,7 @@ @AllArgsConstructor public class ConnectChannelRequestPayload { @NotNull - private String phoneNumber; + private String phoneNumberId; @NotNull private String userToken; @NotNull diff --git a/backend/sources/whatsapp/connector/src/test/java/co/airy/core/sources/whatsapp/ChannelsControllerTest.java b/backend/sources/whatsapp/connector/src/test/java/co/airy/core/sources/whatsapp/ChannelsControllerTest.java index 53db9b8ce3..b6936b4050 100644 --- a/backend/sources/whatsapp/connector/src/test/java/co/airy/core/sources/whatsapp/ChannelsControllerTest.java +++ b/backend/sources/whatsapp/connector/src/test/java/co/airy/core/sources/whatsapp/ChannelsControllerTest.java @@ -98,7 +98,7 @@ void canConnectWhatsappChannel() throws Exception { final String channelName = "My customer support phone number"; final ConnectChannelRequestPayload connectPayload = ConnectChannelRequestPayload.builder() - .phoneNumber(phoneNumber) + .phoneNumberId(phoneNumber) .name(channelName) .userToken("user token") .build(); diff --git a/backend/sources/whatsapp/events-router/BUILD b/backend/sources/whatsapp/events-router/BUILD new file mode 100644 index 0000000000..9f6d4b50d5 --- /dev/null +++ b/backend/sources/whatsapp/events-router/BUILD @@ -0,0 +1,45 @@ +load("@com_github_airyhq_bazel_tools//lint:buildifier.bzl", "check_pkg") +load("//tools/build:springboot.bzl", "springboot") +load("//tools/build:junit5.bzl", "junit5") +load("//tools/build:container_release.bzl", "container_release") + +app_deps = [ + "//backend:base_app", + "//:springboot_actuator", + "//backend/model/channel", + "//backend/model/message", + "//backend/model/metadata", + "//lib/java/uuid", + "//lib/java/log", + "//lib/java/kafka/schema:source-whatsapp-events", + "//lib/java/spring/kafka/core:spring-kafka-core", + "//lib/java/spring/kafka/streams:spring-kafka-streams", +] + +springboot( + name = "events-router", + srcs = glob(["src/main/java/**/*.java"]), + main_class = "co.airy.spring.core.AirySpringBootApplication", + deps = app_deps, +) + +[ + junit5( + size = "medium", + file = file, + resources = glob(["src/test/resources/**/*"]), + deps = [ + ":app", + "//backend:base_test", + "//lib/java/kafka/test:kafka-test", + ] + app_deps, + ) + for file in glob(["src/test/java/**/*Test.java"]) +] + +container_release( + registry = "ghcr.io/airyhq/sources", + repository = "whatsapp-events-router", +) + +check_pkg(name = "buildifier") diff --git a/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/EventsRouter.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/EventsRouter.java new file mode 100644 index 0000000000..3e011ded19 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/EventsRouter.java @@ -0,0 +1,156 @@ +package co.airy.core.sources.whatsapp; + +import co.airy.avro.communication.Channel; +import co.airy.avro.communication.ChannelConnectionState; +import co.airy.avro.communication.Message; +import co.airy.avro.communication.Metadata; +import co.airy.core.sources.whatsapp.dto.Event; +import co.airy.core.sources.whatsapp.model.WebhookEntry.Change; +import co.airy.core.sources.whatsapp.model.WebhookEvent; +import co.airy.kafka.schema.application.ApplicationCommunicationChannels; +import co.airy.kafka.schema.application.ApplicationCommunicationMessages; +import co.airy.kafka.schema.application.ApplicationCommunicationMetadata; +import co.airy.kafka.schema.source.SourceWhatsappEvents; +import co.airy.kafka.streams.KafkaStreamsWrapper; +import co.airy.log.AiryLoggerFactory; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.avro.specific.SpecificRecordBase; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.streams.KafkaStreams; +import org.apache.kafka.streams.KeyValue; +import org.apache.kafka.streams.StreamsBuilder; +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; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toList; + +@Component +public class EventsRouter implements HealthIndicator, DisposableBean, ApplicationListener { + private static final Logger log = AiryLoggerFactory.getLogger(EventsRouter.class); + + private final String metadataStore = "metadata-store"; + private final KafkaStreamsWrapper streams; + private final ObjectMapper objectMapper; + private final MessageMapper messageMapper; + private final KafkaProducer kafkaProducer; + + EventsRouter(KafkaStreamsWrapper streams, ObjectMapper objectMapper, MessageMapper messageMapper, KafkaProducer kafkaProducer) { + this.streams = streams; + this.objectMapper = objectMapper; + this.messageMapper = messageMapper; + this.kafkaProducer = kafkaProducer; + } + + private static final String appId = "sources.whatsapp.EventsRouter"; + + private final String applicationCommunicationMetadata = new ApplicationCommunicationMetadata().name(); + private final String applicationCommunicationMessages = new ApplicationCommunicationMessages().name(); + + + public void startStream() { + final StreamsBuilder builder = new StreamsBuilder(); + + // Channels table + KTable channelsTable = builder.stream(new ApplicationCommunicationChannels().name()) + .groupBy((k, v) -> v.getSourceChannelId()) + .reduce((aggValue, newValue) -> newValue) + .filter((sourceChannelId, channel) -> "whatsapp".equals(channel.getSource()) + && channel.getConnectionState().equals(ChannelConnectionState.CONNECTED)); + + builder.stream(new SourceWhatsappEvents().name()) + .flatMap((key, event) -> { + WebhookEvent webhookEvent; + try { + webhookEvent = objectMapper.readValue(event, WebhookEvent.class); + if (webhookEvent.getEntries() == null) { + log.warn("empty entries. key={} event={}", key, event); + return Collections.emptyList(); + } + } catch (Exception e) { + log.warn("error in record. key={} event={} e={}", key, event, e.toString()); + return Collections.emptyList(); + } + + return webhookEvent.getEntries() + .stream() + .flatMap(entry -> { + final List changes = entry.getChanges(); + + if (changes == null) { + return Stream.empty(); + } + + return changes.stream().map(change -> { + try { + final String sourceChannelId = change.getValue().getMetadata().getPhoneNumberId(); + return KeyValue.pair(sourceChannelId, Event.builder().payload(change).build() + ); + } catch (Exception e) { + log.warn("Skipping whatsapp error for record " + entry, e); + return null; + } + }); + }) + .filter(Objects::nonNull) + .collect(toList()); + }) + .join(channelsTable, (event, channel) -> event.toBuilder().channel(channel).build()) + .flatMap((sourceChannelId, event) -> { + try { + return messageMapper.getRecords(event); + } catch (Exception e) { + log.warn("skip whatsapp record for error: " + event.toString(), e); + return List.of(); + } + }) + .to((recordId, record, context) -> { + if (record instanceof Metadata) { + return applicationCommunicationMetadata; + } + if (record instanceof Message) { + return applicationCommunicationMessages; + } + + throw new IllegalStateException("Unknown type for record " + record); + }); + + + streams.start(builder.build(), appId); + } + + @Override + public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { + startStream(); + } + + @Override + public void destroy() { + if (streams != null) { + streams.close(); + } + } + + @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/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/MessageMapper.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/MessageMapper.java new file mode 100644 index 0000000000..e2c643e0d7 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/MessageMapper.java @@ -0,0 +1,77 @@ +package co.airy.core.sources.whatsapp; + +import co.airy.avro.communication.Channel; +import co.airy.avro.communication.DeliveryState; +import co.airy.avro.communication.Message; +import co.airy.avro.communication.Metadata; +import co.airy.core.sources.whatsapp.dto.Event; +import co.airy.core.sources.whatsapp.model.Value; +import co.airy.core.sources.whatsapp.model.WebhookEntry; +import co.airy.log.AiryLoggerFactory; +import co.airy.model.metadata.MetadataKeys; +import co.airy.uuid.UUIDv5; +import com.fasterxml.jackson.databind.JsonNode; +import org.apache.avro.specific.SpecificRecordBase; +import org.apache.kafka.streams.KeyValue; +import org.slf4j.Logger; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static co.airy.model.metadata.MetadataRepository.getId; +import static co.airy.model.metadata.MetadataRepository.newConversationMetadata; + +@Component +public class MessageMapper { + private static final Logger log = AiryLoggerFactory.getLogger(MessageMapper.class); + + public List> getRecords(Event event) { + final WebhookEntry.Change change = event.getPayload(); + if(!"messages".equals(change.getField())) { + // TODO implement remaining fields + return List.of(); + } + + final Value value = change.getValue(); + + List> results = new ArrayList<>(); + for (Value.Contact contact : value.getContacts()) { + final String conversationId = getConversationId(event.getChannel(), contact.getWaId()); + final Metadata metadata = newConversationMetadata(conversationId, MetadataKeys.ConversationKeys.Contact.DISPLAY_NAME, contact.getProfile().getName()); + results.add(KeyValue.pair(getId(metadata).toString(), metadata)); + } + + for (JsonNode message : value.getMessages()) { + try { + final String sourceConversationId = message.get("from").textValue(); + final String conversationId = getConversationId(event.getChannel(), sourceConversationId); + final String id = message.get("id").textValue(); + final long timestamp = message.get("timestamp").asLong() * 1000; + + final Message airyMessage = Message.newBuilder() + .setChannelId(event.getChannel().getId()) + .setContent(message.toString()) + .setHeaders(Map.of()) + .setId(UUIDv5.fromName(id).toString()) + .setConversationId(conversationId) + .setIsFromContact(true) + .setDeliveryState(DeliveryState.DELIVERED) + .setSenderId(sourceConversationId) + .setSource("whatsapp") + .setSentAt(timestamp) + .build(); + results.add(KeyValue.pair(airyMessage.getId(), airyMessage)); + } catch (Exception e) { + log.error("Error mapping message", e); + } + } + + return results; + } + + private String getConversationId(Channel channel, String sourceConversationId) { + return UUIDv5.fromNamespaceAndName(channel.getId(), sourceConversationId).toString(); + } +} diff --git a/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/dto/Event.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/dto/Event.java new file mode 100644 index 0000000000..a5501bbbaf --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/dto/Event.java @@ -0,0 +1,19 @@ +package co.airy.core.sources.whatsapp.dto; + +import co.airy.avro.communication.Channel; +import co.airy.core.sources.whatsapp.model.WebhookEntry; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder(toBuilder = true) +public class Event implements Serializable { + private WebhookEntry.Change payload; + private Channel channel; +} diff --git a/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/Value.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/Value.java new file mode 100644 index 0000000000..93924815fa --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/Value.java @@ -0,0 +1,44 @@ +package co.airy.core.sources.whatsapp.model; + +import com.fasterxml.jackson.databind.JsonNode; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +// See https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/payload-examples +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Value { + private String messagingProduct; + private Metadata metadata; + private List contacts; + private List messages; + + private JsonNode statuses; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Metadata { + private String displayPhoneNumber; + private String phoneNumberId; + } + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Contact { + private Profile profile; + private String waId; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Profile { + private String name; + } + } +} diff --git a/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEntry.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEntry.java new file mode 100644 index 0000000000..b312ada4d6 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEntry.java @@ -0,0 +1,25 @@ +package co.airy.core.sources.whatsapp.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class WebhookEntry { + // Whatsapp business account id + private String id; + private List changes; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Change { + private Value value; + private String field; + } +} + diff --git a/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEvent.java b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEvent.java new file mode 100644 index 0000000000..c9482634b8 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/main/java/co/airy/core/sources/whatsapp/model/WebhookEvent.java @@ -0,0 +1,18 @@ +package co.airy.core.sources.whatsapp.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class WebhookEvent { + private String object; + + @JsonProperty("entry") + private List entries; +} diff --git a/backend/sources/whatsapp/events-router/src/test/java/co/airy/core/sources/whatsapp/EventsRouterTest.java b/backend/sources/whatsapp/events-router/src/test/java/co/airy/core/sources/whatsapp/EventsRouterTest.java new file mode 100644 index 0000000000..877a453b88 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/test/java/co/airy/core/sources/whatsapp/EventsRouterTest.java @@ -0,0 +1,130 @@ +package co.airy.core.sources.whatsapp; + +import co.airy.avro.communication.Channel; +import co.airy.avro.communication.ChannelConnectionState; +import co.airy.avro.communication.Message; +import co.airy.avro.communication.Metadata; +import co.airy.kafka.schema.Topic; +import co.airy.kafka.schema.application.ApplicationCommunicationChannels; +import co.airy.kafka.schema.application.ApplicationCommunicationMessages; +import co.airy.kafka.schema.application.ApplicationCommunicationMetadata; +import co.airy.kafka.schema.source.SourceWhatsappEvents; +import co.airy.kafka.test.KafkaTestHelper; +import co.airy.kafka.test.junit.SharedKafkaTestResource; +import co.airy.model.metadata.MetadataKeys; +import co.airy.spring.core.AirySpringBootApplication; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.extension.RegisterExtension; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.util.StreamUtils; + +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +import static co.airy.test.Timing.retryOnException; +import static org.apache.kafka.streams.KafkaStreams.State.RUNNING; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.collection.IsCollectionWithSize.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@SpringBootTest(classes = AirySpringBootApplication.class) +@TestPropertySource(value = "classpath:test.properties") +@ExtendWith(SpringExtension.class) +class EventsRouterTest { + + @RegisterExtension + public static final SharedKafkaTestResource sharedKafkaTestResource = new SharedKafkaTestResource(); + private static KafkaTestHelper kafkaTestHelper; + + private static final Topic sourceWhatsappEvents = new SourceWhatsappEvents(); + private static final Topic applicationCommunicationChannels = new ApplicationCommunicationChannels(); + private static final Topic applicationCommunicationMessages = new ApplicationCommunicationMessages(); + private static final Topic applicationCommunicationMetadata = new ApplicationCommunicationMetadata(); + + @Autowired + private EventsRouter worker; + + @BeforeAll + static void beforeAll() throws Exception { + kafkaTestHelper = new KafkaTestHelper(sharedKafkaTestResource, + sourceWhatsappEvents, + applicationCommunicationChannels, + applicationCommunicationMessages, + applicationCommunicationMetadata + ); + + kafkaTestHelper.beforeAll(); + } + + @AfterAll + static void afterAll() throws Exception { + kafkaTestHelper.afterAll(); + } + + final String sourceChannelId = "103874789095437"; + final String channelId = "channel-id"; + boolean channelCreated = false; + + @BeforeEach + void beforeEach() throws Exception { + + retryOnException(() -> assertEquals(worker.getStreamState(), RUNNING), "Failed to reach RUNNING state."); + + if (!channelCreated) { + kafkaTestHelper.produceRecord(new ProducerRecord<>(applicationCommunicationChannels.name(), channelId, Channel.newBuilder() + .setId(channelId) + .setConnectionState(ChannelConnectionState.CONNECTED) + .setSourceChannelId(sourceChannelId) + .setSource("whatsapp") + .build())); + channelCreated = true; + TimeUnit.SECONDS.sleep(5); + } + } + + + @Test + void routesEvents() throws Exception { + routesMessage(); + } + + void routesMessage() throws Exception { + final String messagePayload = StreamUtils.copyToString(getClass().getClassLoader().getResourceAsStream("text.json"), StandardCharsets.UTF_8); + + kafkaTestHelper.produceRecord(new ProducerRecord<>(sourceWhatsappEvents.name(), UUID.randomUUID().toString(), String.format(messagePayload))); + + retryOnException(() -> { + List messages = kafkaTestHelper.consumeValues(1, applicationCommunicationMessages.name()); + assertThat(messages, hasSize(1)); + + final JsonNode jsonNode = new ObjectMapper().readTree(messagePayload); + final JsonNode messageNode = jsonNode.get("entry").get(0).get("changes").get(0).get("value").get("messages").get(0); + + Message message = messages.get(0); + assertThat(message.getIsFromContact(), equalTo(true)); + assertThat(message.getSource(), equalTo("whatsapp")); + assertThat(message.getSenderId(), equalTo(messageNode.get("from").asText())); + }, "message was not routed"); + + List metadataList = kafkaTestHelper.consumeValues(1, applicationCommunicationMetadata.name()); + assertThat(metadataList, hasSize(1)); + assertTrue(metadataList.stream().anyMatch((metadata -> + metadata.getKey().equals(MetadataKeys.ConversationKeys.Contact.DISPLAY_NAME) && + metadata.getValue().equals("Ada Lovelace") + ))); + } +} diff --git a/backend/sources/whatsapp/events-router/src/test/resources/image.json b/backend/sources/whatsapp/events-router/src/test/resources/image.json new file mode 100644 index 0000000000..94a95102de --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/test/resources/image.json @@ -0,0 +1,41 @@ +{ + "object": "whatsapp_business_account", + "entry": [ + { + "id": "103717885778113", + "changes": [ + { + "value": { + "messaging_product": "whatsapp", + "metadata": { + "display_phone_number": "15550798077", + "phone_number_id": "103874789095437" + }, + "contacts": [ + { + "profile": { + "name": "Ada Lovelace" + }, + "wa_id": "49157123456" + } + ], + "messages": [ + { + "from": "49157123456", + "id": "wamid.HBgNNDkxNTc4NjA4MTQ0MhUCABIYFDNBRkM3QjY0OTMyM0JCNkU2MzIyAA==", + "timestamp": "1660826619", + "type": "image", + "image": { + "mime_type": "image/jpeg", + "sha256": "b18othldU8OlRIUQZrb1vriXMXiJ0oOH+tN0RPYPcC0=", + "id": "646429513571185" + } + } + ] + }, + "field": "messages" + } + ] + } + ] +} diff --git a/backend/sources/whatsapp/events-router/src/test/resources/status.json b/backend/sources/whatsapp/events-router/src/test/resources/status.json new file mode 100644 index 0000000000..7c6f9ac0f6 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/test/resources/status.json @@ -0,0 +1,39 @@ +{ + "object": "whatsapp_business_account", + "entry": [ + { + "id": "103717885778113", + "changes": [ + { + "value": { + "messaging_product": "whatsapp", + "metadata": { + "display_phone_number": "15550798077", + "phone_number_id": "103874789095437" + }, + "statuses": [ + { + "id": "wamid.HBgNNDkxNTc4NjA4MTQ0MhUCABEYEjdERDI5QUUzODFDNDg1MTExNAA=", + "status": "delivered", + "timestamp": "1660833175", + "recipient_id": "49157123456", + "conversation": { + "id": "58f18321bfb9f5e431cee542b4b5f260", + "origin": { + "type": "business_initiated" + } + }, + "pricing": { + "billable": true, + "pricing_model": "CBP", + "category": "business_initiated" + } + } + ] + }, + "field": "messages" + } + ] + } + ] +} diff --git a/backend/sources/whatsapp/events-router/src/test/resources/test.properties b/backend/sources/whatsapp/events-router/src/test/resources/test.properties new file mode 100644 index 0000000000..6812f1158c --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/test/resources/test.properties @@ -0,0 +1,4 @@ +kafka.cleanup=true +kafka.commit-interval-ms=100 +whatsapp.app-id=12345 +logs.enabled=false diff --git a/backend/sources/whatsapp/events-router/src/test/resources/text.json b/backend/sources/whatsapp/events-router/src/test/resources/text.json new file mode 100644 index 0000000000..f74e5f4c12 --- /dev/null +++ b/backend/sources/whatsapp/events-router/src/test/resources/text.json @@ -0,0 +1,39 @@ +{ + "object": "whatsapp_business_account", + "entry": [ + { + "id": "103717885778113", + "changes": [ + { + "value": { + "messaging_product": "whatsapp", + "metadata": { + "display_phone_number": "15550798077", + "phone_number_id": "103874789095437" + }, + "contacts": [ + { + "profile": { + "name": "Ada Lovelace" + }, + "wa_id": "49157123456" + } + ], + "messages": [ + { + "from": "49157123456", + "id": "wamid.HBgNNDkxNTc4NjA4MTQ0MhUCABIYFDNFQjBENUJBMzUyRjg5OURGMTkyAA==", + "timestamp": "1660823417", + "text": { + "body": "Hello world" + }, + "type": "text" + } + ] + }, + "field": "messages" + } + ] + } + ] +} diff --git a/backend/sources/whatsapp/helm/templates/deployments.yaml b/backend/sources/whatsapp/helm/templates/deployments.yaml index d49b8054d3..a6289c8869 100644 --- a/backend/sources/whatsapp/helm/templates/deployments.yaml +++ b/backend/sources/whatsapp/helm/templates/deployments.yaml @@ -96,14 +96,6 @@ spec: envFrom: - configMapRef: name: kafka-config - env: - - name: WHATSAPP_APP_ID - valueFrom: - configMapKeyRef: - name: "{{ .Values.name }}" - key: appId - - name: SERVICE_NAME - value: whatsapp-events-router livenessProbe: tcpSocket: port: 6000 diff --git a/docs/docs/api/endpoints/connect-whatsapp.mdx b/docs/docs/api/endpoints/connect-whatsapp.mdx index c385698c37..4f1eea4368 100644 --- a/docs/docs/api/endpoints/connect-whatsapp.mdx +++ b/docs/docs/api/endpoints/connect-whatsapp.mdx @@ -4,7 +4,7 @@ Connects a Whatsapp cloud phone number to Airy. POST /channels.whatsapp.connect ``` -- `phone_number` the whatsapp phone number connected to your business account +- `phone_number_id` the whatsapp phone number connected to your business account - `user_token` your user access token - `name` is the custom name for the connected page - `image_url` is a custom image url for displaying this channel on the UI @@ -13,7 +13,7 @@ POST /channels.whatsapp.connect ```json5 { - "phone_number": "1234567", + "phone_number_id": "1234567", "user_token": "user access token", "name": "Customer support hotline", "image_url": "https://example.org/custom-image.jpg" // optional diff --git a/docs/docs/concepts/release-process.md b/docs/docs/concepts/release-process.md index 3ef28c666b..15d541eb21 100644 --- a/docs/docs/concepts/release-process.md +++ b/docs/docs/concepts/release-process.md @@ -47,13 +47,14 @@ You can check out existing releases on ## Hotfix release -In case we need to hotfix a release, we follow a different process. At the -moment, the process is completely manual and goes as follows: +In case we need to hotfix a release, we follow a different process. +At the moment, the process is completely manual and goes as follows: - Create a new branch from `main` called `hotfix/description-of-the-fix` - Test the hotfix -- Update the changelog -- Update VERSION file -- Merge to `main` _and_ `develop` (do not alter the VERSION file in `develop`) - Write a custom release draft +- Update the changelog (using `./scripts/changelog_md.sh`) +- Update `VERSION` file +- Merge to `main` _and_ `develop` (keep the VERSION file in `develop` at `*-alpha`) - Publish the draft +- Announce the hotfix diff --git a/docs/docs/sources/whatsapp-cloud.md b/docs/docs/sources/whatsapp-cloud.md index f7ffc9a9df..7861d60b0a 100644 --- a/docs/docs/sources/whatsapp-cloud.md +++ b/docs/docs/sources/whatsapp-cloud.md @@ -53,7 +53,7 @@ At the end of which you should have the following: 1. A meta developer account and a business account 2. A meta app with Whatsapp connected as a product -3. A Whatsapp test phone number +3. A Whatsapp test phone number id After you also complete step 2 you have now verified that you can send messages from that test phone number to. @@ -100,7 +100,13 @@ Note down the `webhook_secret` and use it when registering your webhook. ## Step 4: Connect the webhook -TBD +In order to be able to receive messages from Whatsapp your Airy instance needs to be accessible from the internet. +Go to the Whatsapp product section of your Meta app and click on the "Configuration" section. +Here you need to set the URL to `https:///whatsapp` and the secret to the value you noted down earlier. +When clicking "Verify and Save" the connection will be tested so that you can be sure that everything is working. + +Next select the fields that you want to subscribe to. +You need to select at least `messages` and a version of `14.0` or higher. ## Step 5: Connect a phone number to Airy diff --git a/tools/build/npm/templates/deploy.py b/tools/build/npm/templates/deploy.py index 50c7f0e180..fbfd3982ed 100644 --- a/tools/build/npm/templates/deploy.py +++ b/tools/build/npm/templates/deploy.py @@ -43,7 +43,7 @@ npm_registry = npm_repositories[repo_type] -npm_token = os.getenv('DEPLOY_NPM_EMAIL') +npm_token = os.getenv('DEPLOY_NPM_TOKEN') if not npm_token: raise Exception( From 7357a742ff6076c8eafc1ba56e0b0811030aff01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 15:54:53 +0200 Subject: [PATCH 04/42] Bump @types/node from 18.7.4 to 18.7.9 (#3618) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.4 to 18.7.9. - [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] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 28940557c3..ae8614b63d 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@testing-library/react": "13.3.0", "@types/dom-mediacapture-record": "^1.0.11", "@types/lodash-es": "^4.17.6", - "@types/node": "18.7.4", + "@types/node": "18.7.9", "@types/react": "18.0.17", "@types/react-dom": "18.0.6", "@types/react-redux": "7.1.24", diff --git a/yarn.lock b/yarn.lock index 54c5e0c8a9..73f6bdf6d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1969,10 +1969,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@18.7.4": - version "18.7.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.4.tgz#95baa50846ae112a7376869d49fec23b2506c69d" - integrity sha512-RzRcw8c0B8LzryWOR4Wj7YOTFXvdYKwvrb6xQQyuDfnlTxwYXGCV5RZ/TEbq5L5kn+w3rliHAUyRcG1RtbmTFg== +"@types/node@*", "@types/node@18.7.9": + version "18.7.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.9.tgz#180bfc495c91dc62573967edf047e15dbdce1491" + integrity sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ== "@types/node@^14.14.31": version "14.18.18" From e1f9f5719ae4ada74d271172520e53f5a21a4a61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:15:55 +0200 Subject: [PATCH 05/42] Bump sass from 1.54.4 to 1.54.5 (#3621) Bumps [sass](https://github.com/sass/dart-sass) from 1.54.4 to 1.54.5. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.54.4...1.54.5) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ae8614b63d..6e3ee5a174 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "prettier": "^2.7.1", "react-hot-loader": "^4.13.0", "react-test-renderer": "^18.2.0", - "sass": "^1.54.4", + "sass": "^1.54.5", "sass-loader": "^13.0.2", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.4", diff --git a/yarn.lock b/yarn.lock index 73f6bdf6d6..c4ca501f5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7342,10 +7342,10 @@ sass-loader@^13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@^1.54.4: - version "1.54.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" - integrity sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA== +sass@^1.54.5: + version "1.54.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.5.tgz#93708f5560784f6ff2eab8542ade021a4a947b3a" + integrity sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 7b9dffc1f3e7eecc85e819d80d004623444163a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:42:04 +0200 Subject: [PATCH 06/42] Bump i18next from 21.9.0 to 21.9.1 (#3626) Bumps [i18next](https://github.com/i18next/i18next) from 21.9.0 to 21.9.1. - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v21.9.0...v21.9.1) --- updated-dependencies: - dependency-name: i18next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6e3ee5a174..4795a1ecce 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "core-js": "3.24.1", "emoji-mart": "^5.2.1", "form-data": "^4.0.0", - "i18next": "^21.9.0", + "i18next": "^21.9.1", "isomorphic-fetch": "^3.0.0", "linkify-react": "^3.0.4", "linkifyjs": "^3.0.5", diff --git a/yarn.lock b/yarn.lock index c4ca501f5b..0a83aa617c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4782,10 +4782,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -i18next@^21.9.0: - version "21.9.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.9.0.tgz#b63ebb0d4e1b23709951ca4774dc19d2ffac9553" - integrity sha512-B+6/yd7rCpJidyPuBaEApUECx7G8Ai6+tqYhrChsY4MmQqJhG7qJ4eT6Lm1OnRhieVelEtfxh4aAQktdNVZtDA== +i18next@^21.9.1: + version "21.9.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.9.1.tgz#9e3428990f5b2cc9ac1b98dd025f3e411c368249" + integrity sha512-ITbDrAjbRR73spZAiu6+ex5WNlHRr1mY+acDi2ioTHuUiviJqSz269Le1xHAf0QaQ6GgIHResUhQNcxGwa/PhA== dependencies: "@babel/runtime" "^7.17.2" From 95d2908e4598fc36f2614557996b2fde9517c239 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 09:03:15 +0200 Subject: [PATCH 07/42] Bump webpack-bundle-analyzer from 4.5.0 to 4.6.1 (#3628) Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.5.0 to 4.6.1. - [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases) - [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.5.0...v4.6.1) --- updated-dependencies: - dependency-name: webpack-bundle-analyzer dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4795a1ecce..f90e451452 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "typescript": "^4.7.4", "url-loader": "^4.1.1", "webpack": "^5.74.0", - "webpack-bundle-analyzer": "^4.5.0", + "webpack-bundle-analyzer": "^4.6.1", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.10.0" }, diff --git a/yarn.lock b/yarn.lock index 0a83aa617c..91be256c84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8410,10 +8410,10 @@ webidl-conversions@^7.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== -webpack-bundle-analyzer@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz#1b0eea2947e73528754a6f9af3e91b2b6e0f79d5" - integrity sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ== +webpack-bundle-analyzer@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz#bee2ee05f4ba4ed430e4831a319126bb4ed9f5a6" + integrity sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw== dependencies: acorn "^8.0.4" acorn-walk "^8.0.0" From 4b2ea0c1b261139c164bf431863900b6b81958b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 09:03:33 +0200 Subject: [PATCH 08/42] Bump cypress from 10.4.0 to 10.6.0 (#3627) Bumps [cypress](https://github.com/cypress-io/cypress) from 10.4.0 to 10.6.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js) - [Commits](https://github.com/cypress-io/cypress/compare/v10.4.0...v10.6.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f90e451452..c35768ef1b 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "babel-loader": "^8.2.5", "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.1", - "cypress": "10.4.0", + "cypress": "10.6.0", "dotenv-webpack": "^8.0.0", "eslint": "^7.32.0", "eslint-plugin-react": "^7.30.1", diff --git a/yarn.lock b/yarn.lock index 91be256c84..23dbc59044 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3375,10 +3375,10 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== -cypress@10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.4.0.tgz#bb5b3b6588ad49eff172fecf5778cc0da2980e4e" - integrity sha512-OM7F8MRE01SHQRVVzunid1ZK1m90XTxYnl+7uZfIrB4CYqUDCrZEeSyCXzIbsS6qcaijVCAhqDL60SxG8N6hew== +cypress@10.6.0: + version "10.6.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.6.0.tgz#13f46867febf2c3715874ed5dce9c2e946b175fe" + integrity sha512-6sOpHjostp8gcLO34p6r/Ci342lBs8S5z9/eb3ZCQ22w2cIhMWGUoGKkosabPBfKcvRS9BE4UxybBtlIs8gTQA== dependencies: "@cypress/request" "^2.88.10" "@cypress/xvfb" "^1.2.4" From cea6ca8538aad2730bc722d9bf4d50709038fd72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:11:07 +0200 Subject: [PATCH 09/42] Bump @reduxjs/toolkit from 1.8.4 to 1.8.5 (#3630) Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 1.8.4 to 1.8.5. - [Release notes](https://github.com/reduxjs/redux-toolkit/releases) - [Commits](https://github.com/reduxjs/redux-toolkit/compare/v1.8.4...v1.8.5) --- updated-dependencies: - dependency-name: "@reduxjs/toolkit" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c35768ef1b..b2341dc629 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@emoji-mart/data": "^1.0.5", "@emoji-mart/react": "^1.0.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", - "@reduxjs/toolkit": "^1.8.4", + "@reduxjs/toolkit": "^1.8.5", "@stomp/stompjs": "^6.1.2", "@testing-library/jest-dom": "^5.16.5", "@testing-library/user-event": "^14.4.3", diff --git a/yarn.lock b/yarn.lock index 23dbc59044..efdd22d59d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1524,10 +1524,10 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== -"@reduxjs/toolkit@^1.8.4": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.8.4.tgz#8f226acff22adf539d078b64fa2eafc3f8d1d045" - integrity sha512-IpFq1WI7sCYeLQpDCGvlcQY9wn70UpAM3cOLq78HRnVn1746RI+l3y5xcuOeVOxORaxABJh3cfJMxycD2IwH5w== +"@reduxjs/toolkit@^1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.8.5.tgz#c14bece03ee08be88467f22dc0ecf9cf875527cd" + integrity sha512-f4D5EXO7A7Xq35T0zRbWq5kJQyXzzscnHKmjnu2+37B3rwHU6mX9PYlbfXdnxcY6P/7zfmjhgan0Z+yuOfeBmA== dependencies: immer "^9.0.7" redux "^4.1.2" From 690a2f91d952236d7115324ff260f2624c6790b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:14:29 +0200 Subject: [PATCH 10/42] Bump @babel/core from 7.18.10 to 7.18.13 (#3629) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.10 to 7.18.13. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.18.13/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 56 ++++++++++++++++++++++++++-------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b2341dc629..8fa4d43bcb 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "typesafe-actions": "^5.1.0" }, "devDependencies": { - "@babel/core": "7.18.10", + "@babel/core": "7.18.13", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.18.9", "@babel/plugin-transform-spread": "^7.18.9", diff --git a/yarn.lock b/yarn.lock index efdd22d59d..ccee06af05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,33 +34,33 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@7.18.10", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.5": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" - integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== +"@babel/core@7.18.13", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.5": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" + integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" + "@babel/generator" "^7.18.13" "@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-module-transforms" "^7.18.9" "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.10" + "@babel/parser" "^7.18.13" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" + "@babel/traverse" "^7.18.13" + "@babel/types" "^7.18.13" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.18.10", "@babel/generator@^7.7.2": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" - integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== +"@babel/generator@^7.18.13", "@babel/generator@^7.7.2": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" + integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== dependencies: - "@babel/types" "^7.18.10" + "@babel/types" "^7.18.13" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -339,10 +339,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.11": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" + integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -1059,26 +1059,26 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" - integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== +"@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" + integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" + "@babel/generator" "^7.18.13" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.18.9" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.11" - "@babel/types" "^7.18.10" + "@babel/parser" "^7.18.13" + "@babel/types" "^7.18.13" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" - integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" + integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== dependencies: "@babel/helper-string-parser" "^7.18.10" "@babel/helper-validator-identifier" "^7.18.6" From f691a03e8525bf11a3b9eeb71150aaedb80761a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:18:04 +0200 Subject: [PATCH 11/42] Bump preact from 10.10.2 to 10.10.6 (#3620) Bumps [preact](https://github.com/preactjs/preact) from 10.10.2 to 10.10.6. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.10.2...10.10.6) --- updated-dependencies: - dependency-name: preact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8fa4d43bcb..1cfb15f166 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "linkify-react": "^3.0.4", "linkifyjs": "^3.0.5", "lodash-es": "^4.17.21", - "preact": "^10.10.2", + "preact": "^10.10.6", "react": "18.2.0", "react-autosize-textarea": "^7.1.0", "react-color": "^2.19.3", diff --git a/yarn.lock b/yarn.lock index ccee06af05..a1957cacfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6719,10 +6719,10 @@ postcss@^8.4.7: picocolors "^1.0.0" source-map-js "^1.0.2" -preact@^10.10.2: - version "10.10.2" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.10.2.tgz#3460d456d84c4701af33ac37e9bd3054271d5b1e" - integrity sha512-GUXSsfwq4NKhlLYY5ctfNE0IjFk7Xo4952yPI8yMkXdhzeQmQ+FahZITe7CeHXMPyKBVQ8SoCmGNIy9TSOdhgQ== +preact@^10.10.6: + version "10.10.6" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.10.6.tgz#1fe62aecf93974b64e6a42e09ba1f00f93207d14" + integrity sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog== prelude-ls@^1.2.1: version "1.2.1" From a11a3a08bf269c403d9c83df49f8bfa5c3e27cc2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:18:34 +0200 Subject: [PATCH 12/42] Bump terser-webpack-plugin from 5.3.4 to 5.3.5 (#3619) Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.4 to 5.3.5. - [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases) - [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.4...v5.3.5) --- updated-dependencies: - dependency-name: terser-webpack-plugin dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1cfb15f166..38af9632b0 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "sass": "^1.54.5", "sass-loader": "^13.0.2", "style-loader": "^3.3.1", - "terser-webpack-plugin": "^5.3.4", + "terser-webpack-plugin": "^5.3.5", "typescript": "^4.7.4", "url-loader": "^4.1.1", "webpack": "^5.74.0", diff --git a/yarn.lock b/yarn.lock index a1957cacfd..68dd0a866a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7882,10 +7882,10 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.4.tgz#f4d31e265883d20fda3ca9c0fc6a53f173ae62e3" - integrity sha512-SmnkUhBxLDcBfTIeaq+ZqJXLVEyXxSaNcCeSezECdKjfkMrTTnPvapBILylYwyEvHFZAn2cJ8dtiXel5XnfOfQ== +terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.5: + version "5.3.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz#f7d82286031f915a4f8fb81af4bd35d2e3c011bc" + integrity sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA== dependencies: "@jridgewell/trace-mapping" "^0.3.14" jest-worker "^27.4.5" From 5788031f4b507acebb154959a843af990c7e09d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:23:29 +0200 Subject: [PATCH 13/42] Bump dotenv-webpack from 8.0.0 to 8.0.1 (#3617) Bumps [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/mrsteele/dotenv-webpack/releases) - [Commits](https://github.com/mrsteele/dotenv-webpack/compare/v8.0.0...v8.0.1) --- updated-dependencies: - dependency-name: dotenv-webpack dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 38af9632b0..cb22be29a2 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.1", "cypress": "10.6.0", - "dotenv-webpack": "^8.0.0", + "dotenv-webpack": "^8.0.1", "eslint": "^7.32.0", "eslint-plugin-react": "^7.30.1", "file-loader": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 68dd0a866a..97c13f8d73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3664,10 +3664,10 @@ dotenv-defaults@^2.0.2: dependencies: dotenv "^8.2.0" -dotenv-webpack@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-8.0.0.tgz#bde8750eebda8fd1c6d7134f02bf56ad1f865772" - integrity sha512-vsWj11yWbIxLUPcQDbifCGW1+Mp03XfApFHJTC+/Ag9g3D/AnxoaVZcp76LpuBmReRwIJ+YO1fVdhmpzh+LL1A== +dotenv-webpack@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz#6656550460a8076fab20e5ac2eac867e72478645" + integrity sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w== dependencies: dotenv-defaults "^2.0.2" From 2a19152390889e6a9bd8722534dd95611047868a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 11:36:35 +0200 Subject: [PATCH 14/42] Bump @types/node from 18.7.9 to 18.7.11 (#3632) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.9 to 18.7.11. - [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] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cb22be29a2..0a3aba183e 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@testing-library/react": "13.3.0", "@types/dom-mediacapture-record": "^1.0.11", "@types/lodash-es": "^4.17.6", - "@types/node": "18.7.9", + "@types/node": "18.7.11", "@types/react": "18.0.17", "@types/react-dom": "18.0.6", "@types/react-redux": "7.1.24", diff --git a/yarn.lock b/yarn.lock index 97c13f8d73..15f22bd29e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1969,10 +1969,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@18.7.9": - version "18.7.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.9.tgz#180bfc495c91dc62573967edf047e15dbdce1491" - integrity sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ== +"@types/node@*", "@types/node@18.7.11": + version "18.7.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.11.tgz#486e72cfccde88da24e1f23ff1b7d8bfb64e6250" + integrity sha512-KZhFpSLlmK/sdocfSAjqPETTMd0ug6HIMIAwkwUpU79olnZdQtMxpQP+G1wDzCH7na+FltSIhbaZuKdwZ8RDrw== "@types/node@^14.14.31": version "14.18.18" From 953101ca59fa6140422f9a11bc7ce222241e8539 Mon Sep 17 00:00:00 2001 From: Audrey Kadjar Date: Tue, 23 Aug 2022 16:34:06 +0200 Subject: [PATCH 15/42] [#3634] Support whatsApp source in the render library (#3637) * fix inbox bug * removed logs and lint * fix message preview --- frontend/inbox/src/components/IconChannel/index.tsx | 5 +++++ lib/typescript/model/Source.ts | 1 + lib/typescript/render/SourceMessage.tsx | 5 ++++- lib/typescript/render/SourceMessagePreview.tsx | 9 ++++++++- lib/typescript/render/outbound/index.ts | 3 +++ lib/typescript/render/outbound/whatsapp.ts | 13 +++++++++++++ 6 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 lib/typescript/render/outbound/whatsapp.ts diff --git a/frontend/inbox/src/components/IconChannel/index.tsx b/frontend/inbox/src/components/IconChannel/index.tsx index edf173b8a1..509bfc8501 100644 --- a/frontend/inbox/src/components/IconChannel/index.tsx +++ b/frontend/inbox/src/components/IconChannel/index.tsx @@ -72,6 +72,11 @@ const SOURCE_INFO = { icon: () => , avatar: () => , }, + whatsapp: { + text: 'WhatsApp', + icon: () => , + avatar: () => , + }, unknown: { text: 'Unknown Source', icon: () => , diff --git a/lib/typescript/model/Source.ts b/lib/typescript/model/Source.ts index a766c4399b..112f950a6d 100644 --- a/lib/typescript/model/Source.ts +++ b/lib/typescript/model/Source.ts @@ -16,6 +16,7 @@ export enum Source { amelia = 'amelia', frontendinbox = 'frontendinbox', mobile = 'mobile', + whatsapp = 'whatsapp', } export const prettifySource = (source: string) => diff --git a/lib/typescript/render/SourceMessage.tsx b/lib/typescript/render/SourceMessage.tsx index 155d17f0c6..f6a5a3fac7 100644 --- a/lib/typescript/render/SourceMessage.tsx +++ b/lib/typescript/render/SourceMessage.tsx @@ -25,7 +25,10 @@ export class SourceMessage extends React.Component { if (message?.content) { - return <>{message.content.message?.text || message.content.text || message?.content?.Body}; + let text = + message?.content?.text?.body || message.content.message?.text || message.content.text || message?.content?.Body; + + if (typeof text !== 'string') { + text = JSON.stringify(text, null, 2); + } + + return <>{text}; } return
; }; diff --git a/lib/typescript/render/outbound/index.ts b/lib/typescript/render/outbound/index.ts index 944283e65f..7c1b0ed332 100644 --- a/lib/typescript/render/outbound/index.ts +++ b/lib/typescript/render/outbound/index.ts @@ -3,6 +3,7 @@ import {ChatpluginMapper} from './chatplugin'; import {GoogleMapper} from './google'; import {TwilioMapper} from './twilio'; import {ViberMapper} from './viber'; +import {WhatsAppMapper} from './whatsapp'; export const getOutboundMapper = (source: string) => { switch (source) { @@ -18,6 +19,8 @@ export const getOutboundMapper = (source: string) => { return new TwilioMapper(); case 'viber': return new ViberMapper(); + case 'whatsapp': + return new WhatsAppMapper(); default: { console.error('Unknown source ', source); } diff --git a/lib/typescript/render/outbound/whatsapp.ts b/lib/typescript/render/outbound/whatsapp.ts new file mode 100644 index 0000000000..4a39a52b19 --- /dev/null +++ b/lib/typescript/render/outbound/whatsapp.ts @@ -0,0 +1,13 @@ +import {OutboundMapper} from './mapper'; + +export class WhatsAppMapper extends OutboundMapper { + getTextPayload(text: string): any { + return { + Body: text, + }; + } + + isTextSupported(): boolean { + return true; + } +} From fbe5092cc10e011b934bdfb3c82ea646cd7c5a5c Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 23 Aug 2022 17:06:56 +0200 Subject: [PATCH 16/42] [#3609] Added catch for promises (#3636) --- .../src/actions/channel/index.ts | 7 +- .../src/components/InfoCard/index.tsx | 4 +- .../src/pages/Catalog/CatalogCard/index.tsx | 21 ++- .../Catalog/CatalogItemDetails/index.tsx | 32 ++-- .../ChannelsListItem/index.tsx | 12 +- .../ConnectedChannelsList/index.tsx | 3 +- .../ConnectorConfig/index.module.scss | 9 +- .../Connectors/ConnectorConfig/index.tsx | 91 +++++----- .../ChatPlugin/ChatPluginConnect.module.scss | 5 +- .../Airy/ChatPlugin/ChatPluginConnect.tsx | 29 +++- .../CreateUpdateSection.tsx | 44 +++-- .../CustomiseSection.module.scss | 1 - .../InputToggleSection/index.module.scss | 2 - .../Messenger/FacebookConnect.module.scss | 5 +- .../Facebook/Messenger/FacebookConnect.tsx | 72 +++++--- .../Google/GoogleConnect.module.scss | 5 +- .../Providers/Google/GoogleConnect.tsx | 57 ++++++- .../Instagram/InstagramConnect.module.scss | 5 +- .../Providers/Instagram/InstagramConnect.tsx | 69 +++++--- .../Providers/Twilio/SMS/TwilioSmsConnect.tsx | 11 +- .../Providers/Twilio/TwilioConnect.tsx | 80 +++++++-- .../Twilio/WhatsApp/TwilioWhatsappConnect.tsx | 10 +- .../src/pages/Connectors/index.tsx | 8 +- .../ChannelsList/ChannelListItem/index.tsx | 12 +- .../control-center/src/pages/Status/index.tsx | 16 +- .../src/pages/Webhooks/index.tsx | 5 +- .../src/reducers/data/channels/index.ts | 2 - frontend/inbox/src/App.tsx | 4 +- .../inbox/src/reducers/data/channels/index.ts | 2 - .../cta/SmartButton/index.module.scss | 156 ++++++++++++++++++ .../components/cta/SmartButton/index.tsx | 106 ++++++++++++ lib/typescript/components/cta/index.ts | 1 + .../components/general/Pagination/index.tsx | 8 +- lib/typescript/model/Notification.ts | 1 + lib/typescript/translations/translations.ts | 36 +++- 35 files changed, 699 insertions(+), 232 deletions(-) create mode 100644 lib/typescript/components/cta/SmartButton/index.module.scss create mode 100644 lib/typescript/components/cta/SmartButton/index.tsx diff --git a/frontend/control-center/src/actions/channel/index.ts b/frontend/control-center/src/actions/channel/index.ts index 544fb9a60e..9f28ba6248 100644 --- a/frontend/control-center/src/actions/channel/index.ts +++ b/frontend/control-center/src/actions/channel/index.ts @@ -17,22 +17,17 @@ import { import {HttpClientInstance} from '../../httpClient'; -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_CONNECTORS, (channels: Channel[]) => channels)< - Channel[] ->(); - 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)(); export const listChannels = () => async (dispatch: Dispatch) => HttpClientInstance.listChannels().then((response: Channel[]) => { - dispatch(setCurrentChannelsAction(response)); + dispatch(addChannelsAction(response)); return Promise.resolve(response); }); diff --git a/frontend/control-center/src/components/InfoCard/index.tsx b/frontend/control-center/src/components/InfoCard/index.tsx index a83ed921f7..8e9034c549 100644 --- a/frontend/control-center/src/components/InfoCard/index.tsx +++ b/frontend/control-center/src/components/InfoCard/index.tsx @@ -56,7 +56,9 @@ const InfoCard = (props: InfoCardProps) => { }; const confirmUninstall = () => { - uninstallComponent({name: `${sourceInfo.repository}/${sourceInfo.componentName}`}); + uninstallComponent({name: `${sourceInfo.repository}/${sourceInfo.componentName}`}).catch((error: Error) => { + console.error(error); + }); setIsModalVisible(false); toggleInstallation(); diff --git a/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx b/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx index 7012fc8c01..425566d0dd 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx @@ -2,7 +2,7 @@ import React, {useRef, useState} from 'react'; import {useNavigate} from 'react-router-dom'; import {ComponentInfo, getSourceForComponent, NotificationModel} from 'model'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; -import {Button, NotificationComponent, SettingsModal} from 'components'; +import {Button, NotificationComponent, SettingsModal, SmartButton} from 'components'; import {installComponent} from '../../../actions/catalog'; import {useTranslation} from 'react-i18next'; import {connect, ConnectedProps} from 'react-redux'; @@ -47,7 +47,7 @@ const CatalogCard = (props: CatalogCardProps) => { const {component, componentInfo, installComponent} = props; const isInstalled = component[componentInfo?.name]?.installed; const [isModalVisible, setIsModalVisible] = useState(false); - const [isInstalling, setIsInstalling] = useState(false); + const [isPending, setIsPending] = useState(false); const [notification, setNotification] = useState(null); const installButtonCard = useRef(null); const componentCard = useRef(null); @@ -58,7 +58,7 @@ const CatalogCard = (props: CatalogCardProps) => { const NEW_CHANNEL_ROUTE = getNewChannelRouteForComponent(componentInfo.displayName); const openInstallModal = () => { - setIsInstalling(true); + setIsPending(true); installComponent({name: componentInfo.name}) .then(() => { setNotification({show: true, successful: true, text: t('successfullyInstalled')}); @@ -68,7 +68,7 @@ const CatalogCard = (props: CatalogCardProps) => { setNotification({show: true, successful: false, text: t('failedInstall')}); }) .finally(() => { - setIsInstalling(false); + setIsPending(false); }); }; @@ -100,15 +100,18 @@ const CatalogCard = (props: CatalogCardProps) => { } return ( - + /> ); }; diff --git a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx index ba4d29b49c..3208130b58 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx @@ -3,7 +3,7 @@ import {Link, useNavigate, useLocation} from 'react-router-dom'; import {useTranslation} from 'react-i18next'; import {connect, ConnectedProps} from 'react-redux'; import {installComponent, uninstallComponent} from '../../../actions/catalog'; -import {ContentWrapper, Button, LinkButton, SettingsModal, NotificationComponent} from 'components'; +import {ContentWrapper, Button, LinkButton, SettingsModal, NotificationComponent, SmartButton} from 'components'; import {getChannelAvatar} from '../../../components/ChannelAvatar'; import {availabilityFormatted, DescriptionComponent, getDescriptionSourceName} from '../CatalogCard'; import {CATALOG_ROUTE} from '../../../routes/routes'; @@ -37,8 +37,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { const isInstalled = component[componentInfo?.name]?.installed; const [isModalVisible, setIsModalVisible] = useState(false); const [modal, setModal] = useState(null); - const [isInstalling, setIsInstalling] = useState(false); - const [isUninstalling, setIsUninstalling] = useState(false); + const [isPending, setIsPending] = useState(false); const [notification, setNotification] = useState(null); const {t} = useTranslation(); @@ -50,7 +49,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { const openModalInstall = () => { if (!isInstalled) { - setIsInstalling(true); + setIsPending(true); installComponent({name: componentInfo.name}) .then(() => { setModal({type: ModalType.install, title: installText}); @@ -61,7 +60,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { setNotification({show: true, successful: false, text: t('failedInstall')}); }) .finally(() => { - setIsInstalling(false); + setIsPending(false); }); } else { setModal({type: ModalType.uninstall, title: uninstallText}); @@ -74,7 +73,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { }; const confirmUninstall = () => { - setIsUninstalling(true); + setIsPending(true); setIsModalVisible(false); uninstallComponent({name: `${componentInfo.name}`}) .then(() => { @@ -84,7 +83,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { setNotification({show: true, successful: false, text: t('failedUninstall')}); }) .finally(() => { - setIsUninstalling(false); + setIsPending(false); }); }; @@ -124,20 +123,15 @@ const CatalogItemDetails = (props: ConnectedProps) => {
{getChannelAvatar(componentInfo?.displayName)}
- + className={styles.installButton} + />
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 1932f3e055..b0160ee1a6 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/ChannelsListItem/index.tsx @@ -40,10 +40,14 @@ const ChannelListItem = (props: ChannelListItemProps) => { }; const disconnectChannel = () => { - props.disconnectChannel({ - source: channel.source, - channelId: channel.id, - }); + props + .disconnectChannel({ + source: channel.source, + channelId: channel.id, + }) + .catch((error: Error) => { + console.error(error); + }); togglePopupVisibility(); }; diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx index 533e35f485..2823c23e6a 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx @@ -194,14 +194,13 @@ const ConnectedChannelsList = (props: ConnectedChannelsListProps) => {
)} - {areConnectedChannels && ( = listPageSize ? listPageSize : filteredChannels.length} currentPage={currentPage} - onPageChange={page => setCurrentPage(page)} + onPageChange={setCurrentPage} onSearch={searchText !== ''} /> )} diff --git a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss index cef7301382..95dae0111e 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss @@ -84,10 +84,17 @@ .textContainer { display: flex; - flex-direction: column; + flex-direction: row; + align-items: center; + justify-content: space-between; width: 100%; } +.componentTitleTextInfoContainer { + display: flex; + flex-direction: column; +} + .componentTitle { display: flex; align-items: center; diff --git a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx index 4f51ea11ea..4dfd38ccd9 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx @@ -2,7 +2,7 @@ import React, {useState, useEffect, useRef, useLayoutEffect} from 'react'; import {connect, ConnectedProps, useSelector} from 'react-redux'; import {Link, useParams} from 'react-router-dom'; import {getSourcesInfo, SourceInfo} from '../../../components/SourceInfo'; -import {Button, NotificationComponent, SettingsModal} from 'components'; +import {Button, NotificationComponent, SettingsModal, SmartButton} from 'components'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; import {StateModel} from '../../../reducers'; import { @@ -76,8 +76,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { const [configurationModal, setConfigurationModal] = useState(false); const [notification, setNotification] = useState(null); const [isEnabled, setIsEnabled] = useState(components[connectorInfo?.componentName]?.enabled); - const [isEnabling, setIsEnabling] = useState(false); - const [isDisabling, setIsDisabling] = useState(false); + const [isPending, setIsPending] = useState(false); const [isConfigured, setIsConfigured] = useState(false); const [lineTitle, setLineTitle] = useState(''); const [backTitle, setBackTitle] = useState('Connectors'); @@ -103,7 +102,9 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { }, [connectorInfo, connectorConfiguration]); useEffect(() => { - getConnectorsConfiguration(); + getConnectorsConfiguration().catch((error: Error) => { + console.error(error); + }); (source === Source.chatPlugin || connector === Source.chatPlugin) && setIsConfigured(true); const sourceInfoArr = getSourcesInfo(); const connectorSourceInfo = sourceInfoArr.filter(item => item.type === connector); @@ -199,11 +200,15 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { }; } - updateConnectorConfiguration(payload).then(() => { - if (!isEnabled) { - setConfigurationModal(true); - } - }); + updateConnectorConfiguration(payload) + .then(() => { + if (!isEnabled) { + setConfigurationModal(true); + } + }) + .catch((error: Error) => { + console.error(error); + }); }; const PageContent = () => { @@ -261,7 +266,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { const enableDisableComponentToggle = () => { setConfigurationModal(false); - isEnabled ? setIsDisabling(true) : setIsEnabling(true); + setIsPending(true); enableDisableComponent({components: [{name: connectorInfo && connectorInfo?.configKey, enabled: !isEnabled}]}) .then(() => { setNotification({ @@ -278,7 +283,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { }); }) .finally(() => { - isEnabled ? setIsDisabling(false) : setIsEnabling(false); + setIsPending(false); }); }; @@ -314,45 +319,41 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { > {connectorInfo && connectorInfo?.image} -
-
-

{connectorInfo && connectorInfo?.title}

- -
- -
-
- {connectorInfo &&

{connectorInfo?.description}

} - +
+

{connectorInfo && connectorInfo?.title}

+
- {isConfigured && ( - - )} +
+
+ {connectorInfo &&

{connectorInfo?.description}

} + +
+
+ + {isConfigured && ( + + )}
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 7fc9514c34..7784cfe177 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 @@ -7,12 +7,13 @@ display: block; border-radius: 10px; width: 100%; - height: calc(100vh - 88px); + height: 100%; } .container { display: flex; width: 100%; + overflow-x: hidden; } .headlineContainer { @@ -165,7 +166,7 @@ } .line { - width: 100%; + width: 200%; height: 1px; background: rgb(202, 213, 219); display: flex; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx index 6404a0f48c..d3cced6b63 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/ChatPluginConnect.tsx @@ -8,8 +8,8 @@ import {allChannels} from '../../../../../selectors/channels'; import {connectChatPlugin, updateChannel, disconnectChannel} from '../../../../../actions'; import {cyChannelCreatedChatPluginCloseButton} from 'handles'; -import {Button, LinkButton, SettingsModal} from 'components'; -import {Channel, Source} from 'model'; +import {Button, LinkButton, NotificationComponent, SettingsModal} from 'components'; +import {Channel, NotificationModel, Source} from 'model'; import {ConnectNewChatPlugin} from './sections/ConnectNewChatPlugin'; @@ -51,6 +51,7 @@ const ChatPluginConnect = (props: ConnectedProps) => { const [currentPage, setCurrentPage] = useState(channelId !== 'new' ? Pages.customization : Pages.createUpdate); const [showCreatedModal, setShowCreatedModal] = useState(false); const [currentChannelId, setCurrentChannelId] = useState(''); + const [notification, setNotification] = useState(null); const displayName = currentChannel?.metadata?.name || ''; const imageUrl = currentChannel?.metadata?.imageUrl || ''; const navigate = useNavigate(); @@ -68,12 +69,17 @@ const ChatPluginConnect = (props: ConnectedProps) => { .then((id: string) => { setCurrentChannelId(id); setShowCreatedModal(true); + }) + .catch((error: Error) => { + console.error(error); }); }; const disconnectChannel = (channel: Channel) => { if (window.confirm(t('deleteChannel'))) { - props.disconnectChannel({source: 'chatplugin', channelId: channel.id}); + props.disconnectChannel({source: 'chatplugin', channelId: channel.id}).catch((error: Error) => { + console.error(error); + }); } }; @@ -109,7 +115,14 @@ const ChatPluginConnect = (props: ConnectedProps) => { return ; } if (channelId?.length > 0) { - return ; + return ( + + ); } return ; case Pages.customization: @@ -217,6 +230,14 @@ const ChatPluginConnect = (props: ConnectedProps) => { )} + {notification?.show && ( + + )} ); }; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CreateUpdateSection/CreateUpdateSection.tsx b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CreateUpdateSection/CreateUpdateSection.tsx index 55f637bdfd..6d82886fa3 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CreateUpdateSection/CreateUpdateSection.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CreateUpdateSection/CreateUpdateSection.tsx @@ -1,14 +1,11 @@ -import React, {useState} from 'react'; -import {Button, Input} from 'components'; +import React, {Dispatch, SetStateAction, useState} from 'react'; +import {Input, SmartButton} from 'components'; import styles from './CreateUpdateSection.module.scss'; import {cyChannelsChatPluginFormNameInput} from 'handles'; import {useTranslation} from 'react-i18next'; import {updateChannel} from '../../../../../../../actions/channel'; import {connect, ConnectedProps} from 'react-redux'; -import {useNavigate} from 'react-router-dom'; -import {Channel} from 'model'; - -import {CONNECTORS_CONNECTED_ROUTE} from '../../../../../../../routes/routes'; +import {Channel, NotificationModel} from 'model'; const mapDispatchToProps = { updateChannel, @@ -20,21 +17,31 @@ type InstallUpdateSectionProps = { channel: Channel; displayName: string; imageUrl: string; + setNotification: Dispatch>; } & ConnectedProps; const CreateUpdateSection = (props: InstallUpdateSectionProps) => { - const {channel, displayName, imageUrl} = props; + const {channel, displayName, imageUrl, setNotification} = props; const [submit, setSubmit] = useState(false); const [newDisplayName, setNewDisplayName] = useState(displayName || channel?.metadata?.name); const [newImageUrl, setNewImageUrl] = useState(imageUrl || channel?.metadata?.imageUrl); + const [isPending, setIsPending] = useState(false); const {t} = useTranslation(); - const navigate = useNavigate(); - const CONNECTED_ROUTE = CONNECTORS_CONNECTED_ROUTE; const updateConnection = (displayName: string, imageUrl?: string) => { - props.updateChannel({channelId: channel.id, name: displayName, imageUrl: imageUrl}).then(() => { - navigate(CONNECTED_ROUTE + '/chatplugin', {replace: true}); - }); + setIsPending(true); + props + .updateChannel({channelId: channel.id, name: displayName, imageUrl: imageUrl}) + .then(() => { + setNotification({show: true, text: t('updateSuccessful'), successful: true}); + }) + .catch((error: Error) => { + setNotification({show: true, text: t('updateFailed'), successful: false}); + console.error(error); + }) + .finally(() => { + setIsPending(true); + }); }; return ( @@ -79,15 +86,16 @@ const CreateUpdateSection = (props: InstallUpdateSectionProps) => { fontClass="font-base" /> - + disabled={newDisplayName === '' || newDisplayName === displayName || isPending} + /> diff --git a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/CustomiseSection.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/CustomiseSection.module.scss index 5a04943f1a..231a492be1 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/CustomiseSection.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/CustomiseSection.module.scss @@ -147,7 +147,6 @@ .borderLine { height: 1px; - width: 80%; background-color: var(--color-light-gray); margin: 18px 0; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/InputToggleSection/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/InputToggleSection/index.module.scss index d39f1b2fa7..348283ca9b 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/InputToggleSection/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Airy/ChatPlugin/sections/CustomiseSection/InputToggleSection/index.module.scss @@ -7,7 +7,6 @@ display: flex; flex-direction: column; flex-wrap: wrap; - margin-right: 16px; label { white-space: nowrap; margin-right: 30px; @@ -32,7 +31,6 @@ .borderLine { height: 1px; - width: 80%; background-color: var(--color-light-gray); margin: 18px 0; } 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 6c877ccdc1..09a67df6f1 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 @@ -6,7 +6,7 @@ display: block; border-radius: 10px; width: 100%; - min-height: calc(100vh - 170px); + height: 100%; } .headline { @@ -40,10 +40,9 @@ flex-direction: column; margin-bottom: 32px; width: 474px; - margin-top: 16px; label { - margin-top: 24px; + height: 82px; } input { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx index 85cc77e151..3c5d39f498 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Facebook/Messenger/FacebookConnect.tsx @@ -1,17 +1,14 @@ import React, {useEffect, useState} from 'react'; import {useTranslation} from 'react-i18next'; import {connect, ConnectedProps} from 'react-redux'; - import {connectFacebookChannel} from '../../../../../actions/channel'; - -import {Button, Input} from 'components'; +import {Input, NotificationComponent, SmartButton} from 'components'; import {ConnectChannelFacebookRequestPayload} from 'httpclient/src'; - import styles from './FacebookConnect.module.scss'; - -import {CONNECTORS_CONNECTED_ROUTE} from '../../../../../routes/routes'; import {useCurrentChannel} from '../../../../../selectors/channels'; +import {NotificationModel} from 'model'; import {useNavigate} from 'react-router-dom'; +import {CONNECTORS_CONNECTED_ROUTE} from '../../../../../routes/routes'; const mapDispatchToProps = { connectFacebookChannel, @@ -28,21 +25,32 @@ const FacebookConnect = (props: ConnectedProps) => { const [token, setToken] = useState(channel?.metadata?.pageToken || ''); const [name, setName] = useState(channel?.metadata?.name || ''); const [image, setImage] = useState(channel?.metadata?.imageUrl || ''); - const [buttonTitle, setButtonTitle] = useState(t('connectPage') || ''); + const buttonTitle = channel ? t('updatePage') : t('connectPage') || ''; + const [newButtonTitle, setNewButtonTitle] = useState(''); const [errorMessage, setErrorMessage] = useState(''); + const [notification, setNotification] = useState(null); + const [isPending, setIsPending] = useState(false); - const CONNECTED_ROUTE = CONNECTORS_CONNECTED_ROUTE; + useEffect(() => { + if (channel?.sourceChannelId !== id && !!channel) { + setNotification({show: true, text: t('newChannelInfo'), info: true}); + setNewButtonTitle(t('connect')); + } else { + setNewButtonTitle(buttonTitle); + } + }, [id]); const buttonStatus = () => { - return !(id.length > 5 && token != ''); + return ( + !(id.length > 5 && token != '') || + (channel?.sourceChannelId === id && + channel?.metadata?.pageToken === token && + channel?.metadata?.name === name && + channel?.metadata?.imageUrl === image) || + image === '' + ); }; - useEffect(() => { - if (channel) { - setButtonTitle(t('updatePage')); - } - }, []); - const connectNewChannel = () => { const connectPayload: ConnectChannelFacebookRequestPayload = { pageId: id, @@ -57,12 +65,19 @@ const FacebookConnect = (props: ConnectedProps) => { }), }; + setIsPending(true); + connectFacebookChannel(connectPayload) .then(() => { - navigate(CONNECTED_ROUTE + '/facebook', {replace: true}); + navigate(CONNECTORS_CONNECTED_ROUTE + '/facebook', {replace: true}); }) - .catch(() => { + .catch((error: Error) => { + setNotification({show: true, text: t('updateFailed'), successful: false}); setErrorMessage(t('errorMessage')); + console.error(error); + }) + .finally(() => { + setIsPending(false); }); }; @@ -113,9 +128,26 @@ const FacebookConnect = (props: ConnectedProps) => { fontClass="font-base" /> - + connectNewChannel()} + /> + {notification?.show && ( + + )} ); }; 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 1ce9f4705f..e5bb21c9aa 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 @@ -6,7 +6,7 @@ display: block; border-radius: 10px; width: 100%; - min-height: calc(100vh - 170px); + height: 100%; } .headline { @@ -40,10 +40,9 @@ flex-direction: column; margin-bottom: 32px; width: 474px; - margin-top: 16px; label { - margin-top: 24px; + height: 82px; } input { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx index 61486fe0fe..04551826fe 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Google/GoogleConnect.tsx @@ -3,7 +3,7 @@ import {connect, ConnectedProps} from 'react-redux'; import {connectGoogleChannel} from '../../../../actions'; -import {Button, Input} from 'components'; +import {Input, NotificationComponent, SmartButton} from 'components'; import {ConnectChannelGoogleRequestPayload} from 'httpclient/src'; import styles from './GoogleConnect.module.scss'; @@ -12,6 +12,7 @@ import {CONNECTORS_CONNECTED_ROUTE} from '../../../../routes/routes'; import {useCurrentChannel} from '../../../../selectors/channels'; import {useNavigate} from 'react-router-dom'; import {useTranslation} from 'react-i18next'; +import {NotificationModel} from 'model'; const mapDispatchToProps = { connectGoogleChannel, @@ -27,22 +28,40 @@ const GoogleConnect = (props: ConnectedProps) => { const [id, setId] = useState(channel?.sourceChannelId || ''); const [name, setName] = useState(channel?.metadata?.name || ''); const [image, setImage] = useState(channel?.metadata?.imageUrl || ''); - const [buttonTitle, setButtonTitle] = useState(t('connectPage') || ''); + const buttonTitle = channel ? t('updatePage') : t('connectPage') || ''; const [errorMessage, setErrorMessage] = useState(''); + const [notification, setNotification] = useState(null); + const [isPending, setIsPending] = useState(false); + const [newButtonTitle, setNewButtonTitle] = useState(''); const CONNECTED_ROUTE = CONNECTORS_CONNECTED_ROUTE; const buttonStatus = () => { - return !(id.length > 5 && name.length > 0); + return ( + !(id.length > 5 && name.length > 0) || + (channel?.sourceChannelId === id && + channel?.metadata?.name === name && + (channel?.metadata?.imageUrl === image || image === '')) + ); }; + useEffect(() => { + if (channel?.sourceChannelId !== id && !!channel) { + setNotification({show: true, text: t('newChannelInfo'), info: true}); + setNewButtonTitle(t('connectPage')); + } else { + setNewButtonTitle(buttonTitle); + } + }, [id]); + useEffect(() => { if (channel) { - setButtonTitle(t('updatePage')); + setNewButtonTitle(t('updatePage')); } }, [channel]); const connectNewChannel = () => { + setIsPending(true); const connectPayload: ConnectChannelGoogleRequestPayload = { gmbId: id, name: name, @@ -56,8 +75,13 @@ const GoogleConnect = (props: ConnectedProps) => { .then(() => { navigate(CONNECTED_ROUTE + '/google', {replace: true}); }) - .catch(() => { + .catch((error: Error) => { + setNotification({show: true, text: t('updateFailed'), successful: false}); setErrorMessage(t('errorMessage')); + console.error(error); + }) + .finally(() => { + setIsPending(false); }); }; @@ -97,9 +121,26 @@ const GoogleConnect = (props: ConnectedProps) => { fontClass="font-base" /> - + connectNewChannel()} + /> + {notification?.show && ( + + )} ); }; 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 1ce9f4705f..e5bb21c9aa 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 @@ -6,7 +6,7 @@ display: block; border-radius: 10px; width: 100%; - min-height: calc(100vh - 170px); + height: 100%; } .headline { @@ -40,10 +40,9 @@ flex-direction: column; margin-bottom: 32px; width: 474px; - margin-top: 16px; label { - margin-top: 24px; + height: 82px; } input { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx index 09c89457f9..cb98947fa7 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Instagram/InstagramConnect.tsx @@ -1,17 +1,12 @@ import React, {useEffect, useState} from 'react'; import {connect, ConnectedProps} from 'react-redux'; - import {connectInstagramChannel} from '../../../../actions'; - -import {Button, Input} from 'components'; +import {Input, NotificationComponent, SmartButton} from 'components'; import {ConnectChannelInstagramRequestPayload} from 'httpclient/src'; - import styles from './InstagramConnect.module.scss'; - -import {CONNECTORS_CONNECTED_ROUTE} from '../../../../routes/routes'; import {useCurrentChannel} from '../../../../selectors/channels'; -import {useNavigate} from 'react-router-dom'; import {useTranslation} from 'react-i18next'; +import {NotificationModel} from 'model'; const mapDispatchToProps = { connectInstagramChannel, @@ -23,26 +18,36 @@ const InstagramConnect = (props: ConnectedProps) => { const {connectInstagramChannel} = props; const {t} = useTranslation(); const channel = useCurrentChannel(); - const navigate = useNavigate(); const [id, setId] = useState(channel?.metadata?.pageId || ''); const [token, setToken] = useState(channel?.metadata?.pageToken || ''); const [accountId, setAccountId] = useState(channel?.sourceChannelId || ''); const [name, setName] = useState(channel?.metadata?.name || ''); const [image, setImage] = useState(channel?.metadata?.imageUrl || ''); - const [buttonTitle, setButtonTitle] = useState(t('connectPage') || ''); + const buttonTitle = channel ? t('updatePage') : t('connectPage') || ''; const [errorMessage, setErrorMessage] = useState(''); - - const CONNECTED_ROUTE = CONNECTORS_CONNECTED_ROUTE; + const [notification, setNotification] = useState(null); + const [newButtonTitle, setNewButtonTitle] = useState(''); + const [isPending, setIsPending] = useState(false); const buttonStatus = () => { - return !(id.length > 5 && token != ''); + return ( + !(id.length > 5 && token != '') || + (channel?.sourceChannelId === id && + channel?.metadata?.pageToken === token && + channel?.metadata?.name === name && + channel?.metadata?.imageUrl === image) || + image === '' + ); }; useEffect(() => { - if (channel) { - setButtonTitle(t('updatePage')); + if (channel?.sourceChannelId !== id && !!channel) { + setNotification({show: true, text: t('newChannelInfo'), info: true}); + setNewButtonTitle(t('connectPage')); + } else { + setNewButtonTitle(buttonTitle); } - }, []); + }, [id]); const connectNewChannel = () => { const connectPayload: ConnectChannelInstagramRequestPayload = { @@ -59,12 +64,16 @@ const InstagramConnect = (props: ConnectedProps) => { }), }; + setIsPending(true); + connectInstagramChannel(connectPayload) - .then(() => { - navigate(CONNECTED_ROUTE + '/instagram', {replace: true}); - }) - .catch(() => { + .catch((error: Error) => { + setNotification({show: true, text: t('updateFailed'), successful: false}); setErrorMessage(t('errorMessage')); + console.error(error); + }) + .finally(() => { + setIsPending(false); }); }; @@ -126,9 +135,25 @@ const InstagramConnect = (props: ConnectedProps) => { fontClass="font-base" /> - + connectNewChannel()} + /> + {notification?.show && ( + + )} ); }; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx index e0ce76730e..8b6bdef896 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/SMS/TwilioSmsConnect.tsx @@ -1,4 +1,4 @@ -import React, {useState, useEffect} from 'react'; +import React, {useEffect} from 'react'; import {connect, ConnectedProps} from 'react-redux'; import {StateModel} from '../../../../../reducers'; @@ -19,14 +19,7 @@ const TwilioSmsConnect = (props: ConnectedProps) => { const {t} = useTranslation(); const {channelId} = useParams(); const channel = useCurrentChannel(); - - const [buttonTitle, setButtonTitle] = useState(t('connectSmsNumber') || ''); - - useEffect(() => { - if (channel) { - setButtonTitle(t('updateSmsNumber')); - } - }, []); + const buttonTitle = channel ? t('update') : t('connect') || ''; useEffect(() => { if (channelId !== 'new' && channelId?.length) { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx index f814bdb3f6..f0a3138c52 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/TwilioConnect.tsx @@ -1,10 +1,10 @@ -import React, {useState} from 'react'; +import React, {useEffect, useState} from 'react'; import {connect, ConnectedProps} from 'react-redux'; import {connectTwilioSms, connectTwilioWhatsapp} from '../../../../actions'; -import {Button, Input, UrlInputField} from 'components'; -import {Channel, Source} from 'model'; +import {Input, SmartButton, NotificationComponent, UrlInputField} from 'components'; +import {Channel, NotificationModel, Source} from 'model'; import styles from './TwilioConnect.module.scss'; @@ -32,9 +32,30 @@ const TwilioConnect = (props: TwilioConnectProps) => { const [numberInput, setNumberInput] = useState(channel?.sourceChannelId || ''); const [nameInput, setNameInput] = useState(channel?.metadata?.name || ''); const [imageUrlInput, setImageUrlInput] = useState(channel?.metadata?.imageUrl || ''); + const [notification, setNotification] = useState(null); + const [newButtonText, setNewButtonText] = useState(''); + const [isPending, setIsPending] = useState(false); + + useEffect(() => { + if (channel?.sourceChannelId !== numberInput && !!channel) { + setNotification({show: true, text: t('newChannelInfo'), info: true}); + setNewButtonText(t('connect')); + } else { + setNewButtonText(buttonText); + } + }, [numberInput]); const CONNECTED_ROUTE = CONNECTORS_CONNECTED_ROUTE; + const buttonStatus = () => { + return ( + numberInput.trim().length === 0 || + (channel?.sourceChannelId === numberInput && + channel?.metadata?.name === nameInput && + (channel?.metadata?.imageUrl === imageUrlInput || imageUrlInput === '')) + ); + }; + const handleNumberInput = (e: React.ChangeEvent): void => { setNumberInput(e.target.value); }; @@ -49,6 +70,7 @@ const TwilioConnect = (props: TwilioConnectProps) => { const connectTwilioChannel = (e: React.ChangeEvent) => { e.preventDefault(); + setIsPending(true); const connectPayload = { sourceChannelId: numberInput, @@ -57,17 +79,31 @@ const TwilioConnect = (props: TwilioConnectProps) => { }; if (source === Source.twilioWhatsApp) { - connectTwilioWhatsapp(connectPayload).then(() => { - navigate(CONNECTED_ROUTE + `/twilio.whatsapp/#`, { - replace: true, - state: {source: 'twilio.whatsapp'}, + connectTwilioWhatsapp(connectPayload) + .then(() => { + navigate(CONNECTED_ROUTE + `/twilio.whatsapp/#`, { + replace: true, + state: {source: 'twilio.whatsapp'}, + }); + }) + .catch((error: Error) => { + console.error(error); + }) + .finally(() => { + setIsPending(false); }); - }); } if (source === Source.twilioSMS) { - connectTwilioSms(connectPayload).then(() => { - navigate(CONNECTED_ROUTE + `/twilio.sms/#`, {replace: true, state: {source: 'twilio.sms'}}); - }); + connectTwilioSms(connectPayload) + .then(() => { + navigate(CONNECTED_ROUTE + `/twilio.sms/#`, {replace: true, state: {source: 'twilio.sms'}}); + }) + .catch((error: Error) => { + console.error(error); + }) + .finally(() => { + setIsPending(false); + }); } }; @@ -109,15 +145,27 @@ const TwilioConnect = (props: TwilioConnectProps) => { fontClass="font-base" /> - + /> + {notification?.show && ( + + )} ); diff --git a/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx index 5830e02fb0..5ac29eb77e 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Twilio/WhatsApp/TwilioWhatsappConnect.tsx @@ -1,4 +1,4 @@ -import React, {useState, useEffect} from 'react'; +import React, {useEffect} from 'react'; import {connect, ConnectedProps} from 'react-redux'; import {allChannels, useCurrentChannel} from '../../../../../selectors/channels'; @@ -19,13 +19,7 @@ const TwilioWhatsappConnect = (props: ConnectedProps) => { const {t} = useTranslation(); const channel = useCurrentChannel(); const {channelId} = useParams(); - const [buttonTitle, setButtonTitle] = useState(t('connectWhatsappNumber') || ''); - - useEffect(() => { - if (channel) { - setButtonTitle(t('updateWhatsappNumber')); - } - }, []); + const buttonTitle = channel ? t('update') : t('connect') || ''; useEffect(() => { if (channelId !== 'new') { diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx index 4d81a30be8..121909fcfe 100644 --- a/frontend/control-center/src/pages/Connectors/index.tsx +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -45,7 +45,9 @@ const Connectors = (props: ConnectedProps) => { useEffect(() => { setSourcesInfo(getSourcesInfo()); - getConnectorsConfiguration(); + getConnectorsConfiguration().catch((error: Error) => { + console.error(error); + }); if (Object.entries(catalogList).length === 0) listComponents().catch((error: Error) => { console.error(error); @@ -58,7 +60,9 @@ const Connectors = (props: ConnectedProps) => { useEffect(() => { if (channels.length === 0) { - listChannels(); + listChannels().catch((error: Error) => { + console.error(error); + }); } setPageTitle(pageTitle); }, [channels.length]); diff --git a/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx index 8a9edd3ca4..1f3a9419ad 100644 --- a/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx +++ b/frontend/control-center/src/pages/Inbox/ChannelsList/ChannelListItem/index.tsx @@ -38,10 +38,14 @@ const ChannelListItem = (props: ChannelListItemProps) => { }; const disconnectChannel = () => { - props.disconnectChannel({ - source: channel.source, - channelId: channel.id, - }); + props + .disconnectChannel({ + source: channel.source, + channelId: channel.id, + }) + .catch((error: Error) => { + console.error(error); + }); togglePopupVisibility(); }; diff --git a/frontend/control-center/src/pages/Status/index.tsx b/frontend/control-center/src/pages/Status/index.tsx index 908702d749..f17832d8aa 100644 --- a/frontend/control-center/src/pages/Status/index.tsx +++ b/frontend/control-center/src/pages/Status/index.tsx @@ -23,17 +23,25 @@ const Status = (props: ConnectedProps) => { useEffect(() => { setPageTitle('Status'); - getClientConfig(); - getConnectorsConfiguration(); + getClientConfig().catch((error: Error) => { + console.error(error); + }); + getConnectorsConfiguration().catch((error: Error) => { + console.error(error); + }); }, []); setInterval(() => { - props.getClientConfig(); + props.getClientConfig().catch((error: Error) => { + console.error(error); + }); setSpinAnim(!spinAnim); }, 300000); const handleRefresh = () => { - props.getClientConfig(); + props.getClientConfig().catch((error: Error) => { + console.error(error); + }); setSpinAnim(!spinAnim); }; diff --git a/frontend/control-center/src/pages/Webhooks/index.tsx b/frontend/control-center/src/pages/Webhooks/index.tsx index 74391b0714..fbda3cee18 100644 --- a/frontend/control-center/src/pages/Webhooks/index.tsx +++ b/frontend/control-center/src/pages/Webhooks/index.tsx @@ -41,7 +41,10 @@ const Webhooks = (props: WebhooksProps) => { }, []); useEffect(() => { - webhooks.length === 0 && listWebhooks(); + webhooks.length === 0 && + listWebhooks().catch((error: Error) => { + console.error(error); + }); }, [webhooks]); const handleNotification = (show: boolean, error: boolean) => { diff --git a/frontend/control-center/src/reducers/data/channels/index.ts b/frontend/control-center/src/reducers/data/channels/index.ts index 405db1bcbb..8f8bfef120 100644 --- a/frontend/control-center/src/reducers/data/channels/index.ts +++ b/frontend/control-center/src/reducers/data/channels/index.ts @@ -49,8 +49,6 @@ const channelsReducer = (state = {}, action: Action): ChannelsState => { metadata: merge({}, state[action.payload.identifier]?.metadata, action.payload.metadata), }, }; - case getType(actions.setCurrentChannelsAction): - return action.payload.reduce(setChannel, {}); case getType(actions.addChannelsAction): return action.payload.reduce(setChannel, state); case getType(actions.setChannelAction): diff --git a/frontend/inbox/src/App.tsx b/frontend/inbox/src/App.tsx index bb52760893..dae1f2a5a2 100644 --- a/frontend/inbox/src/App.tsx +++ b/frontend/inbox/src/App.tsx @@ -23,7 +23,9 @@ const connector = connect(null, mapDispatchToProps); const App = (props: ConnectedProps) => { useEffect(() => { - props.getClientConfig(); + props.getClientConfig().catch((error: Error) => { + console.error(error); + }); if (localStorage.getItem('theme') === 'dark') { document.documentElement.setAttribute('data-theme', 'dark'); } diff --git a/frontend/inbox/src/reducers/data/channels/index.ts b/frontend/inbox/src/reducers/data/channels/index.ts index 405db1bcbb..8f8bfef120 100644 --- a/frontend/inbox/src/reducers/data/channels/index.ts +++ b/frontend/inbox/src/reducers/data/channels/index.ts @@ -49,8 +49,6 @@ const channelsReducer = (state = {}, action: Action): ChannelsState => { metadata: merge({}, state[action.payload.identifier]?.metadata, action.payload.metadata), }, }; - case getType(actions.setCurrentChannelsAction): - return action.payload.reduce(setChannel, {}); case getType(actions.addChannelsAction): return action.payload.reduce(setChannel, state); case getType(actions.setChannelAction): diff --git a/lib/typescript/components/cta/SmartButton/index.module.scss b/lib/typescript/components/cta/SmartButton/index.module.scss new file mode 100644 index 0000000000..e59ca5e34e --- /dev/null +++ b/lib/typescript/components/cta/SmartButton/index.module.scss @@ -0,0 +1,156 @@ +@import 'assets/scss/colors.scss'; +@import 'assets/scss/fonts.scss'; + +.button { + @include font-m; + font-weight: 700; + line-height: 16px; + font-size: 20px; + height: 40px; + background-color: var(--color-airy-blue); + color: white; + border-radius: 4px; + text-align: center; + border: none; + cursor: pointer; + padding: 8px 16px; + margin: 0 0; + display: flex; + align-items: center; + justify-content: center; + &:hover { + background-color: var(--color-airy-blue-hover); + } + + &:active { + background: var(--color-airy-blue-pressed); + } + + &:disabled { + cursor: not-allowed; + color: var(--color-text-gray) !important; + background-color: var(--color-disabled-gray) !important; + border: none; + } +} + +.extraSmallButton { + @extend .button; + @include font-base; + height: 24px; + width: min-content; + font-weight: 400; + line-height: 16px; + font-size: 13px; + padding: 4px 16px; +} + +.greenButton { + @extend .extraSmallButton; + background-color: var(--color-soft-green); + + &:hover { + background-color: var(--color-green-pressed); + } + + &:active { + background-color: var(--color-green-pressed); + } +} + +.smallButton { + @extend .button; + @include font-base; + font-weight: 400; + line-height: 24px; + font-size: 16px; + height: 32px; + padding: 4px 16px; +} + +.outlineButton { + @extend .button; + @include font-base; + font-weight: 400; + line-height: 16px; + font-size: 13px; + height: 24px; + width: min-content; + padding: 0 8px 0 8px; + 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: var(--color-background-white); + } + + &:active { + background: var(--color-airy-blue-pressed); + } +} + +.outlineButtonBig { + @extend .outlineButton; + @include font-base; + height: 32px; + padding: 3px 16px; +} + +.linkButton { + @include font-base; + display: flex; + align-items: center; + border: none; + 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; + font-size: 1em; + line-height: 1.2rem; + margin-left: 1em; + border-radius: 4px; + margin-right: 1em; + &:hover { + color: var(--color-airy-blue-hover); + } + &:active { + color: var(--color-airy-blue-pressed); + } +} + +.textButton { + @extend .linkButton; + text-decoration: none; +} + +.warningButton { + @extend .smallButton; + background-color: var(--color-red-alert); + color: var(--color-background-red); + + &:hover { + background-color: var(--color-red-alert); + } +} + +@keyframes spinAnimationRefresh { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(7200deg); + } +} + +.spinAnimation { + display: flex; + align-items: center; + svg { + animation: spinAnimationRefresh 40s linear; + } +} diff --git a/lib/typescript/components/cta/SmartButton/index.tsx b/lib/typescript/components/cta/SmartButton/index.tsx new file mode 100644 index 0000000000..17f778443c --- /dev/null +++ b/lib/typescript/components/cta/SmartButton/index.tsx @@ -0,0 +1,106 @@ +import React, {CSSProperties, useEffect, useRef, useState} from 'react'; +import {ReactComponent as RefreshIcon} from 'assets/images/icons/refreshIcon.svg'; + +import styles from './index.module.scss'; + +type styleVariantType = + | 'extra-small' + | 'small' + | 'normal' + | 'outline' + | 'outline-big' + | 'warning' + | 'link' + | 'text' + | 'green'; + +type ButtonProps = { + title: string; + height: number; + width: number; + pending: boolean; + onClick?: (event?) => void; + type?: 'submit' | 'button' | 'reset'; + disabled?: boolean; + styleVariant?: styleVariantType; + className?: string; + tabIndex?: any; + dataCy?: string; + buttonRef?: any; + style?: CSSProperties; +}; + +export const SmartButton = ({ + title, + pending, + onClick, + type, + styleVariant, + disabled, + tabIndex, + dataCy, + className, + buttonRef, + style, + height, + width, +}: ButtonProps) => { + const [buttonWidth, setButtonWidth] = useState(0); + const ref = useRef(null); + + useEffect(() => { + setButtonWidth(ref?.current?.offsetWidth); + }, [ref?.current]); + + const styleFor = (variant: styleVariantType) => { + switch (variant) { + case 'extra-small': + return styles.extraSmallButton; + case 'green': + return styles.greenButton; + case 'small': + return styles.smallButton; + case 'outline': + return styles.outlineButton; + case 'outline-big': + return styles.outlineButtonBig; + case 'warning': + return styles.warningButton; + case 'link': + return styles.linkButton; + case 'text': + return styles.textButton; + default: + return styles.button; + } + }; + + return ( + + ); +}; diff --git a/lib/typescript/components/cta/index.ts b/lib/typescript/components/cta/index.ts index 9699b59ba2..82371e640b 100644 --- a/lib/typescript/components/cta/index.ts +++ b/lib/typescript/components/cta/index.ts @@ -2,3 +2,4 @@ export * from './Button'; export * from './LinkButton'; export * from './HrefButton'; export * from './InfoButton'; +export * from './SmartButton'; diff --git a/lib/typescript/components/general/Pagination/index.tsx b/lib/typescript/components/general/Pagination/index.tsx index cec52b2ed8..8a835fc4d0 100644 --- a/lib/typescript/components/general/Pagination/index.tsx +++ b/lib/typescript/components/general/Pagination/index.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useState} from 'react'; +import React, {Dispatch, SetStateAction, useEffect, useState} from 'react'; import styles from './index.module.scss'; import {ReactComponent as ChevronLeft} from 'assets/images/icons/chevronLeft.svg'; @@ -10,7 +10,7 @@ type PaginationType = { pageCount: number; pageSize: number; currentPage?: number; - onPageChange: (page: number) => void; + onPageChange: Dispatch>; onSearch?: boolean; }; @@ -20,6 +20,10 @@ export const Pagination = (props: PaginationType) => { const [endReached, setEndReached] = useState(false); const {t} = useTranslation(); + useEffect(() => { + displayedItems[0] > totalCount && onPageChange(currentPage - 1); + }, [totalCount]); + useEffect(() => { currentPage * pageCount + pageCount > totalCount ? setEndReached(true) : setEndReached(false); pageCount < pageSize && !onSearch && setDisplayedItems([1, pageCount]); diff --git a/lib/typescript/model/Notification.ts b/lib/typescript/model/Notification.ts index 34d0a65842..922f74e9c9 100644 --- a/lib/typescript/model/Notification.ts +++ b/lib/typescript/model/Notification.ts @@ -2,4 +2,5 @@ export type NotificationModel = { show: boolean; successful?: boolean; text?: string; + info?: boolean; }; diff --git a/lib/typescript/translations/translations.ts b/lib/typescript/translations/translations.ts index 68c8f67bfb..85a6740603 100644 --- a/lib/typescript/translations/translations.ts +++ b/lib/typescript/translations/translations.ts @@ -203,6 +203,10 @@ const resources = { imageUrl: 'Image URL', imageUrlPlaceholder: '(optionally) add an image url', imageUrlHint: 'max. 1024x1024 pixel PNG', + connect: 'Connect', + connecting: 'Connecting...', + updating: 'Updating...', + newChannelInfo: 'You are about to connect a new channel', //Customize Chatplugin chatpluginCustomize: 'Customise your Airy chat plugin and see the preview.', @@ -343,6 +347,7 @@ const resources = { googleKey: 'A Google Partner Key', googleConfigurationText2: `Check Airy's Documentation`, googleConfigurationText3: 'for more information.', + newGoogleConnection: 'You are about to connect a new channel', //Instagram instagramAccount: 'Facebook Page ID connected to the Instagram account', @@ -409,7 +414,8 @@ const resources = { noConnectorsFoundMore: 'and explore more.', installed: 'Installed', notInstalled: 'Not Installed', - + updateSuccessful: 'Successfully updated', + updateFailed: 'Update failed', noChannelsConnected: 'This connector does not have any connected channels yet.', //Catalog @@ -446,7 +452,6 @@ const resources = { subscribeCapital: 'Subscribe', updateCapital: 'Update', subscribing: 'Subscribing...', - updating: 'Updating...', webhookCapslock: 'WEBHOOK', allEvents: 'ALL EVENTS', subscribe: 'Subscribe', @@ -662,6 +667,10 @@ const resources = { imageUrl: 'Bild URL', imageUrlPlaceholder: '(optional) eine Bildurl hinzufügen', imageUrlHint: 'max. 1024x1024 Pixel PNG', + connect: 'Verbinden', + connecting: 'Verbinden...', + updating: 'Aktualisieren...', + newChannelInfo: 'Sie sind dabei, einen neuen Kanal zu verbinden', //Customize Chatplugin chatpluginCustomize: 'Passen Sie Ihr Airy-Chat-Plugin an und sehen Sie sich die Vorschau an.', @@ -823,6 +832,7 @@ const resources = { googleKey: 'Ein Google-Partner-Schlüssel', googleConfigurationText2: 'Prüfen Sie die Dokumentation von Airy', googleConfigurationText3: 'für weitere Informationen.', + newGoogleConnection: 'Sie sind dabei, einen neuen Kanal zu verbinden', //Instagram instagramAccount: 'Facebook-Seiten-ID, die mit dem Instagram-Konto verbunden ist', @@ -868,7 +878,8 @@ const resources = { noConnectorsFoundMore: 'und erkunden Sie mehr.', installed: 'Installiert', notInstalled: 'Nicht Installiert', - + updateSuccessful: 'Erfolgreich aktualisiert', + updateFailed: 'Aktualisierung fehlgeschlagen', noChannelsConnected: 'Mit diesem Anschluss sind noch keine Kanäle verbunden.', //Catalog @@ -905,7 +916,6 @@ const resources = { subscribeCapital: 'Abonnieren', updateCapital: 'Aktualisieren', subscribing: 'Abonnieren...', - updating: 'Aktualisieren...', webhookCapslock: 'WEBHOOK', allEvents: 'ALLE EVENTS', subscribe: 'Abonnieren', @@ -1113,6 +1123,10 @@ const resources = { imageUrl: `URL d'une image`, imageUrlPlaceholder: `(facultatif) ajouter l'URL d'une image`, imageUrlHint: 'max. 1024x1024 pixels PNG', + connect: 'Connexion', + connecting: 'Connexion...', + updating: 'Mise à jour...', + newChannelInfo: 'Vous êtes sur le point de connecter un nouveau canal', //Customize Chatplugin chatpluginCustomize: `Personnalisez votre plugin de chat Airy et voyez l'aperçu.`, @@ -1254,6 +1268,7 @@ const resources = { googleKey: 'Une clé de compte de service Google', googleConfigurationText2: `Vérifiez la documentation d'Airy`, googleConfigurationText3: `pour plus d'informations.`, + newGoogleConnection: 'Vous êtes sur le point de connecter un nouveau canal', //Instagram instagramAccount: 'ID de la page Facebook connectée au compte Instagram', @@ -1319,7 +1334,8 @@ const resources = { noConnectorsFoundMore: 'et explorer davantage.', installed: 'Installé(s)', notInstalled: 'Non installé(s)', - + updateSuccessful: 'Mise à jour réussie', + updateFailed: 'Mise à jour échouée', noChannelsConnected: "Ce connecteur n'a pas encore de canaux connectés.", //Catalog @@ -1356,7 +1372,6 @@ const resources = { subscribeCapital: 'Inscription au webhook', updateCapital: 'Mise à jour', subscribing: 'Inscription en cours...', - updating: 'Mise à jour...', webhookCapslock: 'WEBHOOK', allEvents: 'TOUS LES ÉVÉNEMENTS', subscribe: 'Inscrire', @@ -1568,6 +1583,10 @@ const resources = { imageUrl: 'URL de la imagen', imageUrlPlaceholder: '(opcionalmente) añadir una url de imagen', imageUrlHint: 'PNG de 1024x1024 píxeles como máximo', + connect: 'Conectar', + connecting: 'Conectando...', + updating: 'Actualizar...', + newChannelInfo: 'Está a punto de conectar un nuevo canal', //Customize Chatplugin chatpluginCustomize: 'Personalice su plugin de chat Airy y vea la vista previa.', @@ -1708,6 +1727,7 @@ const resources = { googleKey: 'Una clave de socio de Google', googleConfigurationText2: `Compruebe la documentación de Airy`, googleConfigurationText3: 'para más información.', + newGoogleConnection: 'Estás a punto de conectar un nuevo canal', //Instagram instagramAccount: 'ID de la página de Facebook conectada a la cuenta de Instagram', @@ -1774,7 +1794,8 @@ const resources = { noConnectorsFoundMore: 'y explorar más.', installed: 'Instalado(s)', notInstalled: 'No Instalado(s)', - + updateSuccessful: 'Actualizado con éxito', + updateFailed: 'Actualización fallida', noChannelsConnected: 'Este conector aún no tiene ningún canal conectado.', //Catalog @@ -1811,7 +1832,6 @@ const resources = { subscribeCapital: 'Suscribirse', updateCapital: 'Actualización', subscribing: 'Suscribirse...', - updating: 'Actualizar...', webhookCapslock: 'WEBHOOK', allEvents: 'TODOS LOS EVENTOS', subscribe: 'Suscripción', From a70dc064dc92d074bcc131117ed472db03fef692 Mon Sep 17 00:00:00 2001 From: Audrey Kadjar Date: Wed, 24 Aug 2022 11:47:54 +0200 Subject: [PATCH 17/42] [#3560] control center remove sources info component (#3624) * clean-up wip * clean-up wip * wip * clean up wip * connectorconfig fix wip * finished cleanup and removed component * small fixes * fixes * logs * fix webhooks * fixes * fixed enabled button * fixed components imports * linting * imports fix * fixed webhooks sidebar * updated source * finished rebase --- .../src/components/ChannelAvatar/index.tsx | 1 + .../src/components/Description/index.tsx | 12 ++ .../src/components/Sidebar/index.tsx | 8 +- .../src/components/SourceInfo/index.tsx | 195 ------------------ .../control-center/src/components/index.ts | 5 + .../src/pages/Catalog/CatalogCard/index.tsx | 23 +-- .../Catalog/CatalogItemDetails/index.tsx | 10 +- .../pages/Connectors/ChannelCard/index.tsx | 20 +- .../ConnectedChannelsList/index.tsx | 3 +- .../ConnectorConfig/index.module.scss | 4 +- .../Connectors/ConnectorConfig/index.tsx | 158 ++++++++------ .../Connectors}/InfoCard/index.module.scss | 0 .../Connectors}/InfoCard/index.tsx | 28 +-- .../src/pages/Connectors/index.tsx | 153 +++++++------- .../src/pages/Inbox/index.module.scss | 35 +++- .../control-center/src/pages/Inbox/index.tsx | 64 +++--- .../Status/ComponentListItem/ItemInfo.tsx | 40 ++-- .../pages/Status/ComponentListItem/index.tsx | 5 +- .../control-center/src/pages/Status/index.tsx | 49 +++-- frontend/control-center/src/routes/routes.ts | 2 +- .../control-center/src/services/format.ts | 29 +-- .../Catalog => services}/getRouteForCard.ts | 7 +- frontend/control-center/src/services/index.ts | 2 + frontend/inbox/handles/index.ts | 1 + lib/typescript/model/Components.ts | 9 + lib/typescript/model/Source.ts | 21 -- lib/typescript/translations/translations.ts | 12 ++ 27 files changed, 403 insertions(+), 493 deletions(-) create mode 100644 frontend/control-center/src/components/Description/index.tsx delete mode 100644 frontend/control-center/src/components/SourceInfo/index.tsx create mode 100644 frontend/control-center/src/components/index.ts rename frontend/control-center/src/{components => pages/Connectors}/InfoCard/index.module.scss (100%) rename frontend/control-center/src/{components => pages/Connectors}/InfoCard/index.tsx (78%) rename frontend/control-center/src/{pages/Catalog => services}/getRouteForCard.ts (96%) diff --git a/frontend/control-center/src/components/ChannelAvatar/index.tsx b/frontend/control-center/src/components/ChannelAvatar/index.tsx index f57ea9aa14..21e7371128 100644 --- a/frontend/control-center/src/components/ChannelAvatar/index.tsx +++ b/frontend/control-center/src/components/ChannelAvatar/index.tsx @@ -45,6 +45,7 @@ export const getChannelAvatar = (source: string) => { case 'Twilio SMS': return ; case Source.twilioWhatsApp: + case Source.whatsapp: case 'WhatsApp Business Cloud': return ; case Source.twilio: diff --git a/frontend/control-center/src/components/Description/index.tsx b/frontend/control-center/src/components/Description/index.tsx new file mode 100644 index 0000000000..b39398115e --- /dev/null +++ b/frontend/control-center/src/components/Description/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import {useTranslation} from 'react-i18next'; +import {Source} from 'model'; + +export const DescriptionComponent = (props: {description: string}) => { + const {t} = useTranslation(); + const {description} = props; + + return <>{t(description)}; +}; + +export const getDescriptionSourceName = (source: Source) => source.replaceAll('.', ''); diff --git a/frontend/control-center/src/components/Sidebar/index.tsx b/frontend/control-center/src/components/Sidebar/index.tsx index 1b2c45ffe8..09b4bc5251 100644 --- a/frontend/control-center/src/components/Sidebar/index.tsx +++ b/frontend/control-center/src/components/Sidebar/index.tsx @@ -12,13 +12,14 @@ import {ReactComponent as InboxIcon} from 'assets/images/icons/inboxIcon.svg'; import styles from './index.module.scss'; import {StateModel} from '../../reducers'; import {connect, ConnectedProps} from 'react-redux'; -import {ConfigServices} from 'model'; +import {ConfigServices, ComponentRepository} from 'model'; type SideBarProps = {} & ConnectedProps; const mapStateToProps = (state: StateModel) => ({ version: state.data.config.clusterVersion, components: state.data.config.components, + catalog: state.data.catalog, }); const connector = connect(mapStateToProps); @@ -28,8 +29,9 @@ const Sidebar = (props: SideBarProps) => { return useMatch(`${route}/*`); }; - const webhooksEnabled = props.components[ConfigServices.integrationWebhook]?.enabled || false; - const inboxEnabled = props.components[ConfigServices.frontendInbox]?.enabled || false; + const webhooksEnabled = + props.catalog[`${ComponentRepository.airyCore}/${ConfigServices.integrationWebhook}`]?.installed; + const inboxEnabled = props.components[ConfigServices.frontendInbox]?.enabled; const showLine = inboxEnabled || webhooksEnabled; return ( diff --git a/frontend/control-center/src/components/SourceInfo/index.tsx b/frontend/control-center/src/components/SourceInfo/index.tsx deleted file mode 100644 index a308bf5321..0000000000 --- a/frontend/control-center/src/components/SourceInfo/index.tsx +++ /dev/null @@ -1,195 +0,0 @@ -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 {ReactComponent as DialogflowIcon} from 'assets/images/icons/dialogflowLogo.svg'; -import {ReactComponent as ZendeskIcon} from 'assets/images/icons/zendeskLogo.svg'; -import {ReactComponent as SalesforceIcon} from 'assets/images/icons/salesforceLogo.svg'; -import {useTranslation} from 'react-i18next'; -import { - cyChannelsChatPluginAddButton, - cyChannelsFacebookAddButton, - cyChannelsGoogleAddButton, - cyChannelsTwilioSmsAddButton, - cyChannelsTwilioWhatsappAddButton, - cyChannelsInstagramAddButton, -} from 'handles'; -import { - CONNECTORS_CONNECTED_ROUTE, - CONNECTORS_FACEBOOK_ROUTE, - CONNECTORS_TWILIO_SMS_ROUTE, - CONNECTORS_TWILIO_WHATSAPP_ROUTE, - CONNECTORS_CHAT_PLUGIN_ROUTE, - CONNECTORS_GOOGLE_ROUTE, - CONNECTORS_INSTAGRAM_ROUTE, - CONNECTORS_DIALOGFLOW_ROUTE, - CONNECTORS_ZENDESK_ROUTE, - CONNECTORS_SALESFORCE_ROUTE, -} from '../../routes/routes'; - -export type SourceInfo = { - type: Source; - channel: boolean; - title: string; - description: string | JSX.Element; - image: JSX.Element; - newChannelRoute: string; - channelsListRoute: string; - configKey: string; - componentName: string; - repository: string; - itemInfoString: string; - dataCyAddChannelButton?: string; - docs: string; -}; - -interface DescriptionComponentProps { - description: string; -} - -const DescriptionComponent = (props: DescriptionComponentProps) => { - const {description} = props; - const {t} = useTranslation(); - return <>{t(description)}; -}; - -export const getSourcesInfo = (): SourceInfo[] => { - return [ - { - type: Source.chatPlugin, - channel: true, - title: 'Airy Live Chat', - description: , - image: , - newChannelRoute: CONNECTORS_CHAT_PLUGIN_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/chatplugin', - configKey: 'sources-chatplugin', - componentName: 'sources-chatplugin', - repository: 'airy-core', - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsChatPluginAddButton, - docs: 'https://airy.co/docs/core/sources/chatplugin/overview', - }, - { - type: Source.facebook, - channel: true, - title: 'Messenger', - description: , - image: , - newChannelRoute: CONNECTORS_FACEBOOK_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/facebook', - configKey: 'sources-facebook', - componentName: 'sources-facebook', - repository: 'airy-core', - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsFacebookAddButton, - docs: 'https://airy.co/docs/core/sources/facebook', - }, - { - type: Source.twilioSMS, - channel: true, - title: 'SMS', - description: , - image: , - newChannelRoute: CONNECTORS_TWILIO_SMS_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/twilio.sms/#', - configKey: 'sources-twilio', - componentName: 'sources-twilio', - repository: 'airy-core', - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioSmsAddButton, - docs: 'https://airy.co/docs/core/sources/sms-twilio', - }, - { - type: Source.twilioWhatsApp, - channel: true, - title: 'WhatsApp', - description: , - image: , - newChannelRoute: CONNECTORS_TWILIO_WHATSAPP_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/twilio.whatsapp/#', - configKey: 'sources-twilio', - componentName: 'sources-twilio', - repository: 'airy-core', - itemInfoString: 'phones', - dataCyAddChannelButton: cyChannelsTwilioWhatsappAddButton, - docs: 'https://airy.co/docs/core/sources/whatsapp-twilio', - }, - { - type: Source.google, - channel: true, - title: 'Google Business Messages', - description: , - image: , - newChannelRoute: CONNECTORS_GOOGLE_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/google', - configKey: 'sources-google', - componentName: 'sources-google', - repository: 'airy-core', - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsGoogleAddButton, - docs: 'https://airy.co/docs/core/sources/google', - }, - { - type: Source.instagram, - channel: true, - title: 'Instagram', - description: , - image: , - newChannelRoute: CONNECTORS_INSTAGRAM_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/instagram', - configKey: 'sources-facebook', - componentName: 'sources-facebook', - repository: 'airy-core', - itemInfoString: 'channels', - dataCyAddChannelButton: cyChannelsInstagramAddButton, - docs: 'https://airy.co/docs/core/sources/instagram', - }, - { - type: Source.dialogflow, - channel: false, - title: 'Dialogflow', - description: , - image: , - newChannelRoute: CONNECTORS_DIALOGFLOW_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/dialogflow', - configKey: 'enterprise-dialogflow-connector', - componentName: 'enterprise-dialogflow-connector', - repository: 'airy-enterprise', - itemInfoString: 'connectors', - docs: 'https://airy.co/docs/enterprise/apps/dialogflow/deployment', - }, - { - type: Source.zendesk, - channel: false, - title: 'Zendesk', - description: , - image: , - newChannelRoute: CONNECTORS_ZENDESK_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/zendesk', - configKey: 'enterprise-zendesk-connector', - componentName: 'enterprise-zendesk-connector', - repository: 'airy-enterprise', - itemInfoString: 'connectors', - docs: 'https://airy.co/docs/enterprise/apps/zendesk/installation', - }, - { - type: Source.salesforce, - channel: false, - title: 'Salesforce', - description: , - image: , - newChannelRoute: CONNECTORS_SALESFORCE_ROUTE + '/new', - channelsListRoute: CONNECTORS_CONNECTED_ROUTE + '/salesforce', - configKey: 'enterprise-salesforce-contacts-ingestion', - componentName: 'enterprise-salesforce-contacts-ingestion', - repository: 'airy-enterprise', - itemInfoString: 'connectors', - docs: 'https://airy.co/docs/enterprise/apps/salesforce-contacts-ingestion/deployment', - }, - ]; -}; diff --git a/frontend/control-center/src/components/index.ts b/frontend/control-center/src/components/index.ts new file mode 100644 index 0000000000..e89295b6b9 --- /dev/null +++ b/frontend/control-center/src/components/index.ts @@ -0,0 +1,5 @@ +export * from './ChannelAvatar'; +export * from './Description'; +export * from '../pages/Connectors/InfoCard'; +export * from './Switch'; +export * from './Wrapper'; diff --git a/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx b/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx index 425566d0dd..8bf949aacf 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogCard/index.tsx @@ -1,6 +1,6 @@ import React, {useRef, useState} from 'react'; import {useNavigate} from 'react-router-dom'; -import {ComponentInfo, getSourceForComponent, NotificationModel} from 'model'; +import {ComponentInfo, NotificationModel} from 'model'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; import {Button, NotificationComponent, SettingsModal, SmartButton} from 'components'; import {installComponent} from '../../../actions/catalog'; @@ -11,9 +11,10 @@ import { getConnectedRouteForComponent, getNewChannelRouteForComponent, getCatalogProductRouteForComponent, -} from '../getRouteForCard'; -import styles from './index.module.scss'; +} from '../../../services/getRouteForCard'; import {StateModel} from '../../../reducers'; +import {DescriptionComponent, getDescriptionSourceName} from '../../../components/Description'; +import styles from './index.module.scss'; type CatalogCardProps = { componentInfo: ComponentInfo; @@ -31,18 +32,6 @@ const connector = connect(mapStateToProps, mapDispatchToProps); export const availabilityFormatted = (availability: string) => availability.split(','); -export const DescriptionComponent = (props: {description: string}) => { - const {description} = props; - const {t} = useTranslation(); - return <>{t(description)}; -}; - -export const getDescriptionSourceName = (name: string, displayName: string) => { - if (displayName.includes('SMS')) return 'twiliosms'; - if (displayName.includes('WhatsApp')) return 'twilioWhatsapp'; - return getSourceForComponent(name)?.replace('.', ''); -}; - const CatalogCard = (props: CatalogCardProps) => { const {component, componentInfo, installComponent} = props; const isInstalled = component[componentInfo?.name]?.installed; @@ -136,9 +125,7 @@ const CatalogCard = (props: CatalogCardProps) => {
{componentInfo.name && (

- +

)} diff --git a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx index 3208130b58..e713fc1ae0 100644 --- a/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx +++ b/frontend/control-center/src/pages/Catalog/CatalogItemDetails/index.tsx @@ -5,11 +5,12 @@ import {connect, ConnectedProps} from 'react-redux'; import {installComponent, uninstallComponent} from '../../../actions/catalog'; import {ContentWrapper, Button, LinkButton, SettingsModal, NotificationComponent, SmartButton} from 'components'; import {getChannelAvatar} from '../../../components/ChannelAvatar'; -import {availabilityFormatted, DescriptionComponent, getDescriptionSourceName} from '../CatalogCard'; +import {availabilityFormatted} from '../CatalogCard'; +import {DescriptionComponent, getDescriptionSourceName} from '../../../components/Description'; import {CATALOG_ROUTE} from '../../../routes/routes'; import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/leftArrowCircle.svg'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; -import {getNewChannelRouteForComponent} from '../getRouteForCard'; +import {getNewChannelRouteForComponent} from '../../../services/getRouteForCard'; import {ComponentInfo, Modal, ModalType, NotificationModel} from 'model'; import styles from './index.module.scss'; import {StateModel} from '../../../reducers'; @@ -34,6 +35,7 @@ const CatalogItemDetails = (props: ConnectedProps) => { const location = useLocation(); const locationState = location.state as LocationState; const {componentInfo} = locationState; + const isInstalled = component[componentInfo?.name]?.installed; const [isModalVisible, setIsModalVisible] = useState(false); const [modal, setModal] = useState(null); @@ -92,9 +94,7 @@ const CatalogItemDetails = (props: ConnectedProps) => {

{componentInfo?.displayName}

- +

); diff --git a/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx index fce98c91a3..332cfdcf66 100644 --- a/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ChannelCard/index.tsx @@ -1,28 +1,34 @@ import React from 'react'; import styles from './index.module.scss'; -import {SourceInfo} from '../../../components/SourceInfo'; +import {getChannelAvatar} from '../../../components/ChannelAvatar'; import {Link} from 'react-router-dom'; import {ReactComponent as ArrowRightIcon} from 'assets/images/icons/arrowRight.svg'; +import {CONNECTORS_CONNECTED_ROUTE} from '../../../routes/routes'; import {useTranslation} from 'react-i18next'; import {ConfigStatusButton} from '../ConfigStatusButton'; -import {ComponentStatus} from '..'; +import {ComponentStatus, ConnectorCardComponentInfo} from '..'; +import {cyAddChannelButton} from 'handles'; type ChannelCardProps = { - sourceInfo: SourceInfo; + componentInfo: ConnectorCardComponentInfo; channelsToShow?: number; componentStatus?: ComponentStatus; }; export const ChannelCard = (props: ChannelCardProps) => { - const {sourceInfo, channelsToShow, componentStatus} = props; + const {componentInfo, channelsToShow, componentStatus} = props; const {t} = useTranslation(); return ( - +
- {sourceInfo.image} - {sourceInfo.title} + {getChannelAvatar(componentInfo.source)} + {componentInfo.displayName}
{componentStatus && } diff --git a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx index 2823c23e6a..0aa6ba3f8e 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectedChannelsList/index.tsx @@ -57,6 +57,7 @@ const ConnectedChannelsList = (props: ConnectedChannelsListProps) => { const [showingSearchField, setShowingSearchField] = useState(false); const [animationAction, setAnimationAction] = useState(false); const [dataCyChannelList, setDataCyChannelList] = useState(''); + const [currentPage, setCurrentPage] = useState(1); const screenDimensions: ScreenDimensions = {height: screen.height, width: screen.width}; const ITEM_LINE_HEIGHT = 64; const MARGIN_TOP = 128; @@ -70,8 +71,6 @@ const ConnectedChannelsList = (props: ConnectedChannelsListProps) => { const areConnectedChannels = channels.length > 0 && filteredChannels.length > 0; - const [currentPage, setCurrentPage] = useState(1); - const listPageSize = Math.floor( (screenDimensions.height - offset - MARGIN_TOP - PAGINATION_HEIGHT - PADDING_BOTTOM - ADDITIONAL_SPACE) / ITEM_LINE_HEIGHT diff --git a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss index 95dae0111e..9c498962e3 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.module.scss @@ -84,9 +84,7 @@ .textContainer { display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; + flex-direction: column; width: 100%; } diff --git a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx index 4dfd38ccd9..4061d8fee4 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx @@ -1,7 +1,7 @@ import React, {useState, useEffect, useRef, useLayoutEffect} from 'react'; import {connect, ConnectedProps, useSelector} from 'react-redux'; +import {useTranslation} from 'react-i18next'; import {Link, useParams} from 'react-router-dom'; -import {getSourcesInfo, SourceInfo} from '../../../components/SourceInfo'; import {Button, NotificationComponent, SettingsModal, SmartButton} from 'components'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; import {StateModel} from '../../../reducers'; @@ -12,26 +12,27 @@ import { updateConnectorConfiguration, enableDisableComponent, getConnectorsConfiguration, + listComponents, } from '../../../actions'; import {LinkButton, InfoButton} from 'components'; -import {NotificationModel, Source} from 'model'; +import {NotificationModel, Source, ComponentInfo} from 'model'; import {ReactComponent as ArrowLeftIcon} from 'assets/images/icons/leftArrowCircle.svg'; -import {useTranslation} from 'react-i18next'; import {ConnectNewDialogflow} from '../Providers/Dialogflow/ConnectNewDialogflow'; import {ConnectNewZendesk} from '../Providers/Zendesk/ConnectNewZendesk'; import {ConnectNewSalesforce} from '../Providers/Salesforce/ConnectNewSalesforce'; import {ConfigStatusButton} from '../ConfigStatusButton'; import {UpdateComponentConfigurationRequestPayload} from 'httpclient/src'; -import styles from './index.module.scss'; import ConnectedChannelsList from '../ConnectedChannelsList'; import ChatPluginConnect from '../Providers/Airy/ChatPlugin/ChatPluginConnect'; -import {CONNECTORS_CONNECTED_ROUTE} from '../../../routes/routes'; +import {CONNECTORS_ROUTE, CONNECTORS_CONNECTED_ROUTE} from '../../../routes/routes'; import FacebookConnect from '../Providers/Facebook/Messenger/FacebookConnect'; import InstagramConnect from '../Providers/Instagram/InstagramConnect'; import GoogleConnect from '../Providers/Google/GoogleConnect'; import TwilioSmsConnect from '../Providers/Twilio/SMS/TwilioSmsConnect'; import TwilioWhatsappConnect from '../Providers/Twilio/WhatsApp/TwilioWhatsappConnect'; -import {getComponentStatus} from '../../../services/getComponentStatus'; +import {getComponentStatus, removePrefix} from '../../../services'; +import {DescriptionComponent, getDescriptionSourceName, getChannelAvatar} from '../../../components'; +import styles from './index.module.scss'; export enum Pages { createUpdate = 'create-update', @@ -46,11 +47,13 @@ const mapDispatchToProps = { updateConnectorConfiguration, enableDisableComponent, getConnectorsConfiguration, + listComponents, }; const mapStateToProps = (state: StateModel) => ({ config: state.data.config, components: state.data.config.components, + catalog: state.data.catalog, }); const connector = connect(mapStateToProps, mapDispatchToProps); @@ -63,23 +66,27 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { const { connector, components, + catalog, enableDisableComponent, updateConnectorConfiguration, getConnectorsConfiguration, + listComponents, config, } = props; const {channelId, source} = useParams(); const connectorConfiguration = useSelector((state: StateModel) => state.data.connector); - const [connectorInfo, setConnectorInfo] = useState(null); + + const [connectorInfo, setConnectorInfo] = useState(null); + const configKey = connectorInfo && removePrefix(connectorInfo?.name); const [currentPage] = useState(Pages.createUpdate); const [configurationModal, setConfigurationModal] = useState(false); const [notification, setNotification] = useState(null); - const [isEnabled, setIsEnabled] = useState(components[connectorInfo?.componentName]?.enabled); + const [isEnabled, setIsEnabled] = useState(components[connectorInfo && configKey]?.enabled); const [isPending, setIsPending] = useState(false); const [isConfigured, setIsConfigured] = useState(false); - const [lineTitle, setLineTitle] = useState(''); const [backTitle, setBackTitle] = useState('Connectors'); + const [lineTitle, setLineTitle] = useState(''); const [backRoute, setBackRoute] = useState(''); const pageContentRef = useRef(null); const [offset, setOffset] = useState(pageContentRef?.current?.offsetTop); @@ -88,13 +95,14 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { useLayoutEffect(() => { setOffset(pageContentRef?.current?.offsetTop); + listComponents(); }, []); useEffect(() => { - if (connectorInfo && connectorConfiguration && connectorConfiguration[connectorInfo.componentName]) { + if (connectorInfo && connectorConfiguration && connectorConfiguration[connectorInfo.name]) { if ( - Object.entries(connectorConfiguration[connectorInfo.componentName]) && - Object.entries(connectorConfiguration[connectorInfo.componentName]).length > 0 + Object.entries(connectorConfiguration[connectorInfo.name]) && + Object.entries(connectorConfiguration[connectorInfo.name]).length > 0 ) { setIsConfigured(true); } @@ -105,28 +113,41 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { getConnectorsConfiguration().catch((error: Error) => { console.error(error); }); - (source === Source.chatPlugin || connector === Source.chatPlugin) && setIsConfigured(true); - const sourceInfoArr = getSourcesInfo(); - const connectorSourceInfo = sourceInfoArr.filter(item => item.type === connector); - channelId === 'new' - ? connector === Source.chatPlugin - ? setLineTitle(t('Create')) - : setLineTitle(t('addChannel')) - : setLineTitle(t('Configuration')); + if (Object.entries(catalog).length > 0) { + (connector === Source.chatPlugin || source === Source.chatPlugin) && setIsConfigured(true); + + const connectorSourceInfo = Object.entries(catalog).filter(item => { + if (connector) { + return item[1].source === connector; + } else if (source) { + return item[1].source === source; + } + }); + + const connectorSourceInfoArr = connectorSourceInfo[0]; + const connectorSourceInfoFormatted = {name: connectorSourceInfoArr[0], ...connectorSourceInfoArr[1]}; - source - ? (setConnectorInfo(sourceInfoArr.filter(item => item.type === source)[0]), setLineTitle(t('channelsCapital'))) - : setConnectorInfo(connectorSourceInfo[0]); + channelId === 'new' + ? connector === Source.chatPlugin + ? setLineTitle(t('Create')) + : setLineTitle(t('addChannel')) + : setLineTitle(t('Configuration')); - channelId - ? (setBackRoute(`${CONNECTORS_CONNECTED_ROUTE}/${connectorSourceInfo[0].type}`), setBackTitle(t('back'))) - : (setBackRoute('/connectors'), setBackTitle(t('Connectors'))); - }, [source]); + source + ? (setConnectorInfo(connectorSourceInfoFormatted), setLineTitle(t('channelsCapital'))) + : setConnectorInfo(connectorSourceInfoFormatted); + + channelId + ? (setBackRoute(`${CONNECTORS_CONNECTED_ROUTE}/${connectorSourceInfoFormatted.source}`), + setBackTitle(t('back'))) + : (setBackRoute('/connectors'), setBackTitle(t('Connectors'))); + } + }, [source, Object.entries(catalog).length > 0]); useEffect(() => { if (config && connectorInfo) { - setIsEnabled(config?.components[connectorInfo?.configKey]?.enabled); + setIsEnabled(config?.components[configKey]?.enabled); } }, [config, connectorInfo, components]); @@ -147,7 +168,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { payload = { components: [ { - name: connectorInfo && connectorInfo?.configKey, + name: connectorInfo && connectorInfo.name, enabled: true, data: { projectId: projectId, @@ -169,7 +190,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { payload = { components: [ { - name: connectorInfo && connectorInfo?.configKey, + name: connectorInfo && connectorInfo.name, enabled: true, data: { domain: domain, @@ -187,7 +208,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { payload = { components: [ { - name: connectorInfo && connectorInfo?.configKey, + name: connectorInfo && connectorInfo.name, enabled: true, data: { url: url, @@ -267,7 +288,7 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { const enableDisableComponentToggle = () => { setConfigurationModal(false); setIsPending(true); - enableDisableComponent({components: [{name: connectorInfo && connectorInfo?.configKey, enabled: !isEnabled}]}) + enableDisableComponent({components: [{name: configKey, enabled: !isEnabled}]}) .then(() => { setNotification({ show: true, @@ -314,46 +335,51 @@ const ConnectorConfig = (props: ConnectorConfigProps) => {
- {connectorInfo && connectorInfo?.image} + {connectorInfo && getChannelAvatar(connectorInfo?.displayName)}
+
-
-
-

{connectorInfo && connectorInfo?.title}

- +

{connectorInfo && connectorInfo?.displayName}

+ +
+ +
+
+ {connectorInfo && ( +

+ +

+ )} +
-
-
- {connectorInfo &&

{connectorInfo?.description}

} - -
-
+ {isConfigured && ( + + )}
- - {isConfigured && ( - - )}
@@ -393,8 +419,8 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { containerClassName={styles.enableModalContainer} title={ isEnabled - ? t('disableComponent') + ' ' + connectorInfo?.title - : connectorInfo?.title + ' ' + t('enabledComponent') + ? t('disableComponent') + ' ' + connectorInfo?.displayName + : connectorInfo?.displayName + ' ' + t('enabledComponent') } close={closeConfigurationModal} headerClassName={styles.headerModal} diff --git a/frontend/control-center/src/components/InfoCard/index.module.scss b/frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss similarity index 100% rename from frontend/control-center/src/components/InfoCard/index.module.scss rename to frontend/control-center/src/pages/Connectors/InfoCard/index.module.scss diff --git a/frontend/control-center/src/components/InfoCard/index.tsx b/frontend/control-center/src/pages/Connectors/InfoCard/index.tsx similarity index 78% rename from frontend/control-center/src/components/InfoCard/index.tsx rename to frontend/control-center/src/pages/Connectors/InfoCard/index.tsx index 8e9034c549..0df0d0d335 100644 --- a/frontend/control-center/src/components/InfoCard/index.tsx +++ b/frontend/control-center/src/pages/Connectors/InfoCard/index.tsx @@ -1,14 +1,16 @@ import React, {useState, useEffect} from 'react'; -import {SourceInfo} from '../SourceInfo'; import {useNavigate} from 'react-router-dom'; import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFilled.svg'; -import {CONNECTORS_ROUTE} from '../../routes/routes'; +import {CONNECTORS_ROUTE} from '../../../routes/routes'; import {Button, SettingsModal} from 'components'; -import {installComponent, uninstallComponent} from '../../actions/catalog'; +import {installComponent, uninstallComponent} from '../../../actions/catalog'; import {useTranslation} from 'react-i18next'; import {connect, ConnectedProps} from 'react-redux'; -import {ConfigStatusButton} from '../../pages/Connectors/ConfigStatusButton'; -import {ComponentStatus} from '../../pages/Connectors'; +import {ConfigStatusButton} from '../ConfigStatusButton'; +import {ComponentStatus} from '..'; +import {getNewChannelRouteForComponent} from '../../../services/getRouteForCard'; +import {getChannelAvatar} from '../../../components/ChannelAvatar'; +import {ConnectorCardComponentInfo} from '../index'; import styles from './index.module.scss'; export enum InfoCardStyle { @@ -17,7 +19,7 @@ export enum InfoCardStyle { } type InfoCardProps = { - sourceInfo: SourceInfo; + componentInfo: ConnectorCardComponentInfo; addChannelAction: () => void; installed: boolean; componentStatus?: ComponentStatus; @@ -32,7 +34,7 @@ const mapDispatchToProps = { const connector = connect(null, mapDispatchToProps); const InfoCard = (props: InfoCardProps) => { - const {sourceInfo, addChannelAction, installed, style, uninstallComponent, componentStatus} = props; + const {componentInfo, addChannelAction, installed, style, uninstallComponent, componentStatus} = props; const [isInstalled, setIsInstalled] = useState(installed); const [isModalVisible, setIsModalVisible] = useState(false); const [modalTitle, setModalTitle] = useState(''); @@ -41,7 +43,9 @@ const InfoCard = (props: InfoCardProps) => { const CONNECTORS_PAGE = window.location.pathname.includes(CONNECTORS_ROUTE); useEffect(() => { - const title = isInstalled ? t('uninstall') + ' ' + sourceInfo.title : sourceInfo.title + ' ' + t('installed'); + const title = isInstalled + ? t('uninstall') + ' ' + componentInfo.displayName + : componentInfo.displayName + ' ' + t('installed'); setModalTitle(title); }, [isInstalled]); @@ -56,7 +60,7 @@ const InfoCard = (props: InfoCardProps) => { }; const confirmUninstall = () => { - uninstallComponent({name: `${sourceInfo.repository}/${sourceInfo.componentName}`}).catch((error: Error) => { + uninstallComponent({name: componentInfo.name}).catch((error: Error) => { console.error(error); }); @@ -65,7 +69,7 @@ const InfoCard = (props: InfoCardProps) => { }; const handleCardClick = () => { - navigate(sourceInfo.newChannelRoute); + navigate(getNewChannelRouteForComponent(componentInfo.displayName)); }; return ( @@ -95,7 +99,7 @@ const InfoCard = (props: InfoCardProps) => { ${style === InfoCardStyle.expanded && styles.isExpandedLogo} `} > - {sourceInfo.image} + {getChannelAvatar(componentInfo.source)}
{ ${style === InfoCardStyle.expanded && styles.isExpandedDetails} `} > -

{sourceInfo.title}

+

{componentInfo.displayName}

diff --git a/frontend/control-center/src/pages/Connectors/index.tsx b/frontend/control-center/src/pages/Connectors/index.tsx index 121909fcfe..643526a742 100644 --- a/frontend/control-center/src/pages/Connectors/index.tsx +++ b/frontend/control-center/src/pages/Connectors/index.tsx @@ -1,20 +1,18 @@ import React, {useEffect, useState} from 'react'; import {connect, ConnectedProps, useSelector} from 'react-redux'; import {useNavigate} from 'react-router-dom'; -import {Channel, Source, getSourceForComponent} from 'model'; -import InfoCard, {InfoCardStyle} from '../../components/InfoCard'; +import {Channel, Source} from 'model'; +import InfoCard, {InfoCardStyle} from './InfoCard'; import {StateModel} from '../../reducers'; import {allChannelsConnected} from '../../selectors/channels'; -import {listChannels} from '../../actions/channel'; -import {listComponents} from '../../actions/catalog'; +import {listChannels, listComponents, getConnectorsConfiguration} from '../../actions'; import {setPageTitle} from '../../services/pageTitle'; -import {getConnectorsConfiguration} from '../../actions'; -import {getSourcesInfo, SourceInfo} from '../../components/SourceInfo'; -import styles from './index.module.scss'; import {EmptyStateConnectors} from './EmptyStateConnectors'; import {ChannelCard} from './ChannelCard'; import {SimpleLoader} from 'components'; -import {getComponentStatus} from '../../services/getComponentStatus'; +import {getComponentStatus, formatComponentNameToConfigKey} from '../../services'; +import {CONNECTORS_CONNECTED_ROUTE} from '../../routes/routes'; +import styles from './index.module.scss'; export enum ComponentStatus { enabled = 'Enabled', @@ -22,6 +20,13 @@ export enum ComponentStatus { disabled = 'Disabled', } +export interface ConnectorCardComponentInfo { + name: string; + displayName: string; + configKey: string; + source: string; +} + const mapDispatchToProps = { listChannels, getConnectorsConfiguration, @@ -32,30 +37,42 @@ const connector = connect(null, mapDispatchToProps); const Connectors = (props: ConnectedProps) => { const {listChannels, getConnectorsConfiguration, listComponents} = props; + const [connectorsPageList, setConnectorsPageList] = useState<[] | ConnectorCardComponentInfo[]>([]); const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); const components = useSelector((state: StateModel) => state.data.config.components); const connectors = useSelector((state: StateModel) => state.data.connector); const catalogList = useSelector((state: StateModel) => state.data.catalog); const channelsBySource = (Source: Source) => channels.filter((channel: Channel) => channel.source === Source); - const [sourcesInfo, setSourcesInfo] = useState([]); const [hasInstalledComponents, setHasInstalledComponents] = useState(false); const navigate = useNavigate(); const pageTitle = 'Connectors'; const isInstalled = true; + const catalogListArr = Object.entries(catalogList); + const emptyCatalogList = catalogListArr.length === 0; + useEffect(() => { - setSourcesInfo(getSourcesInfo()); - getConnectorsConfiguration().catch((error: Error) => { - console.error(error); - }); - if (Object.entries(catalogList).length === 0) + getConnectorsConfiguration(); + if (emptyCatalogList) { listComponents().catch((error: Error) => { console.error(error); }); - if (Object.entries(catalogList).length > 0) - Object.entries(catalogList).map(component => { - component[1].installed === true && setHasInstalledComponents(true); + } else { + const listArr = []; + catalogListArr.map(component => { + if (component[1].installed === true && component[1].source !== 'webhooks') { + setHasInstalledComponents(true); + listArr.push({ + name: component[1].name, + displayName: component[1].displayName, + configKey: formatComponentNameToConfigKey(component[1].name), + source: component[1].source, + }); + } }); + + setConnectorsPageList(listArr); + } }, [catalogList]); useEffect(() => { @@ -67,81 +84,71 @@ const Connectors = (props: ConnectedProps) => { setPageTitle(pageTitle); }, [channels.length]); - const isComponentInstalled = (repository: string, componentName: string) => { - const componentNameCatalog = repository + '/' + componentName; + const isComponentInstalled = (componentNameCatalog: string) => { return catalogList[componentNameCatalog] && catalogList[componentNameCatalog].installed === true; }; return (
- {sourcesInfo.length > 0 && ( -
-
-

Connectors

- {Object.entries(catalogList).length === 0 && } -
+
+
+

Connectors

+ {emptyCatalogList && }
- )} +
- {!hasInstalledComponents && Object.entries(catalogList).length > 0 ? ( + {!hasInstalledComponents && catalogListArr.length > 0 ? ( ) : ( <> - {sourcesInfo.map((infoItem: SourceInfo, index: number) => { + {connectorsPageList.map((item: {name: string; displayName: string; configKey: string; source: Source}) => { return ( (components && - components[infoItem?.configKey] && + components[item.configKey] && isInstalled && - connectors[infoItem.configKey] && - infoItem.channel && - isComponentInstalled(infoItem.repository, infoItem.componentName) && ( + connectors[item.configKey] && + isComponentInstalled(item.name) && ( 0 || infoItem.type === Source.chatPlugin, - components[infoItem.configKey]?.enabled + Object.keys(connectors[item.configKey]).length > 0 || item.source === Source.chatPlugin, + components[item.configKey]?.enabled )} - key={index} + key={item.displayName} /> )) || - (channelsBySource(infoItem.type).length > 0 && - !infoItem.channel && - isComponentInstalled(infoItem.repository, infoItem.componentName) && ( -
- { - navigate(infoItem.channelsListRoute); - }} - /> -
- )) || - (getSourceForComponent(infoItem.type) && - components && - components[infoItem.configKey] && - !infoItem.channel && - isComponentInstalled(infoItem.repository, infoItem.componentName) && ( -
- 0, - components[infoItem?.configKey].enabled - )} - style={InfoCardStyle.normal} - key={infoItem.type} - sourceInfo={infoItem} - addChannelAction={() => { - navigate(infoItem.channelsListRoute); - }} - /> -
- )) + (channelsBySource(item.source).length > 0 && isComponentInstalled(item.name) && ( +
+ { + navigate(CONNECTORS_CONNECTED_ROUTE + '/' + item.source); + }} + /> +
+ )) || + (components && isComponentInstalled(item.name) && connectors && connectors[item.configKey] && ( +
+ 0, + components[item?.configKey].enabled + )} + style={InfoCardStyle.normal} + key={item.displayName} + componentInfo={item} + addChannelAction={() => { + navigate(CONNECTORS_CONNECTED_ROUTE + '/' + item.source); + }} + /> +
+ )) ); })} diff --git a/frontend/control-center/src/pages/Inbox/index.module.scss b/frontend/control-center/src/pages/Inbox/index.module.scss index a7e89997dd..3f462a4680 100644 --- a/frontend/control-center/src/pages/Inbox/index.module.scss +++ b/frontend/control-center/src/pages/Inbox/index.module.scss @@ -41,8 +41,35 @@ .channelsLine { width: 100%; - span { - @include font-base; - color: var(--color-airy-blue); - } +} + +.channelsLineWrapper { + display: flex; + flex-direction: column; + margin-bottom: 36px; +} + +.channelsTitle { + margin-bottom: 16px; + margin-top: 16px; + margin-left: 36px; + @include font-base; + color: var(--color-airy-blue); +} + +.lineContainer { + display: flex; + align-items: center; +} + +.lineBlue { + width: 150px; + height: 4px; + background: var(--color-airy-blue); +} + +.lineGrey { + width: 100%; + height: 1px; + background: var(--color-light-gray); } diff --git a/frontend/control-center/src/pages/Inbox/index.tsx b/frontend/control-center/src/pages/Inbox/index.tsx index 6b1035ef78..c408eebfaf 100644 --- a/frontend/control-center/src/pages/Inbox/index.tsx +++ b/frontend/control-center/src/pages/Inbox/index.tsx @@ -1,40 +1,58 @@ -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 {listChannels, listComponents} from '../../actions'; import {StateModel} from '../../reducers'; import {allChannelsConnected} from '../../selectors/channels'; import {setPageTitle} from '../../services/pageTitle'; import {ChannelCard} from '../Connectors/ChannelCard'; import {EmptyStateInbox} from './EmptyStateInbox'; +import {Channel, Source} from 'model'; +import {formatComponentNameToConfigKey} from '../../services'; import styles from './index.module.scss'; const mapDispatchToProps = { listChannels, + listComponents, }; -const mapStateToProps = (state: StateModel) => ({ - channels: Object.values(allChannelsConnected(state)), -}); - -const connector = connect(mapStateToProps, mapDispatchToProps); +const connector = connect(null, mapDispatchToProps); const Inbox = (props: ConnectedProps) => { - const [sourcesInfo, setSourcesInfo] = useState([]); const channels = useSelector((state: StateModel) => Object.values(allChannelsConnected(state))); + const catalogList = useSelector((state: StateModel) => state.data.catalog); const channelsBySource = (Source: Source) => channels.filter((channel: Channel) => channel.source === Source); + const [inboxList, setInboxList] = useState([]); + + const catalogListArr = Object.entries(catalogList); + const emptyCatalogList = catalogListArr.length === 0; useEffect(() => { - setSourcesInfo(getSourcesInfo()); + props.listComponents(); }, []); useEffect(() => { - if (props.channels.length === 0) { + if (Object.entries(catalogList).length > 0) { + const list = []; + catalogListArr.map(component => { + if (component[1]?.displayName) { + const configKey = formatComponentNameToConfigKey(component[1].displayName); + list.push({ + name: component[1].name, + displayName: component[1].displayName, + configKey: configKey, + source: component[1].source, + }); + } + }); + setInboxList(list); + } + }, [catalogList]); + + useEffect(() => { + if (channels.length === 0) { props.listChannels(); } - }, [props.channels.length]); + }, [channels.length]); useEffect(() => { setPageTitle('Inbox'); @@ -42,7 +60,7 @@ const Inbox = (props: ConnectedProps) => { return (
- {sourcesInfo.length > 0 && ( + {!emptyCatalogList && (

Inbox

@@ -50,21 +68,21 @@ const Inbox = (props: ConnectedProps) => {
)}
- {sourcesInfo.length === 0 ? ( + {emptyCatalogList ? ( ) : (
-
- Channels -
-
-
+
+

Channels

+
+
+
- {sourcesInfo.map((infoItem: SourceInfo, index: number) => { - if (channelsBySource(infoItem.type).length > 0) { - return ; + {inboxList.map((item: {name: string; displayName: string; configKey: string; source: Source}) => { + if (channelsBySource(item.source).length > 0) { + return ; } })}
diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx index e70dc5d463..314ba4602b 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx @@ -5,13 +5,11 @@ import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFill import {ReactComponent as UncheckedIcon} from 'assets/images/icons/uncheckIcon.svg'; import {ReactComponent as ArrowRight} from 'assets/images/icons/arrowRight.svg'; import {getChannelAvatar} from '../../../components/ChannelAvatar'; -import {getSourcesInfo} from '../../../components/SourceInfo'; -import {getComponentName} from '../../../services'; -import {ConfigServices, getSourceForComponent} from 'model'; +import {ConfigServices, Source} from 'model'; import {SettingsModal, Button, Toggle, Tooltip} from 'components'; -import styles from './index.module.scss'; import {connect, ConnectedProps, useSelector} from 'react-redux'; import {useTranslation} from 'react-i18next'; +import styles from './index.module.scss'; type ComponentInfoProps = { healthy: boolean; @@ -20,6 +18,7 @@ type ComponentInfoProps = { isExpanded: boolean; enabled?: boolean; setIsPopUpOpen: (value: boolean) => void; + source?: Source; } & ConnectedProps; const mapDispatchToProps = { @@ -28,35 +27,38 @@ const mapDispatchToProps = { const connector = connect(null, mapDispatchToProps); -const isConfigurableConnector = (name: string) => { - let isConfigurable = false; - - getSourcesInfo().forEach(elem => { - if (elem.configKey === name) isConfigurable = true; - }); - - return isConfigurable; -}; - const ItemInfo = (props: ComponentInfoProps) => { - const {healthy, itemName, isComponent, isExpanded, enabled, setIsPopUpOpen, enableDisableComponent} = props; + const {source, healthy, itemName, isComponent, isExpanded, enabled, setIsPopUpOpen, enableDisableComponent} = props; + const catalogList = useSelector((state: StateModel) => state.data.catalog); const connectors = useSelector((state: StateModel) => state.data.connector); - const [channelSource] = useState(itemName && getSourceForComponent(itemName)); - const [componentName] = useState(itemName && getComponentName(itemName)); + const [channelSource] = useState(source); + const [componentName] = useState(itemName); const [componentEnabled, setComponentEnabled] = useState(enabled); const [enablePopupVisible, setEnablePopupVisible] = useState(false); const isVisible = isExpanded || isComponent; const {t} = useTranslation(); + const isConfigurableConnector = () => { + let isConfigurable = false; + + Object.entries(catalogList).forEach(elem => { + if (elem[1] && elem[1].source && elem[1].source === source) isConfigurable = true; + }); + + return isConfigurable; + }; + const isComponentConfigured = - connectors[itemName] && isConfigurableConnector(itemName) && Object.keys(connectors[itemName]).length > 0; + connectors[itemName] && isConfigurableConnector() && Object.keys(connectors[itemName]).length > 0; //status const needsConfig = + connector && + connectors[itemName] && isComponent && enabled && healthy && - isConfigurableConnector(itemName) && + isConfigurableConnector() && !isComponentConfigured && itemName !== ConfigServices.sourcesChatPlugin; const isRunning = healthy && enabled; diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx index c8876e5c58..1763897d98 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/index.tsx @@ -1,4 +1,5 @@ import React, {useState, useEffect, useRef} from 'react'; +import {Source} from 'model'; import ItemInfo from './ItemInfo'; import styles from './index.module.scss'; @@ -7,10 +8,11 @@ type ComponentsListProps = { componentName: string; services: {name: string; healthy: boolean}[]; enabled: boolean; + source: Source; }; export const ComponentListItem = (props: ComponentsListProps) => { - const {healthy, componentName, enabled, services} = props; + const {healthy, componentName, source, enabled, services} = props; const [isExpanded, setIsExpanded] = useState(false); const [isPopUpOpen, setIsPopUpOpen] = useState(false); @@ -41,6 +43,7 @@ export const ComponentListItem = (props: ComponentsListProps) => { isExpanded={isExpanded} enabled={enabled} setIsPopUpOpen={setIsPopUpOpen} + source={source} /> {services.map((service, index) => ( diff --git a/frontend/control-center/src/pages/Status/index.tsx b/frontend/control-center/src/pages/Status/index.tsx index f17832d8aa..4b6de25aff 100644 --- a/frontend/control-center/src/pages/Status/index.tsx +++ b/frontend/control-center/src/pages/Status/index.tsx @@ -1,34 +1,42 @@ import React, {useEffect, useState} from 'react'; import {connect, ConnectedProps, useSelector} from 'react-redux'; -import {getClientConfig, getConnectorsConfiguration} from '../../actions'; +import {getClientConfig, getConnectorsConfiguration, listComponents} from '../../actions'; import {StateModel} from '../../reducers'; import {ComponentListItem} from './ComponentListItem'; import {ReactComponent as RefreshIcon} from 'assets/images/icons/refreshIcon.svg'; -import styles from './index.module.scss'; import {setPageTitle} from '../../services/pageTitle'; import {useTranslation} from 'react-i18next'; +import {ComponentRepository} from 'model'; +import styles from './index.module.scss'; const mapDispatchToProps = { getClientConfig, getConnectorsConfiguration, + listComponents, }; const connector = connect(null, mapDispatchToProps); const Status = (props: ConnectedProps) => { - const {getClientConfig, getConnectorsConfiguration} = props; + const {getClientConfig, getConnectorsConfiguration, listComponents} = props; const components = useSelector((state: StateModel) => Object.entries(state.data.config.components)); + const catalogList = useSelector((state: StateModel) => state.data.catalog); const [spinAnim, setSpinAnim] = useState(true); const {t} = useTranslation(); useEffect(() => { setPageTitle('Status'); + getClientConfig().catch((error: Error) => { console.error(error); }); getConnectorsConfiguration().catch((error: Error) => { console.error(error); }); + + listComponents().catch((error: Error) => { + console.error(error); + }); }, []); setInterval(() => { @@ -45,6 +53,17 @@ const Status = (props: ConnectedProps) => { setSpinAnim(!spinAnim); }; + const formatToComponentName = (name: string) => { + let formattedName; + if (name.includes('enterprise')) { + formattedName = `${ComponentRepository.airyEnterprise}/${name}`; + } else { + formattedName = `${ComponentRepository.airyCore}/${name}`; + } + + return formattedName; + }; + return (

{t('status')}

@@ -60,15 +79,21 @@ const Status = (props: ConnectedProps) => {
- {components.map((component, index) => ( - - ))} + {Object.entries(catalogList).length > 0 && + components.map((component, index) => { + const formattedName = formatToComponentName(component[0]); + const catalogItem = catalogList[formattedName]; + return ( + + ); + })}
); diff --git a/frontend/control-center/src/routes/routes.ts b/frontend/control-center/src/routes/routes.ts index c90969f8e1..6122b3a15e 100644 --- a/frontend/control-center/src/routes/routes.ts +++ b/frontend/control-center/src/routes/routes.ts @@ -30,7 +30,7 @@ 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_WHATSAPP_BUSINESS_CLOUD_ROUTE = '/catalog/whatsappBusinessCloud'; +export const CATALOG_WHATSAPP_BUSINESS_CLOUD_ROUTE = '/catalog/whatsapp-cloud'; export const CATALOG_GOOGLE_ROUTE = '/catalog/google'; export const CATALOG_INSTAGRAM_ROUTE = '/catalog/instagram'; export const CATALOG_DIALOGFLOW_ROUTE = '/catalog/dialogflow'; diff --git a/frontend/control-center/src/services/format.ts b/frontend/control-center/src/services/format.ts index 127412b05c..8bc74f8d48 100644 --- a/frontend/control-center/src/services/format.ts +++ b/frontend/control-center/src/services/format.ts @@ -1,5 +1,3 @@ -import {getSourceForComponent} from 'model'; - export const capitalizeTitle = (str: string) => { return str.split(' ').map(capitalize).join(' '); }; @@ -8,29 +6,6 @@ const capitalize = (str: string) => { return str.charAt(0).toUpperCase() + str.slice(1); }; -const formatName = (str: string) => { - const name = str - .split('-') - .filter( - element => element !== 'enterprise' && element !== 'sources' && element !== 'connector' && element !== 'frontend' - ) - .join(' '); - return capitalizeTitle(name); -}; - -export const getComponentName = (itemName: string) => { - if (itemName.includes('frontend-ui')) { - return 'Airy Inbox'; - } - if (getSourceForComponent(itemName) && !itemName.includes('enterprise')) { - return formatName(itemName); - } - - const formattedComponentName = itemName - .split('-') - .filter(element => element !== 'sources' && element !== 'connector' && element !== 'frontend') - .join(' '); - return capitalizeTitle(formattedComponentName); -}; - export const removePrefix = (name: string) => name.split('/').pop(); + +export const formatComponentNameToConfigKey = (componentName: string) => componentName.split('/')[1]; diff --git a/frontend/control-center/src/pages/Catalog/getRouteForCard.ts b/frontend/control-center/src/services/getRouteForCard.ts similarity index 96% rename from frontend/control-center/src/pages/Catalog/getRouteForCard.ts rename to frontend/control-center/src/services/getRouteForCard.ts index bff9b12686..76a2c77e38 100644 --- a/frontend/control-center/src/pages/Catalog/getRouteForCard.ts +++ b/frontend/control-center/src/services/getRouteForCard.ts @@ -33,7 +33,8 @@ import { CATALOG_WEBHOOKS_ROUTE, CATALOG_MOBILE_ROUTE, CATALOG_VIBER_ROUTE, -} from '../../routes/routes'; + WEBHOOKS_ROUTE, +} from '../routes/routes'; export const getConnectedRouteForComponent = (displayName: string) => { switch (displayName) { @@ -57,6 +58,8 @@ export const getConnectedRouteForComponent = (displayName: string) => { return CONNECTORS_SALESFORCE_ROUTE + '/new'; case 'Zendesk': return CONNECTORS_ZENDESK_ROUTE + '/new'; + case 'Webhooks': + return WEBHOOKS_ROUTE; } }; @@ -82,6 +85,8 @@ export const getNewChannelRouteForComponent = (displayName: string) => { return CONNECTORS_SALESFORCE_ROUTE + '/new'; case 'Zendesk': return CONNECTORS_ZENDESK_ROUTE + '/new'; + case 'Webhooks': + return WEBHOOKS_ROUTE; } }; diff --git a/frontend/control-center/src/services/index.ts b/frontend/control-center/src/services/index.ts index 0f471f7f9d..5a7dc2fd3d 100644 --- a/frontend/control-center/src/services/index.ts +++ b/frontend/control-center/src/services/index.ts @@ -1,3 +1,5 @@ export * from './hooks'; export * from './format'; export * from './pageTitle'; +export * from './getComponentStatus'; +export * from './getRouteForCard'; diff --git a/frontend/inbox/handles/index.ts b/frontend/inbox/handles/index.ts index 2ca4b24653..482cace97a 100644 --- a/frontend/inbox/handles/index.ts +++ b/frontend/inbox/handles/index.ts @@ -20,6 +20,7 @@ export const cyTagsTableRowDisplayDeleteModalInput = 'tagsTableRowDisplayDeleteM export const cyTagsTableRowDisplayDeleteModalButton = 'tagsTableRowDisplayDeleteModalButton'; export const cyConnectorAddButton = 'connectorAddButton'; +export const cyAddChannelButton = 'addChannelButton'; export const cyChannelsChatPluginAddButton = 'channelsChatPluginAddButton'; export const cyChannelsFacebookAddButton = 'channelsFacebookAddButton'; diff --git a/lib/typescript/model/Components.ts b/lib/typescript/model/Components.ts index a910e1d022..3a5edf45a1 100644 --- a/lib/typescript/model/Components.ts +++ b/lib/typescript/model/Components.ts @@ -1,3 +1,5 @@ +import {Source} from './Source'; + export interface Components { components: { [key: string]: { @@ -15,4 +17,11 @@ export interface ComponentInfo { category: string; price: string; docs: string; + source: Source; +} + +export enum ComponentRepository { + 'airyCore' = 'airy-core', + 'airyEnterprise' = 'airy-enterprise', + 'airyCloud' = 'airy-cloud', } diff --git a/lib/typescript/model/Source.ts b/lib/typescript/model/Source.ts index 112f950a6d..bbbf035177 100644 --- a/lib/typescript/model/Source.ts +++ b/lib/typescript/model/Source.ts @@ -14,7 +14,6 @@ export enum Source { rasa = 'rasa', webhooks = 'webhooks', amelia = 'amelia', - frontendinbox = 'frontendinbox', mobile = 'mobile', whatsapp = 'whatsapp', } @@ -24,23 +23,3 @@ export const prettifySource = (source: string) => .split('.') .map(word => `${word[0].toUpperCase()}${word.slice(1)}`) .join(' '); - -export const getSourceForComponent = (item: string) => { - let formattedItem; - - if (item.includes('airy-core') || item.includes('airy-enterprise')) { - formattedItem = item.split('/')[1]; - } else { - formattedItem = item; - } - - const itemArr = formattedItem - .split('-') - .filter(element => element !== 'enterprise' && element !== 'sources' && element !== 'connector'); - let componentName = itemArr.join(' ').replace(/ /g, ''); - if (componentName === 'chatplugin') componentName = 'chatPlugin'; - if (componentName === 'whatsappbusinesscloud') componentName = 'twilioWhatsApp'; - if (componentName === 'salesforcecontactsingestion') componentName = 'salesforce'; - - return Source[componentName]; -}; diff --git a/lib/typescript/translations/translations.ts b/lib/typescript/translations/translations.ts index 85a6740603..b29c06cefa 100644 --- a/lib/typescript/translations/translations.ts +++ b/lib/typescript/translations/translations.ts @@ -384,6 +384,9 @@ const resources = { connectWhatsappNumber: 'Connect Whatsapp Number', updateWhatsappNumber: 'Update Whatsapp Number', + //WhatsApp Business Cloud + whatsappDescription: 'World #1 chat app.', + //Congnigy congnigyDescription: 'A low-code UI for conversational AI.', @@ -790,6 +793,9 @@ const resources = { securityToken: 'Sicherheitstoken', yourSalesforceSecurityToken: 'Ihr Salesforce-Sicherheitstoken', + //WhatsApp Business Cloud + whatsappDescription: 'Weltweite Chat-App Nr. 1', + //Congnigy congnigyDescription: 'Eine Low-Code-Benutzeroberfläche für Konversations-KI.', @@ -1304,6 +1310,9 @@ const resources = { connectWhatsappNumber: 'Connecter le numéro Whatsapp', updateWhatsappNumber: 'Mise à jour du numéro Whatsapp', + //WhatsApp Business Cloud + whatsappDescription: 'Première application de chat au monde', + //Congnigy congnigyDescription: "Une interface utilisateur low-code pour l'IA conversationnelle.", @@ -1764,6 +1773,9 @@ const resources = { connectWhatsappNumber: 'Conectar el número de Whatsapp', updateWhatsappNumber: 'Actualizar el número de Whatsapp', + //WhatsApp Business Cloud + whatsappDescription: 'La aplicación de mensajería número 1 del mundo', + //Congnigy congnigyDescription: 'Una interfaz de usuario de código bajo para IA conversacional.', From 2a8a0a1ed3cf9191657d358aacc5bd863543d1e9 Mon Sep 17 00:00:00 2001 From: Audrey Kadjar Date: Wed, 24 Aug 2022 11:49:04 +0200 Subject: [PATCH 18/42] [#3613] docs about cypress testing (#3635) * cypress docs wip * docs update * cypress testing added and control center update * added link to chatplugin source --- docs/docs/ui/control-center/introduction.md | 3 + docs/docs/ui/inbox/introduction.md | 3 + docs/docs/ui/testing/integration-testing.md | 53 ++++++++++++++++++ docs/sidebars.js | 3 + docs/static/img/ui/controlCenterCatalog.png | Bin 46251 -> 129127 bytes .../static/img/ui/controlCenterConnectors.png | Bin 216993 -> 55077 bytes docs/static/img/ui/controlCenterStatus.png | Bin 72204 -> 73929 bytes docs/static/img/ui/cypressDashboard.png | Bin 0 -> 149892 bytes 8 files changed, 62 insertions(+) create mode 100644 docs/docs/ui/testing/integration-testing.md create mode 100644 docs/static/img/ui/cypressDashboard.png diff --git a/docs/docs/ui/control-center/introduction.md b/docs/docs/ui/control-center/introduction.md index b13877cd0d..96ef67462b 100644 --- a/docs/docs/ui/control-center/introduction.md +++ b/docs/docs/ui/control-center/introduction.md @@ -15,6 +15,9 @@ 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). +To run the Control Center UI locally, you can start its development server with the command:
+`./scripts/web-dev.sh //frontend/control-center:bundle_server` + } diff --git a/docs/docs/ui/inbox/introduction.md b/docs/docs/ui/inbox/introduction.md index 2685376741..70f4fc2539 100644 --- a/docs/docs/ui/inbox/introduction.md +++ b/docs/docs/ui/inbox/introduction.md @@ -15,6 +15,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; The Inbox features a [Messenger](messenger), filled with the conversations from all of your [connectors](sources/introduction.md). You can chat, organize your conversations with features such as [Filters, Search](messenger#search-and-filter) and [Tags](tags), view and edit [contacts](contacts), in addition to adding [suggested replies](suggestedReplies) to messages to improve response time. +To run the Inbox UI locally, you can start its development server with the command:
+`./scripts/web-dev.sh //frontend/inbox:bundle_server` + } diff --git a/docs/docs/ui/testing/integration-testing.md b/docs/docs/ui/testing/integration-testing.md new file mode 100644 index 0000000000..49857ee40d --- /dev/null +++ b/docs/docs/ui/testing/integration-testing.md @@ -0,0 +1,53 @@ +--- +title: Integration Testing +sidebar_label: Integration Testing +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; +import SuccessBox from "@site/src/components/SuccessBox"; + +We use the end-to-end testing tool [Cypress](https://docs.cypress.io/guides/overview/why-cypress) to test +the main features of the [Airy Live Chat Plugin](/sources/chatplugin/overview), the [Inbox](/ui/inbox/introduction), and the [Control Center](/ui/control-center/introduction). + +You can find the tests in the airy repository at `/integration`. The tests are intended to be run on a local instance; a few values need to be configured before the tests can be run. + +Here is a step-by-step guide to running the tests locally: + +- First, make sure that all dependencies are up-to-date in your `airy` repository. + In doubt, delete your `nodes_modules` and run `yarn install`. + +- You need to have the [contacts feature](/ui/inbox/contacts) enabled (it is disabled by default). To enable it, set the `integration.contacts.enabled` field in your [airy.yaml config](getting-started/installation/configuration.md) to `true`. + +- Run a local instance with the command `scripts/dev_cli.sh create --provider=minikube`. [Apply the configuration](/getting-started/installation/configuration#applying-the-configuration) once the process is finished. + +- Next, start the development server for the [Control Center](/ui/control-center/introduction) with the command:
+ `./scripts/web-dev.sh //frontend/control-center:bundle_server` + +- Navigate to the `Catalog` page and install the [Airy Live Chat Plugin](/sources/chatplugin/overview). Once it is installed, navigate to the `Connectors` page, select `Airy Chat Plugin`, and add a new channel. + +- Copy the channelID of the new channel and add it to the [Cypress](https://docs.cypress.io/guides/overview/why-cypress) configuration file `/integration/cypress.config.ts` at `env.channelId`. + +- Open the demo page by passing the `channel_id` as a query parameter:
+ `http://localhost/chatplugin/ui/example?channel_id=`
+ Write a message in the chat. + +- Start the development server of the [Inbox](/ui/inbox/introduction):
+ `./scripts/web-dev.sh //frontend/inbox:bundle_server` + +- You should see the conversation of the [Airy Live Chat Plugin](/sources/chatplugin/overview) channel you just created. Copy its conversationID (it is the id that is passed in its URL) and add it to the configuration file `/integration/cypress.config.ts` at `env.conversationId`. + +- Then, copy the id of the conversation's message and add it to the configuration file `/integration/cypress.config.ts` at `env. messageId` (you can find the message's id by inspecting its DOM element, as the id is passed to the DIV as a key). + + + +You are now ready to run the tests on your local instance 🎉 + + + +- Start the development server for the [Control Center](/ui/control-center/introduction) with the command `./scripts/web-dev.sh //frontend/control-center:bundle_server` + +- Open the [Cypress dashboard](https://docs.cypress.io/guides/dashboard/introduction) with the command: `/node_modules/.bin/cypress open -C integration/cypress.config.ts` + +The dashboard lists all tests. You can run tests by clicking on each item on the list. + +Create Tags diff --git a/docs/sidebars.js b/docs/sidebars.js index cff15d63d2..a6f7d259c2 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -95,6 +95,9 @@ module.exports = { 'ui/control-center/webhooks', ], }, + { + Testing: ['ui/testing/integration-testing'], + }, ], }, { diff --git a/docs/static/img/ui/controlCenterCatalog.png b/docs/static/img/ui/controlCenterCatalog.png index b1e64a19b4579f4f5ddccce2b82a7a4a62a3c8c8..745ab19ba188abad238da2b1674dc3ee235ef9c0 100644 GIT binary patch literal 129127 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 z�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 diff --git a/docs/static/img/ui/controlCenterConnectors.png b/docs/static/img/ui/controlCenterConnectors.png index 379dd092711c54aebbc369d53fa506caf8244d53..e53b39cf6d20bbb3da50165ce9e72d83b0cc8dd8 100644 GIT binary patch literal 55077 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
U|iStQ?E87H?HXo8DMFyP4*+{zwUmTbm9BNUv2W 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 WIJb*sVZ8pTs-~o+SSfE2{=WddQ%-gO literal 216993 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 CvNa_D diff --git a/docs/static/img/ui/controlCenterStatus.png b/docs/static/img/ui/controlCenterStatus.png index 14a4bf423a6340f33de154f5df3a3095288a2786..513726bb2160b491c5a093e797c1536adb20515c 100644 GIT binary patch literal 73929 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�>S4uOKkkSlmK74vK%rigplT9clpoKZtt|s3^Ly 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 diff --git a/docs/static/img/ui/cypressDashboard.png b/docs/static/img/ui/cypressDashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ebb14f851abd7c69903b69d36a6a3b9abb7454 GIT binary patch literal 149892 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

IdEK}Hi# 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 E4-*!}iU0rr literal 0 HcmV?d00001 From 5f45404c75c63b0cefb78aca0d169be973a6261f Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 24 Aug 2022 16:10:29 +0200 Subject: [PATCH 19/42] [#3638] Added last refresh on Status page (#3639) --- .../src/pages/Status/index.module.scss | 12 ++++++ .../control-center/src/pages/Status/index.tsx | 39 +++++++++++-------- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/frontend/control-center/src/pages/Status/index.module.scss b/frontend/control-center/src/pages/Status/index.module.scss index f40b30d09d..c820ad609b 100644 --- a/frontend/control-center/src/pages/Status/index.module.scss +++ b/frontend/control-center/src/pages/Status/index.module.scss @@ -24,6 +24,18 @@ margin-bottom: 14px; } +.statusLastRefreshContainer { + display: flex; + justify-content: space-between; + align-items: center; + margin-right: 16px; + + span { + @include font-s; + color: var(--color-text-contrast); + } +} + .listHeader { display: flex; flex-direction: row; diff --git a/frontend/control-center/src/pages/Status/index.tsx b/frontend/control-center/src/pages/Status/index.tsx index 4b6de25aff..179115e26a 100644 --- a/frontend/control-center/src/pages/Status/index.tsx +++ b/frontend/control-center/src/pages/Status/index.tsx @@ -22,34 +22,35 @@ const Status = (props: ConnectedProps) => { const components = useSelector((state: StateModel) => Object.entries(state.data.config.components)); const catalogList = useSelector((state: StateModel) => state.data.catalog); const [spinAnim, setSpinAnim] = useState(true); + const [lastRefresh, setLastRefresh] = useState(new Date().toLocaleString()); const {t} = useTranslation(); useEffect(() => { setPageTitle('Status'); - - getClientConfig().catch((error: Error) => { - console.error(error); - }); + getClientConfig() + .then(() => { + setLastRefresh(new Date().toLocaleString()); + }) + .catch((error: Error) => { + console.error(error); + }); getConnectorsConfiguration().catch((error: Error) => { console.error(error); }); - listComponents().catch((error: Error) => { console.error(error); }); }, []); - setInterval(() => { - props.getClientConfig().catch((error: Error) => { - console.error(error); - }); - setSpinAnim(!spinAnim); - }, 300000); - const handleRefresh = () => { - props.getClientConfig().catch((error: Error) => { - console.error(error); - }); + props + .getClientConfig() + .then(() => { + setLastRefresh(new Date().toLocaleString()); + }) + .catch((error: Error) => { + console.error(error); + }); setSpinAnim(!spinAnim); }; @@ -66,7 +67,13 @@ const Status = (props: ConnectedProps) => { return (

-

{t('status')}

+
+

{t('status')}

+ + Last Refresh:
+ {lastRefresh} +
+

{t('componentName')}

{t('healthStatus')}

From 6daf09d826e730abada4d6b3e9689e27a834bbd5 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 24 Aug 2022 18:09:45 +0200 Subject: [PATCH 20/42] [#3377] Added rasa connector (#3640) --- frontend/control-center/src/App.tsx | 2 + .../src/components/Sidebar/index.tsx | 6 +- .../src/components/TopBar/index.tsx | 4 +- .../index.module.scss | 0 .../index.tsx | 8 +- .../Connectors/ConnectorConfig/index.tsx | 27 +- .../Dialogflow/ConnectNewDialogflow.tsx | 237 +++++++++--------- .../Providers/Dialogflow/index.module.scss | 17 ++ .../Providers/Rasa/ConnectorRasa.tsx | 9 + .../Providers/Rasa/RasaConnect.module.scss | 25 ++ .../Connectors/Providers/Rasa/RasaConnect.tsx | 94 +++++++ .../Salesforce/ConnectNewSalesforce.tsx | 13 +- .../Providers/Salesforce/index.module.scss | 1 + .../Providers/Zendesk/ConnectNewZendesk.tsx | 11 +- .../Providers/Zendesk/index.module.scss | 1 + .../Status/ComponentListItem/ItemInfo.tsx | 4 +- .../inbox/src/components/Sidebar/index.tsx | 8 +- lib/typescript/model/Components.ts | 24 ++ lib/typescript/model/Config.ts | 23 -- lib/typescript/model/Connectors.ts | 23 ++ lib/typescript/model/index.ts | 1 + lib/typescript/translations/translations.ts | 32 +++ 22 files changed, 405 insertions(+), 165 deletions(-) rename frontend/control-center/src/pages/Connectors/{ConnectNewForm => ConfigureConnector}/index.module.scss (100%) rename frontend/control-center/src/pages/Connectors/{ConnectNewForm => ConfigureConnector}/index.tsx (90%) create mode 100644 frontend/control-center/src/pages/Connectors/Providers/Rasa/ConnectorRasa.tsx create mode 100644 frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.module.scss create mode 100644 frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.tsx create mode 100644 lib/typescript/model/Connectors.ts diff --git a/frontend/control-center/src/App.tsx b/frontend/control-center/src/App.tsx index b4d57a9d5c..93269067c9 100644 --- a/frontend/control-center/src/App.tsx +++ b/frontend/control-center/src/App.tsx @@ -32,6 +32,7 @@ import ConnectorFacebook from './pages/Connectors/Providers/Facebook/Messenger/C import ConnectorTwilioSms from './pages/Connectors/Providers/Twilio/SMS/ConnectorTwilioSms'; import ConnectorTwilioWhatsapp from './pages/Connectors/Providers/Twilio/WhatsApp/ConnectorTwilioWhatsapp'; import ConnectorGoogle from './pages/Connectors/Providers/Google/ConnectorGoogle'; +import ConnectorRasa from './pages/Connectors/Providers/Rasa/ConnectorRasa'; import ConnectorInstagram from './pages/Connectors/Providers/Instagram/ConnectorInstagram'; import CatalogProductPage from './pages/Catalog/CatalogItemDetails'; @@ -68,6 +69,7 @@ const App = (props: ConnectedProps) => { } /> } /> } /> + } /> } /> diff --git a/frontend/control-center/src/components/Sidebar/index.tsx b/frontend/control-center/src/components/Sidebar/index.tsx index 09b4bc5251..bf6c02ff4b 100644 --- a/frontend/control-center/src/components/Sidebar/index.tsx +++ b/frontend/control-center/src/components/Sidebar/index.tsx @@ -12,7 +12,7 @@ import {ReactComponent as InboxIcon} from 'assets/images/icons/inboxIcon.svg'; import styles from './index.module.scss'; import {StateModel} from '../../reducers'; import {connect, ConnectedProps} from 'react-redux'; -import {ConfigServices, ComponentRepository} from 'model'; +import {ComponentName, ComponentRepository} from 'model'; type SideBarProps = {} & ConnectedProps; @@ -30,8 +30,8 @@ const Sidebar = (props: SideBarProps) => { }; const webhooksEnabled = - props.catalog[`${ComponentRepository.airyCore}/${ConfigServices.integrationWebhook}`]?.installed; - const inboxEnabled = props.components[ConfigServices.frontendInbox]?.enabled; + props.catalog[`${ComponentRepository.airyCore}/${ComponentName.integrationWebhook}`]?.installed; + const inboxEnabled = props.components[ComponentName.frontendInbox]?.enabled || false; const showLine = inboxEnabled || webhooksEnabled; return ( diff --git a/frontend/control-center/src/components/TopBar/index.tsx b/frontend/control-center/src/components/TopBar/index.tsx index ee1e208f0f..a73a91653c 100644 --- a/frontend/control-center/src/components/TopBar/index.tsx +++ b/frontend/control-center/src/components/TopBar/index.tsx @@ -17,7 +17,7 @@ import {env} from '../../env'; import {useAnimation} from 'render'; import {useTranslation} from 'react-i18next'; import i18next from 'i18next'; -import {ConfigServices, Language} from 'model/Config'; +import {Language, ComponentName} from 'model'; interface TopBarProps { isAdmin: boolean; @@ -44,7 +44,7 @@ const TopBar = (props: TopBarProps & ConnectedProps) => { const [chevronLanguageAnim, setChevronLanguageAnim] = useState(false); const [currentLanguage, setCurrentLanguage] = useState(localStorage.getItem('language') || Language.english); const {t} = useTranslation(); - const inboxEnabled = props.components[ConfigServices.frontendInbox]?.enabled || false; + const inboxEnabled = props.components[ComponentName.frontendInbox]?.enabled || false; useLayoutEffect(() => { handleLanguage(localStorage.getItem('language')); diff --git a/frontend/control-center/src/pages/Connectors/ConnectNewForm/index.module.scss b/frontend/control-center/src/pages/Connectors/ConfigureConnector/index.module.scss similarity index 100% rename from frontend/control-center/src/pages/Connectors/ConnectNewForm/index.module.scss rename to frontend/control-center/src/pages/Connectors/ConfigureConnector/index.module.scss diff --git a/frontend/control-center/src/pages/Connectors/ConnectNewForm/index.tsx b/frontend/control-center/src/pages/Connectors/ConfigureConnector/index.tsx similarity index 90% rename from frontend/control-center/src/pages/Connectors/ConnectNewForm/index.tsx rename to frontend/control-center/src/pages/Connectors/ConfigureConnector/index.tsx index 5ebaa5a2fb..619089f41f 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectNewForm/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConfigureConnector/index.tsx @@ -5,8 +5,8 @@ import {cyConnectorAddButton} from 'handles'; import {useTranslation} from 'react-i18next'; import styles from './index.module.scss'; -interface ConnectNewFormProps { - children: JSX.Element[]; +interface ConfigureConnectorProps { + children: JSX.Element[] | JSX.Element; componentName: string; isUpdateModalVisible: boolean; setIsUpdateModalVisible: React.Dispatch>; @@ -16,7 +16,7 @@ interface ConnectNewFormProps { updateConfig: (e: React.FormEvent) => void; } -export const ConnectNewForm = ({ +export const ConfigureConnector = ({ children, componentName, isUpdateModalVisible, @@ -25,7 +25,7 @@ export const ConnectNewForm = ({ disabled, isConfigured, updateConfig, -}: ConnectNewFormProps) => { +}: ConfigureConnectorProps) => { const {t} = useTranslation(); return ( diff --git a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx index 4061d8fee4..2ad97677bb 100644 --- a/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx +++ b/frontend/control-center/src/pages/Connectors/ConnectorConfig/index.tsx @@ -24,7 +24,7 @@ import {ConfigStatusButton} from '../ConfigStatusButton'; import {UpdateComponentConfigurationRequestPayload} from 'httpclient/src'; import ConnectedChannelsList from '../ConnectedChannelsList'; import ChatPluginConnect from '../Providers/Airy/ChatPlugin/ChatPluginConnect'; -import {CONNECTORS_ROUTE, CONNECTORS_CONNECTED_ROUTE} from '../../../routes/routes'; +import {CONNECTORS_CONNECTED_ROUTE} from '../../../routes/routes'; import FacebookConnect from '../Providers/Facebook/Messenger/FacebookConnect'; import InstagramConnect from '../Providers/Instagram/InstagramConnect'; import GoogleConnect from '../Providers/Google/GoogleConnect'; @@ -33,6 +33,7 @@ import TwilioWhatsappConnect from '../Providers/Twilio/WhatsApp/TwilioWhatsappCo import {getComponentStatus, removePrefix} from '../../../services'; import {DescriptionComponent, getDescriptionSourceName, getChannelAvatar} from '../../../components'; import styles from './index.module.scss'; +import {RasaConnect} from '../Providers/Rasa/RasaConnect'; export enum Pages { createUpdate = 'create-update', @@ -221,6 +222,24 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { }; } + if (connector === Source.rasa) { + const [webhookUrl, apiHost, token] = args; + + payload = { + components: [ + { + name: connectorInfo && connectorInfo?.name, + enabled: true, + data: { + webhookUrl: webhookUrl, + apiHost: apiHost, + token: token, + }, + }, + ], + }; + } + updateConnectorConfiguration(payload) .then(() => { if (!isEnabled) { @@ -263,6 +282,12 @@ const ConnectorConfig = (props: ConnectorConfigProps) => { ); } + if (connector === Source.rasa) { + return ( + + ); + } + if (connector === Source.chatPlugin) { return ; } diff --git a/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/ConnectNewDialogflow.tsx b/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/ConnectNewDialogflow.tsx index 86b145ea26..d60322ab7d 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/ConnectNewDialogflow.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/ConnectNewDialogflow.tsx @@ -2,9 +2,10 @@ import React, {useState} from 'react'; import {useSelector} from 'react-redux'; import {StateModel} from '../../../../reducers'; import {Input} from 'components'; -import {ConnectNewForm} from '../../ConnectNewForm'; +import {ConfigureConnector} from '../../ConfigureConnector'; import styles from './index.module.scss'; import {useTranslation} from 'react-i18next'; +import {ComponentName, ConnectorName} from 'model'; type ConnectNewDialogflowProps = { createNewConnection: ( @@ -21,7 +22,7 @@ type ConnectNewDialogflowProps = { }; export const ConnectNewDialogflow = ({createNewConnection, isEnabled, isConfigured}: ConnectNewDialogflowProps) => { - const componentInfo = useSelector((state: StateModel) => state.data.connector['dialogflow-connector']); + const componentInfo = useSelector((state: StateModel) => state.data.connector[ConnectorName.dialogflowConnector]); const [projectID, setProjectID] = useState(componentInfo?.projectId || ''); const [appCredentials, setAppCredentials] = useState(componentInfo?.dialogflowCredentials || ''); const [suggestionConfidenceLevel, setSuggestionConfidenceLevel] = useState( @@ -61,8 +62,8 @@ export const ConnectNewDialogflow = ({createNewConnection, isEnabled, isConfigur }; return ( - -
- ) => setProjectID(e.target.value)} - label={t('projectID')} - placeholder={t('AddProjectId')} - showLabelIcon - tooltipText={t('fromCloudConsole')} - required - height={32} - fontClass="font-base" - /> -
+
+
+
+ ) => setProjectID(e.target.value)} + label={t('projectID')} + placeholder={t('AddProjectId')} + showLabelIcon + tooltipText={t('fromCloudConsole')} + required + height={32} + fontClass="font-base" + /> +
-
- ) => setAppCredentials(e.target.value)} - label={t('GoogleApplicationCredentials')} - placeholder={t('AddGoogleApplicationCredentials')} - showLabelIcon - tooltipText={t('fromCloudConsole')} - required - height={32} - fontClass="font-base" - /> -
-
- ) => setSuggestionConfidenceLevel(e.target.value)} - label={t('SuggestionConfidenceLevel')} - placeholder={'0.1' + ' ' + t('to') + ' ' + '0.9'} - showLabelIcon - tooltipText={t('amountSuggestions')} - required - height={32} - fontClass="font-base" - /> -
-
- ) => setReplyConfidenceLevel(e.target.value)} - label={t('ReplyConfidenceLevel')} - placeholder={'0.1' + ' ' + t('to') + ' ' + '0.9'} - showLabelIcon - tooltipText={t('amountReplies')} - required - height={32} - fontClass="font-base" - /> -
-
- ) => setProcessorWaitingTime(e.target.value)} - label={t('processorWaitingTime')} - placeholder={t('processorWaitingTime')} - showLabelIcon - tooltipText={t('waitingDefault')} - required - height={32} - fontClass="font-base" - /> -
-
- ) => setProcessorCheckPeriod(e.target.value)} - label={t('processorCheckPeriod')} - placeholder={t('processorCheckPeriod')} - showLabelIcon - tooltipText={t('checkDefault')} - required - height={32} - fontClass="font-base" - /> -
-
- ) => setDefaultLanguage(e.target.value)} - label={t('defaultLanguage')} - placeholder={t('defaultLanguage')} - showLabelIcon - tooltipText={t('defaultLanguageTooltip')} - required - height={32} - fontClass="font-base" - /> +
+ ) => setAppCredentials(e.target.value)} + label={t('GoogleApplicationCredentials')} + placeholder={t('AddGoogleApplicationCredentials')} + showLabelIcon + tooltipText={t('fromCloudConsole')} + required + height={32} + fontClass="font-base" + /> +
+
+ ) => setSuggestionConfidenceLevel(e.target.value)} + label={t('SuggestionConfidenceLevel')} + placeholder={'0.1' + ' ' + t('to') + ' ' + '0.9'} + showLabelIcon + tooltipText={t('amountSuggestions')} + required + height={32} + fontClass="font-base" + /> +
+
+ ) => setReplyConfidenceLevel(e.target.value)} + label={t('ReplyConfidenceLevel')} + placeholder={'0.1' + ' ' + t('to') + ' ' + '0.9'} + showLabelIcon + tooltipText={t('amountReplies')} + required + height={32} + fontClass="font-base" + /> +
+
+
+
+ ) => setProcessorWaitingTime(e.target.value)} + label={t('processorWaitingTime')} + placeholder={t('processorWaitingTime')} + showLabelIcon + tooltipText={t('waitingDefault')} + required + height={32} + fontClass="font-base" + /> +
+
+ ) => setProcessorCheckPeriod(e.target.value)} + label={t('processorCheckPeriod')} + placeholder={t('processorCheckPeriod')} + showLabelIcon + tooltipText={t('checkDefault')} + required + height={32} + fontClass="font-base" + /> +
+
+ ) => setDefaultLanguage(e.target.value)} + label={t('defaultLanguage')} + placeholder={t('defaultLanguage')} + showLabelIcon + tooltipText={t('defaultLanguageTooltip')} + required + height={32} + fontClass="font-base" + /> +
+
- + ); }; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/index.module.scss index fb47fdc0d9..a1bf543bd4 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Dialogflow/index.module.scss @@ -9,7 +9,24 @@ width: 29rem; } +.columnContainer { + display: flex; +} + +.firstColumnForm { + display: flex; + flex-direction: column; + margin-right: 24px; +} + +.secondColumnForm { + display: flex; + flex-direction: column; +} + .formRow { + width: 464px; + height: 80px; margin-bottom: 16px; label { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Rasa/ConnectorRasa.tsx b/frontend/control-center/src/pages/Connectors/Providers/Rasa/ConnectorRasa.tsx new file mode 100644 index 0000000000..38f6fff8e2 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/Providers/Rasa/ConnectorRasa.tsx @@ -0,0 +1,9 @@ +import {Source} from 'model'; +import React from 'react'; +import ConnectorConfig from '../../ConnectorConfig'; + +const ConnectorRasa = () => { + return ; +}; + +export default ConnectorRasa; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.module.scss new file mode 100644 index 0000000000..1fdbd99211 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.module.scss @@ -0,0 +1,25 @@ +@import 'assets/scss/fonts.scss'; +@import 'assets/scss/colors.scss'; + +.formWrapper { + align-self: center; +} + +.settings { + width: 29rem; +} + +.formRow { + height: 80px; + margin-bottom: 16px; + + label { + @include font-s; + } + + &:hover { + .actionToolTip { + display: block; + } + } +} diff --git a/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.tsx b/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.tsx new file mode 100644 index 0000000000..33aeafa553 --- /dev/null +++ b/frontend/control-center/src/pages/Connectors/Providers/Rasa/RasaConnect.tsx @@ -0,0 +1,94 @@ +import React, {useState} from 'react'; +import {useSelector} from 'react-redux'; +import {StateModel} from '../../../../reducers'; +import {Input} from 'components'; +import {ConfigureConnector} from '../../ConfigureConnector'; +import {useTranslation} from 'react-i18next'; +import styles from './RasaConnect.module.scss'; +import {ComponentName, ConnectorName} from 'model'; + +type RasaConnectProps = { + createNewConnection: (webhookUrl: string, apiHost: string, token: string) => void; + isEnabled: boolean; + isConfigured: boolean; +}; + +export const RasaConnect = ({createNewConnection, isEnabled, isConfigured}: RasaConnectProps) => { + const componentInfo = useSelector((state: StateModel) => state.data.connector[ConnectorName.rasaConnector]); + const [webhookUrl, setWebhookUrl] = useState(componentInfo?.webhookUrl || ''); + const [apiHost, setApiHost] = useState(componentInfo?.apiHost || ''); + const [token, setToken] = useState(componentInfo?.token || ''); + const [isUpdateModalVisible, setIsUpdateModalVisible] = useState(false); + const {t} = useTranslation(); + const isUrlValid = webhookUrl && (webhookUrl.startsWith('https') || webhookUrl.startsWith('http')); + + const updateConfig = (event: React.FormEvent) => { + event.preventDefault(); + if (isEnabled) { + setIsUpdateModalVisible(true); + } else { + enableSubmitConfigData(); + } + }; + + const enableSubmitConfigData = () => { + createNewConnection(webhookUrl, apiHost, token); + }; + + return ( + +
+ ) => setWebhookUrl(e.target.value)} + label="Rasa Webhook" + placeholder={t('rasaWebhookPlaceholder')} + showLabelIcon + tooltipText={t('rasaWebhookTooltip')} + required + height={32} + fontClass="font-base" + /> +
+ +
+ ) => setApiHost(e.target.value)} + label="Api Host" + placeholder={t('rasaApihostPlaceholder')} + showLabelIcon + tooltipText={t('rasaApihostTooltip')} + height={32} + fontClass="font-base" + /> +
+
+ ) => setToken(e.target.value)} + label="Token" + placeholder={t('rasaTokenPlaceholder')} + showLabelIcon + tooltipText={t('rasaTokenTooltip')} + height={32} + fontClass="font-base" + /> +
+
+ ); +}; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Salesforce/ConnectNewSalesforce.tsx b/frontend/control-center/src/pages/Connectors/Providers/Salesforce/ConnectNewSalesforce.tsx index 6ba4acd5f5..353087e519 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Salesforce/ConnectNewSalesforce.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Salesforce/ConnectNewSalesforce.tsx @@ -2,9 +2,10 @@ import React, {useState} from 'react'; import {useSelector} from 'react-redux'; import {StateModel} from '../../../../reducers'; import {Input} from 'components'; -import {ConnectNewForm} from '../../ConnectNewForm'; +import {ConfigureConnector} from '../../ConfigureConnector'; import {useTranslation} from 'react-i18next'; import styles from './index.module.scss'; +import {ComponentName, ConnectorName} from 'model'; type ConnectNewSalesforceProps = { createNewConnection: (url: string, username: string, password: string, securityToken: string) => void; @@ -13,7 +14,9 @@ type ConnectNewSalesforceProps = { }; export const ConnectNewSalesforce = ({createNewConnection, isEnabled, isConfigured}: ConnectNewSalesforceProps) => { - const componentInfo = useSelector((state: StateModel) => state.data.connector['salesforce-contacts-ingestion']); + const componentInfo = useSelector( + (state: StateModel) => state.data.connector[ConnectorName.salesforceContactsIngestion] + ); const [url, setUrl] = useState(componentInfo?.url || ''); const [username, setUsername] = useState(componentInfo?.username || ''); const [password, setPassword] = useState(componentInfo?.password || ''); @@ -36,8 +39,8 @@ export const ConnectNewSalesforce = ({createNewConnection, isEnabled, isConfigur }; return ( -
-
+ ); }; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Salesforce/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Salesforce/index.module.scss index fb47fdc0d9..1fdbd99211 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Salesforce/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Salesforce/index.module.scss @@ -10,6 +10,7 @@ } .formRow { + height: 80px; margin-bottom: 16px; label { diff --git a/frontend/control-center/src/pages/Connectors/Providers/Zendesk/ConnectNewZendesk.tsx b/frontend/control-center/src/pages/Connectors/Providers/Zendesk/ConnectNewZendesk.tsx index a1ccad43eb..414bbbdaf5 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Zendesk/ConnectNewZendesk.tsx +++ b/frontend/control-center/src/pages/Connectors/Providers/Zendesk/ConnectNewZendesk.tsx @@ -2,9 +2,10 @@ import React, {useState} from 'react'; import {useSelector} from 'react-redux'; import {StateModel} from '../../../../reducers'; import {Input} from 'components'; -import {ConnectNewForm} from '../../ConnectNewForm'; +import {ConfigureConnector} from '../../ConfigureConnector'; import styles from './index.module.scss'; import {useTranslation} from 'react-i18next'; +import {ComponentName, ConnectorName} from 'model'; type ConnectNewDialogflowProps = { createNewConnection: (domain: string, token: string, username: string) => void; @@ -13,7 +14,7 @@ type ConnectNewDialogflowProps = { }; export const ConnectNewZendesk = ({createNewConnection, isEnabled, isConfigured}: ConnectNewDialogflowProps) => { - const componentInfo = useSelector((state: StateModel) => state.data.connector['zendesk-connector']); + const componentInfo = useSelector((state: StateModel) => state.data.connector[ConnectorName.zendenkConnector]); const [domain, setDomain] = useState(componentInfo?.domain || ''); const [username, setUsername] = useState(componentInfo?.username || ''); const [token, setToken] = useState(componentInfo?.token || ''); @@ -34,8 +35,8 @@ export const ConnectNewZendesk = ({createNewConnection, isEnabled, isConfigured} }; return ( -
- + ); }; diff --git a/frontend/control-center/src/pages/Connectors/Providers/Zendesk/index.module.scss b/frontend/control-center/src/pages/Connectors/Providers/Zendesk/index.module.scss index be5c82c3a2..422930afbf 100644 --- a/frontend/control-center/src/pages/Connectors/Providers/Zendesk/index.module.scss +++ b/frontend/control-center/src/pages/Connectors/Providers/Zendesk/index.module.scss @@ -2,6 +2,7 @@ @import 'assets/scss/colors.scss'; .formRow { + height: 80px; margin-bottom: 16px; label { diff --git a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx index 314ba4602b..6f5955fcc6 100644 --- a/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx +++ b/frontend/control-center/src/pages/Status/ComponentListItem/ItemInfo.tsx @@ -5,7 +5,7 @@ import {ReactComponent as CheckmarkIcon} from 'assets/images/icons/checkmarkFill import {ReactComponent as UncheckedIcon} from 'assets/images/icons/uncheckIcon.svg'; import {ReactComponent as ArrowRight} from 'assets/images/icons/arrowRight.svg'; import {getChannelAvatar} from '../../../components/ChannelAvatar'; -import {ConfigServices, Source} from 'model'; +import {ComponentName, Source} from 'model'; import {SettingsModal, Button, Toggle, Tooltip} from 'components'; import {connect, ConnectedProps, useSelector} from 'react-redux'; import {useTranslation} from 'react-i18next'; @@ -60,7 +60,7 @@ const ItemInfo = (props: ComponentInfoProps) => { healthy && isConfigurableConnector() && !isComponentConfigured && - itemName !== ConfigServices.sourcesChatPlugin; + itemName !== ComponentName.sourcesChatPlugin; const isRunning = healthy && enabled; const isNotHealthy = !healthy && enabled; const isDisabled = !enabled; diff --git a/frontend/inbox/src/components/Sidebar/index.tsx b/frontend/inbox/src/components/Sidebar/index.tsx index a14f51158d..5515356b8d 100644 --- a/frontend/inbox/src/components/Sidebar/index.tsx +++ b/frontend/inbox/src/components/Sidebar/index.tsx @@ -10,7 +10,7 @@ import {CONTACTS_ROUTE, INBOX_ROUTE, TAGS_ROUTE} from '../../routes/routes'; import styles from './index.module.scss'; import {connect, ConnectedProps} from 'react-redux'; import {StateModel} from '../../reducers'; -import {ConfigServices} from 'model'; +import {ComponentName} from 'model'; type SideBarProps = {} & ConnectedProps; @@ -28,12 +28,10 @@ const Sidebar = (props: SideBarProps) => { useEffect(() => { Object.entries(props.components).length > 0 && - setContactsEnabled(props.components[ConfigServices.apiContacts]?.enabled || false); + setContactsEnabled(props.components[ComponentName.apiContacts]?.enabled || false); }, [props.components]); - const [contactsEnabled, setContactsEnabled] = useState( - props.components[ConfigServices.apiContacts]?.enabled || false - ); + const [contactsEnabled, setContactsEnabled] = useState(props.components[ComponentName.apiContacts]?.enabled || false); return (

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⪚*6L_sKoD=Bu~@KN7cTYnK?tuBf^ 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