Skip to content

Commit 8a7cf47

Browse files
authored
Merge pull request #633 from AppQuality/develop
Add share single insight
2 parents 821be14 + 9886c89 commit 8a7cf47

File tree

7 files changed

+74
-10
lines changed

7 files changed

+74
-10
lines changed

src/assets/icons/link-fill.svg

Lines changed: 3 additions & 0 deletions
Loading

src/locales/en/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,7 @@
657657
"__FORM_FIELD_REQUIRED_MESSAGE": "This field is required",
658658
"__FORM_OPTIONAL_LABEL": "(optional)",
659659
"__FUNCTIONAL_LABEL": "Functional",
660+
"__INSIGHT_LINK_TOAST_COPY_MESSAGE": "Link copied to clipboard",
660661
"__LIST_PAGE_NEXT": "Next",
661662
"__LIST_PAGE_PREVIOUS": "Previous",
662663
"__LOGIN_FORM_BACK_TO_LABEL": "Back to Unguess",

src/locales/it/translation.json

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"__APP_MOBILE_NAVIGATION_MENU_LABEL MAX:5": "menu",
1717
"__APP_MOBILE_NAVIGATION_PERSONAL_WORKSPACES_DROPDOWN_GROUP_LABEL": "I tuoi workspace",
1818
"__APP_MOBILE_NAVIGATION_SHARED_WORKSPACES_COUNTER_LABEL_one": "{{count}} elemento condiviso",
19+
"__APP_MOBILE_NAVIGATION_SHARED_WORKSPACES_COUNTER_LABEL_many": "",
1920
"__APP_MOBILE_NAVIGATION_SHARED_WORKSPACES_COUNTER_LABEL_other": "{{count}} elementi condivisi",
2021
"__APP_MOBILE_NAVIGATION_SHARED_WORKSPACES_DROPDOWN_GROUP_LABEL": "Workspace condivisi",
2122
"__APP_MOBILE_NAVIGATION_WORKSPACES_DROPDOWN_LABEL_NO_MATCHING_ITEMS": "Nessun workspace trovato",
@@ -66,10 +67,12 @@
6667
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_EXTRA_TAB_ITEM_LABEL": "File extra",
6768
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_EXTRA_TAB_TITLE": "Extra",
6869
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_IMAGE_LABEL_one": "immagine",
70+
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_IMAGE_LABEL_many": "",
6971
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_IMAGE_LABEL_other": "immagini",
7072
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_LABEL": "Allegati",
7173
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_MEDIA_TAB_TITLE": "Immagini & video",
7274
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_VIDEO_LABEL_one": "video",
75+
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_VIDEO_LABEL_many": "",
7376
"__BUGS_PAGE_BUG_DETAIL_ATTACHMENTS_VIDEO_LABEL_other": "video",
7477
"__BUGS_PAGE_BUG_DETAIL_CURRENT_RESULT_LABEL": "Risultato ottenuto",
7578
"__BUGS_PAGE_BUG_DETAIL_DESCRIPTION_LABEL": "Descrizione",
@@ -97,12 +100,14 @@
97100
"__BUGS_PAGE_BUG_DETAIL_SIBLINGS_FATHER_SUBTITLE": "Il bug da prendere come riferimento",
98101
"__BUGS_PAGE_BUG_DETAIL_SIBLINGS_FATHER_TITLE": "Bug unico",
99102
"__BUGS_PAGE_BUG_DETAIL_SIBLINGS_SHOW_MORE_one": "+ {{count}} altro",
103+
"__BUGS_PAGE_BUG_DETAIL_SIBLINGS_SHOW_MORE_many": "Show more +{{count}}",
100104
"__BUGS_PAGE_BUG_DETAIL_SIBLINGS_SHOW_MORE_other": "+ altri {{count}}",
101105
"__BUGS_PAGE_BUG_DETAIL_STATE_LABEL": "Stato",
102106
"__BUGS_PAGE_BUG_DETAIL_TAGS_ADD_NEW": "Aggiungi",
103107
"__BUGS_PAGE_BUG_DETAIL_TAGS_LABEL": "Tag",
104108
"__BUGS_PAGE_BUG_DETAIL_TAGS_PLACEHOLDER": "Cerca o aggiungi altri tag",
105109
"__BUGS_PAGE_BUG_DETAIL_TAGS_SHOW_MORE_one": "+ {{count}} altro",
110+
"__BUGS_PAGE_BUG_DETAIL_TAGS_SHOW_MORE_many": "",
106111
"__BUGS_PAGE_BUG_DETAIL_TAGS_SHOW_MORE_other": "+ altri {{count}}",
107112
"__BUGS_PAGE_CLOSE_DETAILS_TOOLTIP": "Chiudi",
108113
"__BUGS_PAGE_FILTER_DRAWER_BODY_ACTIONS_LABEL": "AZIONI FATTE DA TE",
@@ -112,47 +117,56 @@
112117
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_CUSTOM_STATUSE_TITLE": "Stato",
113118
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_CUSTOM_STATUSES_SHOW_LESS_LABEL": "Mostra meno",
114119
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_CUSTOM_STATUSES_SHOW_MORE_LABEL_one": "+ <2>1</2> altra",
120+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_CUSTOM_STATUSES_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more statuses",
115121
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_CUSTOM_STATUSES_SHOW_MORE_LABEL_other": "+ altre <2>{{count}}</2>",
116122
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_ALL_LABEL": "Tutti",
117123
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_SHOW_LESS_LABEL": "Mostra meno",
118124
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_SHOW_MORE_LABEL_one": "+ <2>1</2> altro",
125+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more devices",
119126
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_SHOW_MORE_LABEL_other": "+ altri <2>{{count}}</2>",
120127
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DEVICE_TITLE": "Dispositivo",
121128
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_DUPLICATES_TITLE": "Duplicati",
122129
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_ALL_LABEL": "Tutti",
123130
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_SHOW_LESS_LABEL": "Mostra meno",
124131
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_SHOW_MORE_LABEL_one": "+ <2>1</2> altro",
132+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more OS",
125133
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_SHOW_MORE_LABEL_other": "+ altri <2>{{count}}</2>",
126134
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_OS_TITLE": "OS",
127135
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITIES_SHOW_LESS_LABEL": "Mostra meno",
128136
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITIES_SHOW_MORE_LABEL_one": "+ <2>1</2> altra",
137+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITIES_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more priorities",
129138
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITIES_SHOW_MORE_LABEL_other": "+ altre <2>{{count}}</2>",
130139
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITY_ALL_LABEL": "Tutte",
131140
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_PRIORITY_TITLE": "Priorità",
132141
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_READ_TITLE": "Letti/non letti",
133142
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_ALL_LABEL": "Tutte",
134143
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_SHOW_LESS_LABEL": "Mostra meno",
135144
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_SHOW_MORE_LABEL_one": "+ <2>1</2> altra",
145+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more replicabilities",
136146
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_SHOW_MORE_LABEL_other": "+ altre <2>{{count}}</2>",
137147
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_REPLICABILITY_TITLE": "Replicabilità",
138148
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITIES_SHOW_LESS_LABEL": "Mostra meno",
139149
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITIES_SHOW_MORE_LABEL_one": "+ <2>1</2> altra",
150+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITIES_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more severities",
140151
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITIES_SHOW_MORE_LABEL_other": "+ altre <2>{{count}}</2>",
141152
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITY_ALL_LABEL": "Tutte",
142153
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_SEVERITY_TITLE": "Gravità",
143154
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAG_SHOW_LESS_LABEL": "Mostra meno",
144155
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAG_SHOW_MORE_LABEL_one": "+ <2>1</2> altro",
156+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAG_SHOW_MORE_LABEL_many": "Show <2>{{count}}</2> more tags",
145157
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAG_SHOW_MORE_LABEL_other": "+ altri <2>{{count}}</2>",
146158
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAGS_ALL_LABEL": "Tutti",
147159
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TAGS_TITLE": "Tag",
148160
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_ALL_LABEL": "Tutte",
149161
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_SHOW_LESS_LABEL": "Mostra meno",
150162
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_SHOW_MORE_LABEL_one": "+ <2>1</2> altra",
163+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_SHOW_MORE_LABEL_many": "Show <2>{{typologies}}</2> more typologies",
151164
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_SHOW_MORE_LABEL_other": "+ altre <2>{{count}}</2>",
152165
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_TYPOLOGY_TITLE": "Tipologia",
153166
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_ALL_LABEL": "Tutti",
154167
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_SHOW_LESS_LABEL": "Mostra meno",
155168
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_SHOW_MORE_LABEL_one": "+ <2>1</2> altro",
169+
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_SHOW_MORE_LABEL_many": "Show <2>{{useCases}}</2> more Use Cases",
156170
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_SHOW_MORE_LABEL_other": "+ altri <2>{{count}}</2>",
157171
"__BUGS_PAGE_FILTER_DRAWER_BODY_FILTER_USECASE_TITLE": "Use Case",
158172
"__BUGS_PAGE_FILTER_DRAWER_CONFIRM_BUTTON": "Vedi risultati",
@@ -227,13 +241,15 @@
227241
"__CAMPAIGN_PAGE_INSIGHTS_ALL_CLUSTERS": "Generale",
228242
"__CAMPAIGN_PAGE_INSIGHTS_LIGHTBOX_DETAILS_LINKED_INSIGHT_LABEL": "Insight collegato",
229243
"__CAMPAIGN_PAGE_INSIGHTS_LIGHTBOX_HEADER_HIGHLIGHTS_LABEL_one": "({{count}} Highlight)",
244+
"__CAMPAIGN_PAGE_INSIGHTS_LIGHTBOX_HEADER_HIGHLIGHTS_LABEL_many": "({{count}} Highlights)",
230245
"__CAMPAIGN_PAGE_INSIGHTS_LIGHTBOX_HEADER_HIGHLIGHTS_LABEL_other": "({{count}} Highlights)",
231246
"__CAMPAIGN_PAGE_INSIGHTS_NAVIGATION_TITLE": "Executive summary",
232247
"__CAMPAIGN_PAGE_INSIGHTS_NUMBER_LABEL": "Insight",
233248
"__CAMPAIGN_PAGE_INSIGHTS_SECTION_SUBTITLE": "Cosa abbiamo scoperto e compreso nello specifico dell'esperienza utente",
234249
"__CAMPAIGN_PAGE_INSIGHTS_SECTION_TITLE": "Nel dettaglio",
235250
"__CAMPAIGN_PAGE_INSIGHTS_SHOW_LESS_LABEL": "Mostra meno",
236251
"__CAMPAIGN_PAGE_INSIGHTS_SHOW_MORE_LABEL_one": "Mostra altri highlight <2>({{video_count}})</2>",
252+
"__CAMPAIGN_PAGE_INSIGHTS_SHOW_MORE_LABEL_many": "Show more highlights <2>({{video_count}})</2>",
237253
"__CAMPAIGN_PAGE_INSIGHTS_SHOW_MORE_LABEL_other": "Mostra altri highlight <2>({{video_count}})</2>",
238254
"__CAMPAIGN_PAGE_INSIGHTS_VIDEO_PART_NUMBER_LABEL": "Highlight {{index}} di {{video_count}}",
239255
"__CAMPAIGN_PAGE_METHODOLOGY_CARD_INVOLVED_USERS_LABEL": "UTENTI COINVOLTI",
@@ -245,6 +261,7 @@
245261
"__CAMPAIGN_PAGE_METHODOLOGY_SHOW_LESS": "Mostra meno",
246262
"__CAMPAIGN_PAGE_METHODOLOGY_SHOW_MORE": "Leggi di più",
247263
"__CAMPAIGN_PAGE_METHODOLOGY_USERS_NUMBER_one": "{{count}} Utente",
264+
"__CAMPAIGN_PAGE_METHODOLOGY_USERS_NUMBER_many": "",
248265
"__CAMPAIGN_PAGE_METHODOLOGY_USERS_NUMBER_other": "{{count}} Utenti",
249266
"__CAMPAIGN_PAGE_METHODOLOGY_USERS_QUALIQUANTITATIVE": "Quali-quantitative",
250267
"__CAMPAIGN_PAGE_METHODOLOGY_USERS_QUALITATIVE": "Qualitativa",
@@ -657,6 +674,7 @@
657674
"__FORM_FIELD_REQUIRED_MESSAGE": "Campo obbligatorio",
658675
"__FORM_OPTIONAL_LABEL": "(opzionale)",
659676
"__FUNCTIONAL_LABEL": "Funzionali",
677+
"__INSIGHT_LINK_TOAST_COPY_MESSAGE": "Hai copiato il link",
660678
"__LIST_PAGE_NEXT": "Indietro",
661679
"__LIST_PAGE_PREVIOUS": "Avanti",
662680
"__LOGIN_FORM_BACK_TO_LABEL": "Torna su Unguess",
@@ -676,6 +694,7 @@
676694
"__PAGE_BUG_SEARCH_EMPTY_STATE_SUB": "Prova con parole chiave diverse o più comuni",
677695
"__PAGE_BUGS_UNREAD_PILL": "Non letti",
678696
"__PAGE_CAMPAIGN_WIDGET_BUGS_BY_TYPE_AXIS_BOTTOM_LABEL_one": "Bug",
697+
"__PAGE_CAMPAIGN_WIDGET_BUGS_BY_TYPE_AXIS_BOTTOM_LABEL_many": "",
679698
"__PAGE_CAMPAIGN_WIDGET_BUGS_BY_TYPE_AXIS_BOTTOM_LABEL_other": "Bug",
680699
"__PAGE_CAMPAIGN_WIDGET_BUGS_BY_TYPE_AXIS_LEFT_LABEL": "Tipologie",
681700
"__PAGE_HEADER_BUGS_DOTS_MENU_ITEM_INT_CENTER": "Integra con altri tool",
@@ -716,9 +735,9 @@
716735
"__PROJECT_SETTINGS_CTA_TEXT": "Invita",
717736
"__PUBLIC_MANUAL_CTA_GOTO_BUG_FORM": "Compila il bug form",
718737
"__PUBLIC_MANUAL_HELP_MODAL_BUTTON_SUPPORT_CENTER": "Vai al support center",
719-
"__PUBLIC_MANUAL_HELP_MODAL_CONTENT": "Ecco qui alcune guide che possono fare al caso tuo. Consultale sul nostro Support Center per avere le idee più chiare e completare al meglio la campagna.",
738+
"__PUBLIC_MANUAL_HELP_MODAL_CONTENT": "Scopri il nostro Support Center! Migliora le tue competenze nel caricare i bug sulla piattaforma, contribuendo a ottimizzare il processo di sviluppo e offrire un'esperienza sempre migliore agli utenti. Leggi i nostri articoli.",
720739
"__PUBLIC_MANUAL_HELP_MODAL_CONTENT_NO_LINKS": "Sul nostro Support Center trovi guide, tutorial e suggerimenti. Consultali per avere le idee più chiare e completare al meglio la campagna.",
721-
"__PUBLIC_MANUAL_HELP_MODAL_TITLE": "Domande o dubbi?",
740+
"__PUBLIC_MANUAL_HELP_MODAL_TITLE": "I nostri Articoli",
722741
"__PUBLIC_MANUAL_NOT_FOUND_TEXT": "A quanto pare la pagina che stai cercando non esiste ancora.",
723742
"__PUBLIC_MANUAL_NOT_FOUND_TITLE": "Manuale non trovato",
724743
"__SERVICE_DETAIL_PAGE_TAG_RESULTS_DAYS_LABEL": "Primi risultati in <1><0>{{hours}}</0></1>h",
@@ -744,29 +763,38 @@
744763
"__WORKSPACE_SETTINGS_ADD_MEMBER_INVALID_EMAIL_ERROR": "Email non valida",
745764
"__WORKSPACE_SETTINGS_ADD_MEMBER_MESSAGE_PLACEHOLDER": "Messaggio (opzionale)",
746765
"__WORKSPACE_SETTINGS_ADD_MEMBER_REQUIRED_EMAIL_ERROR": "Campo obbligatorio",
747-
"__WORKSPACE_SETTINGS_CTA_TEXT": "Gestisci Utenti",
766+
"__WORKSPACE_SETTINGS_CTA_TEXT": "gestisci utenti",
748767
"__WORKSPACE_SETTINGS_CURRENT_MEMBER_YOU_LABEL": "(tu)",
749768
"__WORKSPACE_SETTINGS_MEMBER_ACTIONS_LABEL": "membro",
750769
"__WORKSPACE_SETTINGS_MEMBER_INVITATION_PENDING_LABEL": "In sospeso",
751770
"__WORKSPACE_SETTINGS_MEMBER_REMOVE_USER_ACTION": "Rimuovi",
752771
"__WORKSPACE_SETTINGS_MEMBER_RESEND_INVITE_ACTION": "Rimanda invito",
753772
"__WORKSPACE_SETTINGS_MODAL_CTA_COPY_LINK": "Copia il link",
754773
"Devices ({{count}})_one": "Dispositivi ({{count}})",
774+
"Devices ({{count}})_many": "",
755775
"Devices ({{count}})_other": "Dispositivi ({{count}})",
756776
"OS ({{count}})_one": "OS ({{count}})",
777+
"OS ({{count}})_many": "",
757778
"OS ({{count}})_other": "OS ({{count}})",
758779
"Priority ({{count}})_one": "Priorità ({{count}})",
780+
"Priority ({{count}})_many": "",
759781
"Priority ({{count}})_other": "Priorità ({{count}})",
760782
"Replicability ({{count}})_one": "Replicabilità ({{count}})",
783+
"Replicability ({{count}})_many": "",
761784
"Replicability ({{count}})_other": "Replicabilità ({{count}})",
762785
"Severity ({{count}})_one": "Gravità ({{count}})",
786+
"Severity ({{count}})_many": "",
763787
"Severity ({{count}})_other": "Gravità ({{count}})",
764788
"Status ({{count}})_one": "Stato ({{count}})",
789+
"Status ({{count}})_many": "",
765790
"Status ({{count}})_other": "Stati ({{count}})",
766791
"Tags ({{count}})_one": "Tag ({{count}})",
792+
"Tags ({{count}})_many": "",
767793
"Tags ({{count}})_other": "Tag ({{count}})",
768794
"Typology ({{count}})_one": "Tipologia ({{count}})",
795+
"Typology ({{count}})_many": "",
769796
"Typology ({{count}})_other": "Tipologie ({{count}})",
770797
"Use Cases ({{count}})_one": "Use Case ({{count}})",
798+
"Use Cases ({{count}})_many": "",
771799
"Use Cases ({{count}})_other": "Use Case ({{count}})"
772800
}

