From 44b228a1d7ba53ad57fa26281ef9642fcacccbbd Mon Sep 17 00:00:00 2001
From: Georgia Monahan <georgia@expensify.com>
Date: Mon, 27 Jan 2025 15:00:49 +0000
Subject: [PATCH 1/2] Add SCAN_TEST_TOOLTIP to DismissedProductTraining type

---
 src/CONST.ts                               | 1 +
 src/types/onyx/DismissedProductTraining.ts | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/src/CONST.ts b/src/CONST.ts
index 7192e0548b38..9f7f35d052ef 100755
--- a/src/CONST.ts
+++ b/src/CONST.ts
@@ -6536,6 +6536,7 @@ const CONST = {
         BOTTOM_NAV_INBOX_TOOLTIP: 'bottomNavInboxTooltip',
         LHN_WORKSPACE_CHAT_TOOLTIP: 'workspaceChatLHNTooltip',
         GLOBAL_CREATE_TOOLTIP: 'globalCreateTooltip',
+        SCAN_TEST_TOOLTIP: 'scanTestTooltip',
     },
     SMART_BANNER_HEIGHT: 152,
 } as const;
diff --git a/src/types/onyx/DismissedProductTraining.ts b/src/types/onyx/DismissedProductTraining.ts
index aba386448c09..0ab9425398bd 100644
--- a/src/types/onyx/DismissedProductTraining.ts
+++ b/src/types/onyx/DismissedProductTraining.ts
@@ -9,6 +9,7 @@ const {
     BOTTOM_NAV_INBOX_TOOLTIP,
     LHN_WORKSPACE_CHAT_TOOLTIP,
     GLOBAL_CREATE_TOOLTIP,
+    SCAN_TEST_TOOLTIP,
 } = CONST.PRODUCT_TRAINING_TOOLTIP_NAMES;
 /**
  * This type is used to store the timestamp of when the user dismisses a product training ui elements.
@@ -58,6 +59,11 @@ type DismissedProductTraining = {
      * When user dismisses the globalCreateTooltip product training tooltip, we store the timestamp here.
      */
     [GLOBAL_CREATE_TOOLTIP]: string;
+
+    /**
+     * When user dismisses the globalCreateTooltip product training tooltip, we store the timestamp here.
+     */
+    [SCAN_TEST_TOOLTIP]: string;
 };
 
 export default DismissedProductTraining;

From e154f3f7d1b7be9afe2ad4a0a6ba4a476af6292b Mon Sep 17 00:00:00 2001
From: Georgia Monahan <georgia@expensify.com>
Date: Mon, 27 Jan 2025 15:36:50 +0000
Subject: [PATCH 2/2] add translations and such for ts

---
 .../ProductTrainingContext/TOOLTIPS.ts          | 17 +++++++++++++++++
 src/languages/en.ts                             | 10 ++++++++++
 src/languages/es.ts                             | 10 ++++++++++
 3 files changed, 37 insertions(+)

diff --git a/src/components/ProductTrainingContext/TOOLTIPS.ts b/src/components/ProductTrainingContext/TOOLTIPS.ts
index 1e0fa28e87e4..2e553b21681a 100644
--- a/src/components/ProductTrainingContext/TOOLTIPS.ts
+++ b/src/components/ProductTrainingContext/TOOLTIPS.ts
@@ -12,6 +12,7 @@ const {
     BOTTOM_NAV_INBOX_TOOLTIP,
     LHN_WORKSPACE_CHAT_TOOLTIP,
     GLOBAL_CREATE_TOOLTIP,
+    SCAN_TEST_TOOLTIP,
 } = CONST.PRODUCT_TRAINING_TOOLTIP_NAMES;
 
 type ProductTrainingTooltipName = ValueOf<typeof CONST.PRODUCT_TRAINING_TOOLTIP_NAMES>;
@@ -113,6 +114,22 @@ const TOOLTIPS: Record<ProductTrainingTooltipName, TooltipData> = {
         priority: 800,
         shouldShow: () => true,
     },
+    [SCAN_TEST_TOOLTIP]: {
+        content: [
+            {text: 'productTrainingTooltip.scanTestTooltip.part1', isBold: false},
+            {text: 'productTrainingTooltip.scanTestTooltip.part2', isBold: true},
+            {text: 'productTrainingTooltip.scanTestTooltip.part3', isBold: false},
+            {text: 'productTrainingTooltip.scanTestTooltip.part4', isBold: true},
+            {text: 'productTrainingTooltip.scanTestTooltip.part5', isBold: false},
+            {text: 'productTrainingTooltip.scanTestTooltip.part6', isBold: false},
+            {text: 'productTrainingTooltip.scanTestTooltip.part7', isBold: true},
+            {text: 'productTrainingTooltip.scanTestTooltip.part8', isBold: false},
+        ],
+        onHideTooltip: () => dismissProductTraining(SCAN_TEST_TOOLTIP),
+        name: SCAN_TEST_TOOLTIP,
+        priority: 900,
+        shouldShow: () => false,
+    },
 };
 
 export default TOOLTIPS;
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 3b55d6fbc75c..75eacc9c29ad 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -5691,6 +5691,16 @@ const translations = {
             part2: ', start chatting,',
             part3: '\nand more!',
         },
+        scanTestTooltip: {
+            part1: 'Want to see how Scan works?',
+            part2: ' Try a test receipt!',
+            part3: 'Choose our',
+            part4: ' test manager',
+            part5: ' to try it out!',
+            part6: 'Now,',
+            part7: ' submit your expense',
+            part8: ' and watch the magic happen!',
+        },
     },
     discardChangesConfirmation: {
         title: 'Discard changes?',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index dff3dcd575c0..feeaee08fe75 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -6210,6 +6210,16 @@ const translations = {
             part2: ', comienza a chatear,',
             part3: '\ny mucho más!',
         },
+        scanTestTooltip: {
+            part1: '¿Quieres ver cómo funciona Escanear?',
+            part2: ' ¡Prueba con un recibo de prueba!',
+            part3: '¡Elige a',
+            part4: ' nuestro gerente',
+            part5: ' de prueba para probarlo!',
+            part6: 'Ahora,',
+            part7: ' envía tu gasto y',
+            part8: ' ¡observa cómo ocurre la magia!',
+        },
     },
     discardChangesConfirmation: {
         title: '¿Descartar cambios?',
