/* 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 "base/timer.h" #include "ui/userpic_view.h" namespace Ui { class RpWidget; class FlatLabel; } // namespace Ui namespace Media::Stories { class Controller; struct HeaderData { not_null user; TimeId date = 0; bool edited = false; friend inline auto operator<=>(HeaderData, HeaderData) = default; friend inline bool operator==(HeaderData, HeaderData) = default; }; class Header final { public: explicit Header(not_null controller); ~Header(); void show(HeaderData data); void raise(); private: void updateDateText(); const not_null _controller; std::unique_ptr _widget; std::unique_ptr _date; std::optional _data; base::Timer _dateUpdateTimer; }; } // namespace Media::Stories