diff --git a/Telegram/Resources/icons/menu/craft_start.svg b/Telegram/Resources/icons/menu/craft_start.svg new file mode 100644 index 0000000000..5a8067fbbf --- /dev/null +++ b/Telegram/Resources/icons/menu/craft_start.svg @@ -0,0 +1,7 @@ + + + Icon / Menu / craft_forge + + + + \ No newline at end of file diff --git a/Telegram/SourceFiles/info/channel_statistics/boosts/giveaway/giveaway.style b/Telegram/SourceFiles/info/channel_statistics/boosts/giveaway/giveaway.style index 7e2141199d..86207a02e2 100644 --- a/Telegram/SourceFiles/info/channel_statistics/boosts/giveaway/giveaway.style +++ b/Telegram/SourceFiles/info/channel_statistics/boosts/giveaway/giveaway.style @@ -230,6 +230,7 @@ darkGiftLink: icon {{ "menu/copy", groupCallMembersFg }}; darkGiftShare: icon {{ "menu/share", groupCallMembersFg }}; darkGiftTheme: icon {{ "menu/colors", groupCallMembersFg }}; darkGiftTransfer: icon {{ "chat/input_replace", groupCallMembersFg }}; +darkGiftCraft: icon {{ "menu/craft_start-24x24", groupCallMembersFg }}; darkGiftNftWear: icon {{ "menu/nft_wear", groupCallMembersFg }}; darkGiftNftTakeOff: icon {{ "menu/nft_takeoff", groupCallMembersFg }}; darkGiftNftResell: icon {{ "menu/tag_sell", groupCallMembersFg }}; diff --git a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp index f5792cf973..8db8df481d 100644 --- a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp +++ b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp @@ -1129,6 +1129,18 @@ void FillUniqueGiftMenu( if (!host) { return; } + if (CanCraftGift(&show->session(), e)) { + menu->addAction(tr::lng_gift_craft_menu_button(tr::now), [=] { + const auto unique = e.uniqueGift; + if (Ui::ShowCraftLaterError(show, unique)) { + return; + } + const auto savedId = EntryToSavedStarGiftId(&show->session(), e); + if (const auto window = show->resolveWindow()) { + Ui::ShowGiftCraftInfoBox(window, unique, savedId); + } + }, st.craft ? st.craft : &st::menuIconCraft); + } const auto transfer = savedId && (savedId.isUser() ? e.in : savedId.chat()->canTransferGifts()) && (unique->starsForTransfer >= 0); @@ -1224,6 +1236,7 @@ CreditsEntryBoxStyleOverrides DarkCreditsEntryBoxStyle() { .share = &st::darkGiftShare, .theme = &st::darkGiftTheme, .transfer = &st::darkGiftTransfer, + .craft = &st::darkGiftCraft, .wear = &st::darkGiftNftWear, .takeoff = &st::darkGiftNftTakeOff, .resell = &st::darkGiftNftResell, diff --git a/Telegram/SourceFiles/ui/menu_icons.style b/Telegram/SourceFiles/ui/menu_icons.style index 3c48f7d4fd..5b198bb608 100644 --- a/Telegram/SourceFiles/ui/menu_icons.style +++ b/Telegram/SourceFiles/ui/menu_icons.style @@ -201,6 +201,7 @@ menuIconReorder: icon{{ "menu/reorder-24x24", menuIconColor }}; menuIconTools: icon{{ "menu/craft_tools-24x24", menuIconColor }}; menuIconCraftTraits: icon{{ "menu/craft_random-24x24", menuIconColor }}; menuIconCraftChance: icon{{ "menu/craft_chance-24x24", menuIconColor }}; +menuIconCraft: icon{{ "menu/craft_start-24x24", menuIconColor }}; menuIconTTLAny: icon {{ "menu/auto_delete_plain", menuIconColor }}; menuIconTTLAnyTextPosition: point(11px, 22px);