Provided result of emoji userpic builder to api.

This commit is contained in:
23rd 2023-01-31 00:37:34 +03:00 committed by John Preston
parent b7cf32a65f
commit 6bb7263f7d
4 changed files with 29 additions and 6 deletions

View file

@ -444,17 +444,22 @@ void Cover::refreshUploadPhotoOverlay() {
}(), [=](Ui::UserpicButton::ChosenImage chosen) {
using ChosenType = Ui::UserpicButton::ChosenType;
auto &image = chosen.image;
auto result = Api::PeerPhoto::UserPhoto{
std::move(image),
chosen.markup.documentId,
chosen.markup.colors,
};
switch (chosen.type) {
case ChosenType::Set:
_userpic->showCustom(base::duplicate(image));
_peer->session().api().peerPhoto().upload(
_peer,
{ std::move(image) });
std::move(result));
break;
case ChosenType::Suggest:
_peer->session().api().peerPhoto().suggest(
_peer,
{ std::move(image) });
std::move(result));
break;
}
});
@ -478,7 +483,11 @@ void Cover::setupChangePersonal() {
if (chosen.type == Ui::UserpicButton::ChosenType::Suggest) {
_peer->session().api().peerPhoto().suggest(
_peer,
{ std::move(chosen.image) });
{
std::move(chosen.image),
chosen.markup.documentId,
chosen.markup.colors,
});
} else {
_personalChosen = std::move(chosen.image);
_userpic->showCustom(base::duplicate(*_personalChosen));

View file

@ -163,7 +163,11 @@ void EmojiUserpic::result(int size, Fn<void(UserpicBuilder::Result)> done) {
}
}
}
done({ std::move(background), document->id, _colors });
if (*_playOnce) {
done({ std::move(background), document->id, _colors });
} else {
done({ std::move(background) });
}
});
}

View file

@ -256,7 +256,13 @@ void SetupPhoto(
auto &image = chosen.image;
UpdatePhotoLocally(self, image);
photo->showCustom(base::duplicate(image));
self->session().api().peerPhoto().upload(self, { std::move(image) });
self->session().api().peerPhoto().upload(
self,
{
std::move(image),
chosen.markup.documentId,
chosen.markup.colors,
});
}, upload->lifetime());
const auto name = Ui::CreateChild<Ui::FlatLabel>(

View file

@ -146,7 +146,11 @@ Cover::Cover(
_userpic->showCustom(base::duplicate(image));
_user->session().api().peerPhoto().upload(
_user,
{ std::move(image) });
{
std::move(image),
chosen.markup.documentId,
chosen.markup.colors,
});
});
_badge.setPremiumClickCallback([=] {