2023-01-03 19:55:46 +00:00
|
|
|
// Copyright 2019 Signal Messenger, LLC
|
2020-10-30 20:34:04 +00:00
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
2024-03-13 20:44:13 +00:00
|
|
|
import React, { memo, useMemo } from 'react';
|
|
|
|
import { useSelector } from 'react-redux';
|
2019-11-07 21:36:16 +00:00
|
|
|
import { ShortcutGuideModal } from '../../components/ShortcutGuideModal';
|
|
|
|
import { countStickers } from '../../components/stickers/lib';
|
|
|
|
import { getIntl, getPlatform } from '../selectors/user';
|
|
|
|
import {
|
|
|
|
getBlessedStickerPacks,
|
|
|
|
getInstalledStickerPacks,
|
|
|
|
getKnownStickerPacks,
|
|
|
|
getReceivedStickerPacks,
|
|
|
|
} from '../selectors/stickers';
|
2024-03-13 20:44:13 +00:00
|
|
|
import { useGlobalModalActions } from '../ducks/globalModals';
|
|
|
|
|
|
|
|
export const SmartShortcutGuideModal = memo(function SmartShortcutGuideModal() {
|
|
|
|
const i18n = useSelector(getIntl);
|
|
|
|
const blessedPacks = useSelector(getBlessedStickerPacks);
|
|
|
|
const installedPacks = useSelector(getInstalledStickerPacks);
|
|
|
|
const knownPacks = useSelector(getKnownStickerPacks);
|
|
|
|
const receivedPacks = useSelector(getReceivedStickerPacks);
|
|
|
|
const platform = useSelector(getPlatform);
|
|
|
|
|
|
|
|
const { closeShortcutGuideModal } = useGlobalModalActions();
|
|
|
|
|
|
|
|
const hasInstalledStickers = useMemo(() => {
|
|
|
|
return (
|
|
|
|
countStickers({
|
|
|
|
knownPacks,
|
|
|
|
blessedPacks,
|
|
|
|
installedPacks,
|
|
|
|
receivedPacks,
|
|
|
|
}) > 0
|
|
|
|
);
|
|
|
|
}, [blessedPacks, installedPacks, knownPacks, receivedPacks]);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<ShortcutGuideModal
|
|
|
|
hasInstalledStickers={hasInstalledStickers}
|
|
|
|
platform={platform}
|
|
|
|
closeShortcutGuideModal={closeShortcutGuideModal}
|
|
|
|
i18n={i18n}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
});
|