28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
// Metro module 15122 (f15123).
|
|
import { useCallback } from "react";
|
|
import SelectedGuildStore from "../../../stores/SelectedGuildStore";
|
|
import { Routes } from "../../../Constants";
|
|
import { useFavoritesAccess } from "../FavoritesHooks";
|
|
import { setFavoritesGuildVisibility } from "../FavoritesActionCreators";
|
|
import { isFavoritesGuildId } from "../FavoritesUtils";
|
|
import { transitionTo } from "../../routing/router_utils";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import FavoritesGuild_messages from "../intl/FavoritesGuild.messages";
|
|
export default function useFavoritesGuildHideAction() {
|
|
const hasAccess = useFavoritesAccess().hasAccess;
|
|
const callback = useCallback(() => {
|
|
if (hasAccess) {
|
|
setFavoritesGuildVisibility(false, "server_context_menu");
|
|
}
|
|
if (isFavoritesGuildId(SelectedGuildStore.getGuildId())) {
|
|
transitionTo(Routes.ME);
|
|
}
|
|
}, [hasAccess]);
|
|
return {
|
|
isPreview: !hasAccess,
|
|
label: intl.string(hasAccess ? FavoritesGuild_messages["8FO0y9"] : t.ojM1xJ),
|
|
subLabel: hasAccess ? intl.string(FavoritesGuild_messages.FaHxWl) : void 0,
|
|
perform: callback
|
|
};
|
|
};
|