diff --git a/packages/core/src/js/feedback/FeedbackWidget.tsx b/packages/core/src/js/feedback/FeedbackWidget.tsx index 317c48c3bd..ed49d7b139 100644 --- a/packages/core/src/js/feedback/FeedbackWidget.tsx +++ b/packages/core/src/js/feedback/FeedbackWidget.tsx @@ -158,9 +158,17 @@ export class FeedbackWidget extends React.Component { - // TODO: Add support for image uri when using onAddScreenshot - this.setState({ filename, attachment: attachement, attachmentUri: undefined }); + onAddScreenshot((uri: string) => { + NATIVE.getDataFromUri(uri).then((data) => { + if (data != null) { + this.setState({ filename: 'feedback_screenshot', attachment: data, attachmentUri: uri }); + } else { + logger.error('Failed to read image data from uri:', uri); + } + }) + .catch((error) => { + logger.error('Failed to read image data from uri:', uri, 'error: ', error); + }); }); } } else { diff --git a/packages/core/src/js/feedback/FeedbackWidget.types.ts b/packages/core/src/js/feedback/FeedbackWidget.types.ts index 2da76afbef..e821f886b8 100644 --- a/packages/core/src/js/feedback/FeedbackWidget.types.ts +++ b/packages/core/src/js/feedback/FeedbackWidget.types.ts @@ -171,7 +171,7 @@ export interface FeedbackCallbacks { /** * Callback when a screenshot is added */ - onAddScreenshot?: (attachFile: (filename: string, data: Uint8Array) => void) => void; + onAddScreenshot?: (addScreenshot: (uri: string) => void) => void; /** * Callback when feedback is successfully submitted diff --git a/packages/core/src/js/feedback/defaults.ts b/packages/core/src/js/feedback/defaults.ts index e282b8d2e6..1b7ba84ce9 100644 --- a/packages/core/src/js/feedback/defaults.ts +++ b/packages/core/src/js/feedback/defaults.ts @@ -33,7 +33,7 @@ export const defaultConfiguration: Partial = { ); } }, - onAddScreenshot: (_: (filename: string, data: Uint8Array) => void) => { + onAddScreenshot: (_: (uri: string) => void) => { if (__DEV__) { Alert.alert('Development note', 'onAddScreenshot callback is not implemented.'); }