tdesktop/Telegram/SourceFiles/info/info.style

938 lines
27 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;
}
infoMediaHeaderFg: windowFg;
infoToggleCheckbox: Checkbox(defaultCheckbox) {
margin: margins(0px, 0px, 0px, 0px);
rippleBgActive: windowBgOver;
checkPosition: point(16px, 8px);
rippleAreaPosition: point(-8px, -8px);
}
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);
linkFont: font(14px semibold);
linkFontOver: 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 }};
}
infoTopBar: InfoTopBar {
height: infoTopBarHeight;
back: infoTopBarBack;
title: infoTopBarTitle;
titlePosition: point(24px, 17px);
bg: windowBg;
mediaCancel: infoTopBarMediaCancel;
mediaActionsSkip: 4px;
mediaForward: infoTopBarForward;
mediaDelete: infoTopBarDelete;
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 }};
}
infoLayerTopBar: InfoTopBar(infoTopBar) {
height: infoLayerTopBarHeight;
back: infoLayerTopBarBack;
title: boxTitle;
titlePosition: point(24px, 17px);
bg: boxBg;
mediaCancel: infoLayerTopBarMediaCancel;
mediaActionsSkip: 6px;
mediaForward: infoLayerTopBarForward;
mediaDelete: infoLayerTopBarDelete;
search: infoTopBarSearch;
searchRow: infoTopBarSearchRow;
radius: boxRadius;
}
infoTopBarMenuPosition: point(-2px, 35px);
infoLayerTopBarMenuPosition: point(40px, 37px);
infoMinimalWidth: 324px;
infoDesiredWidth: 392px;
infoMinimalLayerMargin: 48px;
infoTabs: SettingsSlider(defaultTabsSlider) {
height: 55px;
barTop: 52px;
labelTop: 19px;
}
InfoProfileCover {
height: pixels;
photo: UserpicButton;
photoLeft: pixels;
photoTop: pixels;
name: FlatLabel;
nameLeft: pixels;
nameTop: pixels;
status: FlatLabel;
statusLeft: pixels;
statusTop: pixels;
rightSkip: pixels;
}
infoProfilePhotoInnerSize: 72px;
infoProfilePhotoSize: size(
infoProfilePhotoInnerSize,
infoProfilePhotoInnerSize);
infoProfileStatus: FlatLabel(defaultFlatLabel) {
maxHeight: 18px;
textFg: windowSubTextFg;
style: TextStyle(defaultTextStyle) {
font: normalFont;
linkFont: normalFont;
linkFontOver: normalFont;
}
}
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);
linkFont: font(16px semibold);
linkFontOver: font(16px semibold underline);
}
}
nameLeft: 109px;
nameTop: 32px;
status: infoProfileStatus;
statusLeft: 109px;
statusTop: 58px;
rightSkip: 20px;
}
infoProfileMegagroupCover: InfoProfileCover(infoProfileCover) {
status: FlatLabel(infoProfileStatus) {
style: defaultTextStyle;
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;
}
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 }};
infoIconMediaVoice: icon {{ "info/info_media_voice", infoIconFg }};
infoIconMediaRound: icon {{ "info/info_media_round", infoIconFg }};
infoRoundedIconRequests: icon {{ "info/edit/group_manage_join_requests", settingsIconFg }};
infoRoundedIconRecentActions: icon {{ "info/edit/group_manage_actions", settingsIconFg }};
infoRoundedIconAdministrators: icon {{ "info/edit/group_manage_admins", settingsIconFg }};
infoRoundedIconInviteLinks: icon {{ "info/edit/group_manage_links", settingsIconFg }};
infoRoundedIconReactions: icon {{ "info/edit/group_manage_reactions", settingsIconFg }};
infoRoundedIconSignature: icon {{ "info/edit/channel_manage_signature", settingsIconFg }};
infoIconShare: icon {{ "info/info_share", infoIconFg }};
infoIconEdit: icon {{ "info/info_edit", infoIconFg }};
infoIconDelete: icon {{ "info/info_delete", infoIconFg }};
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);
infoSharedMediaIconPosition: point(20px, 24px);
infoSharedMediaButtonIconPosition: point(20px, 3px);
infoGroupMembersIconPosition: point(20px, 10px);
infoChannelMembersIconPosition: point(20px, 19px);
infoLabeledOneLine: FlatLabel(defaultFlatLabel) {
maxHeight: 20px;
style: TextStyle(defaultTextStyle) {
lineHeight: 19px;
}
margin: margins(5px, 5px, 5px, 5px);
}
infoLabelSkip: 2px;
infoLabel: FlatLabel(infoLabeledOneLine) {
textFg: windowSubTextFg;
}
infoLabeled: FlatLabel(infoLabeledOneLine) {
minWidth: 180px;
maxHeight: 0px;
margin: margins(5px, 5px, 5px, 5px);
}
infoBlockHeaderLabel: FlatLabel(infoProfileStatus) {
textFg: windowBoldFg;
style: TextStyle(defaultTextStyle) {
font: semiboldFont;
linkFont: semiboldFont;
linkFontOver: 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;
}
infoSharedMediaCoverHeight: 62px;
infoSharedMediaButton: infoProfileButton;
infoSharedMediaBottomSkip: 12px;
infoBlockButton: SettingsButton(infoProfileButton) {
textFg: attentionButtonFg;
textFgOver: attentionButtonFgOver;
}
infoCreateLinkedChatButton: SettingsButton(infoMainButton) {
padding: margins(74px, 10px, 8px, 8px);
}
infoUnlinkChatButton: SettingsButton(infoCreateLinkedChatButton) {
textFg: attentionButtonFg;
textFgOver: attentionButtonFgOver;
}
infoBlockButtonSkip: 8px;
infoMembersHeader: 56px;
infoMembersHeaderPaddingBottom: 6px;
infoMembersList: PeerList(defaultPeerList) {
item: PeerListItem(defaultPeerListItem) {
photoPosition: point(18px, 6px);
namePosition: point(79px, 11px);
statusPosition: point(79px, 31px);
}
}
infoMembersButtonPosition: point(12px, 0px);
infoMembersButtonIconPosition: point(3px, 3px);
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;
infoChannelsAddChannel: IconButton(infoMembersButton) {
icon: icon {{ "settings/settings_edit_name", menuIconFg, point(9px, 9px) }};
iconOver: icon {{ "settings/settings_edit_name", menuIconFgOver, point(9px, 9px) }};
}
infoMediaHeaderStyle: TextStyle(semiboldTextStyle) {
}
infoMediaHeaderHeight: 28px;
infoMediaHeaderPosition: point(14px, 6px);
infoMediaSkip: 5px;
infoMediaMargin: margins(0px, 6px, 0px, 2px);
infoMediaMinGridSize: 90px;
infoCommonGroupsMargin: margins(0px, 13px, 0px, 2px);
infoCommonGroupsListItem: PeerListItem(defaultPeerListItem) {
height: 52px;
photoSize: 40px;
photoPosition: point(16px, 6px);
namePosition: point(71px, 15px);
nameStyle: TextStyle(defaultTextStyle) {
font: font(14px semibold);
linkFont: font(14px semibold);
linkFontOver: font(14px semibold);
}
statusPosition: point(79px, 31px);
}
infoCommonGroupsList: PeerList(infoMembersList) {
item: infoCommonGroupsListItem;
}
infoChannelsList: PeerList(infoCommonGroupsList) {
item: PeerListItem(infoCommonGroupsListItem) {
photoPosition: point(18px, 6px);
namePosition: point(79px, 15px);
}
}
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, 12px);
iconPosition: point(20px, 4px);
}
manageGroupTopButtonWithText: SettingsCountButton(manageGroupButton) {
labelPosition: point(22px, 10px);
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 }};
}
}
}
manageDeleteGroupButton: SettingsCountButton(manageGroupTopButtonWithText) {
button: SettingsButton(infoProfileButton) {
padding: margins(25px, 11px, 24px, 8px);
textFg: attentionButtonFg;
textFgOver: attentionButtonFg;
}
labelPosition: point(22px, 11px);
iconPosition: point(0px, 0px);
}
editPeerSkip: 7px;
editPeerHistoryVisibilityMargins: margins(15px, 0px, 20px, 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 }};
infoEmptyIconTop: 120px;
infoEmptyLabelTop: 40px;
infoEmptyLabelSkip: 20px;
infoEmptyLabel: FlatLabel(defaultFlatLabel) {
minWidth: 220px;
textFg: windowSubTextFg;
}
editPeerBottomButtonsLayoutMargins: margins(0px, 7px, 0px, 0px);
editPeerTopButtonsLayoutMargins: margins(0px, 12px, 0px, 6px);
editPeerTopButtonsLayoutSkip: 13px;
editPeerTopButtonsLayoutSkipToBottom: 12px;
editPeerTopButtonsLayoutSkipCustomTop: 14px;
editPeerTopButtonsLayoutSkipCustomBottom: 11px;
editPeerHistoryVisibilityTopSkip: 8px;
editPeerPhotoMargins: margins(22px, 16px, 22px, 8px);
editPeerTitle: defaultInputField;
editPeerTitleMargins: margins(27px, 21px, 22px, 8px);
editPeerDescription: InputField(newGroupDescription) {
borderFg: transparent;
}
editPeerDescriptionMargins: margins(22px, 5px, 22px, 16px);
editPeerPrivaciesMargins: margins(15px, 7px, 22px, 0px);
editPeerPrivacyTopSkip: 10px;
editPeerPrivacyBottomSkip: 16px;
editPeerPrivacyLabel: FlatLabel(defaultFlatLabel) {
minWidth: 220px;
textFg: windowSubTextFg;
}
editPeerPrivacyBoxCheckbox: Checkbox(defaultBoxCheckbox) {
margin: margins(0px, 8px, 0px, 8px);
style: boxTextStyle;
}
editPeerHistoryVisibilityLabelMargins: margins(34px, 0px, 48px, 0px);
editPeerPrivacyLabelMargins: margins(42px, 0px, 34px, 0px);
editPeerPreHistoryLabelMargins: margins(34px, 0px, 34px, 0px);
editPeerUsernameTitleLabelMargins: margins(22px, 17px, 22px, 10px);
editPeerUsernameFieldMargins: margins(22px, 0px, 22px, 0px);
editPeerUsername: setupChannelLink;
editPeerUsernameSkip: 8px;
editPeerInviteLink: FlatLabel(defaultFlatLabel) {
minWidth: 1px; // for break everywhere
style: boxTextStyle;
}
editPeerUsernameGood: FlatLabel(defaultFlatLabel) {
textFg: boxTextFgGood;
style: boxTextStyle;
}
editPeerUsernameError: FlatLabel(editPeerUsernameGood) {
textFg: boxTextFgError;
}
editPeerReactionsButton: SettingsButton(infoProfileButton) {
padding: margins(59px, 13px, 8px, 11px);
}
editPeerReactionsPreview: 24px;
editPeerReactionsIconLeft: 21px;
historyTopBarBack: IconButton(infoTopBarBack) {
width: 52px;
}
topBarHeight: 54px;
topBarMenuPosition: point(-6px, 45px);
topBarMenuGroupCallSkip: 20px;
topBarDuration: 200;
topBarBackward: icon {{ "title_back", menuIconFg }};
topBarForwardAlpha: 0.6;
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);
}
infoFeedLeaveIconMargins: margins(10px, 12px, 20px, 10px);
inviteLinkFieldHeight: 44px;
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);
inviteLinkButton: RoundButton(defaultActiveButton) {
height: 36px;
textTop: 9px;
}
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);
}
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);
linkFont: font(15px semibold);
linkFontOver: font(15px semibold underline);
}
}
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;
}
}
reportReasonTopSkip: 8px;
reportReasonButton: SettingsButton(infoProfileButton) {
style: boxTextStyle;
padding: margins(62px, 7px, 8px, 7px);
}