tdesktop/Telegram/SourceFiles/info/info.style

1001 lines
28 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;
}
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: 2px;
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: 2px;
minScale: 0.3;
}
crossPosition: point(1px, 6px);
}
}
infoSlideDuration: 0;
infoTopBarBackIcon: icon {{ "info_back", boxTitleCloseFg }};
infoTopBarBackIconOver: icon {{ "info_back", boxTitleCloseFgOver }};
infoTopBarHeight: 54px;
infoTopBarBack: IconButton(defaultIconButton) {
width: 70px;
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_close", boxTitleCloseFg }};
iconOver: icon {{ "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);
}
infoTopBarNotifications: IconButton(infoTopBarMenu) {
width: 42px;
icon: icon {{ "info_notifications", boxTitleCloseFg }};
iconOver: icon {{ "info_notifications", boxTitleCloseFgOver }};
iconPosition: point(5px, 10px);
rippleAreaPosition: point(0px, 6px);
}
infoNotificationsActive: icon {{
"info_notifications",
windowBgActive
}};
infoTopBarCall: IconButton(infoTopBarNotifications) {
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
iconPosition: point(5px, -1px);
}
infoTopBarSave: IconButton(infoTopBarNotifications) {
width: 48px;
icon: icon {{ "passport_ready", windowActiveTextFg }};
iconOver: icon {{ "passport_ready", windowActiveTextFg }};
iconPosition: point(11px, 17px);
ripple: RippleAnimation(defaultRippleAnimation) {
color: lightButtonBgOver;
}
}
infoTopBarForward: IconButton(infoTopBarBack) {
width: 46px;
icon: icon {{ "info_media_forward", boxTitleCloseFg }};
iconOver: icon {{ "info_media_forward", boxTitleCloseFgOver }};
iconPosition: point(10px, -1px);
rippleAreaPosition: point(1px, 6px);
}
infoTopBarDelete: IconButton(infoTopBarForward) {
icon: icon {{ "info_media_delete", boxTitleCloseFg }};
iconOver: icon {{ "info_media_delete", boxTitleCloseFgOver }};
}
infoTopBar: InfoTopBar {
height: infoTopBarHeight;
back: infoTopBarBack;
title: infoTopBarTitle;
titlePosition: point(22px, 18px);
bg: windowBg;
mediaCancel: infoTopBarMediaCancel;
mediaActionsSkip: 4px;
mediaForward: infoTopBarForward;
mediaDelete: infoTopBarDelete;
search: infoTopBarSearch;
searchRow: infoTopBarSearchRow;
highlightBg: windowBgOver;
highlightDuration: 240;
}
infoTopBarScale: 0.7;
infoTopBarDuration: 150;
infoLayerTopMinimal: 20px;
infoLayerTopMaximal: 40px;
infoLayerTopBarHeight: boxTitleHeight;
infoLayerTopBarBackIcon: icon {{ "info_back", boxTitleCloseFg }};
infoLayerTopBarBackIconOver: icon {{ "info_back", boxTitleCloseFgOver }};
infoLayerTopBarBack: IconButton(infoTopBarBack) {
width: infoLayerTopBarHeight;
height: infoLayerTopBarHeight;
iconPosition: point(12px, -1px);
icon: infoLayerTopBarBackIcon;
iconOver: infoLayerTopBarBackIconOver;
rippleAreaSize: 44px;
}
infoLayerTopBarMediaCancel: IconButton(infoLayerTopBarBack) {
icon: icon {{ "info_close", boxTitleCloseFg }};
iconOver: icon {{ "info_close", boxTitleCloseFgOver }};
}
infoLayerTopBarClose: IconButton(infoLayerTopBarMediaCancel) {
width: 50px;
iconPosition: point(6px, -1px);
rippleAreaPosition: point(0px, 6px);
}
infoLayerTopBarMenu: IconButton(infoLayerTopBarClose) {
width: 44px;
icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
iconPosition: point(18px, -1px);
}
infoLayerTopBarNotifications: IconButton(infoLayerTopBarMenu) {
icon: icon {{ "info_notifications", boxTitleCloseFg }};
iconOver: icon {{ "info_notifications", boxTitleCloseFgOver }};
iconPosition: point(5px, 11px);
}
infoLayerTopBarCall: IconButton(infoLayerTopBarMenu) {
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
iconPosition: point(5px, -1px);
}
infoLayerTopBarSave: IconButton(infoLayerTopBarNotifications) {
icon: icon {{ "passport_ready", windowActiveTextFg }};
iconOver: icon {{ "passport_ready", windowActiveTextFg }};
iconPosition: point(13px, 18px);
ripple: RippleAnimation(defaultRippleAnimation) {
color: lightButtonBgOver;
}
}
infoLayerTopBarForward: IconButton(infoLayerTopBarBack) {
width: 45px;
icon: icon {{ "info_media_forward", boxTitleCloseFg }};
iconOver: icon {{ "info_media_forward", boxTitleCloseFgOver }};
iconPosition: point(11px, -1px);
rippleAreaPosition: point(1px, 6px);
}
infoLayerTopBarDelete: IconButton(infoLayerTopBarForward) {
icon: icon {{ "info_media_delete", boxTitleCloseFg }};
iconOver: icon {{ "info_media_delete", boxTitleCloseFgOver }};
}
infoLayerTopBar: InfoTopBar(infoTopBar) {
height: infoLayerTopBarHeight;
back: infoLayerTopBarBack;
title: boxTitle;
titlePosition: boxTitlePosition;
bg: boxBg;
mediaCancel: infoLayerTopBarMediaCancel;
mediaActionsSkip: 6px;
mediaForward: infoLayerTopBarForward;
mediaDelete: infoLayerTopBarDelete;
search: infoTopBarSearch;
searchRow: infoTopBarSearchRow;
}
infoTopBarMenuPosition: point(-2px, 35px);
infoLayerTopBarMenuPosition: point(40px, 37px);
infoMinimalWidth: 324px;
infoDesiredWidth: 392px;
infoMinimalLayerMargin: 48px;
infoTabs: SettingsSlider(defaultTabsSlider) {
height: 55px;
barTop: 52px;
labelTop: 19px;
}
infoProfilePhotoInnerSize: 72px;
infoProfilePhotoSize: size(
infoProfilePhotoInnerSize,
infoProfilePhotoInnerSize);
infoProfilePhoto: UserpicButton(defaultUserpicButton) {
size: infoProfilePhotoSize;
photoSize: infoProfilePhotoInnerSize;
}
infoFeedProfilePhoto: FeedUserpicButton(defaultFeedUserpicButton) {
size: infoProfilePhotoSize;
innerSize: infoProfilePhotoInnerSize;
innerPart: UserpicButton(defaultUserpicButton) {
size: size(35px, 35px);
photoSize: 35px;
}
}
infoProfilePhotoLeft: 19px;
infoProfilePhotoTop: 18px;
infoProfilePhotoBottom: 18px;
infoProfileStatusLeft: 109px;
infoProfileStatusRight: 20px;
infoProfileStatusTop: 58px;
infoProfileStatusLabel: FlatLabel(defaultFlatLabel) {
maxHeight: 18px;
textFg: windowSubTextFg;
style: TextStyle(defaultTextStyle) {
font: normalFont;
linkFont: normalFont;
linkFontOver: normalFont;
}
}
infoProfileMegagroupStatusLabel: FlatLabel(infoProfileStatusLabel) {
style: defaultTextStyle;
palette: TextPalette(defaultTextPalette) {
linkFg: windowSubTextFg;
}
}
infoProfileNameLeft: infoProfileStatusLeft;
infoProfileNameRight: infoProfileStatusRight;
infoProfileNameTop: 32px;
infoProfileNameLabel: FlatLabel(infoProfileStatusLabel) {
maxHeight: 24px;
textFg: windowBoldFg;
style: TextStyle(defaultTextStyle) {
font: font(16px semibold);
linkFont: font(16px semibold);
linkFontOver: font(16px semibold underline);
}
}
infoVerifiedCheckPosition: point(10px, 2px);
infoVerifiedCheck: icon {
{ "profile_verified_star", profileVerifiedCheckBg, point(0px, 0px) },
{ "profile_verified_check", profileVerifiedCheckFg, point(4px, 4px) }
};
infoProfileSkip: 12px;
infoProfileLabeledPadding: margins(79px, 9px, 30px, 7px);
infoProfileSeparatorPadding: margins(
77px,
infoProfileSkip,
0px,
infoProfileSkip);
infoIconFg: menuIconFg;
infoIconInformation: icon {{ "info_information", infoIconFg }};
infoIconMembers: icon {{ "info/edit/group_manage_members", infoIconFg, point(-2px, 0px) }};
infoIconRequests: icon {{ "info_add_member", infoIconFg, point(0px, 2px) }};
infoIconNotifications: icon {{ "info_notifications", infoIconFg }};
infoIconActions: icon {{ "info_actions", infoIconFg }};
infoIconMediaPhoto: icon {{ "info_media_photo", infoIconFg }};
infoIconMediaVideo: icon {{ "info_media_video", infoIconFg }};
infoIconMediaGif: icon {{ "info_media_gif", infoIconFg }};
infoIconMediaFile: icon {{ "info_media_file", infoIconFg }};
infoIconMediaAudio: icon {{ "info_media_audio", infoIconFg }};
infoIconMediaLink: icon {{ "info_media_link", infoIconFg }};
infoIconMediaGroup: icon {{ "info_common_groups", infoIconFg }};
infoIconMediaVoice: icon {{ "info_media_voice", infoIconFg }};
infoIconMediaRound: icon {{ "info_media_round", infoIconFg }};
infoIconRecentActions: icon {{ "info/edit/group_manage_actions", infoIconFg, point(-2px, -1px) }};
infoIconAdministrators: icon {{ "info/edit/group_manage_admins", infoIconFg, point(-3px, 0px) }};
infoIconBlacklist: icon {{ "info_blacklist", infoIconFg, point(-2px, -2px) }};
infoIconPermissions: icon {{ "info/edit/group_manage_permissions", infoIconFg, point(0px, -2px) }};
infoIconInviteLinks: icon {{ "info/edit/group_manage_links", infoIconFg, point(-2px, 0px) }};
infoInformationIconPosition: point(25px, 12px);
infoNotificationsIconPosition: point(20px, 5px);
infoSharedMediaIconPosition: point(20px, 24px);
infoSharedMediaButtonIconPosition: point(20px, 3px);
infoIconPosition: point(20px, 15px);
infoChannelMembersIconPosition: point(20px, 24px);
infoLabeledOneLine: FlatLabel(defaultFlatLabel) {
maxHeight: 20px;
style: TextStyle(defaultTextStyle) {
lineHeight: 19px;
}
}
infoLabelSkip: 2px;
infoLabel: FlatLabel(infoLabeledOneLine) {
textFg: windowSubTextFg;
}
infoLabeled: FlatLabel(infoLabeledOneLine) {
minWidth: 180px;
maxHeight: 0px;
margin: margins(5px, 5px, 5px, 5px);
}
infoBlockHeaderLabel: FlatLabel(infoProfileStatusLabel) {
textFg: windowBoldFg;
style: TextStyle(defaultTextStyle) {
font: semiboldFont;
linkFont: semiboldFont;
linkFontOver: semiboldFont;
}
}
infoBlockHeaderPosition: point(79px, 22px);
infoProfileToggle: Toggle(defaultToggle) {
untoggledFg: menuIconFg;
}
infoProfileToggleOver: Toggle(infoProfileToggle) {
untoggledFg: menuIconFgOver;
}
infoProfileButton: SettingsButton(defaultSettingsButton) {
textFg: windowBoldFg;
textFgOver: windowBoldFgOver;
textBg: windowBg;
textBgOver: windowBgOver;
font: normalFont;
height: 20px;
padding: margins(79px, 10px, 8px, 8px);
toggle: infoProfileToggle;
toggleOver: infoProfileToggleOver;
toggleSkip: 22px;
ripple: defaultRippleAnimation;
}
infoNotificationsButton: SettingsButton(infoProfileButton) {
padding: margins(79px, 13px, 8px, 9px);
}
infoMainButton: SettingsButton(infoProfileButton) {
textFg: lightButtonFg;
textFgOver: lightButtonFgOver;
font: semiboldFont;
}
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_add_member", menuIconFg }};
iconOver: icon {{ "info_add_member", menuIconFgOver }};
}
infoMembersSearch: IconButton(infoMembersButton) {
icon: icon {{
"top_bar_search",
menuIconFg,
infoMembersButtonIconPosition
}};
iconOver: icon {{
"top_bar_search",
menuIconFgOver,
infoMembersButtonIconPosition
}};
iconPosition: point(0px, 0px);
}
infoMembersSearchActive: icon {
{ size(44px, 44px), windowBg },
{
"top_bar_search",
menuIconFgOver,
infoMembersButtonIconPosition
}
};
infoMembersSearchActiveLayer: icon {
{ size(44px, 44px), boxBg },
{
"top_bar_search",
menuIconFgOver,
infoMembersButtonIconPosition
}
};
infoMembersSearchField: InputField(defaultMultiSelectSearchField) {
}
infoMembersCancelSearch: CrossButton {
width: 44px;
height: 44px;
cross: CrossAnimation {
size: 44px;
skip: 16px;
stroke: 2px;
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_edit_name", menuIconFg, point(9px, 9px) }};
iconOver: icon {{ "settings_edit_name", menuIconFgOver, point(9px, 9px) }};
}
infoMembersCreatorIcon: icon {{
"profile_admin_star",
profileAdminStartFg,
point(4px, 3px)
}};
infoMembersCreatorIconOver: icon {{
"profile_admin_star",
profileAdminStarFgOver,
point(4px, 3px)
}};
infoMembersAdminIcon: icon {{
"profile_admin_star",
profileOtherAdminStarFg,
point(4px, 3px)
}};
infoMembersAdminIconOver: icon {{
"profile_admin_star",
profileOtherAdminStarFgOver,
point(4px, 3px)
}};
infoMembersRemoveIcon: icon {{
"simple_close",
menuIconFg
}};
infoMembersRemoveIconOver: icon {{
"simple_close",
menuIconFgOver
}};
infoMembersAdminIconMarigns: margins(10px, 18px, 10px, 10px);
infoMembersRemoveIconMargins: margins(10px, 12px, 12px, 10px);
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(24px, 12px, 24px, 10px);
}
iconPosition: point(24px, 5px);
}
manageGroupButton: SettingsCountButton(managePeerButton) {
button: SettingsButton(infoProfileButton) {
padding: margins(72px, 10px, 24px, 8px);
}
labelPosition: point(22px, 12px);
iconPosition: point(20px, 4px);
}
manageGroupTopButtonWithText: SettingsCountButton(manageGroupButton) {
button: SettingsButton(infoProfileButton) {
padding: margins(22px, 10px, 24px, 8px);
}
labelPosition: point(22px, 10px);
iconPosition: point(0px, 0px);
}
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_media_photo_empty", infoEmptyFg }};
infoEmptyVideo: icon {{ "info_media_video_empty", infoEmptyFg }};
infoEmptyAudio: icon {{ "info_media_audio_empty", infoEmptyFg }};
infoEmptyFile: icon {{ "info_media_file_empty", infoEmptyFg }};
infoEmptyVoice: icon {{ "info_media_voice_empty", infoEmptyFg }};
infoEmptyLink: icon {{ "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: newGroupDescription;
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);
editPeerSectionLabel: FlatLabel(boxTitle) {
style: TextStyle(defaultTextStyle) {
font: font(15px semibold);
linkFont: font(15px semibold);
linkFontOver: font(15px semibold underline);
}
}
editPeerUsernameTitleLabelMargins: margins(22px, 17px, 22px, 10px);
editPeerUsernameFieldMargins: margins(22px, 0px, 22px, 20px);
editPeerUsername: setupChannelLink;
editPeerUsernameSkip: 8px;
editPeerInviteLink: FlatLabel(defaultFlatLabel) {
minWidth: 1px; // for break everywhere
style: boxTextStyle;
}
editPeerInviteLinkButton: boxLinkButton;
editPeerUsernameGood: FlatLabel(defaultFlatLabel) {
textFg: boxTextFgGood;
style: boxTextStyle;
}
editPeerUsernameError: FlatLabel(editPeerUsernameGood) {
textFg: boxTextFgError;
}
editPeerUsernamePosition: point(22px, 18px);
editPeerInviteLinkSkip: 10px;
editPeerInvitesMargins: margins(22px, 17px, 22px, 16px);
editPeerInvitesTopSkip: 10px;
editPeerInvitesSkip: 10px;
editPeerInviteLinkBoxBottomSkip: 15px;
historyTopBarBack: IconButton(infoTopBarBack) {
width: 52px;
}
topBarHeight: 54px;
topBarMenuPosition: point(-2px, 35px);
topBarDuration: 200;
topBarBackward: icon {{ "title_back", menuIconFg }};
topBarForwardAlpha: 0.6;
topBarBack: icon {{ "title_back", lightButtonFg }};
topBarArrowPadding: margins(39px, 8px, 17px, 8px);
topBarMinPadding: 5px;
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_close", boxTitleCloseFg }};
iconOver: icon {{ "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(8px, 16px);
}
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;
}
topBarFeedInfoButton: FeedUserpicButton(defaultFeedUserpicButton) {
size: topBarInfoButtonSize;
innerSize: topBarInfoButtonInnerSize;
innerPosition: topBarInfoButtonInnerPosition;
innerPart: UserpicButton(defaultUserpicButton) {
size: size(20px, 20px);
photoSize: 20px;
}
}
topBarConnectingPosition: point(2px, 5px);
topBarConnectingSkip: 6px;
topBarConnectingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
color: windowSubTextFg;
thickness: 1px;
size: size(8px, 8px);
}
infoFeedLeaveIconMargins: margins(10px, 12px, 20px, 10px);
separatePanelBorderCacheSize: 60px;
separatePanelTitleHeight: 62px;
separatePanelClose: IconButton(boxTitleClose) {
width: 60px;
height: 60px;
rippleAreaPosition: point(8px, 8px);
rippleAreaSize: 44px;
ripple: RippleAnimation(defaultRippleAnimation) {
color: windowBgOver;
}
}
separatePanelTitleFont: font(18px semibold);
separatePanelTitle: FlatLabel(defaultFlatLabel) {
textFg: boxTitleFg;
maxHeight: 26px;
style: TextStyle(defaultTextStyle) {
font: separatePanelTitleFont;
linkFont: separatePanelTitleFont;
linkFontOver: font(18px semibold underline);
}
}
separatePanelTitleTop: 18px;
separatePanelTitleLeft: 22px;
separatePanelTitleSkip: 0px;
separatePanelBack: IconButton(separatePanelClose) {
icon: infoTopBarBackIcon;
iconOver: infoTopBarBackIconOver;
}
inviteLinkField: FlatInput(defaultFlatInput) {
font: font(fsize);
height: 44px;
textMrg: 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;
font: semiboldFont;
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);
infoAboutGigagroup: FlatLabel(defaultFlatLabel) {
minWidth: 274px;
}
infoScrollDateHideTimeout: historyScrollDateHideTimeout;
infoDateFadeDuration: historyDateFadeDuration;
shortInfoWidth: 304px;
shortInfoLabeledPadding: margins(20px, 16px, 20px, 0px);
shortInfoScroll: ScrollArea(defaultScrollArea) {
deltat: 3px;
deltab: 0px;
round: 1px;
width: 8px;
deltax: 3px;
duration: 150;
hiding: 1000;
}
ShortInfoCover {
size: pixels;
name: FlatLabel;
namePosition: point;
status: FlatLabel;
statusPosition: point;
linePadding: pixels;
lineSkip: pixels;
line: pixels;
shadowHeight: pixels;
radialAnimation: InfiniteRadialAnimation;
}
shortInfoCover: ShortInfoCover {
size: shortInfoWidth;
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;
}
}