59 lines
2.5 KiB
TypeScript
59 lines
2.5 KiB
TypeScript
// Metro module 16175 (f16176).
|
|
import { ActivityFeedbackReasons } from "../Constants";
|
|
import { AnalyticEvents } from "../../../Constants";
|
|
import { FeedbackType } from "../../feedback/Constants";
|
|
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
|
|
import getActivityReportOptions from "../getActivityReportOptions";
|
|
import FeedbackActionSheet from "../../feedback/native/FeedbackActionSheet";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { processOptOut } from "../../feedback/FeedbackUtils";
|
|
import { presentFeedbackSent } from "../../toast/native/ToastUtils";
|
|
import trackActivityProblem from "../trackActivityProblem";
|
|
const feedbackReasons = [ActivityFeedbackReasons.OTHER, ActivityFeedbackReasons.ADS, ActivityFeedbackReasons.NOT_FUN];
|
|
export default function ActivityFeedbackActionSheet(props) {
|
|
const { activityApplication, channel, embeddedActivityLocation, analyticsData } = props;
|
|
const activityReportOptions = getActivityReportOptions(true, activityApplication.embeddedActivityConfig?.displays_advertisements === true);
|
|
return <FeedbackActionSheet headerLabel={intl.formatToPlainString(t.QXYwoD, {
|
|
applicationName: activityApplication.name
|
|
})} showHeaderCloseButton ratingsBodyLabel={intl.string(t["9hk2KF"])} reasonsHeaderLabel={intl.string(t.g1q5fr)} reasons={activityReportOptions} feedbackReasons={feedbackReasons} otherKey={ActivityFeedbackReasons.OTHER} trackOpen={() => {
|
|
AnalyticsUtils.track(AnalyticEvents.OPEN_POPOUT, {
|
|
type: "Activity Feedback Sheet",
|
|
application_id: activityApplication.id,
|
|
application_name: activityApplication.name,
|
|
game_id: activityApplication.id,
|
|
source: "Activity End"
|
|
});
|
|
}} trackReport={function trackReport(a0) {
|
|
const { rating, reason } = a0;
|
|
let feedback = a0.feedback;
|
|
const dontShowAgain = a0.dontShowAgain;
|
|
const problem = reason != null ? reason.value : null;
|
|
if (dontShowAgain) {
|
|
AnalyticsUtils.track(AnalyticEvents.ACTIVITY_REPORT_DONT_SHOW, {
|
|
application_id: activityApplication.id,
|
|
rating
|
|
});
|
|
processOptOut({
|
|
feedbackType: FeedbackType.ACTIVITY,
|
|
location: "ActivityFeedbackActionSheet"
|
|
});
|
|
}
|
|
if (rating != null) {
|
|
presentFeedbackSent();
|
|
if (feedback == null) {
|
|
feedback = "";
|
|
}
|
|
trackActivityProblem({
|
|
problem,
|
|
channel,
|
|
embeddedActivityLocation,
|
|
feedback,
|
|
activityApplication,
|
|
analyticsData,
|
|
location: "Activity End",
|
|
rating
|
|
});
|
|
}
|
|
}} />;
|
|
};
|