diff --git a/Telegram/SourceFiles/chat_helpers/chat_helpers.style b/Telegram/SourceFiles/chat_helpers/chat_helpers.style index 5b16daf5d..e5552ead4 100644 --- a/Telegram/SourceFiles/chat_helpers/chat_helpers.style +++ b/Telegram/SourceFiles/chat_helpers/chat_helpers.style @@ -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); diff --git a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_button.cpp b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_button.cpp index 0117ad4a5..345512ea1 100644 --- a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_button.cpp +++ b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_button.cpp @@ -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(); }), diff --git a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.cpp b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.cpp index 502c3d1e5..fa0dec3f9 100644 --- a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.cpp +++ b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.cpp @@ -105,6 +105,7 @@ bool StripEmoji::readyInDefaultState() { Selector::Selector( not_null parent, + const style::EmojiPan &st, std::shared_ptr 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 parent, + const style::EmojiPan &st, std::shared_ptr show, ChatHelpers::EmojiListMode mode, std::vector 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 parent, + const style::EmojiPan &st, std::shared_ptr show, const Data::PossibleItemReactionsRef &reactions, ChatHelpers::EmojiListMode mode, @@ -151,6 +156,7 @@ Selector::Selector( Fn 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( + _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(this, st::reactPanelScroll); _scroll->hide(); - const auto st = lifetime().make_state( - st::reactPanelEmojiPan); + const auto st = lifetime().make_state(_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 chosen) { const auto selector = Ui::CreateChild( 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( menu.get(), + st::reactPanelEmojiPan, controller->uiShow(), std::move(reactions), std::move(iconFactory), diff --git a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.h b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.h index 5cf7ca294..648fe4adb 100644 --- a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.h +++ b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_selector.h @@ -42,6 +42,7 @@ class Selector final : public Ui::RpWidget { public: Selector( not_null parent, + const style::EmojiPan &st, std::shared_ptr show, const Data::PossibleItemReactionsRef &reactions, IconFactory iconFactory, @@ -49,6 +50,7 @@ public: bool child = false); Selector( not_null parent, + const style::EmojiPan &st, std::shared_ptr show, ChatHelpers::EmojiListMode mode, std::vector recent, @@ -95,6 +97,7 @@ private: Selector( not_null parent, + const style::EmojiPan &st, std::shared_ptr 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 _show; const Data::PossibleItemReactions _reactions; const std::vector _recent; diff --git a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.cpp b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.cpp index 25d7fa4dd..f9c27b15c 100644 --- a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.cpp +++ b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.cpp @@ -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 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 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( diff --git a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.h b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.h index 9447b0d77..e8a98fd49 100644 --- a/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.h +++ b/Telegram/SourceFiles/history/view/reactions/history_view_reactions_strip.h @@ -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 update, IconFactory iconFactory); + Strip( + const style::EmojiPan &st, + QRect inner, + int size, + Fn 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; diff --git a/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp b/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp index 446c8f91b..49434bd53 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp @@ -134,6 +134,7 @@ void Reactions::create() { const auto withSearch = reactions.customAllowed; _selector = std::make_unique( _parent.get(), + st::storiesReactionsPan, _controller->uiShow(), std::move(reactions), _controller->cachedReactionIconFactory().createMethod(), diff --git a/Telegram/SourceFiles/media/view/media_view.style b/Telegram/SourceFiles/media/view/media_view.style index cd88a570f..cfc78f8b2 100644 --- a/Telegram/SourceFiles/media/view/media_view.style +++ b/Telegram/SourceFiles/media/view/media_view.style @@ -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; diff --git a/Telegram/SourceFiles/ui/chat/chat.style b/Telegram/SourceFiles/ui/chat/chat.style index 6b718137e..56f84a8e6 100644 --- a/Telegram/SourceFiles/ui/chat/chat.style +++ b/Telegram/SourceFiles/ui/chat/chat.style @@ -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; }