27 lines
1.6 KiB
TypeScript
27 lines
1.6 KiB
TypeScript
// Metro module 13047 (f13048).
|
|
import { useCallback } from "react";
|
|
import { MessageRequestRestrictedGuildIds, RestrictedGuildIds } from "../../../user_settings/UserSettings";
|
|
import { getSanitizedMessageRequestRestrictedGuilds } from "../../../../utils/UserSettingsUtils";
|
|
import { ActionSheetSwitchRow } from "../../../../design/components/Sheet/native/ActionSheetRow.native";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import useIsStricterMessageRequests from "../../hooks/useIsStricterMessageRequests";
|
|
const MessageRequestRestrictedGuildPrivacyOption = function MessageRequestRestrictedGuildPrivacyOption(props) {
|
|
const guild = props.guild;
|
|
const id = guild.id;
|
|
const r8 = MessageRequestRestrictedGuildIds.useSetting().includes(id);
|
|
const disabled = RestrictedGuildIds.useSetting().includes(guild.id);
|
|
const callback = useCallback((a0) => {
|
|
const sanitizedMessageRequestRestrictedGuilds = getSanitizedMessageRequestRestrictedGuilds();
|
|
if (a0) {
|
|
sanitizedMessageRequestRestrictedGuilds.delete(id);
|
|
} else {
|
|
sanitizedMessageRequestRestrictedGuilds.add(id);
|
|
}
|
|
MessageRequestRestrictedGuildIds.updateSetting(Array.from(sanitizedMessageRequestRestrictedGuilds));
|
|
}, [id]);
|
|
return <ActionSheetSwitchRow label={intl.string(t["7UgSGP"])} subLabel={intl.string(t.INRaYb)} value={disabled ? !disabled : !r8} onValueChange={callback} disabled={disabled} />;
|
|
};
|
|
export function useMessageRequestPrivacyOption({ guild }) {
|
|
return useIsStricterMessageRequests() ? null : <MessageRequestRestrictedGuildPrivacyOption guild={guild} />;
|
|
}
|