76 lines
4.4 KiB
TypeScript
76 lines
4.4 KiB
TypeScript
// Metro module 15277 (f15278).
|
|
import { useCallback } from "react";
|
|
import RecentMentionsStore from "../../inbox/RecentMentionsStore";
|
|
import { UserSettingsSections } from "../../../Constants";
|
|
import { useStateFromStoresObject } from "../../../_bundle/Module589";
|
|
import MentionActionCreators from "../../../actions/MentionActionCreators";
|
|
import ForLaterExperiment from "../../saved_messages/ForLaterExperiment";
|
|
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
|
|
import hasForLaterPremiumType from "../../saved_messages/hasForLaterPremiumType";
|
|
import openPremiumUpsellActionSheet from "../../premium/roadblocks/native/utils/openPremiumUpsellActionSheet";
|
|
import { EntitlementFeatureNames } from "../../../_bundle/Module6201";
|
|
import { showForLaterModal } from "../../saved_messages/native/showForLaterModal";
|
|
import { openUserSettings } from "../../user_settings/core/native/openUserSettings";
|
|
import { ActionSheet } from "../../../design/components/Sheet/native/ActionSheet.native";
|
|
import { BottomSheetTitleHeader } from "../../../design/components/Sheet/native/BottomSheetTitleHeader.native";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { ActionSheetRow, ActionSheetSwitchRow } from "../../../design/components/Sheet/native/ActionSheetRow.native";
|
|
import { AtIcon } from "../../../design/components/Icon/native/redesign/generated/AtIcon";
|
|
import Module10390 from "../../../_bundle/Module10390";
|
|
import { BellIcon } from "../../../design/components/Icon/native/redesign/generated/BellIcon";
|
|
import Module15279 from "../../../_bundle/Module15279";
|
|
import { BookmarkIcon } from "../../../design/components/Icon/native/redesign/generated/BookmarkIcon";
|
|
import { SavedMessageSortTypes } from "../../saved_messages/SavedMessagesTypes";
|
|
import { ClockIcon } from "../../../design/components/Icon/native/redesign/generated/ClockIcon";
|
|
import { SettingsIcon } from "../../../design/components/Icon/native/redesign/generated/SettingsIcon";
|
|
export default function NotificationCenterActionSheet() {
|
|
let roleFilter, everyoneFilter, callback, callback2;
|
|
const stateFromStoresObject = useStateFromStoresObject([RecentMentionsStore], () => ({
|
|
everyoneFilter: RecentMentionsStore.everyoneFilter,
|
|
roleFilter: RecentMentionsStore.roleFilter
|
|
}));
|
|
roleFilter = stateFromStoresObject.roleFilter;
|
|
everyoneFilter = stateFromStoresObject.everyoneFilter;
|
|
callback = useCallback((a0) => {
|
|
MentionActionCreators.setGuildFilter({
|
|
roleFilter,
|
|
everyoneFilter,
|
|
...a0
|
|
});
|
|
}, [everyoneFilter, roleFilter]);
|
|
const enabled = ForLaterExperiment.useConfig({
|
|
location: "NotificationCenterActionSheet"
|
|
}).enabled;
|
|
callback2 = useCallback((a0) => {
|
|
ActionSheetActionCreators.hideActionSheet();
|
|
if (hasForLaterPremiumType()) {
|
|
showForLaterModal(a0);
|
|
} else {
|
|
openPremiumUpsellActionSheet(EntitlementFeatureNames.SAVED_MESSAGES);
|
|
}
|
|
}, []);
|
|
const callback3 = useCallback(() => {
|
|
ActionSheetActionCreators.hideActionSheet();
|
|
openUserSettings({
|
|
screen: UserSettingsSections.NOTIFICATIONS
|
|
});
|
|
}, []);
|
|
const props = {
|
|
showGradient: true,
|
|
header: <BottomSheetTitleHeader title={intl.string(t.HcoRu0)} />,
|
|
children: [<ActionSheetRow.Group hasIcons>
|
|
<ActionSheetSwitchRow onValueChange={() => callback({
|
|
roleFilter: !roleFilter
|
|
})} value={roleFilter} label={intl.string(t.asInft)} icon={<ActionSheetRow.Icon IconComponent={AtIcon} source={Module10390} />} />
|
|
<ActionSheetSwitchRow onValueChange={() => callback({
|
|
everyoneFilter: !everyoneFilter
|
|
})} value={everyoneFilter} label={intl.string(t.S9GLtt)} subLabel={intl.string(t.jYgZa4)} icon={<ActionSheetRow.Icon IconComponent={BellIcon} source={Module15279} />} />
|
|
</ActionSheetRow.Group>, <ActionSheetRow.Group hasIcons>
|
|
{enabled ? <ActionSheetRow key="bookmarks" icon={<ActionSheetRow.Icon IconComponent={BookmarkIcon} />} label={intl.string(t["2pAkDA"])} onPress={() => callback2(SavedMessageSortTypes.BOOKMARK)} arrow /> : null}
|
|
{enabled ? <ActionSheetRow key="reminders" icon={<ActionSheetRow.Icon IconComponent={ClockIcon} />} label={intl.string(t.aUXxzT)} onPress={() => callback2(SavedMessageSortTypes.REMINDER)} arrow /> : null}
|
|
<ActionSheetRow key="settings" icon={<ActionSheetRow.Icon IconComponent={SettingsIcon} />} label={intl.string(t.h850Ss)} onPress={callback3} arrow />
|
|
</ActionSheetRow.Group>]
|
|
};
|
|
return <ActionSheet {...props} />;
|
|
};
|