signal-desktop/ts/components/stickers/mocks.ts
Jamie Kyle 502ea174ab
Upgrade Storybook
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2023-10-11 12:06:43 -07:00

90 lines
1.8 KiB
TypeScript

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { sample } from 'lodash';
import type { StickerPackType, StickerType } from '../../state/ducks/stickers';
export const sticker1: StickerType = {
id: 1,
url: '/fixtures/kitten-1-64-64.jpg',
packId: 'foo',
emoji: '',
};
export const sticker2: StickerType = {
id: 2,
url: '/fixtures/kitten-2-64-64.jpg',
packId: 'bar',
emoji: '',
};
export const sticker3: StickerType = {
id: 3,
url: '/fixtures/kitten-3-64-64.jpg',
packId: 'baz',
emoji: '',
};
export const abeSticker: StickerType = {
id: 4,
url: '/fixtures/512x515-thumbs-up-lincoln.webp',
packId: 'abe',
emoji: '',
};
export const wideSticker: StickerType = {
id: 5,
url: '/fixtures/1000x50-green.jpeg',
packId: 'wide',
emoji: '',
};
export const tallSticker: StickerType = {
id: 6,
url: '/fixtures/50x1000-teal.jpeg',
packId: 'tall',
emoji: '',
};
const choosableStickers = [sticker1, sticker2, sticker3, abeSticker];
export const createPack = (
props: Partial<StickerPackType>,
sticker?: StickerType
): StickerPackType => ({
id: '',
title: props.id ? `${props.id} title` : 'title',
key: '',
author: '',
isBlessed: false,
lastUsed: 0,
status: 'known',
cover: sticker,
stickerCount: 101,
stickers: sticker
? Array(101)
.fill(0)
.map((_, id) => ({ ...sticker, id }))
: [],
...props,
});
export const packs = [
createPack({ id: 'tall' }, tallSticker),
createPack({ id: 'wide' }, wideSticker),
...Array(20)
.fill(0)
.map((_, n) =>
createPack({ id: `pack-${n}` }, sample(choosableStickers) as StickerType)
),
];
export const recentStickers = [
abeSticker,
sticker1,
sticker2,
sticker3,
tallSticker,
wideSticker,
{ ...sticker2, id: 9999 },
];