mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-19 07:37:11 +02:00
Show stories reactions in dark theme.
This commit is contained in:
parent
0ed200beee
commit
39538e89e0
9 changed files with 206 additions and 143 deletions
|
@ -69,6 +69,11 @@ ComposeIcons {
|
|||
menuWhenOnline: icon;
|
||||
menuSpoiler: icon;
|
||||
menuSpoilerOff: icon;
|
||||
|
||||
stripBubble: icon;
|
||||
stripPremiumLocked: icon;
|
||||
stripExpandPanel: icon;
|
||||
stripExpandDropdown: icon;
|
||||
}
|
||||
|
||||
EmojiSuggestions {
|
||||
|
@ -532,6 +537,23 @@ defaultComposeIcons: ComposeIcons {
|
|||
menuWhenOnline: menuIconWhenOnline;
|
||||
menuSpoiler: menuIconSpoiler;
|
||||
menuSpoilerOff: menuIconSpoilerOff;
|
||||
|
||||
stripBubble: icon{
|
||||
{ "chat/reactions_bubble_shadow", windowShadowFg },
|
||||
{ "chat/reactions_bubble", windowBg },
|
||||
};
|
||||
stripPremiumLocked: icon{
|
||||
{ "chat/reactions_premium_bg", historyPeerArchiveUserpicBg },
|
||||
{ "chat/reactions_premium_star", historyPeerUserpicFg },
|
||||
};
|
||||
stripExpandPanel: icon{
|
||||
{ "chat/reactions_round_big", windowBgRipple },
|
||||
{ "chat/reactions_expand_panel", windowSubTextFg },
|
||||
};
|
||||
stripExpandDropdown: icon{
|
||||
{ "chat/reactions_round_small", windowBgRipple },
|
||||
{ "chat/reactions_expand_panel", windowSubTextFg },
|
||||
};
|
||||
}
|
||||
defaultEmojiPan: EmojiPan {
|
||||
margin: margins(7px, 0px, 7px, 0px);
|
||||
|
@ -646,10 +668,6 @@ reactStripSize: 32px;
|
|||
reactStripMinWidth: 60px;
|
||||
reactStripImage: 26px;
|
||||
reactStripSkip: 7px;
|
||||
reactStripBubble: icon{
|
||||
{ "chat/reactions_bubble_shadow", windowShadowFg },
|
||||
{ "chat/reactions_bubble", windowBg },
|
||||
};
|
||||
reactStripBubbleRight: 20px;
|
||||
userpicBuilderEmojiPan: EmojiPan(statusEmojiPan) {
|
||||
margin: margins(reactStripSkip, 0px, reactStripSkip, 0px);
|
||||
|
|
|
@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "main/main_session.h"
|
||||
#include "base/event_filter.h"
|
||||
#include "styles/style_chat.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
#include "styles/style_menu_icons.h"
|
||||
|
||||
namespace HistoryView::Reactions {
|
||||
|
@ -318,6 +319,7 @@ Manager::Manager(
|
|||
: _outer(CountOuterSize())
|
||||
, _inner(QRect({}, st::reactionCornerSize))
|
||||
, _strip(
|
||||
st::reactPanelEmojiPan,
|
||||
_inner,
|
||||
st::reactionCornerImage,
|
||||
crl::guard(this, [=] { updateCurrentButton(); }),
|
||||
|
|
|
@ -105,6 +105,7 @@ bool StripEmoji::readyInDefaultState() {
|
|||
|
||||
Selector::Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
const Data::PossibleItemReactionsRef &reactions,
|
||||
IconFactory iconFactory,
|
||||
|
@ -112,6 +113,7 @@ Selector::Selector(
|
|||
bool child)
|
||||
: Selector(
|
||||
parent,
|
||||
st,
|
||||
std::move(show),
|
||||
reactions,
|
||||
(reactions.customAllowed
|
||||
|
@ -125,6 +127,7 @@ Selector::Selector(
|
|||
|
||||
Selector::Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
ChatHelpers::EmojiListMode mode,
|
||||
std::vector<DocumentId> recent,
|
||||
|
@ -132,6 +135,7 @@ Selector::Selector(
|
|||
bool child)
|
||||
: Selector(
|
||||
parent,
|
||||
st,
|
||||
std::move(show),
|
||||
{ .customAllowed = true },
|
||||
mode,
|
||||
|
@ -143,6 +147,7 @@ Selector::Selector(
|
|||
|
||||
Selector::Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
const Data::PossibleItemReactionsRef &reactions,
|
||||
ChatHelpers::EmojiListMode mode,
|
||||
|
@ -151,6 +156,7 @@ Selector::Selector(
|
|||
Fn<void(bool fast)> close,
|
||||
bool child)
|
||||
: RpWidget(parent)
|
||||
, _st(st)
|
||||
, _show(std::move(show))
|
||||
, _reactions(reactions)
|
||||
, _recent(std::move(recent))
|
||||
|
@ -162,6 +168,7 @@ Selector::Selector(
|
|||
st::reactStripHeight)
|
||||
, _strip(iconFactory
|
||||
? std::make_unique<Strip>(
|
||||
_st,
|
||||
QRect(0, 0, st::reactStripSize, st::reactStripSize),
|
||||
st::reactStripImage,
|
||||
crl::guard(this, [=] { update(_inner); }),
|
||||
|
@ -241,14 +248,14 @@ QMargins Selector::extentsForShadow() const {
|
|||
}
|
||||
|
||||
int Selector::extendTopForCategories() const {
|
||||
return _reactions.customAllowed ? st::reactPanelEmojiPan.footer : 0;
|
||||
return _reactions.customAllowed ? _st.footer : 0;
|
||||
}
|
||||
|
||||
int Selector::minimalHeight() const {
|
||||
return _skipy
|
||||
+ (_recentRows * _size)
|
||||
+ st::emojiPanRadius
|
||||
+ st::reactPanelEmojiPan.padding.bottom();
|
||||
+ _st.padding.bottom();
|
||||
}
|
||||
|
||||
void Selector::setSpecialExpandTopSkip(int skip) {
|
||||
|
@ -269,7 +276,7 @@ void Selector::initGeometry(int innerTop) {
|
|||
? (extendTopForCategories() + _specialExpandTopSkip)
|
||||
: 0;
|
||||
const auto top = innerTop - extents.top() - _collapsedTopSkip;
|
||||
const auto add = st::reactStripBubble.height() - extents.bottom();
|
||||
const auto add = _st.icons.stripBubble.height() - extents.bottom();
|
||||
_outer = QRect(0, _collapsedTopSkip, width, height);
|
||||
_outerWithBubble = _outer.marginsAdded({ 0, 0, 0, add });
|
||||
setGeometry(_outerWithBubble.marginsAdded(
|
||||
|
@ -329,7 +336,7 @@ void Selector::paintAppearing(QPainter &p) {
|
|||
if (_paintBuffer.size() != _outerWithBubble.size() * factor) {
|
||||
_paintBuffer = _cachedRound.PrepareImage(_outerWithBubble.size());
|
||||
}
|
||||
_paintBuffer.fill(st::defaultPopupMenu.menu.itemBg->c);
|
||||
_paintBuffer.fill(_st.bg->c);
|
||||
auto q = QPainter(&_paintBuffer);
|
||||
const auto extents = extentsForShadow();
|
||||
const auto appearedWidth = anim::interpolate(
|
||||
|
@ -348,7 +355,7 @@ void Selector::paintAppearing(QPainter &p) {
|
|||
1.,
|
||||
false);
|
||||
|
||||
_cachedRound.setBackgroundColor(st::defaultPopupMenu.menu.itemBg->c);
|
||||
_cachedRound.setBackgroundColor(_st.bg->c);
|
||||
_cachedRound.setShadowColor(st::shadowFg->c);
|
||||
q.translate(QPoint(0, _collapsedTopSkip) - _inner.topLeft());
|
||||
const auto radius = st::reactStripHeight / 2;
|
||||
|
@ -383,7 +390,7 @@ void Selector::paintBackgroundToBuffer() {
|
|||
}
|
||||
_paintBuffer.fill(Qt::transparent);
|
||||
|
||||
_cachedRound.setBackgroundColor(st::defaultPopupMenu.menu.itemBg->c);
|
||||
_cachedRound.setBackgroundColor(_st.bg->c);
|
||||
_cachedRound.setShadowColor(st::shadowFg->c);
|
||||
|
||||
auto p = QPainter(&_paintBuffer);
|
||||
|
@ -403,7 +410,7 @@ void Selector::paintCollapsed(QPainter &p) {
|
|||
}
|
||||
p.drawImage(_outer.topLeft(), _paintBuffer);
|
||||
} else {
|
||||
p.fillRect(_inner, st::defaultPopupMenu.menu.itemBg);
|
||||
p.fillRect(_inner, _st.bg);
|
||||
}
|
||||
_strip->paint(
|
||||
p,
|
||||
|
@ -426,7 +433,7 @@ void Selector::paintExpanding(Painter &p, float64 progress) {
|
|||
}
|
||||
_list->paintExpanding(
|
||||
p,
|
||||
rects.list.marginsRemoved(st::reactPanelEmojiPan.margin),
|
||||
rects.list.marginsRemoved(_st.margin),
|
||||
rects.finalBottom,
|
||||
rects.expanding,
|
||||
progress,
|
||||
|
@ -458,11 +465,11 @@ auto Selector::paintExpandingBg(QPainter &p, float64 progress)
|
|||
const auto pattern = _cachedRound.validateFrame(frame, 1., radius);
|
||||
const auto fill = _cachedRound.FillWithImage(p, outer, pattern);
|
||||
if (!fill.isEmpty()) {
|
||||
p.fillRect(fill, st::defaultPopupMenu.menu.itemBg);
|
||||
p.fillRect(fill, _st.bg);
|
||||
}
|
||||
} else {
|
||||
const auto inner = outer.marginsRemoved(extentsForShadow());
|
||||
p.fillRect(inner, st::defaultPopupMenu.menu.itemBg);
|
||||
p.fillRect(inner, _st.bg);
|
||||
p.fillRect(
|
||||
inner.x(),
|
||||
inner.y() + inner.height(),
|
||||
|
@ -513,7 +520,7 @@ void Selector::paintExpanded(QPainter &p) {
|
|||
p.drawImage(0, 0, _paintBuffer);
|
||||
} else {
|
||||
const auto inner = rect().marginsRemoved(extentsForShadow());
|
||||
p.fillRect(inner, st::defaultPopupMenu.menu.itemBg);
|
||||
p.fillRect(inner, _st.bg);
|
||||
p.fillRect(
|
||||
inner.x(),
|
||||
inner.y() + inner.height(),
|
||||
|
@ -536,7 +543,7 @@ void Selector::finishExpand() {
|
|||
st::emojiPanRadius);
|
||||
const auto fill = _cachedRound.FillWithImage(q, rect(), pattern);
|
||||
if (!fill.isEmpty()) {
|
||||
q.fillRect(fill, st::defaultPopupMenu.menu.itemBg);
|
||||
q.fillRect(fill, _st.bg);
|
||||
}
|
||||
}
|
||||
if (_footer) {
|
||||
|
@ -548,7 +555,7 @@ void Selector::finishExpand() {
|
|||
}
|
||||
|
||||
void Selector::paintBubble(QPainter &p, int innerWidth) {
|
||||
const auto &bubble = st::reactStripBubble;
|
||||
const auto &bubble = _st.icons.stripBubble;
|
||||
const auto bubbleRight = std::min(
|
||||
st::reactStripBubbleRight,
|
||||
(innerWidth - bubble.width()) / 2);
|
||||
|
@ -772,8 +779,7 @@ void Selector::createList() {
|
|||
_scroll = Ui::CreateChild<Ui::ScrollArea>(this, st::reactPanelScroll);
|
||||
_scroll->hide();
|
||||
|
||||
const auto st = lifetime().make_state<style::EmojiPan>(
|
||||
st::reactPanelEmojiPan);
|
||||
const auto st = lifetime().make_state<style::EmojiPan>(_st);
|
||||
st->padding.setTop(_skipy);
|
||||
if (!_reactions.customAllowed) {
|
||||
st->bg = st::transparent;
|
||||
|
@ -835,8 +841,7 @@ void Selector::createList() {
|
|||
}, _shadow->lifetime());
|
||||
_shadow->show();
|
||||
}
|
||||
const auto geometry = inner.marginsRemoved(
|
||||
st::reactPanelEmojiPan.margin);
|
||||
const auto geometry = inner.marginsRemoved(_st.margin);
|
||||
_list->move(0, 0);
|
||||
_list->resizeToWidth(geometry.width());
|
||||
_list->refreshEmoji();
|
||||
|
@ -857,7 +862,7 @@ void Selector::createList() {
|
|||
}, _list->lifetime());
|
||||
|
||||
_scroll->setGeometry(inner.marginsRemoved({
|
||||
st::reactPanelEmojiPan.margin.left(),
|
||||
_st.margin.left(),
|
||||
_footer ? _footer->height() : 0,
|
||||
0,
|
||||
0,
|
||||
|
@ -942,6 +947,7 @@ AttachSelectorResult MakeJustSelectorMenu(
|
|||
Fn<void(ChosenReaction)> chosen) {
|
||||
const auto selector = Ui::CreateChild<Selector>(
|
||||
menu.get(),
|
||||
st::reactPanelEmojiPan,
|
||||
controller->uiShow(),
|
||||
mode,
|
||||
std::move(recent),
|
||||
|
@ -1017,6 +1023,7 @@ AttachSelectorResult AttachSelectorToMenu(
|
|||
const auto withSearch = reactions.customAllowed;
|
||||
const auto selector = Ui::CreateChild<Selector>(
|
||||
menu.get(),
|
||||
st::reactPanelEmojiPan,
|
||||
controller->uiShow(),
|
||||
std::move(reactions),
|
||||
std::move(iconFactory),
|
||||
|
|
|
@ -42,6 +42,7 @@ class Selector final : public Ui::RpWidget {
|
|||
public:
|
||||
Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
const Data::PossibleItemReactionsRef &reactions,
|
||||
IconFactory iconFactory,
|
||||
|
@ -49,6 +50,7 @@ public:
|
|||
bool child = false);
|
||||
Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
ChatHelpers::EmojiListMode mode,
|
||||
std::vector<DocumentId> recent,
|
||||
|
@ -95,6 +97,7 @@ private:
|
|||
|
||||
Selector(
|
||||
not_null<QWidget*> parent,
|
||||
const style::EmojiPan &st,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
const Data::PossibleItemReactionsRef &reactions,
|
||||
ChatHelpers::EmojiListMode mode,
|
||||
|
@ -129,6 +132,7 @@ private:
|
|||
void finishExpand();
|
||||
ChosenReaction lookupChosen(const Data::ReactionId &id) const;
|
||||
|
||||
const style::EmojiPan &_st;
|
||||
const std::shared_ptr<ChatHelpers::Show> _show;
|
||||
const Data::PossibleItemReactions _reactions;
|
||||
const std::vector<DocumentId> _recent;
|
||||
|
|
|
@ -16,6 +16,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/animated_icon.h"
|
||||
#include "ui/painter.h"
|
||||
#include "styles/style_chat.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
|
||||
namespace HistoryView::Reactions {
|
||||
namespace {
|
||||
|
@ -44,11 +45,13 @@ constexpr auto kHoverScale = 1.24;
|
|||
} // namespace
|
||||
|
||||
Strip::Strip(
|
||||
const style::EmojiPan &st,
|
||||
QRect inner,
|
||||
int size,
|
||||
Fn<void()> update,
|
||||
IconFactory iconFactory)
|
||||
: _iconFactory(std::move(iconFactory))
|
||||
: _st(st)
|
||||
, _iconFactory(std::move(iconFactory))
|
||||
, _inner(inner)
|
||||
, _finalSize(size)
|
||||
, _update(std::move(update)) {
|
||||
|
@ -173,7 +176,7 @@ void Strip::paintOne(
|
|||
} else {
|
||||
const auto paintFrame = [&](not_null<Ui::AnimatedIcon*> animation) {
|
||||
const auto size = int(std::floor(target.width() + 0.01));
|
||||
const auto &textColor = st::windowFg->c;
|
||||
const auto &textColor = _st.textFg->c;
|
||||
const auto frame = animation->frame(
|
||||
textColor,
|
||||
{ size, size },
|
||||
|
@ -238,9 +241,9 @@ int Strip::fillChosenIconGetIndex(ChosenReaction &chosen) const {
|
|||
}
|
||||
const auto &icon = *i;
|
||||
if (const auto &appear = icon.appear; appear && appear->animating()) {
|
||||
chosen.icon = appear->frame(st::windowFg->c);
|
||||
chosen.icon = appear->frame(_st.textFg->c);
|
||||
} else if (const auto &select = icon.select; select && select->valid()) {
|
||||
chosen.icon = select->frame(st::windowFg->c);
|
||||
chosen.icon = select->frame(_st.textFg->c);
|
||||
}
|
||||
return (i - begin(_icons));
|
||||
}
|
||||
|
@ -263,7 +266,7 @@ void Strip::paintPremiumIcon(
|
|||
p.translate(-target.center());
|
||||
}
|
||||
auto hq = PainterHighQualityEnabler(p);
|
||||
st::reactionPremiumLocked.paintInCenter(p, to);
|
||||
_st.icons.stripPremiumLocked.paintInCenter(p, to);
|
||||
if (scale != 1.) {
|
||||
p.restore();
|
||||
}
|
||||
|
@ -288,8 +291,8 @@ void Strip::paintExpandIcon(
|
|||
}
|
||||
auto hq = PainterHighQualityEnabler(p);
|
||||
((_finalSize == st::reactionCornerImage)
|
||||
? st::reactionsExpandDropdown
|
||||
: st::reactionExpandPanel).paintInCenter(p, to);
|
||||
? _st.icons.stripExpandDropdown
|
||||
: _st.icons.stripExpandPanel).paintInCenter(p, to);
|
||||
if (scale != 1.) {
|
||||
p.restore();
|
||||
}
|
||||
|
@ -495,7 +498,7 @@ void Strip::setMainReactionIcon() {
|
|||
if (i != end(_loadCache) && i->second.icon) {
|
||||
const auto &icon = i->second.icon;
|
||||
if (!icon->frameIndex() && icon->width() == MainReactionSize()) {
|
||||
_mainReactionImage = i->second.icon->frame(st::windowFg->c);
|
||||
_mainReactionImage = i->second.icon->frame(_st.textFg->c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -543,7 +546,7 @@ Ui::ImageSubrect Strip::validateEmoji(int frameIndex, float64 scale) {
|
|||
if (_mainReactionImage.isNull()
|
||||
&& _mainReactionIcon) {
|
||||
_mainReactionImage = base::take(_mainReactionIcon)->frame(
|
||||
st::windowFg->c);
|
||||
_st.textFg->c);
|
||||
}
|
||||
if (!_mainReactionImage.isNull()) {
|
||||
const auto target = QRect(
|
||||
|
|
|
@ -11,6 +11,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/effects/round_area_with_shadow.h"
|
||||
#include "data/data_message_reaction_id.h"
|
||||
|
||||
namespace style {
|
||||
struct EmojiPan;
|
||||
} // namespace style
|
||||
|
||||
class HistoryItem;
|
||||
|
||||
namespace Data {
|
||||
|
@ -44,7 +48,12 @@ class Strip final {
|
|||
public:
|
||||
using ReactionId = Data::ReactionId;
|
||||
|
||||
Strip(QRect inner, int size, Fn<void()> update, IconFactory iconFactory);
|
||||
Strip(
|
||||
const style::EmojiPan &st,
|
||||
QRect inner,
|
||||
int size,
|
||||
Fn<void()> update,
|
||||
IconFactory iconFactory);
|
||||
|
||||
enum class AddedButton : uchar {
|
||||
None,
|
||||
|
@ -121,6 +130,7 @@ private:
|
|||
void resolveMainReactionIcon();
|
||||
void setMainReactionIcon();
|
||||
|
||||
const style::EmojiPan &_st;
|
||||
const IconFactory _iconFactory;
|
||||
const QRect _inner;
|
||||
const int _finalSize = 0;
|
||||
|
|
|
@ -134,6 +134,7 @@ void Reactions::create() {
|
|||
const auto withSearch = reactions.customAllowed;
|
||||
_selector = std::make_unique<HistoryView::Reactions::Selector>(
|
||||
_parent.get(),
|
||||
st::storiesReactionsPan,
|
||||
_controller->uiShow(),
|
||||
std::move(reactions),
|
||||
_controller->cachedReactionIconFactory().createMethod(),
|
||||
|
|
|
@ -525,6 +525,122 @@ storiesComposePremium: PremiumLimits(defaultPremiumLimits) {
|
|||
nonPremiumBg: storiesComposeBgOver;
|
||||
nonPremiumFg: storiesComposeWhiteText;
|
||||
}
|
||||
storiesEmojiTabbedSearch: TabbedSearch(defaultTabbedSearch) {
|
||||
outer: storiesComposeBg;
|
||||
bg: storiesComposeBgOver;
|
||||
bgActive: storiesComposeBgRipple;
|
||||
fg: storiesComposeGrayIcon;
|
||||
fgActive: storiesComposeWhiteText;
|
||||
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", storiesComposeBgOver }};
|
||||
fadeRight: icon {{ "fade_horizontal", storiesComposeBgOver }};
|
||||
field: InputField(defaultTabbedSearchField) {
|
||||
textFg: storiesComposeWhiteText;
|
||||
placeholderFg: storiesComposeGrayText;
|
||||
placeholderFgActive: storiesComposeGrayText;
|
||||
placeholderFgError: storiesComposeGrayText;
|
||||
}
|
||||
search: IconButton(defaultTabbedSearchButton) {
|
||||
icon: icon{{ "emoji/emoji_search_input", storiesComposeGrayIcon }};
|
||||
iconOver: icon{{ "emoji/emoji_search_input", storiesComposeGrayIcon }};
|
||||
ripple: storiesComposeRipple;
|
||||
}
|
||||
back: IconButton(defaultTabbedSearchBack) {
|
||||
icon: icon{{ "emoji/emoji_back", storiesComposeGrayIcon }};
|
||||
iconOver: icon{{ "emoji/emoji_back", storiesComposeGrayIcon }};
|
||||
ripple: storiesComposeRipple;
|
||||
}
|
||||
cancel: CrossButton(defaultTabbedSearchCancel) {
|
||||
crossFg: storiesComposeGrayIcon;
|
||||
crossFgOver: storiesComposeGrayIcon;
|
||||
ripple: emptyRippleAnimation;
|
||||
}
|
||||
}
|
||||
storiesEmojiPan: EmojiPan(defaultEmojiPan) {
|
||||
showAnimation: PanelAnimation(emojiPanAnimation) {
|
||||
fadeBg: storiesComposeBg;
|
||||
}
|
||||
bg: storiesComposeBg;
|
||||
headerFg: storiesComposeGrayText;
|
||||
trendingHeaderFg: storiesComposeWhiteText;
|
||||
trendingSubheaderFg: storiesComposeGrayText;
|
||||
trendingUnreadFg: storiesComposeBlue;
|
||||
trendingInstalled: icon {{ "chat/input_save", storiesComposeBlue }};
|
||||
overBg: storiesComposeBgOver;
|
||||
pathBg: storiesComposeBgRipple;
|
||||
pathFg: storiesComposeBgOver;
|
||||
textFg: storiesComposeWhiteText;
|
||||
categoriesBg: storiesComposeBg;
|
||||
categoriesBgOver: storiesComposeBgOver;
|
||||
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", storiesComposeBg }};
|
||||
fadeRight: icon {{ "fade_horizontal", storiesComposeBg }};
|
||||
menu: storiesPopupMenuWithIcons;
|
||||
expandedSeparator: MenuSeparator(storiesMenuSeparator) {
|
||||
padding: margins(0px, 4px, 0px, 4px);
|
||||
width: 6px;
|
||||
}
|
||||
tabs: SettingsSlider(emojiTabs) {
|
||||
barFgActive: storiesComposeBlue;
|
||||
labelFg: storiesComposeGrayText;
|
||||
labelFgActive: storiesComposeBlue;
|
||||
rippleBg: storiesComposeBgOver;
|
||||
rippleBgActive: storiesComposeBgOver;
|
||||
}
|
||||
search: storiesEmojiTabbedSearch;
|
||||
removeSet: storiesRemoveSet;
|
||||
boxLabel: FlatLabel(boxLabel) {
|
||||
textFg: groupCallMembersFg;
|
||||
}
|
||||
icons: ComposeIcons {
|
||||
settings: icon {{ "emoji/emoji_settings", storiesComposeGrayIcon }};
|
||||
|
||||
recent: icon {{ "emoji/emoji_recent", storiesComposeGrayIcon }};
|
||||
recentActive: icon {{ "emoji/emoji_recent", storiesComposeWhiteText }};
|
||||
people: icon {{ "emoji/emoji_smile", storiesComposeGrayIcon }};
|
||||
peopleActive: icon {{ "emoji/emoji_smile", storiesComposeWhiteText }};
|
||||
nature: icon {{ "emoji/emoji_nature", storiesComposeGrayIcon }};
|
||||
natureActive: icon {{ "emoji/emoji_nature", storiesComposeWhiteText }};
|
||||
food: icon {{ "emoji/emoji_food", storiesComposeGrayIcon }};
|
||||
foodActive: icon {{ "emoji/emoji_food", storiesComposeWhiteText }};
|
||||
activity: icon {{ "emoji/emoji_activities", storiesComposeGrayIcon }};
|
||||
activityActive: icon {{ "emoji/emoji_activities", storiesComposeWhiteText }};
|
||||
travel: icon {{ "emoji/emoji_travel", storiesComposeGrayIcon }};
|
||||
travelActive: icon {{ "emoji/emoji_travel", storiesComposeWhiteText }};
|
||||
objects: icon {{ "emoji/emoji_objects", storiesComposeGrayIcon }};
|
||||
objectsActive: icon {{ "emoji/emoji_objects", storiesComposeWhiteText }};
|
||||
symbols: icon {{ "emoji/emoji_love", storiesComposeGrayIcon }};
|
||||
symbolsActive: icon {{ "emoji/emoji_love", storiesComposeWhiteText }};
|
||||
|
||||
menuFave: icon {{ "menu/favorite", storiesComposeWhiteText }};
|
||||
menuUnfave: icon {{ "menu/unfavorite", storiesComposeWhiteText }};
|
||||
menuStickerSet: icon {{ "menu/stickers", storiesComposeWhiteText }};
|
||||
menuRecentRemove: icon {{ "menu/delete", storiesComposeWhiteText }};
|
||||
menuGifAdd: icon {{ "menu/gif", storiesComposeWhiteText }};
|
||||
menuGifRemove: icon {{ "menu/delete", storiesComposeWhiteText }};
|
||||
menuMute: icon {{ "menu/mute", storiesComposeWhiteText }};
|
||||
menuSchedule: icon {{ "menu/calendar", storiesComposeWhiteText }};
|
||||
menuWhenOnline: icon {{ "menu/send_when_online", storiesComposeWhiteText }};
|
||||
menuSpoiler: icon {{ "menu/spoiler_on", storiesComposeWhiteText }};
|
||||
menuSpoilerOff: icon {{ "menu/spoiler_off", storiesComposeWhiteText }};
|
||||
|
||||
stripBubble: icon{
|
||||
{ "chat/reactions_bubble_shadow", windowShadowFg },
|
||||
{ "chat/reactions_bubble", storiesComposeBg },
|
||||
};
|
||||
stripPremiumLocked: icon{
|
||||
{ "chat/reactions_premium_bg", storiesComposeBgRipple },
|
||||
{ "chat/reactions_premium_star", storiesComposeGrayIcon },
|
||||
};
|
||||
stripExpandPanel: icon{
|
||||
{ "chat/reactions_round_big", storiesComposeBgRipple },
|
||||
{ "chat/reactions_expand_panel", storiesComposeGrayIcon },
|
||||
};
|
||||
stripExpandDropdown: icon{
|
||||
{ "chat/reactions_round_small", storiesComposeBgRipple },
|
||||
{ "chat/reactions_expand_panel", storiesComposeGrayIcon },
|
||||
};
|
||||
}
|
||||
autocompleteBottomSkip: 10px;
|
||||
}
|
||||
storiesComposeControls: ComposeControls(defaultComposeControls) {
|
||||
bg: storiesComposeBg;
|
||||
radius: storiesRadius;
|
||||
|
@ -560,104 +676,7 @@ storiesComposeControls: ComposeControls(defaultComposeControls) {
|
|||
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", storiesComposeBg }};
|
||||
fadeRight: icon {{ "fade_horizontal", storiesComposeBg }};
|
||||
}
|
||||
tabbed: EmojiPan(defaultEmojiPan) {
|
||||
showAnimation: PanelAnimation(emojiPanAnimation) {
|
||||
fadeBg: storiesComposeBg;
|
||||
}
|
||||
bg: storiesComposeBg;
|
||||
headerFg: storiesComposeGrayText;
|
||||
trendingHeaderFg: storiesComposeWhiteText;
|
||||
trendingSubheaderFg: storiesComposeGrayText;
|
||||
trendingUnreadFg: storiesComposeBlue;
|
||||
trendingInstalled: icon {{ "chat/input_save", storiesComposeBlue }};
|
||||
overBg: storiesComposeBgOver;
|
||||
pathBg: storiesComposeBgRipple;
|
||||
pathFg: storiesComposeBgOver;
|
||||
textFg: storiesComposeWhiteText;
|
||||
categoriesBg: storiesComposeBg;
|
||||
categoriesBgOver: storiesComposeBgOver;
|
||||
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", storiesComposeBg }};
|
||||
fadeRight: icon {{ "fade_horizontal", storiesComposeBg }};
|
||||
menu: storiesPopupMenuWithIcons;
|
||||
expandedSeparator: MenuSeparator(storiesMenuSeparator) {
|
||||
padding: margins(0px, 4px, 0px, 4px);
|
||||
width: 6px;
|
||||
}
|
||||
tabs: SettingsSlider(emojiTabs) {
|
||||
barFgActive: storiesComposeBlue;
|
||||
labelFg: storiesComposeGrayText;
|
||||
labelFgActive: storiesComposeBlue;
|
||||
rippleBg: storiesComposeBgOver;
|
||||
rippleBgActive: storiesComposeBgOver;
|
||||
}
|
||||
search: TabbedSearch(defaultTabbedSearch) {
|
||||
outer: storiesComposeBg;
|
||||
bg: storiesComposeBgOver;
|
||||
bgActive: storiesComposeBgRipple;
|
||||
fg: storiesComposeGrayIcon;
|
||||
fgActive: storiesComposeWhiteText;
|
||||
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", storiesComposeBgOver }};
|
||||
fadeRight: icon {{ "fade_horizontal", storiesComposeBgOver }};
|
||||
field: InputField(defaultTabbedSearchField) {
|
||||
textFg: storiesComposeWhiteText;
|
||||
placeholderFg: storiesComposeGrayText;
|
||||
placeholderFgActive: storiesComposeGrayText;
|
||||
placeholderFgError: storiesComposeGrayText;
|
||||
}
|
||||
search: IconButton(defaultTabbedSearchButton) {
|
||||
icon: icon{{ "emoji/emoji_search_input", storiesComposeGrayIcon }};
|
||||
iconOver: icon{{ "emoji/emoji_search_input", storiesComposeGrayIcon }};
|
||||
ripple: storiesComposeRipple;
|
||||
}
|
||||
back: IconButton(defaultTabbedSearchBack) {
|
||||
icon: icon{{ "emoji/emoji_back", storiesComposeGrayIcon }};
|
||||
iconOver: icon{{ "emoji/emoji_back", storiesComposeGrayIcon }};
|
||||
ripple: storiesComposeRipple;
|
||||
}
|
||||
cancel: CrossButton(defaultTabbedSearchCancel) {
|
||||
crossFg: storiesComposeGrayIcon;
|
||||
crossFgOver: storiesComposeGrayIcon;
|
||||
ripple: emptyRippleAnimation;
|
||||
}
|
||||
}
|
||||
removeSet: storiesRemoveSet;
|
||||
boxLabel: FlatLabel(boxLabel) {
|
||||
textFg: groupCallMembersFg;
|
||||
}
|
||||
icons: ComposeIcons {
|
||||
settings: icon {{ "emoji/emoji_settings", storiesComposeGrayIcon }};
|
||||
|
||||
recent: icon {{ "emoji/emoji_recent", storiesComposeGrayIcon }};
|
||||
recentActive: icon {{ "emoji/emoji_recent", storiesComposeWhiteText }};
|
||||
people: icon {{ "emoji/emoji_smile", storiesComposeGrayIcon }};
|
||||
peopleActive: icon {{ "emoji/emoji_smile", storiesComposeWhiteText }};
|
||||
nature: icon {{ "emoji/emoji_nature", storiesComposeGrayIcon }};
|
||||
natureActive: icon {{ "emoji/emoji_nature", storiesComposeWhiteText }};
|
||||
food: icon {{ "emoji/emoji_food", storiesComposeGrayIcon }};
|
||||
foodActive: icon {{ "emoji/emoji_food", storiesComposeWhiteText }};
|
||||
activity: icon {{ "emoji/emoji_activities", storiesComposeGrayIcon }};
|
||||
activityActive: icon {{ "emoji/emoji_activities", storiesComposeWhiteText }};
|
||||
travel: icon {{ "emoji/emoji_travel", storiesComposeGrayIcon }};
|
||||
travelActive: icon {{ "emoji/emoji_travel", storiesComposeWhiteText }};
|
||||
objects: icon {{ "emoji/emoji_objects", storiesComposeGrayIcon }};
|
||||
objectsActive: icon {{ "emoji/emoji_objects", storiesComposeWhiteText }};
|
||||
symbols: icon {{ "emoji/emoji_love", storiesComposeGrayIcon }};
|
||||
symbolsActive: icon {{ "emoji/emoji_love", storiesComposeWhiteText }};
|
||||
|
||||
menuFave: icon {{ "menu/favorite", storiesComposeWhiteText }};
|
||||
menuUnfave: icon {{ "menu/unfavorite", storiesComposeWhiteText }};
|
||||
menuStickerSet: icon {{ "menu/stickers", storiesComposeWhiteText }};
|
||||
menuRecentRemove: icon {{ "menu/delete", storiesComposeWhiteText }};
|
||||
menuGifAdd: icon {{ "menu/gif", storiesComposeWhiteText }};
|
||||
menuGifRemove: icon {{ "menu/delete", storiesComposeWhiteText }};
|
||||
menuMute: icon {{ "menu/mute", storiesComposeWhiteText }};
|
||||
menuSchedule: icon {{ "menu/calendar", storiesComposeWhiteText }};
|
||||
menuWhenOnline: icon {{ "menu/send_when_online", storiesComposeWhiteText }};
|
||||
menuSpoiler: icon {{ "menu/spoiler_on", storiesComposeWhiteText }};
|
||||
menuSpoilerOff: icon {{ "menu/spoiler_off", storiesComposeWhiteText }};
|
||||
}
|
||||
autocompleteBottomSkip: 10px;
|
||||
}
|
||||
tabbed: storiesEmojiPan;
|
||||
tabbedHeightMin: 220px;
|
||||
tabbedHeightMax: 480px;
|
||||
record: RecordBar(defaultRecordBar) {
|
||||
|
@ -747,6 +766,18 @@ storiesWhoViewed: WhoRead(defaultWhoRead) {
|
|||
align: align(left);
|
||||
}
|
||||
}
|
||||
storiesReactionsPan: EmojiPan(storiesEmojiPan) {
|
||||
margin: margins(reactStripSkip, 0px, reactStripSkip, 0px);
|
||||
padding: margins(reactStripSkip, 0px, reactStripSkip, reactStripSkip);
|
||||
desiredSize: reactStripSize;
|
||||
verticalSizeSub: 0px;
|
||||
overBg: transparent;
|
||||
search: TabbedSearch(storiesEmojiTabbedSearch) {
|
||||
defaultFieldWidth: 88px;
|
||||
}
|
||||
searchMargin: margins(1px, 10px, 2px, 6px);
|
||||
}
|
||||
|
||||
storiesReactionsWidth: 210px;
|
||||
storiesReactionsBottomSkip: 29px;
|
||||
storiesReactionsAddedTop: 200px;
|
||||
|
|
|
@ -827,19 +827,6 @@ reactionMainAppearShift: 20px;
|
|||
reactionCollapseFadeThreshold: 40px;
|
||||
reactionFlyUp: 50px;
|
||||
|
||||
reactionPremiumLocked: icon{
|
||||
{ "chat/reactions_premium_bg", historyPeerArchiveUserpicBg },
|
||||
{ "chat/reactions_premium_star", historyPeerUserpicFg },
|
||||
};
|
||||
reactionExpandPanel: icon{
|
||||
{ "chat/reactions_round_big", windowBgRipple },
|
||||
{ "chat/reactions_expand_panel", windowSubTextFg },
|
||||
};
|
||||
reactionsExpandDropdown: icon{
|
||||
{ "chat/reactions_round_small", windowBgRipple },
|
||||
{ "chat/reactions_expand_panel", windowSubTextFg },
|
||||
};
|
||||
|
||||
searchInChatMultiSelectItem: MultiSelectItem(defaultMultiSelectItem) {
|
||||
maxWidth: 200px;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue