mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Renamed BotEarnStatistics to CreditsEarnStatistics.
This commit is contained in:
parent
2044f8f9ad
commit
27a71a8dcd
6 changed files with 24 additions and 21 deletions
|
@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "api/api_updates.h"
|
#include "api/api_updates.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "base/unixtime.h"
|
#include "base/unixtime.h"
|
||||||
|
#include "data/data_channel.h"
|
||||||
#include "data/data_peer.h"
|
#include "data/data_peer.h"
|
||||||
#include "data/data_photo.h"
|
#include "data/data_photo.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
|
@ -227,21 +228,22 @@ rpl::producer<not_null<PeerData*>> PremiumPeerBot(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
BotEarnStatistics::BotEarnStatistics(not_null<UserData*> user)
|
CreditsEarnStatistics::CreditsEarnStatistics(not_null<PeerData*> peer)
|
||||||
: StatisticsRequestSender(user) {
|
: StatisticsRequestSender(peer)
|
||||||
|
, _isUser(peer->isUser()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<rpl::no_value, QString> BotEarnStatistics::request() {
|
rpl::producer<rpl::no_value, QString> CreditsEarnStatistics::request() {
|
||||||
return [=](auto consumer) {
|
return [=](auto consumer) {
|
||||||
auto lifetime = rpl::lifetime();
|
auto lifetime = rpl::lifetime();
|
||||||
|
|
||||||
makeRequest(MTPpayments_GetStarsRevenueStats(
|
makeRequest(MTPpayments_GetStarsRevenueStats(
|
||||||
MTP_flags(0),
|
MTP_flags(0),
|
||||||
user()->input
|
(_isUser ? user()->input : channel()->input)
|
||||||
)).done([=](const MTPpayments_StarsRevenueStats &result) {
|
)).done([=](const MTPpayments_StarsRevenueStats &result) {
|
||||||
const auto &data = result.data();
|
const auto &data = result.data();
|
||||||
const auto &status = data.vstatus().data();
|
const auto &status = data.vstatus().data();
|
||||||
_data = Data::BotEarnStatistics{
|
_data = Data::CreditsEarnStatistics{
|
||||||
.revenueGraph = StatisticalGraphFromTL(data.vrevenue_graph()),
|
.revenueGraph = StatisticalGraphFromTL(data.vrevenue_graph()),
|
||||||
.currentBalance = status.vcurrent_balance().v,
|
.currentBalance = status.vcurrent_balance().v,
|
||||||
.availableBalance = status.vavailable_balance().v,
|
.availableBalance = status.vavailable_balance().v,
|
||||||
|
@ -262,7 +264,7 @@ rpl::producer<rpl::no_value, QString> BotEarnStatistics::request() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Data::BotEarnStatistics BotEarnStatistics::data() const {
|
Data::CreditsEarnStatistics CreditsEarnStatistics::data() const {
|
||||||
return _data;
|
return _data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,15 +72,16 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class BotEarnStatistics final : public StatisticsRequestSender {
|
class CreditsEarnStatistics final : public StatisticsRequestSender {
|
||||||
public:
|
public:
|
||||||
explicit BotEarnStatistics(not_null<UserData*>);
|
explicit CreditsEarnStatistics(not_null<PeerData*>);
|
||||||
|
|
||||||
[[nodiscard]] rpl::producer<rpl::no_value, QString> request();
|
[[nodiscard]] rpl::producer<rpl::no_value, QString> request();
|
||||||
[[nodiscard]] Data::BotEarnStatistics data() const;
|
[[nodiscard]] Data::CreditsEarnStatistics data() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Data::BotEarnStatistics _data;
|
Data::CreditsEarnStatistics _data;
|
||||||
|
bool _isUser = false;
|
||||||
|
|
||||||
mtpRequestId _requestId = 0;
|
mtpRequestId _requestId = 0;
|
||||||
|
|
||||||
|
|
|
@ -13,16 +13,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
namespace Data {
|
namespace Data {
|
||||||
|
|
||||||
using BotEarnInt = uint64;
|
using CreditsEarnInt = uint64;
|
||||||
|
|
||||||
struct BotEarnStatistics final {
|
struct CreditsEarnStatistics final {
|
||||||
explicit operator bool() const {
|
explicit operator bool() const {
|
||||||
return !!usdRate;
|
return !!usdRate;
|
||||||
}
|
}
|
||||||
Data::StatisticalGraph revenueGraph;
|
Data::StatisticalGraph revenueGraph;
|
||||||
BotEarnInt currentBalance = 0;
|
CreditsEarnInt currentBalance = 0;
|
||||||
BotEarnInt availableBalance = 0;
|
CreditsEarnInt availableBalance = 0;
|
||||||
BotEarnInt overallRevenue = 0;
|
CreditsEarnInt overallRevenue = 0;
|
||||||
float64 usdRate = 0.;
|
float64 usdRate = 0.;
|
||||||
bool isWithdrawalEnabled = false;
|
bool isWithdrawalEnabled = false;
|
||||||
QDateTime nextWithdrawalAt;
|
QDateTime nextWithdrawalAt;
|
||||||
|
|
|
@ -99,8 +99,8 @@ InnerWidget::InnerWidget(
|
||||||
void InnerWidget::load() {
|
void InnerWidget::load() {
|
||||||
const auto apiLifetime = lifetime().make_state<rpl::lifetime>();
|
const auto apiLifetime = lifetime().make_state<rpl::lifetime>();
|
||||||
|
|
||||||
const auto request = [=](Fn<void(Data::BotEarnStatistics)> done) {
|
const auto request = [=](Fn<void(Data::CreditsEarnStatistics)> done) {
|
||||||
const auto api = apiLifetime->make_state<Api::BotEarnStatistics>(
|
const auto api = apiLifetime->make_state<Api::CreditsEarnStatistics>(
|
||||||
_peer->asUser());
|
_peer->asUser());
|
||||||
api->request(
|
api->request(
|
||||||
) | rpl::start_with_error_done([show = _show](const QString &error) {
|
) | rpl::start_with_error_done([show = _show](const QString &error) {
|
||||||
|
@ -118,7 +118,7 @@ void InnerWidget::load() {
|
||||||
|
|
||||||
_showFinished.events(
|
_showFinished.events(
|
||||||
) | rpl::take(1) | rpl::start_with_next([=] {
|
) | rpl::take(1) | rpl::start_with_next([=] {
|
||||||
request([=](Data::BotEarnStatistics state) {
|
request([=](Data::CreditsEarnStatistics state) {
|
||||||
_state = state;
|
_state = state;
|
||||||
_loaded.fire(true);
|
_loaded.fire(true);
|
||||||
fill();
|
fill();
|
||||||
|
@ -129,7 +129,7 @@ void InnerWidget::load() {
|
||||||
Api::PerformForUpdate<TL>(updates, [&](const TL &d) {
|
Api::PerformForUpdate<TL>(updates, [&](const TL &d) {
|
||||||
const auto peerId = peerFromMTP(d.vpeer());
|
const auto peerId = peerFromMTP(d.vpeer());
|
||||||
if (peerId == _peer->id) {
|
if (peerId == _peer->id) {
|
||||||
request([=](Data::BotEarnStatistics state) {
|
request([=](Data::CreditsEarnStatistics state) {
|
||||||
_state = state;
|
_state = state;
|
||||||
_stateUpdated.fire({});
|
_stateUpdated.fire({});
|
||||||
});
|
});
|
||||||
|
|
|
@ -57,7 +57,7 @@ private:
|
||||||
not_null<PeerData*> _peer;
|
not_null<PeerData*> _peer;
|
||||||
std::shared_ptr<Ui::Show> _show;
|
std::shared_ptr<Ui::Show> _show;
|
||||||
|
|
||||||
Data::BotEarnStatistics _state;
|
Data::CreditsEarnStatistics _state;
|
||||||
|
|
||||||
rpl::event_stream<Ui::ScrollToRequest> _scrollToRequests;
|
rpl::event_stream<Ui::ScrollToRequest> _scrollToRequests;
|
||||||
rpl::event_stream<ShowRequest> _showRequests;
|
rpl::event_stream<ShowRequest> _showRequests;
|
||||||
|
|
|
@ -27,7 +27,7 @@ public:
|
||||||
|
|
||||||
Section section() const override;
|
Section section() const override;
|
||||||
|
|
||||||
using SavedState = Data::BotEarnStatistics;
|
using SavedState = Data::CreditsEarnStatistics;
|
||||||
|
|
||||||
void setState(SavedState states);
|
void setState(SavedState states);
|
||||||
[[nodiscard]] SavedState state();
|
[[nodiscard]] SavedState state();
|
||||||
|
|
Loading…
Add table
Reference in a new issue