srs-heritage-chatbot 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +194 -0
- package/lib/commonjs/assets/chat-icon-mobile.svg +1 -0
- package/lib/commonjs/assets/heritage.png +0 -0
- package/lib/commonjs/assets/posiden.svg +51 -0
- package/lib/commonjs/components/LoadingTips.js +104 -0
- package/lib/commonjs/components/LoadingTips.js.map +1 -0
- package/lib/commonjs/components/email.js +461 -0
- package/lib/commonjs/components/email.js.map +1 -0
- package/lib/commonjs/components/feedback.js +114 -0
- package/lib/commonjs/components/feedback.js.map +1 -0
- package/lib/commonjs/components/header.js +126 -0
- package/lib/commonjs/components/header.js.map +1 -0
- package/lib/commonjs/components/input.js +144 -0
- package/lib/commonjs/components/input.js.map +1 -0
- package/lib/commonjs/components/productCard.js +688 -0
- package/lib/commonjs/components/productCard.js.map +1 -0
- package/lib/commonjs/components/progressCircle.js +99 -0
- package/lib/commonjs/components/progressCircle.js.map +1 -0
- package/lib/commonjs/components/testing.js +74 -0
- package/lib/commonjs/components/testing.js.map +1 -0
- package/lib/commonjs/components/voice.js +184 -0
- package/lib/commonjs/components/voice.js.map +1 -0
- package/lib/commonjs/components/welcomeButton.js +149 -0
- package/lib/commonjs/components/welcomeButton.js.map +1 -0
- package/lib/commonjs/components/welcomeInput.js +137 -0
- package/lib/commonjs/components/welcomeInput.js.map +1 -0
- package/lib/commonjs/contexts/AppContext.js +552 -0
- package/lib/commonjs/contexts/AppContext.js.map +1 -0
- package/lib/commonjs/hooks/Stream.js +599 -0
- package/lib/commonjs/hooks/Stream.js.map +1 -0
- package/lib/commonjs/hooks/useAsyncStorage.js +36 -0
- package/lib/commonjs/hooks/useAsyncStorage.js.map +1 -0
- package/lib/commonjs/index.js +44 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/layout/disclaimer.js +208 -0
- package/lib/commonjs/layout/disclaimer.js.map +1 -0
- package/lib/commonjs/layout/ex.js +254 -0
- package/lib/commonjs/layout/ex.js.map +1 -0
- package/lib/commonjs/layout/icon.js +118 -0
- package/lib/commonjs/layout/icon.js.map +1 -0
- package/lib/commonjs/layout/layout.js +168 -0
- package/lib/commonjs/layout/layout.js.map +1 -0
- package/lib/commonjs/layout/welcome.js +160 -0
- package/lib/commonjs/layout/welcome.js.map +1 -0
- package/lib/commonjs/layout/window.js +396 -0
- package/lib/commonjs/layout/window.js.map +1 -0
- package/lib/commonjs/utils/audioRecorder.js +412 -0
- package/lib/commonjs/utils/audioRecorder.js.map +1 -0
- package/lib/commonjs/utils/cloudinary.js +69 -0
- package/lib/commonjs/utils/cloudinary.js.map +1 -0
- package/lib/commonjs/utils/storage.js +76 -0
- package/lib/commonjs/utils/storage.js.map +1 -0
- package/lib/commonjs/utils/textToSpeech.js +53 -0
- package/lib/commonjs/utils/textToSpeech.js.map +1 -0
- package/lib/module/assets/chat-icon-mobile.svg +1 -0
- package/lib/module/assets/heritage.png +0 -0
- package/lib/module/assets/posiden.svg +51 -0
- package/lib/module/components/LoadingTips.js +95 -0
- package/lib/module/components/LoadingTips.js.map +1 -0
- package/lib/module/components/email.js +452 -0
- package/lib/module/components/email.js.map +1 -0
- package/lib/module/components/feedback.js +105 -0
- package/lib/module/components/feedback.js.map +1 -0
- package/lib/module/components/header.js +117 -0
- package/lib/module/components/header.js.map +1 -0
- package/lib/module/components/input.js +135 -0
- package/lib/module/components/input.js.map +1 -0
- package/lib/module/components/productCard.js +679 -0
- package/lib/module/components/productCard.js.map +1 -0
- package/lib/module/components/progressCircle.js +91 -0
- package/lib/module/components/progressCircle.js.map +1 -0
- package/lib/module/components/testing.js +66 -0
- package/lib/module/components/testing.js.map +1 -0
- package/lib/module/components/voice.js +175 -0
- package/lib/module/components/voice.js.map +1 -0
- package/lib/module/components/welcomeButton.js +140 -0
- package/lib/module/components/welcomeButton.js.map +1 -0
- package/lib/module/components/welcomeInput.js +128 -0
- package/lib/module/components/welcomeInput.js.map +1 -0
- package/lib/module/contexts/AppContext.js +542 -0
- package/lib/module/contexts/AppContext.js.map +1 -0
- package/lib/module/hooks/Stream.js +592 -0
- package/lib/module/hooks/Stream.js.map +1 -0
- package/lib/module/hooks/useAsyncStorage.js +29 -0
- package/lib/module/hooks/useAsyncStorage.js.map +1 -0
- package/lib/module/index.js +36 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/layout/disclaimer.js +199 -0
- package/lib/module/layout/disclaimer.js.map +1 -0
- package/lib/module/layout/ex.js +253 -0
- package/lib/module/layout/ex.js.map +1 -0
- package/lib/module/layout/icon.js +108 -0
- package/lib/module/layout/icon.js.map +1 -0
- package/lib/module/layout/layout.js +160 -0
- package/lib/module/layout/layout.js.map +1 -0
- package/lib/module/layout/welcome.js +150 -0
- package/lib/module/layout/welcome.js.map +1 -0
- package/lib/module/layout/window.js +387 -0
- package/lib/module/layout/window.js.map +1 -0
- package/lib/module/utils/audioRecorder.js +398 -0
- package/lib/module/utils/audioRecorder.js.map +1 -0
- package/lib/module/utils/cloudinary.js +61 -0
- package/lib/module/utils/cloudinary.js.map +1 -0
- package/lib/module/utils/storage.js +67 -0
- package/lib/module/utils/storage.js.map +1 -0
- package/lib/module/utils/textToSpeech.js +43 -0
- package/lib/module/utils/textToSpeech.js.map +1 -0
- package/lib/typescript/components/LoadingTips.d.ts +3 -0
- package/lib/typescript/components/LoadingTips.d.ts.map +1 -0
- package/lib/typescript/components/email.d.ts +6 -0
- package/lib/typescript/components/email.d.ts.map +1 -0
- package/lib/typescript/components/feedback.d.ts +6 -0
- package/lib/typescript/components/feedback.d.ts.map +1 -0
- package/lib/typescript/components/header.d.ts +3 -0
- package/lib/typescript/components/header.d.ts.map +1 -0
- package/lib/typescript/components/input.d.ts +6 -0
- package/lib/typescript/components/input.d.ts.map +1 -0
- package/lib/typescript/components/productCard.d.ts +7 -0
- package/lib/typescript/components/productCard.d.ts.map +1 -0
- package/lib/typescript/components/progressCircle.d.ts +3 -0
- package/lib/typescript/components/progressCircle.d.ts.map +1 -0
- package/lib/typescript/components/testing.d.ts +6 -0
- package/lib/typescript/components/testing.d.ts.map +1 -0
- package/lib/typescript/components/voice.d.ts +5 -0
- package/lib/typescript/components/voice.d.ts.map +1 -0
- package/lib/typescript/components/welcomeButton.d.ts +4 -0
- package/lib/typescript/components/welcomeButton.d.ts.map +1 -0
- package/lib/typescript/components/welcomeInput.d.ts +6 -0
- package/lib/typescript/components/welcomeInput.d.ts.map +1 -0
- package/lib/typescript/contexts/AppContext.d.ts +10 -0
- package/lib/typescript/contexts/AppContext.d.ts.map +1 -0
- package/lib/typescript/hooks/Stream.d.ts +2 -0
- package/lib/typescript/hooks/Stream.d.ts.map +1 -0
- package/lib/typescript/hooks/useAsyncStorage.d.ts +2 -0
- package/lib/typescript/hooks/useAsyncStorage.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +8 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/layout/disclaimer.d.ts +5 -0
- package/lib/typescript/layout/disclaimer.d.ts.map +1 -0
- package/lib/typescript/layout/ex.d.ts +1 -0
- package/lib/typescript/layout/ex.d.ts.map +1 -0
- package/lib/typescript/layout/icon.d.ts +3 -0
- package/lib/typescript/layout/icon.d.ts.map +1 -0
- package/lib/typescript/layout/layout.d.ts +3 -0
- package/lib/typescript/layout/layout.d.ts.map +1 -0
- package/lib/typescript/layout/welcome.d.ts +6 -0
- package/lib/typescript/layout/welcome.d.ts.map +1 -0
- package/lib/typescript/layout/window.d.ts +5 -0
- package/lib/typescript/layout/window.d.ts.map +1 -0
- package/lib/typescript/utils/audioRecorder.d.ts +9 -0
- package/lib/typescript/utils/audioRecorder.d.ts.map +1 -0
- package/lib/typescript/utils/cloudinary.d.ts +17 -0
- package/lib/typescript/utils/cloudinary.d.ts.map +1 -0
- package/lib/typescript/utils/storage.d.ts +29 -0
- package/lib/typescript/utils/storage.d.ts.map +1 -0
- package/lib/typescript/utils/textToSpeech.d.ts +2 -0
- package/lib/typescript/utils/textToSpeech.d.ts.map +1 -0
- package/package.json +109 -0
- package/src/assets/chat-icon-mobile.svg +1 -0
- package/src/assets/heritage.png +0 -0
- package/src/assets/posiden.svg +51 -0
- package/src/components/LoadingTips.js +99 -0
- package/src/components/email.js +467 -0
- package/src/components/feedback.js +114 -0
- package/src/components/header.js +119 -0
- package/src/components/input.js +133 -0
- package/src/components/productCard.js +815 -0
- package/src/components/progressCircle.js +88 -0
- package/src/components/testing.js +60 -0
- package/src/components/voice.js +228 -0
- package/src/components/welcomeButton.js +161 -0
- package/src/components/welcomeInput.js +133 -0
- package/src/contexts/AppContext.js +678 -0
- package/src/hooks/Stream.js +655 -0
- package/src/hooks/useAsyncStorage.js +33 -0
- package/src/index.js +30 -0
- package/src/layout/disclaimer.js +231 -0
- package/src/layout/ex.js +252 -0
- package/src/layout/icon.js +105 -0
- package/src/layout/layout.js +160 -0
- package/src/layout/welcome.js +172 -0
- package/src/layout/window.js +476 -0
- package/src/utils/audioRecorder.js +445 -0
- package/src/utils/cloudinary.js +61 -0
- package/src/utils/storage.ts +89 -0
- package/src/utils/textToSpeech.js +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productCard.d.ts","sourceRoot":"","sources":["../../../src/components/productCard.js"],"names":[],"mappings":"AAgBO;;;;6BAslBN;kBAtmBsD,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressCircle.d.ts","sourceRoot":"","sources":["../../../src/components/progressCircle.js"],"names":[],"mappings":"AAKO,oDAkCN;kBAvCoD,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/components/testing.js"],"names":[],"mappings":"AAGO;;;sBAoCN;kBAvCiB,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../../src/components/voice.js"],"names":[],"mappings":"AA4BO;;sBAgMN;kBA1NsD,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcomeButton.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeButton.js"],"names":[],"mappings":";AAsBA,sDA+GC;kBApI2C,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcomeInput.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeInput.js"],"names":[],"mappings":"AAgBO;;;sBAqEN;kBArF8D,OAAO"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const AppContext: React.Context<any>;
|
|
2
|
+
export function AppProvider({ data, onProductCardClick, onAddToCartClick, uiConfig, children, }: {
|
|
3
|
+
data: any;
|
|
4
|
+
onProductCardClick: any;
|
|
5
|
+
onAddToCartClick: any;
|
|
6
|
+
uiConfig?: {} | undefined;
|
|
7
|
+
children: any;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
import React from 'react';
|
|
10
|
+
//# sourceMappingURL=AppContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/AppContext.js"],"names":[],"mappings":"AAWA,4CAA0C;AAEnC;;;;;;sBAwpBN;kBA/pBM,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/hooks/Stream.js"],"names":[],"mappings":"AAGA,4CAsUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsyncStorage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAsyncStorage.js"],"names":[],"mappings":"AAGA,4EA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"AAKO;;;;;sBAQN;kBAbiB,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclaimer.d.ts","sourceRoot":"","sources":["../../../src/layout/disclaimer.js"],"names":[],"mappings":"AAaO;;sBAkGN;kBA/GiC,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ex.d.ts","sourceRoot":"","sources":["../../../src/layout/ex.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/layout/icon.js"],"names":[],"mappings":"AAMO,8CAiDN;kBAvDiC,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/layout/layout.js"],"names":[],"mappings":"AAWO,4CAoHN;kBA/H8D,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../../src/layout/welcome.js"],"names":[],"mappings":"AAeO;;sBAgFN;;kBA9FiC,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/layout/window.js"],"names":[],"mappings":"AA0BO;;sBAwTN;kBAlV8D,OAAO"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function setPermissionStatusHandlers(getter: any, setter: any): void;
|
|
2
|
+
export function initVoice(onResult: any, onPartialResult?: null): Promise<boolean>;
|
|
3
|
+
export function startRecording(): Promise<boolean>;
|
|
4
|
+
export function stopRecording(): Promise<void>;
|
|
5
|
+
export function cancelRecording(): Promise<void>;
|
|
6
|
+
export function requestAudioPermission(): Promise<boolean>;
|
|
7
|
+
export function resetStoredPermission(): boolean;
|
|
8
|
+
export function cleanup(): void;
|
|
9
|
+
//# sourceMappingURL=audioRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"AAqBA,4EAGC;AAGD,mFAoHC;AAmFD,mDAwCC;AAED,+CAoDC;AAED,iDASC;AAED,2DA6BC;AAqDD,iDAMC;AAED,gCAoBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function CloudinaryBannerImage({ cldImg, imageStyle, accessibilityLabel, testID, width, height }: {
|
|
2
|
+
cldImg: any;
|
|
3
|
+
imageStyle: any;
|
|
4
|
+
accessibilityLabel: any;
|
|
5
|
+
testID: any;
|
|
6
|
+
width?: number | undefined;
|
|
7
|
+
height?: number | undefined;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
export default CloudinaryImage;
|
|
10
|
+
import React from 'react';
|
|
11
|
+
declare function CloudinaryImage({ cldImg, imageStyle, accessibilityLabel, testID }: {
|
|
12
|
+
cldImg: any;
|
|
13
|
+
imageStyle: any;
|
|
14
|
+
accessibilityLabel: any;
|
|
15
|
+
testID: any;
|
|
16
|
+
}): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=cloudinary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudinary.d.ts","sourceRoot":"","sources":["../../../src/utils/cloudinary.js"],"names":[],"mappings":"AA4BO;;;;;;;sBA8BN;;kBA1DiC,OAAO;AAOzC;;;;;sBAmBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface ChatMessage {
|
|
2
|
+
type: string;
|
|
3
|
+
text: string | string[];
|
|
4
|
+
form?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface ChatState {
|
|
7
|
+
typingIndicator: boolean;
|
|
8
|
+
ghostMessage: boolean;
|
|
9
|
+
ghostCard: boolean;
|
|
10
|
+
stopActivated: boolean;
|
|
11
|
+
disclaimer: boolean;
|
|
12
|
+
startStreaming: boolean;
|
|
13
|
+
messages: ChatMessage[];
|
|
14
|
+
showIcon: boolean;
|
|
15
|
+
toggleChat: boolean;
|
|
16
|
+
showModal?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const defaultState: ChatState;
|
|
19
|
+
/**
|
|
20
|
+
* Loads chat state for a specific customer token
|
|
21
|
+
* Returns cached state if available, otherwise loads from AsyncStorage
|
|
22
|
+
*/
|
|
23
|
+
export declare const loadChat: (token: string) => Promise<ChatState>;
|
|
24
|
+
/**
|
|
25
|
+
* Updates chat state for a specific customer token
|
|
26
|
+
* Updates both in-memory cache and persists to AsyncStorage
|
|
27
|
+
*/
|
|
28
|
+
export declare const updateChat: (token: string, next: ChatState) => Promise<void>;
|
|
29
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,eAAO,MAAM,YAAY,EAAE,SAc1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAiB,MAAM,KAAG,QAAQ,SAAS,CAwB/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAiB,MAAM,QAAQ,SAAS,KAAG,QAAQ,IAAI,CAY7E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textToSpeech.d.ts","sourceRoot":"","sources":["../../../src/utils/textToSpeech.js"],"names":[],"mappings":"AAKO,4DA2CN"}
|
package/package.json
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "srs-heritage-chatbot",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "A modern, sophisticated chat interface for React Native",
|
|
6
|
+
"main": "lib/commonjs/index",
|
|
7
|
+
"types": "lib/typescript/index.d.ts",
|
|
8
|
+
"module": "lib/module/index",
|
|
9
|
+
"source": "src/index",
|
|
10
|
+
"react-native": "src/index",
|
|
11
|
+
"files": [
|
|
12
|
+
"lib",
|
|
13
|
+
"src",
|
|
14
|
+
"README.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"keywords": [
|
|
18
|
+
"react-native",
|
|
19
|
+
"chat",
|
|
20
|
+
"messaging",
|
|
21
|
+
"ui",
|
|
22
|
+
"modern"
|
|
23
|
+
],
|
|
24
|
+
"author": "bill-instalily",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"react": "*",
|
|
28
|
+
"react-native": "*"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@babel/core": "^7.25.2",
|
|
32
|
+
"@babel/plugin-transform-runtime": "^7.22.15",
|
|
33
|
+
"@babel/preset-env": "^7.25.3",
|
|
34
|
+
"@babel/preset-react": "^7.20.0",
|
|
35
|
+
"@babel/preset-typescript": "^7.20.0",
|
|
36
|
+
"@babel/runtime": "^7.25.0",
|
|
37
|
+
"@react-native-community/cli": "18.0.0",
|
|
38
|
+
"@react-native-community/cli-platform-android": "18.0.0",
|
|
39
|
+
"@react-native-community/cli-platform-ios": "18.0.0",
|
|
40
|
+
"@react-native/babel-preset": "0.79.6",
|
|
41
|
+
"@react-native/codegen": "^0.73.3",
|
|
42
|
+
"@react-native/eslint-config": "0.79.6",
|
|
43
|
+
"@react-native/metro-config": "0.79.6",
|
|
44
|
+
"@react-native/typescript-config": "0.79.6",
|
|
45
|
+
"@types/jest": "^29.5.13",
|
|
46
|
+
"@types/minimatch": "^5.1.2",
|
|
47
|
+
"@types/react": "^19.0.0",
|
|
48
|
+
"@types/react-native-vector-icons": "^6.4.18",
|
|
49
|
+
"@types/react-test-renderer": "^19.0.0",
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
51
|
+
"@typescript-eslint/parser": "^5.0.0",
|
|
52
|
+
"eslint": "^8.19.0",
|
|
53
|
+
"eslint-plugin-react": "^7.0.0",
|
|
54
|
+
"eslint-plugin-react-native": "^4.0.0",
|
|
55
|
+
"jest": "^29.6.3",
|
|
56
|
+
"metro-react-native-babel-preset": "^0.77.0",
|
|
57
|
+
"patch-package": "^8.0.1",
|
|
58
|
+
"prettier": "2.8.8",
|
|
59
|
+
"react": "18.3.1",
|
|
60
|
+
"react-native": "^0.76.7",
|
|
61
|
+
"react-native-builder-bob": "^0.20.0",
|
|
62
|
+
"react-test-renderer": "19.0.0",
|
|
63
|
+
"typescript": "5.0.4"
|
|
64
|
+
},
|
|
65
|
+
"repository": {
|
|
66
|
+
"type": "git",
|
|
67
|
+
"url": "git+https://github.com/Instalily/VSA-Heritage-mobile.git"
|
|
68
|
+
},
|
|
69
|
+
"bugs": {
|
|
70
|
+
"url": "https://github.com/Instalily/VSA-Heritage-mobile/issues"
|
|
71
|
+
},
|
|
72
|
+
"homepage": "https://github.com/Instalily/VSA-Heritage-mobile#readme",
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"@react-native-async-storage/async-storage": "^2.1.1",
|
|
75
|
+
"@react-native-community/audio-toolkit": "^2.0.3",
|
|
76
|
+
"@react-native-picker/picker": "^2.11.0",
|
|
77
|
+
"@react-native-voice/voice": "^3.2.4",
|
|
78
|
+
"babel-plugin-module-resolver": "^5.0.2",
|
|
79
|
+
"cloudinary-react-native": "^1.3.0",
|
|
80
|
+
"react-native-audio-recorder-player": "^3.6.12",
|
|
81
|
+
"react-native-eject": "^1.0.2",
|
|
82
|
+
"react-native-keyboard-aware-scroll-view": "^0.9.5",
|
|
83
|
+
"react-native-markdown-display": "^7.0.2",
|
|
84
|
+
"react-native-permissions": "^5.2.6",
|
|
85
|
+
"react-native-uuid": "^2.0.3",
|
|
86
|
+
"react-native-vector-icons": "^10.2.0",
|
|
87
|
+
"react-native-video": "^6.10.2",
|
|
88
|
+
"react-native-web": "~0.19.10"
|
|
89
|
+
},
|
|
90
|
+
"react-native-builder-bob": {
|
|
91
|
+
"source": "src",
|
|
92
|
+
"output": "lib",
|
|
93
|
+
"targets": [
|
|
94
|
+
"commonjs",
|
|
95
|
+
"module",
|
|
96
|
+
"typescript"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
|
|
100
|
+
"scripts": {
|
|
101
|
+
"build": "bob build",
|
|
102
|
+
"prepare": "bob build",
|
|
103
|
+
"release": "release-it",
|
|
104
|
+
"example": "yarn --cwd example",
|
|
105
|
+
"clean": "rm -rf lib",
|
|
106
|
+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
|
|
107
|
+
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" fill="#ffffff" viewBox="0 0 256 256"><path d="M132,24A100.11,100.11,0,0,0,32,124v84.33A15.69,15.69,0,0,0,47.67,224H132a100,100,0,0,0,0-200Zm28,128H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 202.1 47.7">
|
|
3
|
+
<!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
.st0, .st1 {
|
|
7
|
+
fill: #fff;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.st1 {
|
|
11
|
+
fill-rule: evenodd;
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
</defs>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="st0" d="M65.4,7.3c-1.3-.7-2.8-1-4.5-1h-10v23.2h6.3v-6.9h3.5c1.8,0,3.3-.3,4.6-1s2.4-1.6,3.1-2.8c.7-1.2,1.1-2.7,1.1-4.3s-.4-3.1-1.1-4.3c-.7-1.2-1.7-2.2-3-2.9ZM62.5,16.2c-.3.5-.7.9-1.2,1.1-.5.3-1.2.4-1.9.4h-2.2v-6.4h2.2c.7,0,1.4.1,1.9.4.5.3.9.6,1.2,1.1s.4,1,.4,1.7-.1,1.2-.4,1.7Z"/>
|
|
17
|
+
<path class="st0" d="M84.8,12.9c-1.3-.8-3-1.1-4.8-1.1s-3.5.4-4.8,1.1c-1.3.8-2.4,1.8-3.1,3.1-.7,1.3-1.1,2.9-1.1,4.7s.4,3.3,1.1,4.7c.7,1.3,1.7,2.4,3.1,3.1,1.3.8,3,1.1,4.8,1.1s3.5-.4,4.8-1.1c1.3-.8,2.4-1.8,3.1-3.1.7-1.3,1.1-2.9,1.1-4.7s-.4-3.3-1.1-4.7c-.7-1.3-1.7-2.4-3.1-3.1ZM82.3,23.1c-.2.7-.5,1.2-.9,1.5-.4.4-.8.5-1.4.5s-1-.2-1.4-.5c-.4-.4-.7-.9-.9-1.5-.2-.7-.3-1.4-.3-2.3s.1-1.7.3-2.3.5-1.2.9-1.5c.4-.4.9-.5,1.4-.5s1,.2,1.4.5c.4.4.7.9.9,1.5.2.7.3,1.4.3,2.3s-.1,1.7-.3,2.3Z"/>
|
|
18
|
+
<path class="st0" d="M102.5,19l-3.5-.6c-.7-.1-1.1-.3-1.3-.5-.2-.2-.3-.5-.3-.7,0-.4.2-.6.6-.8.4-.2.8-.3,1.4-.3s.8,0,1.1.2c.3.1.6.3.8.6s.3.6.4.9h5.8c0-1.8-.8-3.3-2.3-4.3-1.5-1-3.4-1.6-5.9-1.6s-3.1.2-4.3.7c-1.2.4-2.1,1.1-2.8,1.9-.6.8-1,1.9-1,3.1,0,1.4.4,2.5,1.3,3.4s2.2,1.5,4,1.8l3.1.5c.7.1,1.2.3,1.5.5.3.2.5.5.5.8,0,.4-.2.6-.6.8s-.8.3-1.4.3-1.3-.1-1.8-.4c-.5-.3-.7-.7-.8-1.3h-6.2c.2,1.8,1,3.2,2.5,4.3,1.5,1.1,3.6,1.6,6.2,1.6s3-.2,4.3-.7c1.3-.5,2.2-1.2,3-2.1.7-.9,1.1-2,1.1-3.2,0-1.3-.4-2.3-1.3-3.1s-2.2-1.3-4-1.6Z"/>
|
|
19
|
+
<path class="st0" d="M124.7,14.2c-.8-.8-1.7-1.4-2.7-1.8-1.1-.4-2.3-.6-3.6-.6s-3.4.4-4.7,1.1c-1.3.7-2.3,1.8-3.1,3.1s-1.1,2.9-1.1,4.7.4,3.5,1.1,4.8,1.8,2.4,3.1,3.1c1.3.7,2.9,1.1,4.8,1.1s3-.2,4.2-.7c1.2-.5,2.2-1.2,2.9-2.1.7-.9,1.2-1.9,1.4-3.1h-5.7c-.1.3-.3.6-.6.8-.3.2-.6.4-.9.5-.4.1-.8.2-1.2.2-.6,0-1.1-.1-1.6-.4-.4-.2-.8-.6-1-1-.2-.4-.4-.9-.4-1.5v-.3h11.3v-1.4c0-1.4-.2-2.6-.6-3.7-.4-1.1-1-2-1.7-2.8ZM115.8,18.7c0-.5.1-.9.4-1.3.3-.4.6-.7,1-.9s.9-.3,1.4-.3,1,.1,1.4.3.7.5,1,.9c.2.4.4.8.4,1.3h-5.6Z"/>
|
|
20
|
+
<path class="st0" d="M132.8,10.2c.9,0,1.6-.3,2.2-.8s.9-1.2.9-2-.3-1.5-.9-2-1.3-.8-2.2-.8-1.6.3-2.2.8-.9,1.2-.9,2,.3,1.5.9,2,1.3.8,2.2.8Z"/>
|
|
21
|
+
<rect class="st0" x="129.6" y="12" width="6.2" height="17.4"/>
|
|
22
|
+
<path class="st0" d="M150.3,15.1h0c-.2-.6-.6-1.1-1-1.6-.4-.5-1-.9-1.6-1.2-.6-.3-1.4-.4-2.3-.4s-2.2.3-3.3.9c-1,.6-1.9,1.6-2.5,2.9-.7,1.3-1,3-1,5.1s.3,3.7.9,5c.6,1.3,1.5,2.3,2.5,3,1,.6,2.2,1,3.4,1s1.5-.1,2.2-.4,1.2-.6,1.6-1.1c.4-.5.8-1,1-1.6h.1v2.9h6.2V6.2h-6.2v8.8ZM150.1,22.9c-.2.6-.5,1.1-1,1.4-.4.3-.9.5-1.5.5s-1.1-.2-1.5-.5-.7-.8-.9-1.4c-.2-.6-.3-1.4-.3-2.2s.1-1.6.3-2.2c.2-.6.5-1.1.9-1.4.4-.3.9-.5,1.5-.5s1.1.2,1.5.5c.4.3.7.8,1,1.4.2.6.3,1.4.3,2.2s-.1,1.6-.3,2.2Z"/>
|
|
23
|
+
<path class="st0" d="M172.8,12.9c-1.3-.8-3-1.1-4.8-1.1s-3.5.4-4.8,1.1c-1.3.8-2.4,1.8-3.1,3.1-.7,1.3-1.1,2.9-1.1,4.7s.4,3.3,1.1,4.7c.7,1.3,1.7,2.4,3.1,3.1,1.3.8,3,1.1,4.8,1.1s3.5-.4,4.8-1.1c1.3-.8,2.4-1.8,3.1-3.1.7-1.3,1.1-2.9,1.1-4.7s-.4-3.3-1.1-4.7c-.7-1.3-1.7-2.4-3.1-3.1ZM170.3,23.1c-.2.7-.5,1.2-.9,1.5-.4.4-.8.5-1.4.5s-1-.2-1.4-.5c-.4-.4-.7-.9-.9-1.5-.2-.7-.3-1.4-.3-2.3s.1-1.7.3-2.3.5-1.2.9-1.5c.4-.4.9-.5,1.4-.5s1,.2,1.4.5c.4.4.7.9.9,1.5.2.7.3,1.4.3,2.3s-.1,1.7-.3,2.3Z"/>
|
|
24
|
+
<path class="st0" d="M196.3,15c-.5-1-1.2-1.8-2.1-2.3s-2-.8-3.2-.8-2.4.3-3.3.9c-1,.6-1.6,1.5-2,2.6h-.2v-3.3h-5.9v17.4h6.2v-9.8c0-.6.1-1.1.3-1.5.2-.4.5-.7.9-1s.8-.3,1.3-.3c.8,0,1.4.2,1.8.7.4.5.7,1.2.7,2v9.8h6.2v-11.1c0-1.3-.2-2.4-.7-3.4Z"/>
|
|
25
|
+
</g>
|
|
26
|
+
<g>
|
|
27
|
+
<polygon class="st0" points="52.4 38.2 52.4 38.2 51 35.4 49 35.4 51.5 40.1 51.5 42.2 53.3 42.2 53.3 40.1 55.8 35.4 53.8 35.4 52.4 38.2"/>
|
|
28
|
+
<path class="st0" d="M61.4,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM61,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
|
|
29
|
+
<path class="st0" d="M68.5,39.6c0,.2,0,.4-.1.6,0,.2-.2.3-.4.4s-.4.1-.6.1-.4,0-.6-.1c-.2,0-.3-.2-.4-.4,0-.2-.1-.4-.1-.6v-4.2h-1.9v4.4c0,.5.1,1,.4,1.4.2.4.6.7,1,.9.4.2,1,.3,1.6.3s1.1-.1,1.5-.3c.4-.2.8-.5,1-.9.2-.4.4-.8.4-1.4v-4.4h-1.9v4.2Z"/>
|
|
30
|
+
<path class="st0" d="M76.8,38.9c.2-.3.3-.8.3-1.2s-.1-.9-.3-1.3c-.2-.3-.5-.6-.9-.8s-.8-.3-1.3-.3h-3v6.8h1.9v-2.3h.6l1.2,2.3h2l-1.4-2.6c.4-.2.6-.4.8-.7ZM73.5,36.9h.7c.2,0,.4,0,.6,0,.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5c0,.1-.2.2-.4.3-.2,0-.3,0-.6,0h-.7v-1.7Z"/>
|
|
31
|
+
<path class="st0" d="M85.1,35.7c-.4-.2-.8-.3-1.3-.3h-3v6.8h1.9v-2h1c.5,0,1,0,1.4-.3s.7-.5.9-.8c.2-.4.3-.8.3-1.3s-.1-.9-.3-1.3c-.2-.4-.5-.6-.9-.8ZM84.2,38.3c0,.1-.2.3-.4.3-.2,0-.3.1-.6.1h-.7v-1.9h.7c.2,0,.4,0,.6.1.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5Z"/>
|
|
32
|
+
<polygon class="st0" points="87.4 42.2 92.3 42.2 92.3 40.7 89.3 40.7 89.3 39.5 92.1 39.5 92.1 38 89.3 38 89.3 36.9 92.4 36.9 92.4 35.4 87.4 35.4 87.4 42.2"/>
|
|
33
|
+
<path class="st0" d="M98.9,38.9c.2-.3.3-.8.3-1.2s-.1-.9-.3-1.3c-.2-.3-.5-.6-.9-.8s-.8-.3-1.3-.3h-3v6.8h1.9v-2.3h.6l1.2,2.3h2l-1.4-2.6c.4-.2.6-.4.8-.7ZM95.6,36.9h.7c.2,0,.4,0,.6,0,.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5c0,.1-.2.2-.4.3-.2,0-.3,0-.6,0h-.7v-1.7Z"/>
|
|
34
|
+
<path class="st0" d="M105.6,38.9c-.2-.2-.4-.3-.7-.5-.3-.1-.6-.2-1-.3h-.6c-.2-.2-.3-.2-.4-.2-.1,0-.2,0-.3-.1,0,0-.1-.1-.2-.2,0,0,0-.1,0-.2,0-.1,0-.2,0-.3,0,0,.1-.1.3-.2.1,0,.3,0,.5,0,.3,0,.5,0,.7.2.1.1.2.3.2.5h1.8c0-.4-.1-.8-.3-1.2-.2-.3-.5-.6-.9-.8s-.9-.3-1.4-.3-1,0-1.4.3c-.4.2-.7.4-1,.8-.2.3-.4.7-.3,1.1,0,.5.2,1,.5,1.3.3.3.8.5,1.4.7h.7c.3.2.5.3.6.3.1,0,.3.1.3.2,0,0,0,.2.1.3,0,.1,0,.2-.1.3,0,0-.2.2-.3.2-.1,0-.3,0-.5,0s-.4,0-.6-.1c-.2,0-.3-.2-.4-.3s-.1-.3-.2-.5h-1.8c0,.6.1,1,.4,1.4s.6.6,1,.8c.4.2,1,.3,1.6.3s1.1,0,1.5-.2c.4-.2.7-.4,1-.7.2-.3.3-.7.3-1.1,0-.3,0-.5-.1-.7,0-.2-.2-.4-.4-.6Z"/>
|
|
35
|
+
<path class="st0" d="M112.2,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM111.8,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
|
|
36
|
+
<polygon class="st0" points="119.3 39 119.2 39 116.8 35.4 115.2 35.4 115.2 42.2 117.1 42.2 117.1 38.6 117.1 38.6 119.6 42.2 121.1 42.2 121.1 35.4 119.3 35.4 119.3 39"/>
|
|
37
|
+
<path class="st0" d="M124.5,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM125.1,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
|
|
38
|
+
<polygon class="st0" points="132.3 35.4 130.5 35.4 130.5 42.2 135.1 42.2 135.1 40.7 132.3 40.7 132.3 35.4"/>
|
|
39
|
+
<path class="st0" d="M140.7,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM141.2,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
|
|
40
|
+
<rect class="st0" x="146.6" y="35.4" width="1.9" height="6.8"/>
|
|
41
|
+
<path class="st0" d="M154.7,37.1c.2-.2.5-.2.8-.2s.3,0,.5,0c.1,0,.3.1.4.2,0,0,.2.2.2.3,0,.1,0,.3.1.4h1.9c0-.4-.1-.8-.3-1.1-.2-.3-.4-.6-.7-.8-.3-.2-.6-.4-1-.5s-.8-.2-1.2-.2c-.6,0-1.2.1-1.7.4-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9.7.9,1.2,1.2c.5.3,1.1.4,1.7.4s.9,0,1.3-.2.7-.4,1-.6c.3-.3.5-.5.6-.8.1-.3.2-.6.2-.9h-1.9c0,.1,0,.3-.1.4,0,.1-.1.2-.2.3-.1,0-.2.1-.4.2-.1,0-.3,0-.5,0-.3,0-.6,0-.8-.2s-.4-.4-.5-.6c-.1-.3-.2-.6-.2-1.1s0-.7.2-1,.3-.5.5-.7Z"/>
|
|
42
|
+
<polygon class="st0" points="164.2 38 161.7 38 161.7 35.4 159.9 35.4 159.9 42.2 161.7 42.2 161.7 39.5 164.2 39.5 164.2 42.2 166.1 42.2 166.1 35.4 164.2 35.4 164.2 38"/>
|
|
43
|
+
<path class="st0" d="M169.4,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM170,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
|
|
44
|
+
<polygon class="st0" points="174.3 36.9 176.4 36.9 176.4 42.2 178.2 42.2 178.2 36.9 180.3 36.9 180.3 35.4 174.3 35.4 174.3 36.9"/>
|
|
45
|
+
<path class="st0" d="M186.3,38.9c-.2-.1-.5-.2-.8-.2h0c.3-.1.5-.2.7-.4s.4-.3.5-.5.2-.4.2-.7,0-.6-.3-.9c-.2-.3-.5-.5-.8-.6-.4-.1-.8-.2-1.3-.2h-3v6.8h3.2c.5,0,.9,0,1.3-.3.4-.2.6-.4.8-.7.2-.3.3-.6.3-1s0-.6-.2-.8-.3-.4-.6-.6ZM183.3,36.8h.8c.2,0,.4,0,.6.2.2.1.2.3.2.5s0,.3-.1.4c0,0-.2.2-.3.2s-.3,0-.4,0h-.8v-1.3ZM184.9,40.6c-.2.1-.4.2-.7.2h-.9v-1.4h.9c.2,0,.4,0,.5,0,.1,0,.2.1.3.3,0,.1.1.2.1.4,0,.2,0,.4-.2.5Z"/>
|
|
46
|
+
<path class="st0" d="M193.2,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM192.7,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
|
|
47
|
+
<polygon class="st0" points="195.6 35.4 195.6 36.9 197.7 36.9 197.7 42.2 199.5 42.2 199.5 36.9 201.6 36.9 201.6 35.4 195.6 35.4"/>
|
|
48
|
+
</g>
|
|
49
|
+
<path class="st1" d="M34.7,2.7H5.8c-.9,0-1.7.4-2.3.9-.6.6-1,1.4-1,2.3v35.9c0,.9.4,1.7,1,2.3.6.6,1.4.9,2.3.9h28.9c.9,0,1.7-.4,2.3-.9.6-.6,1-1.4,1-2.3V5.9c0-.9-.4-1.7-1-2.3h0c-.6-.6-1.4-.9-2.3-.9M5.8.8h28.9c1.4,0,2.7.6,3.7,1.5h0c.9.9,1.5,2.2,1.5,3.6v35.9c0,1.4-.6,2.7-1.5,3.6-.9.9-2.3,1.5-3.7,1.5H5.8c-1.4,0-2.7-.6-3.7-1.5-.9-.9-1.5-2.2-1.5-3.6V5.9c0-1.4.6-2.7,1.5-3.6,1-.9,2.3-1.5,3.7-1.5"/>
|
|
50
|
+
<path class="st1" d="M35.4,5h0c-.5-.5-1.3-.9-2.1-.9H7.1c-.8,0-1.6.3-2.1.9-.5.5-.9,1.3-.9,2.1v33.4c0,.8.3,1.6.9,2.1.5.5,1.3.9,2.1.9h26.3c.8,0,1.6-.3,2.1-.9.5-.5.9-1.3.9-2.1V7.1c0-.8-.3-1.6-.9-2.1M16.8,38.8c-.3-.2-.4-.5-.7-.9-1.2-1.8-.6-4.2,1.2-5.1-1.4,1.2-1.2,3.5,0,5.3.2.2.4.5.5.7h-.9ZM33.3,38.9h-2.6s-6.2,0-6.2,0c.2-.3.3-.5.4-.8,1.5-3.8,0-8,1.4-11.9-2.4,2.6-5.9,3.3-8.7,5.1-2.9,1.6-3.8,5.1-2.4,7.6h-6.3s-1.7,0-1.7,0V8.4h7v11.8h12.1v-11.8h7v30.4Z"/>
|
|
51
|
+
</svg>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import { View, Text, StyleSheet, Animated } from 'react-native';
|
|
3
|
+
import Ionicons from 'react-native-vector-icons/Ionicons';
|
|
4
|
+
|
|
5
|
+
const tips = [
|
|
6
|
+
{
|
|
7
|
+
text: 'Use 👍👎 next to each response to help us improve AI Assistant',
|
|
8
|
+
icon: ''
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
text: '🗑️ Clear the chat history after each conversation for continued accurate responses',
|
|
12
|
+
icon: ''
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
text: 'Use 📧 to send any questions to the current branch support',
|
|
16
|
+
icon: ''
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
export const LoadingTips = () => {
|
|
21
|
+
const [currentTip, setCurrentTip] = useState(0);
|
|
22
|
+
const fadeAnim = useRef(new Animated.Value(1)).current;
|
|
23
|
+
const jumpAnim = useRef(new Animated.Value(0)).current;
|
|
24
|
+
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
// Fade in/out for tip changes
|
|
27
|
+
const tipInterval = setInterval(() => {
|
|
28
|
+
// Fade out
|
|
29
|
+
Animated.timing(fadeAnim, {
|
|
30
|
+
toValue: 0,
|
|
31
|
+
duration: 500,
|
|
32
|
+
useNativeDriver: true,
|
|
33
|
+
}).start(() => {
|
|
34
|
+
// Change tip and fade in
|
|
35
|
+
setCurrentTip(prev => (prev + 1) % tips.length);
|
|
36
|
+
Animated.timing(fadeAnim, {
|
|
37
|
+
toValue: 1,
|
|
38
|
+
duration: 500,
|
|
39
|
+
useNativeDriver: true,
|
|
40
|
+
}).start();
|
|
41
|
+
});
|
|
42
|
+
}, 4000);
|
|
43
|
+
|
|
44
|
+
// Jump animation
|
|
45
|
+
const jumpInterval = setInterval(() => {
|
|
46
|
+
Animated.sequence([
|
|
47
|
+
Animated.timing(jumpAnim, {
|
|
48
|
+
toValue: -5,
|
|
49
|
+
duration: 250,
|
|
50
|
+
useNativeDriver: true,
|
|
51
|
+
}),
|
|
52
|
+
Animated.timing(jumpAnim, {
|
|
53
|
+
toValue: 0,
|
|
54
|
+
duration: 250,
|
|
55
|
+
useNativeDriver: true,
|
|
56
|
+
})
|
|
57
|
+
]).start();
|
|
58
|
+
}, 2000);
|
|
59
|
+
|
|
60
|
+
return () => {
|
|
61
|
+
clearInterval(tipInterval);
|
|
62
|
+
clearInterval(jumpInterval);
|
|
63
|
+
};
|
|
64
|
+
}, []);
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<Animated.View style={[styles.container, { opacity: fadeAnim }]}>
|
|
68
|
+
<Animated.View style={{ transform: [{ translateY: jumpAnim }] }}>
|
|
69
|
+
<Ionicons name="bulb-outline" size={16} color="#367CB6" />
|
|
70
|
+
</Animated.View>
|
|
71
|
+
<Text style={styles.tipText}>
|
|
72
|
+
<Text style={styles.tipIcon}>{tips[currentTip].icon} </Text>
|
|
73
|
+
{tips[currentTip].text}
|
|
74
|
+
</Text>
|
|
75
|
+
</Animated.View>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const styles = StyleSheet.create({
|
|
80
|
+
container: {
|
|
81
|
+
flexDirection: 'row',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
padding: 10,
|
|
84
|
+
marginLeft: 15,
|
|
85
|
+
borderRadius: 8,
|
|
86
|
+
marginBottom: 8,
|
|
87
|
+
flex: 1,
|
|
88
|
+
},
|
|
89
|
+
tipText: {
|
|
90
|
+
marginLeft: 8,
|
|
91
|
+
fontSize: 14,
|
|
92
|
+
color: '#303030',
|
|
93
|
+
flexShrink: 1,
|
|
94
|
+
},
|
|
95
|
+
tipIcon: {
|
|
96
|
+
marginRight: 5,
|
|
97
|
+
fontSize: 16,
|
|
98
|
+
}
|
|
99
|
+
});
|