2025-01-04 17:29:46 +01:00
|
|
|
import React, { useState } from 'react';
|
2024-12-26 15:43:34 +01:00
|
|
|
import { Box, Text, IconButton, Icon, Icons, Scroll } from 'folds';
|
|
|
|
import { Page, PageContent, PageHeader } from '../../../components/page';
|
|
|
|
import { GlobalPacks } from './GlobalPacks';
|
|
|
|
import { UserPack } from './UserPack';
|
2025-01-04 17:29:46 +01:00
|
|
|
import { ImagePack } from '../../../plugins/custom-emoji';
|
|
|
|
import { ImagePackView } from './ImagePackView';
|
2024-12-26 15:43:34 +01:00
|
|
|
|
|
|
|
type EmojisStickersProps = {
|
|
|
|
requestClose: () => void;
|
|
|
|
};
|
|
|
|
export function EmojisStickers({ requestClose }: EmojisStickersProps) {
|
2025-01-04 17:29:46 +01:00
|
|
|
const [imagePack, setImagePack] = useState<ImagePack>();
|
|
|
|
|
|
|
|
const handleImagePackViewClose = () => {
|
|
|
|
setImagePack(undefined);
|
|
|
|
};
|
|
|
|
|
|
|
|
if (imagePack) {
|
|
|
|
return <ImagePackView imagePack={imagePack} requestClose={handleImagePackViewClose} />;
|
|
|
|
}
|
|
|
|
|
2024-12-26 15:43:34 +01:00
|
|
|
return (
|
|
|
|
<Page>
|
|
|
|
<PageHeader outlined={false}>
|
|
|
|
<Box grow="Yes" gap="200">
|
|
|
|
<Box grow="Yes" alignItems="Center" gap="200">
|
|
|
|
<Text size="H3" truncate>
|
|
|
|
Emojis & Stickers
|
|
|
|
</Text>
|
|
|
|
</Box>
|
|
|
|
<Box shrink="No">
|
|
|
|
<IconButton onClick={requestClose} variant="Surface">
|
|
|
|
<Icon src={Icons.Cross} />
|
|
|
|
</IconButton>
|
|
|
|
</Box>
|
|
|
|
</Box>
|
|
|
|
</PageHeader>
|
|
|
|
<Box grow="Yes">
|
|
|
|
<Scroll hideTrack visibility="Hover">
|
|
|
|
<PageContent>
|
|
|
|
<Box direction="Column" gap="700">
|
2025-01-04 17:29:46 +01:00
|
|
|
<UserPack onViewPack={setImagePack} />
|
|
|
|
<GlobalPacks onViewPack={setImagePack} />
|
2024-12-26 15:43:34 +01:00
|
|
|
</Box>
|
|
|
|
</PageContent>
|
|
|
|
</Scroll>
|
|
|
|
</Box>
|
|
|
|
</Page>
|
|
|
|
);
|
|
|
|
}
|