2022-05-07 01:06:08 +00:00
|
|
|
import Model from '@nozbe/watermelondb/Model';
|
|
|
|
import { StyleProp } from 'react-native';
|
|
|
|
import { ImageStyle } from '@rocket.chat/react-native-fast-image';
|
|
|
|
|
2021-09-13 20:41:05 +00:00
|
|
|
export interface IEmoji {
|
2022-05-07 01:06:08 +00:00
|
|
|
content: string;
|
|
|
|
name: string;
|
|
|
|
extension: string;
|
|
|
|
isCustom: boolean;
|
|
|
|
count?: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ICustomEmojis {
|
|
|
|
[key: string]: Pick<IEmoji, 'name' | 'extension'>;
|
2021-09-13 20:41:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface ICustomEmoji {
|
2022-02-17 15:27:01 +00:00
|
|
|
baseUrl?: string;
|
2021-09-13 20:41:05 +00:00
|
|
|
emoji: IEmoji;
|
2022-05-07 01:06:08 +00:00
|
|
|
style: StyleProp<ImageStyle>;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ICustomEmojiModel {
|
|
|
|
_id: string;
|
|
|
|
name?: string;
|
|
|
|
aliases?: string[];
|
|
|
|
extension: string;
|
|
|
|
_updatedAt: Date;
|
2021-09-13 20:41:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface IEmojiCategory {
|
|
|
|
baseUrl: string;
|
|
|
|
emojis: IEmoji[];
|
2022-05-07 01:06:08 +00:00
|
|
|
onEmojiSelected: (emoji: IEmoji) => void;
|
|
|
|
width: number | null;
|
|
|
|
style: StyleProp<ImageStyle>;
|
2021-09-13 20:41:05 +00:00
|
|
|
tabLabel: string;
|
|
|
|
}
|
2022-02-17 15:27:01 +00:00
|
|
|
|
2022-03-02 14:18:01 +00:00
|
|
|
export type TGetCustomEmoji = (name: string) => any;
|
2022-05-07 01:06:08 +00:00
|
|
|
|
|
|
|
export type TFrequentlyUsedEmojiModel = IEmoji & Model;
|
|
|
|
export type TCustomEmojiModel = ICustomEmojiModel & Model;
|