/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.

For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once

#include "ui/layers/box_content.h"
#include "mtproto/sender.h"

namespace Ui {
class RadiobuttonGroup;
class Radiobutton;
class FlatLabel;
} // namespace Ui

namespace Main {
class Session;
} // namespace Main

class SelfDestructionBox : public Ui::BoxContent {
public:
	enum class Type {
		Account,
		Sessions,
	};
	SelfDestructionBox(
		QWidget*,
		not_null<Main::Session*> session,
		Type type,
		rpl::producer<int> preloaded);

	static QString DaysLabel(int days);

protected:
	void prepare() override;

private:
	void gotCurrent(int days);
	void showContent();

	const Type _type;
	const not_null<Main::Session*> _session;
	bool _prepared = false;
	std::vector<int> _ttlValues;
	object_ptr<Ui::FlatLabel> _description = { nullptr };
	object_ptr<Ui::FlatLabel> _loading;
	std::shared_ptr<Ui::RadiobuttonGroup> _ttlGroup;

};
