import { AddWidgetPreviewHeroBuilder, MiniProfileContainedStatBuilder, WidgetBottomCollectionBuilder, WidgetPayloadBuilder, WidgetTopHeroBuilder, customString, } from "./builders"; import { ASSETS } from "./constants"; export function generateWidget(values: { kills: string; deaths: string; level: string; matchesWon: string; }) { const { kills, deaths, level, matchesWon } = values; if (!kills || !deaths || !level || !matchesWon) throw new Error("Missing values"); return new WidgetPayloadBuilder("Ground War") .widgetTop( new WidgetTopHeroBuilder() .setHeroImage(ASSETS.hero.image) .setTitle(customString("text", "Ground War")) .addSubtitle(customString("text", "sub 1")) .addSubtitle(customString("text", "sub 2")) .build(), ) .widgetBottom( new WidgetBottomCollectionBuilder() .addItem(ASSETS.hero.image, customString("text", "Kills"), customString("text", kills)) .addItem(ASSETS.hero.image, customString("text", "Deaths"), customString("text", deaths)) .addItem(ASSETS.hero.image, customString("text", "Level"), customString("text", level)) .addItem( ASSETS.hero.image, customString("text", "Matches Won"), customString("text", matchesWon), ) .build(), ) .addWidgetPreview(new AddWidgetPreviewHeroBuilder().setHeroImage(ASSETS.hero.image).build()) .miniProfile( new MiniProfileContainedStatBuilder() .setStat(customString("text", "Ground War")) .setContainedImage(ASSETS.hero.image) .build(), ) .build(); }