import { create as adventurerCreate, meta as adventurerMeta, schema as adventurerSchema } from '@dicebear/adventurer' import { create as avataaarsCreate, meta as avataaarsMeta, schema as avataaarsSchema } from '@dicebear/avataaars' import { create as bigEarsCreate, meta as bigEarsMeta, schema as bigEarsSchema } from '@dicebear/big-ears' import { create as bigSmileCreate, meta as bigSmileMeta, schema as bigSmileSchema } from '@dicebear/big-smile' import { create as botttsCreate, meta as botttsMeta, schema as botttsSchema } from '@dicebear/bottts' import { create as croodlesCreate, meta as croodlesMeta, schema as croodlesSchema } from '@dicebear/croodles' import { create as funEmojiCreate, meta as funEmojiMeta, schema as funEmojiSchema } from '@dicebear/fun-emoji' import { create as identiconCreate, meta as identiconMeta, schema as identiconSchema } from '@dicebear/identicon' import { create as initialsCreate, meta as initialsMeta, schema as initialsSchema } from '@dicebear/initials' import { create as loreleiCreate, meta as loreleiMeta, schema as loreleiSchema } from '@dicebear/lorelei' import { create as micahCreate, meta as micahMeta, schema as micahSchema } from '@dicebear/micah' import { create as notionistsCreate, meta as notionistsMeta, schema as notionistsSchema } from '@dicebear/notionists' import { create as pixelArtCreate, meta as pixelArtMeta, schema as pixelArtSchema } from '@dicebear/pixel-art' import { create as ringsCreate, meta as ringsMeta, schema as ringsSchema } from '@dicebear/rings' import { create as shapesCreate, meta as shapesMeta, schema as shapesSchema } from '@dicebear/shapes' import { create as thumbsCreate, meta as thumbsMeta, schema as thumbsSchema } from '@dicebear/thumbs' import type { Style } from '@dicebear/core' type StyleDef = { id: string label: string style: Style } export const AVATAR_STYLES: StyleDef[] = [ { id: 'bottts', label: 'Роботы', style: { create: botttsCreate, meta: botttsMeta, schema: botttsSchema } }, { id: 'identicon', label: 'Узоры', style: { create: identiconCreate, meta: identiconMeta, schema: identiconSchema }, }, { id: 'avataaars', label: 'Персонажи', style: { create: avataaarsCreate, meta: avataaarsMeta, schema: avataaarsSchema }, }, { id: 'notionists', label: 'Notion', style: { create: notionistsCreate, meta: notionistsMeta, schema: notionistsSchema }, }, { id: 'thumbs', label: 'Thumbs', style: { create: thumbsCreate, meta: thumbsMeta, schema: thumbsSchema } }, { id: 'lorelei', label: 'Lorelei', style: { create: loreleiCreate, meta: loreleiMeta, schema: loreleiSchema } }, { id: 'micah', label: 'Micah', style: { create: micahCreate, meta: micahMeta, schema: micahSchema } }, { id: 'pixel-art', label: 'Пиксели', style: { create: pixelArtCreate, meta: pixelArtMeta, schema: pixelArtSchema }, }, { id: 'rings', label: 'Кольца', style: { create: ringsCreate, meta: ringsMeta, schema: ringsSchema } }, { id: 'shapes', label: 'Фигуры', style: { create: shapesCreate, meta: shapesMeta, schema: shapesSchema } }, { id: 'initials', label: 'Инициалы', style: { create: initialsCreate, meta: initialsMeta, schema: initialsSchema }, }, { id: 'adventurer', label: 'Adventurer', style: { create: adventurerCreate, meta: adventurerMeta, schema: adventurerSchema }, }, { id: 'big-ears', label: 'Big Ears', style: { create: bigEarsCreate, meta: bigEarsMeta, schema: bigEarsSchema }, }, { id: 'big-smile', label: 'Big Smile', style: { create: bigSmileCreate, meta: bigSmileMeta, schema: bigSmileSchema }, }, { id: 'croodles', label: 'Croodles', style: { create: croodlesCreate, meta: croodlesMeta, schema: croodlesSchema }, }, { id: 'fun-emoji', label: 'Fun Emoji', style: { create: funEmojiCreate, meta: funEmojiMeta, schema: funEmojiSchema }, }, ] export const DEFAULT_STYLE_ID = 'avataaars' export function getStyleById(id: string | null | undefined): StyleDef { return AVATAR_STYLES.find((s) => s.id === id) ?? AVATAR_STYLES[0] }