1029 lines
29 KiB
Plaintext
1029 lines
29 KiB
Plaintext
/*
|
|
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
|
|
*/
|
|
using "ui/basic.style";
|
|
|
|
using "boxes/boxes.style";
|
|
using "ui/widgets/widgets.style";
|
|
using "ui/chat/chat.style"; // GroupCallUserpics.
|
|
|
|
InfoToggle {
|
|
color: color;
|
|
duration: int;
|
|
size: pixels;
|
|
skip: pixels;
|
|
stroke: pixels;
|
|
rippleAreaPadding: pixels;
|
|
}
|
|
|
|
InfoPeerBadge {
|
|
verified: icon;
|
|
premium: icon;
|
|
premiumFg: color;
|
|
position: point;
|
|
sizeTag: int;
|
|
}
|
|
|
|
InfoTopBar {
|
|
height: pixels;
|
|
back: IconButton;
|
|
title: FlatLabel;
|
|
titlePosition: point;
|
|
titleWithSubtitle: FlatLabel;
|
|
titleWithSubtitlePosition: point;
|
|
subtitle: FlatLabel;
|
|
subtitlePosition: point;
|
|
bg: color;
|
|
mediaCancel: IconButton;
|
|
mediaActionsSkip: pixels;
|
|
mediaForward: IconButton;
|
|
mediaDelete: IconButton;
|
|
storiesSave: IconButton;
|
|
storiesArchive: IconButton;
|
|
search: IconButton;
|
|
searchRow: SearchFieldRow;
|
|
highlightBg: color;
|
|
highlightDuration: int;
|
|
radius: pixels;
|
|
}
|
|
|
|
infoMediaHeaderFg: windowFg;
|
|
|
|
infoToggle: InfoToggle {
|
|
color: menuIconFg;
|
|
duration: slideWrapDuration;
|
|
size: 24px;
|
|
skip: 5px;
|
|
stroke: 2px;
|
|
rippleAreaPadding: 8px;
|
|
}
|
|
|
|
infoMediaSearch: SearchFieldRow {
|
|
height: 44px;
|
|
padding: margins(8px, 6px, 8px, 6px);
|
|
field: defaultMultiSelectSearchField;
|
|
fieldIcon: icon {{
|
|
"box_search-flip_horizontal",
|
|
menuIconFg,
|
|
point(6px, 8px)
|
|
}};
|
|
fieldIconSkip: 36px;
|
|
fieldCancel: defaultMultiSelectSearchCancel;
|
|
fieldCancelSkip: 40px;
|
|
}
|
|
infoLayerMediaSearch: SearchFieldRow(infoMediaSearch) {
|
|
height: 46px;
|
|
fieldIcon: icon {{
|
|
"box_search-flip_horizontal",
|
|
menuIconFg,
|
|
point(9px, 9px)
|
|
}};
|
|
fieldIconSkip: 34px;
|
|
fieldCancel: CrossButton(defaultMultiSelectSearchCancel) {
|
|
width: 50px;
|
|
cross: CrossAnimation {
|
|
size: 38px;
|
|
skip: 12px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossPosition: point(3px, 4px);
|
|
}
|
|
fieldCancelSkip: 46px;
|
|
}
|
|
infoTopBarSearchRow: SearchFieldRow(infoLayerMediaSearch) {
|
|
height: 52px;
|
|
padding: margins(0px, 12px, 8px, 10px);
|
|
fieldCancel: CrossButton(defaultMultiSelectSearchCancel) {
|
|
width: 51px;
|
|
height: 52px;
|
|
cross: CrossAnimation {
|
|
size: 42px;
|
|
skip: 14px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossPosition: point(1px, 6px);
|
|
}
|
|
}
|
|
|
|
infoSlideDuration: 0;
|
|
|
|
infoTopBarBackIcon: icon {{ "info/info_back", boxTitleCloseFg }};
|
|
infoTopBarBackIconOver: icon {{ "info/info_back", boxTitleCloseFgOver }};
|
|
infoTopBarHeight: 54px;
|
|
infoTopBarBack: IconButton(defaultIconButton) {
|
|
width: 60px;
|
|
height: infoTopBarHeight;
|
|
|
|
icon: infoTopBarBackIcon;
|
|
iconOver: infoTopBarBackIconOver;
|
|
iconPosition: point(11px, -1px);
|
|
|
|
rippleAreaPosition: point(6px, 6px);
|
|
rippleAreaSize: 42px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
infoTopBarTitle: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowBoldFg;
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
}
|
|
}
|
|
infoTopBarMediaCancel: IconButton(infoTopBarBack) {
|
|
width: infoTopBarHeight;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarClose: IconButton(infoTopBarMediaCancel) {
|
|
width: 48px;
|
|
iconPosition: point(5px, -1px);
|
|
rippleAreaPosition: point(0px, 6px);
|
|
}
|
|
infoTopBarSearch: IconButton(infoTopBarBack) {
|
|
width: 56px;
|
|
icon: icon {{ "top_bar_search", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_search", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarMenu: IconButton(infoTopBarBack) {
|
|
width: 48px;
|
|
icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
|
|
iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
|
|
iconPosition: point(18px, -1px);
|
|
rippleAreaPosition: point(1px, 6px);
|
|
}
|
|
infoTopBarCall: IconButton(infoTopBarMenu) {
|
|
width: 42px;
|
|
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
|
|
iconPosition: point(5px, -1px);
|
|
rippleAreaPosition: point(0px, 6px);
|
|
}
|
|
infoTopBarForward: IconButton(infoTopBarBack) {
|
|
width: 46px;
|
|
icon: icon {{ "info/info_media_forward", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_forward", boxTitleCloseFgOver }};
|
|
iconPosition: point(10px, -1px);
|
|
rippleAreaPosition: point(1px, 6px);
|
|
}
|
|
infoTopBarDelete: IconButton(infoTopBarForward) {
|
|
icon: icon {{ "info/info_media_delete", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_delete", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarSaveStories: IconButton(infoTopBarForward) {
|
|
icon: icon {{ "info/info_stories_to_profile", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_stories_to_profile", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarArchiveStories: IconButton(infoTopBarForward) {
|
|
icon: icon {{ "info/info_stories_to_archive", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_stories_to_archive", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBar: InfoTopBar {
|
|
height: infoTopBarHeight;
|
|
back: infoTopBarBack;
|
|
title: infoTopBarTitle;
|
|
titlePosition: point(24px, 17px);
|
|
titleWithSubtitle: FlatLabel(infoTopBarTitle) {
|
|
style: semiboldTextStyle;
|
|
}
|
|
titleWithSubtitlePosition: point(16px, 8px);
|
|
subtitle: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowSubTextFg;
|
|
}
|
|
subtitlePosition: point(16px, 28px);
|
|
bg: windowBg;
|
|
mediaCancel: infoTopBarMediaCancel;
|
|
mediaActionsSkip: 4px;
|
|
mediaForward: infoTopBarForward;
|
|
mediaDelete: infoTopBarDelete;
|
|
storiesSave: infoTopBarSaveStories;
|
|
storiesArchive: infoTopBarArchiveStories;
|
|
search: infoTopBarSearch;
|
|
searchRow: infoTopBarSearchRow;
|
|
highlightBg: windowBgOver;
|
|
highlightDuration: 240;
|
|
radius: 0px;
|
|
}
|
|
infoTopBarScale: 0.7;
|
|
infoTopBarDuration: 150;
|
|
|
|
infoLayerTopMinimal: 20px;
|
|
infoLayerTopMaximal: 40px;
|
|
infoLayerTopBarHeight: 56px;
|
|
infoLayerTopBarBackIcon: icon {{ "info/info_back", boxTitleCloseFg }};
|
|
infoLayerTopBarBackIconOver: icon {{ "info/info_back", boxTitleCloseFgOver }};
|
|
infoLayerTopBarBack: IconButton(infoTopBarBack) {
|
|
width: 60px;
|
|
height: infoLayerTopBarHeight;
|
|
|
|
iconPosition: point(10px, -1px);
|
|
icon: infoLayerTopBarBackIcon;
|
|
iconOver: infoLayerTopBarBackIconOver;
|
|
rippleAreaSize: 40px;
|
|
rippleAreaPosition: point(6px, 8px);
|
|
}
|
|
infoLayerTopBarMediaCancel: IconButton(infoLayerTopBarBack) {
|
|
width: 48px;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBarClose: IconButton(infoLayerTopBarMediaCancel) {
|
|
iconPosition: point(4px, -1px);
|
|
rippleAreaPosition: point(0px, 8px);
|
|
}
|
|
infoLayerTopBarMenu: IconButton(infoLayerTopBarClose) {
|
|
width: 40px;
|
|
icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
|
|
iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
|
|
iconPosition: point(16px, -1px);
|
|
}
|
|
infoLayerTopBarCall: IconButton(infoLayerTopBarMenu) {
|
|
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
|
|
iconPosition: point(3px, -1px);
|
|
}
|
|
infoLayerTopBarForward: IconButton(infoLayerTopBarBack) {
|
|
width: 45px;
|
|
icon: icon {{ "info/info_media_forward", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_forward", boxTitleCloseFgOver }};
|
|
iconPosition: point(11px, -1px);
|
|
rippleAreaPosition: point(3px, 8px);
|
|
}
|
|
infoLayerTopBarDelete: IconButton(infoLayerTopBarForward) {
|
|
icon: icon {{ "info/info_media_delete", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_delete", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBarSaveStories: IconButton(infoLayerTopBarForward) {
|
|
icon: icon {{ "info/info_stories_to_profile", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_stories_to_profile", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBarArchiveStories: IconButton(infoLayerTopBarForward) {
|
|
icon: icon {{ "info/info_stories_to_archive", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_stories_to_archive", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBar: InfoTopBar(infoTopBar) {
|
|
height: infoLayerTopBarHeight;
|
|
back: infoLayerTopBarBack;
|
|
title: boxTitle;
|
|
titlePosition: point(24px, 17px);
|
|
titleWithSubtitlePosition: point(16px, 9px);
|
|
subtitlePosition: point(16px, 30px);
|
|
bg: boxBg;
|
|
mediaCancel: infoLayerTopBarMediaCancel;
|
|
mediaActionsSkip: 6px;
|
|
mediaForward: infoLayerTopBarForward;
|
|
mediaDelete: infoLayerTopBarDelete;
|
|
storiesSave: infoLayerTopBarSaveStories;
|
|
storiesArchive: infoLayerTopBarArchiveStories;
|
|
search: infoTopBarSearch;
|
|
searchRow: infoTopBarSearchRow;
|
|
radius: boxRadius;
|
|
}
|
|
|
|
infoLayerTopBarMenuPosition: point(40px, 37px);
|
|
|
|
infoMinimalWidth: 324px;
|
|
infoDesiredWidth: 392px;
|
|
infoMinimalLayerMargin: 48px;
|
|
|
|
InfoProfileCover {
|
|
height: pixels;
|
|
photo: UserpicButton;
|
|
photoLeft: pixels;
|
|
photoTop: pixels;
|
|
name: FlatLabel;
|
|
nameLeft: pixels;
|
|
nameTop: pixels;
|
|
status: FlatLabel;
|
|
statusLeft: pixels;
|
|
statusTop: pixels;
|
|
showLastSeen: RoundButton;
|
|
showLastSeenPosition: point;
|
|
showLastSeenVisible: bool;
|
|
rightSkip: pixels;
|
|
}
|
|
infoProfilePhotoInnerSize: 72px;
|
|
infoProfilePhotoSize: size(
|
|
infoProfilePhotoInnerSize,
|
|
infoProfilePhotoInnerSize);
|
|
infoProfileStatus: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 18px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
infoProfileCover: InfoProfileCover {
|
|
height: 108px;
|
|
photo: UserpicButton(defaultUserpicButton) {
|
|
size: infoProfilePhotoSize;
|
|
photoSize: infoProfilePhotoInnerSize;
|
|
}
|
|
photoLeft: 19px;
|
|
photoTop: 18px;
|
|
name: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 24px;
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(16px semibold);
|
|
}
|
|
}
|
|
nameLeft: 109px;
|
|
nameTop: 32px;
|
|
status: infoProfileStatus;
|
|
statusLeft: 109px;
|
|
statusTop: 58px;
|
|
showLastSeen: RoundButton(defaultActiveButton) {
|
|
textFg: windowSubTextFg;
|
|
textFgOver: windowSubTextFg;
|
|
textBg: windowBgOver;
|
|
textBgOver: windowBgOver;
|
|
width: -12px;
|
|
height: 18px;
|
|
textTop: 0px;
|
|
font: font(12px);
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
showLastSeenPosition: point(3px, 58px);
|
|
showLastSeenVisible: true;
|
|
rightSkip: 20px;
|
|
}
|
|
infoProfileMegagroupCover: InfoProfileCover(infoProfileCover) {
|
|
status: FlatLabel(infoProfileStatus) {
|
|
palette: TextPalette(defaultTextPalette) {
|
|
linkFg: windowSubTextFg;
|
|
}
|
|
}
|
|
}
|
|
infoTopicCover: InfoProfileCover(infoProfileMegagroupCover) {
|
|
height: 77px;
|
|
photo: UserpicButton(defaultUserpicButton) {
|
|
size: size(36px, 36px);
|
|
}
|
|
photoLeft: 22px;
|
|
photoTop: 18px;
|
|
nameLeft: 79px;
|
|
nameTop: 14px;
|
|
statusLeft: 79px;
|
|
statusTop: 38px;
|
|
}
|
|
infoEditContactCover: InfoProfileCover(infoProfileCover) {
|
|
nameTop: 33px;
|
|
statusTop: 57px;
|
|
}
|
|
infoEditContactPersonalLeft: 6px;
|
|
|
|
infoProfileInaccessibleUserpic: icon {{ "info/inaccessible_userpic", historyPeerUserpicFg }};
|
|
|
|
infoVerifiedCheckPosition: point(4px, 2px);
|
|
infoVerifiedCheck: icon {
|
|
{ "profile_verified_star", profileVerifiedCheckBg },
|
|
{ "profile_verified_check", profileVerifiedCheckFg }
|
|
};
|
|
infoPremiumStar: icon {{ "profile_premium", profileVerifiedCheckBg }};
|
|
|
|
infoPeerBadge: InfoPeerBadge {
|
|
verified: infoVerifiedCheck;
|
|
premium: infoPremiumStar;
|
|
premiumFg: profileVerifiedCheckBg;
|
|
position: infoVerifiedCheckPosition;
|
|
sizeTag: 1; // Large
|
|
}
|
|
|
|
infoIconFg: windowBoldFg;
|
|
|
|
infoProfileSkip: 7px;
|
|
|
|
infoProfileLabeledPadding: margins(79px, 9px, 30px, 7px);
|
|
infoProfileLabeledUsernamePadding: margins(79px, 9px, 20px, 7px);
|
|
infoProfileSeparatorPadding: margins(
|
|
77px,
|
|
infoProfileSkip,
|
|
0px,
|
|
infoProfileSkip);
|
|
infoProfileLabeledButtonCopy: IconButton(defaultIconButton) {
|
|
width: 34px;
|
|
height: 34px;
|
|
icon: icon {{ "menu/copy", infoIconFg }};
|
|
iconOver: icon {{ "menu/copy", infoIconFg }};
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 34px;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
|
|
infoIconInformation: icon {{ "info/info_information", infoIconFg }};
|
|
infoIconAddMember: icon {{ "info/info_add_member", infoIconFg }};
|
|
infoIconNotifications: icon {{ "info/info_notifications", infoIconFg }};
|
|
infoIconMediaPhoto: icon {{ "info/info_media_photo", infoIconFg }};
|
|
infoIconMediaVideo: icon {{ "info/info_media_video", infoIconFg }};
|
|
infoIconMediaGif: icon {{ "info/info_media_gif", infoIconFg }};
|
|
infoIconMediaFile: icon {{ "info/info_media_file", infoIconFg }};
|
|
infoIconMediaAudio: icon {{ "info/info_media_audio", infoIconFg }};
|
|
infoIconMediaLink: icon {{ "info/info_media_link", infoIconFg }};
|
|
infoIconMediaGroup: icon {{ "info/info_common_groups", infoIconFg }};
|
|
infoIconMediaChannel: icon {{ "menu/channel", infoIconFg, point(4px, 4px) }};
|
|
infoIconMediaVoice: icon {{ "info/info_media_voice", infoIconFg }};
|
|
infoIconMediaStories: icon {{ "info/info_media_stories", infoIconFg }};
|
|
infoIconMediaSaved: icon {{ "info/info_media_saved", infoIconFg }};
|
|
infoIconMediaStoriesArchive: icon {{ "info/info_stories_archive", infoIconFg }};
|
|
infoIconMediaStoriesRecent: icon {{ "info/info_stories_recent", infoIconFg }};
|
|
|
|
infoIconShare: icon {{ "info/info_share", infoIconFg }};
|
|
infoIconEdit: icon {{ "info/info_edit", infoIconFg }};
|
|
infoIconDelete: icon {{ "info/info_delete", infoIconFg }};
|
|
infoIconDeleteRed: icon {{ "info/info_delete", attentionButtonFg }};
|
|
infoIconReport: icon {{ "info/info_report", attentionButtonFg }};
|
|
infoIconLeave: icon {{ "info/info_leave", infoIconFg }};
|
|
infoIconBlock: icon {{ "info/info_block", attentionButtonFg }};
|
|
infoIconMembers: icon {{ "info/info_members", infoIconFg }};
|
|
infoInformationIconPosition: point(25px, 12px);
|
|
infoNotificationsIconPosition: point(20px, 5px);
|
|
infoSharedMediaButtonIconPosition: point(20px, 3px);
|
|
infoGroupMembersIconPosition: point(20px, 10px);
|
|
infoChannelMembersIconPosition: point(20px, 19px);
|
|
|
|
infoBlockHeaderLabel: FlatLabel(infoProfileStatus) {
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: semiboldFont;
|
|
}
|
|
}
|
|
infoBlockHeaderPosition: point(79px, 17px);
|
|
|
|
infoProfileToggle: Toggle(defaultToggle) {
|
|
untoggledFg: menuIconFg;
|
|
}
|
|
infoProfileToggleOver: Toggle(infoProfileToggle) {
|
|
untoggledFg: menuIconFgOver;
|
|
}
|
|
infoProfileButton: SettingsButton(defaultSettingsButton) {
|
|
style: defaultTextStyle;
|
|
|
|
padding: margins(79px, 10px, 8px, 8px);
|
|
iconLeft: 22px;
|
|
|
|
toggle: infoProfileToggle;
|
|
toggleOver: infoProfileToggleOver;
|
|
toggleSkip: 20px;
|
|
}
|
|
infoNotificationsButton: SettingsButton(infoProfileButton) {
|
|
padding: margins(79px, 13px, 8px, 9px);
|
|
}
|
|
infoMainButton: SettingsButton(infoProfileButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
style: semiboldTextStyle;
|
|
}
|
|
infoMainButtonAttention: SettingsButton(infoMainButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
infoSharedMediaButton: infoProfileButton;
|
|
infoSharedMediaBottomSkip: 12px;
|
|
|
|
infoBlockButton: SettingsButton(infoProfileButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
infoCreateLinkedChatButton: SettingsButton(infoProfileButton) {
|
|
padding: margins(74px, 10px, 8px, 8px);
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
}
|
|
infoUnlinkChatButton: SettingsButton(infoCreateLinkedChatButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
infoBlockButtonSkip: 8px;
|
|
|
|
infoMembersHeader: 56px;
|
|
infoMembersList: PeerList(defaultPeerList) {
|
|
item: PeerListItem(defaultPeerListItem) {
|
|
photoPosition: point(18px, 6px);
|
|
namePosition: point(79px, 11px);
|
|
statusPosition: point(79px, 31px);
|
|
checkbox: RoundImageCheckbox(defaultPeerListCheckbox) {
|
|
selectExtendTwice: 1px;
|
|
imageRadius: 21px;
|
|
imageSmallRadius: 19px;
|
|
check: RoundCheckbox(defaultPeerListCheck) {
|
|
size: 0px;
|
|
}
|
|
}
|
|
nameFgChecked: contactsNameFg;
|
|
}
|
|
}
|
|
infoMembersButtonPosition: point(12px, 0px);
|
|
infoMembersButton: IconButton(defaultIconButton) {
|
|
width: 38px;
|
|
height: 38px;
|
|
iconPosition: point(-1px, -1px);
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 38px;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
infoMembersAddMember: IconButton(infoMembersButton) {
|
|
icon: icon {{ "info/info_add_member", windowBoldFg }};
|
|
iconOver: icon {{ "info/info_add_member", windowBoldFg }};
|
|
}
|
|
infoMembersSearch: IconButton(infoMembersButton) {
|
|
icon: icon {{ "info/info_search", windowBoldFg }};
|
|
iconOver: icon {{ "info/info_search", windowBoldFg }};
|
|
}
|
|
infoMembersSearchField: InputField(defaultMultiSelectSearchField) {
|
|
}
|
|
infoMembersCancelSearch: CrossButton {
|
|
width: 44px;
|
|
height: 44px;
|
|
|
|
cross: CrossAnimation {
|
|
size: 44px;
|
|
skip: 16px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossFg: menuIconFg;
|
|
crossFgOver: menuIconFgOver;
|
|
crossPosition: point(0px, 0px);
|
|
|
|
duration: 150;
|
|
loadingPeriod: 1000;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
infoMembersSearchTop: 15px;
|
|
|
|
infoMediaHeaderStyle: TextStyle(semiboldTextStyle) {
|
|
}
|
|
infoMediaHeaderHeight: 28px;
|
|
infoMediaHeaderPosition: point(14px, 6px);
|
|
infoMediaSkip: 2px;
|
|
infoMediaLeft: 3px;
|
|
infoMediaMargin: margins(0px, 6px, 0px, 2px);
|
|
infoMediaMinGridSize: 90px;
|
|
|
|
infoCommonGroupsMargin: margins(0px, 2px, 0px, 2px);
|
|
infoCommonGroupsListItem: PeerListItem(defaultPeerListItem) {
|
|
height: 52px;
|
|
photoSize: 40px;
|
|
photoPosition: point(16px, 6px);
|
|
namePosition: point(71px, 15px);
|
|
nameStyle: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
}
|
|
statusPosition: point(79px, 31px);
|
|
}
|
|
infoCommonGroupsList: PeerList(infoMembersList) {
|
|
item: infoCommonGroupsListItem;
|
|
}
|
|
|
|
managePeerButton: SettingsCountButton {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(76px, 12px, 76px, 10px);
|
|
}
|
|
iconPosition: point(20px, 5px);
|
|
label: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowActiveTextFg;
|
|
}
|
|
labelPosition: point(25px, 12px);
|
|
}
|
|
|
|
peerPermissionsButton: SettingsCountButton(managePeerButton) {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(22px, 12px, 24px, 10px);
|
|
}
|
|
iconPosition: point(24px, 5px);
|
|
}
|
|
|
|
manageGroupButtonInner: SettingsButton(infoProfileButton) {
|
|
padding: margins(60px, 10px, 24px, 8px);
|
|
}
|
|
manageGroupButton: SettingsCountButton(managePeerButton) {
|
|
button: manageGroupButtonInner;
|
|
labelPosition: point(22px, 10px);
|
|
iconPosition: point(20px, 4px);
|
|
}
|
|
|
|
manageGroupTopButtonWithText: SettingsCountButton(manageGroupButton) {
|
|
iconPosition: point(0px, 0px);
|
|
}
|
|
manageGroupTopicsButton: SettingsCountButton(manageGroupTopButtonWithText) {
|
|
button: SettingsButton(manageGroupButtonInner) {
|
|
toggle: Toggle(infoProfileToggle) {
|
|
lockIcon: icon {{ "info/info_rights_lock", menuIconFg }};
|
|
}
|
|
toggleOver: Toggle(infoProfileToggleOver) {
|
|
lockIcon: icon {{ "info/info_rights_lock", menuIconFgOver }};
|
|
}
|
|
}
|
|
}
|
|
manageGroupNoIconButtonInner: SettingsButton(infoProfileButton) {
|
|
padding: margins(25px, 11px, 24px, 8px);
|
|
}
|
|
manageGroupNoIconButton: SettingsCountButton(manageGroupTopButtonWithText) {
|
|
button: manageGroupNoIconButtonInner;
|
|
labelPosition: point(22px, 11px);
|
|
iconPosition: point(0px, 0px);
|
|
}
|
|
|
|
manageDeleteGroupButton: SettingsCountButton(manageGroupNoIconButton) {
|
|
button: SettingsButton(manageGroupNoIconButtonInner) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFg;
|
|
}
|
|
}
|
|
|
|
manageGroupReactions: IconButton(defaultIconButton) {
|
|
width: 24px;
|
|
height: 36px;
|
|
icon: icon{{ "info/edit/stickers_add", historyComposeIconFg }};
|
|
iconOver: icon{{ "info/edit/stickers_add", historyComposeIconFgOver }};
|
|
}
|
|
manageGroupReactionsField: InputField(defaultInputField) {
|
|
textMargins: margins(1px, 38px, 24px, 8px);
|
|
placeholderShift: -32px;
|
|
heightMin: 66px;
|
|
heightMax: 158px;
|
|
}
|
|
manageGroupReactionsTextSkip: 16px;
|
|
|
|
infoEmptyFg: windowSubTextFg;
|
|
infoEmptyPhoto: icon {{ "info/info_media_photo_empty", infoEmptyFg }};
|
|
infoEmptyVideo: icon {{ "info/info_media_video_empty", infoEmptyFg }};
|
|
infoEmptyAudio: icon {{ "info/info_media_audio_empty", infoEmptyFg }};
|
|
infoEmptyFile: icon {{ "info/info_media_file_empty", infoEmptyFg }};
|
|
infoEmptyVoice: icon {{ "info/info_media_voice_empty", infoEmptyFg }};
|
|
infoEmptyLink: icon {{ "info/info_media_link_empty", infoEmptyFg }};
|
|
infoEmptyStories: icon {{ "info/info_media_story_empty", infoEmptyFg }};
|
|
infoEmptyIconTop: 120px;
|
|
infoEmptyLabelTop: 40px;
|
|
infoEmptyLabelSkip: 20px;
|
|
infoEmptyLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 220px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
|
|
infoStoriesAboutArchive: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 245px;
|
|
align: align(top);
|
|
textFg: windowSubTextFg;
|
|
style: defaultTextStyle;
|
|
}
|
|
infoStoriesAboutArchivePadding: margins(22px, 12px, 22px, 12px);
|
|
|
|
editPeerBottomButtonsLayoutMargins: margins(0px, 7px, 0px, 0px);
|
|
|
|
editPeerTopButtonsLayoutSkip: 5px;
|
|
editPeerTopButtonsLayoutSkipToBottom: 5px;
|
|
|
|
editPeerTopButtonsLayoutSkipCustomBottom: 5px;
|
|
|
|
editPeerHistoryVisibilityTopSkip: 8px;
|
|
|
|
editPeerPhotoMargins: margins(22px, 8px, 22px, 8px);
|
|
editPeerTitle: defaultInputField;
|
|
editPeerTitleMargins: margins(27px, 13px, 22px, 8px);
|
|
editPeerDescription: InputField(defaultInputField) {
|
|
textBg: transparent;
|
|
textMargins: margins(0px, 7px, 0px, 7px);
|
|
|
|
placeholderFg: placeholderFg;
|
|
placeholderFgActive: placeholderFgActive;
|
|
placeholderFgError: placeholderFgActive;
|
|
placeholderMargins: margins(2px, 0px, 2px, 0px);
|
|
placeholderScale: 0.;
|
|
placeholderFont: normalFont;
|
|
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
|
|
heightMin: 32px;
|
|
|
|
font: boxTextFont;
|
|
}
|
|
editPeerDescriptionMargins: margins(22px, 3px, 22px, 2px);
|
|
editPeerPrivaciesMargins: margins(15px, 7px, 22px, 0px);
|
|
editPeerPrivacyBottomSkip: 16px;
|
|
editPeerPrivacyLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 220px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
editPeerPrivacyBoxCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
margin: margins(0px, 8px, 0px, 8px);
|
|
style: boxTextStyle;
|
|
}
|
|
editPeerPrivacyLabelMargins: margins(42px, 0px, 34px, 0px);
|
|
editPeerPreHistoryLabelMargins: margins(34px, 0px, 34px, 0px);
|
|
editPeerUsernameFieldMargins: margins(22px, 0px, 22px, 0px);
|
|
editPeerUsername: setupChannelLink;
|
|
editPeerUsernameGood: FlatLabel(defaultFlatLabel) {
|
|
textFg: boxTextFgGood;
|
|
style: boxTextStyle;
|
|
}
|
|
|
|
editPeerReactionsPreview: 24px;
|
|
editPeerReactionsIconLeft: 21px;
|
|
|
|
historyTopBarBack: IconButton(infoTopBarBack) {
|
|
width: 52px;
|
|
}
|
|
topBarHeight: 54px;
|
|
topBarMenuPosition: point(-6px, 45px);
|
|
topBarMenuGroupCallSkip: 20px;
|
|
topBarBack: icon {{ "title_back", lightButtonFg }};
|
|
topBarArrowPadding: margins(39px, 8px, 17px, 8px);
|
|
topBarNameRightPadding: 3px;
|
|
topBarButton: RoundButton(defaultLightButton) {
|
|
width: -18px;
|
|
padding: margins(0px, 10px, 12px, 10px);
|
|
}
|
|
topBarClearButton: RoundButton(defaultLightButton) {
|
|
width: -18px;
|
|
}
|
|
topBarSearch: IconButton {
|
|
width: 40px;
|
|
height: topBarHeight;
|
|
|
|
icon: icon {{ "top_bar_search", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_search", menuIconFgOver }};
|
|
iconPosition: point(4px, 11px);
|
|
|
|
rippleAreaPosition: point(0px, 7px);
|
|
rippleAreaSize: 40px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
topBarCloseChoose: IconButton(topBarSearch) {
|
|
width: 56px;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
iconPosition: point(10px, -1px);
|
|
rippleAreaPosition: point(7px, 7px);
|
|
}
|
|
topBarSkip: -5px;
|
|
topBarCallSkip: -1px;
|
|
topBarMenuToggle: IconButton(topBarSearch) {
|
|
width: 44px;
|
|
|
|
icon: menuToggleIcon;
|
|
iconOver: menuToggleIconOver;
|
|
iconPosition: point(16px, 17px);
|
|
|
|
rippleAreaPosition: point(0px, 7px);
|
|
}
|
|
topBarCall: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_call", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_call", menuIconFgOver }};
|
|
}
|
|
topBarGroupCall: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_group_call", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_group_call", menuIconFgOver }};
|
|
iconPosition: point(4px, 12px);
|
|
}
|
|
topBarInfo: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_profile", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_profile", menuIconFgOver }};
|
|
}
|
|
topBarInfoActive: icon {{ "top_bar_profile", windowActiveTextFg }};
|
|
topBarActionSkip: 10px;
|
|
|
|
topBarInfoButtonSize: size(52px, topBarHeight);
|
|
topBarInfoButtonInnerSize: 42px;
|
|
topBarInfoButtonInnerPosition: point(2px, -1px);
|
|
topBarInfoButton: UserpicButton(defaultUserpicButton) {
|
|
size: topBarInfoButtonSize;
|
|
photoSize: topBarInfoButtonInnerSize;
|
|
photoPosition: topBarInfoButtonInnerPosition;
|
|
}
|
|
topBarConnectingPosition: point(2px, 5px);
|
|
topBarConnectingSkip: 6px;
|
|
topBarConnectingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: windowSubTextFg;
|
|
thickness: 1px;
|
|
size: size(8px, 8px);
|
|
}
|
|
|
|
inviteLinkTitleRight: FlatLabel(defaultSubsectionTitle) {
|
|
minWidth: 0px;
|
|
}
|
|
|
|
inviteLinkFieldRadius: 5px;
|
|
inviteLinkFieldHeight: 42px;
|
|
inviteLinkFieldMargin: margins(14px, 12px, 36px, 9px);
|
|
inviteLinkThreeDotsIcon: icon {{ "info/edit/dotsmini", dialogsMenuIconFg }};
|
|
inviteLinkThreeDotsIconOver: icon {{ "info/edit/dotsmini", dialogsMenuIconFgOver }};
|
|
inviteLinkThreeDots: IconButton(defaultIconButton) {
|
|
width: 36px;
|
|
height: 44px;
|
|
|
|
icon: inviteLinkThreeDotsIcon;
|
|
iconOver: inviteLinkThreeDotsIconOver;
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
rippleAreaSize: 0px;
|
|
}
|
|
inviteLinkFieldPadding: margins(22px, 7px, 22px, 14px);
|
|
inviteLinkFieldLabel: FlatLabel(defaultFlatLabel) {
|
|
align: align(center);
|
|
}
|
|
|
|
inviteLinkButton: RoundButton(defaultActiveButton) {
|
|
height: 36px;
|
|
textTop: 9px;
|
|
radius: 6px;
|
|
}
|
|
inviteLinkButtonsPadding: margins(22px, 0px, 22px, 0px);
|
|
inviteLinkButtonsSkip: 10px;
|
|
inviteLinkCopy: RoundButton(inviteLinkButton) {
|
|
icon: icon {{ "info/edit/links_copy", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_copy", activeButtonFgOver }};
|
|
iconPosition: point(-1px, 2px);
|
|
}
|
|
inviteLinkShare: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_share", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_share", activeButtonFgOver }};
|
|
}
|
|
inviteLinkReactivate: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_reactivate", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_reactivate", activeButtonFgOver }};
|
|
}
|
|
inviteLinkDelete: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_delete", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_delete", activeButtonFgOver }};
|
|
}
|
|
inviteLinkUserpics: GroupCallUserpics {
|
|
size: 28px;
|
|
shift: 6px;
|
|
stroke: 2px;
|
|
align: align(left);
|
|
}
|
|
inviteLinkUserpicsSkip: 8px;
|
|
inviteLinkJoinedFont: font(14px);
|
|
inviteLinkJoinedRowPadding: margins(0px, 18px, 0px, 8px);
|
|
|
|
inviteLinkCreateSkip: 10px;
|
|
inviteLinkCreate: SettingsButton(defaultSettingsButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
textBg: windowBg;
|
|
textBgOver: windowBgOver;
|
|
|
|
style: semiboldTextStyle;
|
|
|
|
height: 20px;
|
|
padding: margins(60px, 7px, 12px, 5px);
|
|
|
|
toggle: infoProfileToggle;
|
|
toggleOver: infoProfileToggleOver;
|
|
toggleSkip: 22px;
|
|
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
inviteLinkCreateIcon: icon {{ "info/edit/roundbtn_plus", windowFgActive }};
|
|
inviteLinkCreateIconSize: 18px;
|
|
inviteLinkListItem: PeerListItem(defaultPeerListItem) {
|
|
button: OutlineButton(defaultPeerListButton) {
|
|
font: normalFont;
|
|
padding: margins(11px, 5px, 11px, 5px);
|
|
}
|
|
height: 52px;
|
|
photoPosition: point(9px, 4px);
|
|
namePosition: point(60px, 6px);
|
|
statusPosition: point(60px, 26px);
|
|
photoSize: 44px;
|
|
}
|
|
inviteLinkList: PeerList(defaultPeerList) {
|
|
item: inviteLinkListItem;
|
|
padding: margins(0px, 4px, 0px, 0px);
|
|
}
|
|
inviteLinkChatList: PeerList(peerListBox) {
|
|
padding: margins(0px, 4px, 0px, 6px);
|
|
}
|
|
inviteLinkAdminsList: PeerList(inviteLinkList) {
|
|
item: PeerListItem(inviteLinkListItem) {
|
|
photoPosition: point(16px, 9px);
|
|
namePosition: point(62px, 6px);
|
|
statusPosition: point(62px, 26px);
|
|
photoSize: 34px;
|
|
}
|
|
padding: margins(0px, 5px, 0px, 6px);
|
|
}
|
|
inviteLinkIconSkip: 7px;
|
|
inviteLinkIconStroke: 2px;
|
|
inviteLinkIcon: icon {{ "info/edit/links_link", mediaviewFileExtFg }};
|
|
inviteLinkRevokedIcon: icon {{ "info/edit/links_revoked", mediaviewFileExtFg }};
|
|
inviteLinkThreeDotsSkip: 12px;
|
|
inviteLinkRevokedTitlePadding: margins(22px, 16px, 10px, 4px);
|
|
inviteLinkLimitMargin: margins(22px, 8px, 22px, 8px);
|
|
|
|
inviteLinkQrPixel: 8px;
|
|
inviteLinkQrSkip: 24px;
|
|
inviteLinkQrMargin: margins(0px, 0px, 0px, 13px);
|
|
inviteLinkQrValuePadding: margins(22px, 0px, 22px, 12px);
|
|
|
|
usernamesReorderIcon: icon {{ "stickers_reorder", dialogsMenuIconFg }};
|
|
|
|
infoAboutGigagroup: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 274px;
|
|
}
|
|
|
|
infoScrollDateHideTimeout: historyScrollDateHideTimeout;
|
|
infoDateFadeDuration: historyDateFadeDuration;
|
|
|
|
shortInfoWidth: 304px;
|
|
shortInfoLabeledPadding: margins(24px, 16px, 24px, 0px);
|
|
shortInfoScroll: ScrollArea(defaultScrollArea) {
|
|
deltat: 3px;
|
|
deltab: 0px;
|
|
round: 1px;
|
|
width: 8px;
|
|
deltax: 3px;
|
|
|
|
duration: 150;
|
|
hiding: 1000;
|
|
}
|
|
|
|
ShortInfoCover {
|
|
size: pixels;
|
|
radius: pixels;
|
|
name: FlatLabel;
|
|
namePosition: point;
|
|
status: FlatLabel;
|
|
statusPosition: point;
|
|
linePadding: pixels;
|
|
lineSkip: pixels;
|
|
line: pixels;
|
|
shadowHeight: pixels;
|
|
radialAnimation: InfiniteRadialAnimation;
|
|
}
|
|
shortInfoCover: ShortInfoCover {
|
|
size: shortInfoWidth;
|
|
radius: boxRadius;
|
|
name: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallVideoTextFg;
|
|
maxHeight: 19px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(15px semibold);
|
|
}
|
|
}
|
|
namePosition: point(25px, 37px);
|
|
status: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallVideoSubTextFg;
|
|
maxHeight: 18px;
|
|
}
|
|
statusPosition: point(25px, 14px);
|
|
linePadding: 8px;
|
|
lineSkip: 4px;
|
|
line: 2px;
|
|
shadowHeight: 80px;
|
|
radialAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: radialFg;
|
|
thickness: 2px;
|
|
}
|
|
}
|
|
|
|
permissionsExpandIcon: icon{{ "info/edit/expand_arrow_small", windowBoldFg }};
|
|
|
|
similarChannelsLockOverlap: 58px;
|
|
similarChannelsLockFade: 58px;
|
|
similarChannelsLock: RoundButton(defaultActiveButton) {
|
|
height: 44px;
|
|
textTop: 12px;
|
|
font: font(13px semibold);
|
|
}
|
|
similarChannelsLockLabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: premiumButtonFg;
|
|
style: semiboldTextStyle;
|
|
}
|
|
similarChannelsLockPadding: margins(12px, 12px, 12px, 12px);
|
|
similarChannelsLockAbout: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowSubTextFg;
|
|
align: align(top);
|
|
minWidth: 128px;
|
|
}
|
|
similarChannelsLockAboutPadding: margins(12px, 12px, 12px, 12px);
|
|
|
|
infoHoursState: FlatLabel(infoLabeled) {
|
|
minWidth: 0px;
|
|
}
|
|
infoHoursValue: FlatLabel(infoHoursState) {
|
|
textFg: windowSubTextFg;
|
|
align: align(topright);
|
|
}
|
|
infoHoursDayLabel: infoHoursState;
|
|
infoHoursOuter: RoundButton(defaultActiveButton) {
|
|
textBg: transparent;
|
|
textBgOver: transparent;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
infoHoursOuterMargin: margins(8px, 4px, 8px, 4px);
|
|
infoHoursDaySkip: 6px;
|