src/pages/Campaign/CampaignWidgets.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import { useParams } from 'react-router-dom';
99
import { EmptyState } from './EmptyState';
1010
import { useWidgets } from './useWidgets';
1111

12-
export const CampaignWidgets = ({ isPreview }: { isPreview?: boolean }) => {
12+
export const CampaignWidgets = () => {
1313
const { campaignId } = useParams();
1414
const { widgets } = useWidgets({
1515
campaignId: campaignId ? Number(campaignId) : 0,
16-
isPreview,
1716
});
1817
const { all, footers, items, itemsWithTitles } = widgets;
1918

src/pages/Campaign/preview/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { setWorkspace } from 'src/features/navigation/navigationSlice';
66
import { Page } from 'src/features/templates/Page';
77
import { useLocalizeRoute } from 'src/hooks/useLocalizedRoute';
88
import { useEffect } from 'react';
9-
import { CampaignWidgets } from '../CampaignWidgets';
9+
import { PreviewWidgets } from './widgets';
1010

1111
const CampaignPreview = () => {
1212
const navigate = useNavigate();
@@ -51,7 +51,7 @@ const CampaignPreview = () => {
5151
isMinimal
5252
>
5353
<LayoutWrapper>
54-
<CampaignWidgets isPreview />
54+
<PreviewWidgets />
5555
</LayoutWrapper>
5656
</Page>
5757
);

src/pages/Campaign/useWidgets/Experience/widgets.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export const widgets = ({
2424
...(!isPreview && { showAsCustomer: true }),
2525
});
2626

27-
const showExperience = !!campaign?.outputs?.includes('insights');
27+
const showExperience = !!campaign?.outputs?.includes('insights') || isPreview;
2828

2929
if (!showExperience || !campaign) return [];
3030

src/pages/Campaign/useWidgets/Experience/widgets/Insights/index.tsx

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@ import {
22
Anchor,
33
Col,
44
Grid,
5+
IconButton,
56
Row,
67
Skeleton,
78
Span,
89
XL,
10+
Notification,
11+
useToast,
912
} from '@appquality/unguess-design-system';
1013
import { Trans, useTranslation } from 'react-i18next';
1114
import { Campaign } from 'src/features/api';
1215
import { SectionTitle } from 'src/pages/Campaign/SectionTitle';
13-
import { useEffect, useState } from 'react';
16+
import { ReactComponent as CopyIcon } from 'src/assets/icons/link-fill.svg';
17+
import { useCallback, useEffect, useState } from 'react';
1418
import { Divider } from 'src/common/components/divider';
1519
import { appTheme } from 'src/app/theme';
1620
import styled, { css } from 'styled-components';
@@ -56,14 +60,35 @@ export const Insights = ({
5660
};
5761
}>({});
5862

63+
const { addToast } = useToast();
64+
65+
const copyLink = useCallback(
66+
(anchor: string) => {
67+
navigator.clipboard.writeText(`${window.location.href}#${anchor}`);
68+
addToast(
69+
({ close }) => (
70+
<Notification
71+
onClose={close}
72+
type="success"
73+
message={t('__INSIGHT_LINK_TOAST_COPY_MESSAGE')}
74+
closeText={t('__TOAST_CLOSE_TEXT')}
75+
isPrimary
76+
/>
77+
),
78+
{ placement: 'top' }
79+
);
80+
},
81+
[data.findings]
82+
);
83+
5984
// Check if url has an anchor and scroll to it
6085
useEffect(() => {
6186
const url = window.location.href;
6287
const urlAnchor = url.split('#')[1];
6388
if (urlAnchor) {
6489
const anchor = document.getElementById(urlAnchor);
6590
if (anchor) {
66-
anchor.scrollIntoView();
91+
anchor.scrollIntoView({ block: 'end', behavior: 'smooth' });
6792
}
6893
}
6994
}, []);
@@ -143,7 +168,15 @@ export const Insights = ({
143168
}}
144169
>
145170
{t('__CAMPAIGN_PAGE_INSIGHTS_NUMBER_LABEL')} {i + 1}
171+
<IconButton
172+
onClick={() =>
173+
copyLink(`insight-row-${insight.id}`)
174+
}
175+
>
176+
<CopyIcon />
177+
</IconButton>
146178
</XL>
179+
147180
<StyledDivider />
148181
</Col>
149182
<Col

0 commit comments

Comments
 (0)