some fixes

This commit is contained in:
Eduard Kuzmenko 2023-01-16 21:26:51 +04:00
parent f5e7f64077
commit 258057b3d7
20 changed files with 162 additions and 116 deletions

View File

@ -4,6 +4,8 @@
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
import {setDirection} from '../helpers/dom/setInnerHTML';
export default class DivAndCaption<T> {
public container: HTMLElement;
public border: HTMLElement;
@ -23,11 +25,11 @@ export default class DivAndCaption<T> {
this.title = document.createElement('div');
this.title.classList.add(className + '-title');
this.title.setAttribute('dir', 'auto');
setDirection(this.title);
this.subtitle = document.createElement('div');
this.subtitle.classList.add(className + '-subtitle');
this.subtitle.setAttribute('dir', 'auto');
setDirection(this.subtitle);
this.content.append(this.title, this.subtitle);
this.container.append(this.border, this.content);

View File

@ -8,7 +8,6 @@ import cancelEvent from '../helpers/dom/cancelEvent';
import simulateEvent from '../helpers/dom/dispatchEvent';
import documentFragmentToHTML from '../helpers/dom/documentFragmentToHTML';
import findUpAttribute from '../helpers/dom/findUpAttribute';
import findUpClassName from '../helpers/dom/findUpClassName';
import findUpTag from '../helpers/dom/findUpTag';
import getCaretPosNew from '../helpers/dom/getCaretPosNew';
import getRichValueWithCaret from '../helpers/dom/getRichValueWithCaret';
@ -16,8 +15,7 @@ import isInputEmpty from '../helpers/dom/isInputEmpty';
import replaceContent from '../helpers/dom/replaceContent';
import RichInputHandler, {USING_BOMS} from '../helpers/dom/richInputHandler';
import selectElementContents from '../helpers/dom/selectElementContents';
import setInnerHTML from '../helpers/dom/setInnerHTML';
import BOM from '../helpers/string/bom';
import setInnerHTML, {setDirection} from '../helpers/dom/setInnerHTML';
import {MessageEntity} from '../layer';
import {i18n, LangPackKey, _i18n} from '../lib/langPack';
import {NULL_PEER_ID} from '../lib/mtproto/mtproto_config';
@ -486,7 +484,7 @@ export default class InputField {
// input.addEventListener('input', () => checkAndSetRTL(input));
}
input.setAttribute('dir', 'auto');
setDirection(input);
if(options.inputMode) {
input.inputMode = options.inputMode;

View File

@ -9,7 +9,7 @@ import {i18n} from '../lib/langPack';
import replaceContent from '../helpers/dom/replaceContent';
import {NULL_PEER_ID} from '../lib/mtproto/mtproto_config';
import limitSymbols from '../helpers/string/limitSymbols';
import setInnerHTML from '../helpers/dom/setInnerHTML';
import setInnerHTML, {setDirection} from '../helpers/dom/setInnerHTML';
import safeAssign from '../helpers/object/safeAssign';
import wrapEmojiText from '../lib/richTextProcessor/wrapEmojiText';
import getPeerTitle from './wrappers/getPeerTitle';
@ -52,7 +52,7 @@ export default class PeerTitle {
constructor(options?: PeerTitleOptions) {
this.element = document.createElement('span');
this.element.classList.add('peer-title');
this.element.setAttribute('dir', 'auto');
setDirection(this.element);
this.options = {};

View File

@ -11,7 +11,7 @@ import {SliderSuperTab} from './slider';
import RadioForm from './radioForm';
import {i18n, LangPackKey} from '../lib/langPack';
import replaceContent from '../helpers/dom/replaceContent';
import setInnerHTML from '../helpers/dom/setInnerHTML';
import setInnerHTML, {setDirection} from '../helpers/dom/setInnerHTML';
import {attachClickEvent} from '../helpers/dom/clickEvent';
import ListenerSetter from '../helpers/listenerSetter';
import Button from './button';
@ -244,14 +244,14 @@ export default class Row {
private createTitle() {
const title = document.createElement('div');
title.classList.add('row-title');
title.setAttribute('dir', 'auto');
setDirection(title);
return title;
}
private createSubtitle() {
const subtitle = document.createElement('div');
subtitle.classList.add('row-subtitle');
subtitle.setAttribute('dir', 'auto');
setDirection(subtitle);
if(this.title) this.title.after(subtitle);
else this.container.prepend(subtitle);
this.container.classList.remove('no-subtitle');

View File

@ -211,7 +211,7 @@ export default class AppEditChatTab extends SliderSuperTab {
section.content.append(permissionsRow.container);
}
if(canManageTopics && (chat.participants_count >= appConfig.forum_upgrade_participants_min || (chat as Chat.channel).pFlags.forum)) {
if(canManageTopics && (chat.participants_count >= appConfig.forum_upgrade_participants_min || (chat as Chat.channel).pFlags.forum) && !isBroadcast) {
const topicsRow = new Row({
checkboxField: new CheckboxField({toggle: true}),
titleLangKey: 'Topics',

View File

@ -510,7 +510,9 @@ export default class AppSharedMediaTab extends SliderSuperTab {
if(this.peerId.isUser()) {
show = this.peerId !== rootScope.myId && await this.managers.appUsersManager.isContact(this.peerId.toUserId());
} else {
show = await this.managers.appChatsManager.hasRights(this.peerId.toChatId(), 'change_info');
const chatId = this.peerId.toChatId();
const isTopic = this.threadId && await this.managers.appChatsManager.isForum(chatId);
show = await this.managers.appChatsManager.hasRights(chatId, isTopic ? 'manage_topics' : 'change_info');
}
const callback = () => {

View File

@ -6,7 +6,8 @@
import Modes from './modes';
export const DEBUG = (process.env.NODE_ENV !== 'production' || Modes.debug)/* && false */;
export const IS_BETA = process.env.NODE_ENV !== 'production';
export const DEBUG = (IS_BETA || Modes.debug)/* && false */;
const ctx: any = typeof(window) !== 'undefined' ? window : self;
export const MOUNT_CLASS_TO: any = DEBUG || true/* && false */ ? ctx : {};
export default DEBUG;

View File

@ -4,8 +4,10 @@
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
// import I18n from '../../lib/langPack';
export default function setInnerHTML(elem: Element, html: string | DocumentFragment | Element) {
elem.setAttribute('dir', 'auto');
setDirection(elem);
if(typeof(html) === 'string') {
if(!html) elem.replaceChildren();
else elem.innerHTML = html;
@ -13,3 +15,9 @@ export default function setInnerHTML(elem: Element, html: string | DocumentFragm
elem.replaceChildren(html);
}
}
export function setDirection(elem: Element) {
// if(!I18n.isRTL) {
elem.setAttribute('dir', 'auto');
// }
}

View File

@ -29,6 +29,7 @@ import singleInstance from './lib/mtproto/singleInstance';
import parseUriParams from './helpers/string/parseUriParams';
import Modes from './config/modes';
import {AuthState} from './types';
import {IS_BETA} from './config/debug';
// import appNavigationController from './components/appNavigationController';
document.addEventListener('DOMContentLoaded', async() => {
@ -246,6 +247,15 @@ document.addEventListener('DOMContentLoaded', async() => {
console.log('got state, time:', performance.now() - perf);
if(langPack.lang_code === 'ar' && IS_BETA && false) {
document.body.classList.add('is-rtl');
document.documentElement.dir = 'rtl';
document.documentElement.lang = langPack.lang_code;
I18n.setRTL(true);
} else {
document.documentElement.dir = 'ltr';
}
let authState = stateResult.state.authState;
const hash = location.hash;

View File

@ -3375,7 +3375,10 @@ export class AppMessagesManager extends AppManager {
return true;
}
if(!message.pFlags.out || (
const isAnyChat = message.peerId.isAnyChat();
const canEditMessageInPeer = isAnyChat ? this.appChatsManager.hasRights(message.peerId.toChatId(), 'edit_messages') : message.pFlags.out;
if(!canEditMessageInPeer || (
message.peer_id._ !== 'peerChannel' &&
message.date < (tsNow(true) - (await this.apiManager.getConfig()).edit_time_limit) &&
(message as Message.message).media?._ !== 'messageMediaPoll'

View File

@ -53,6 +53,8 @@ export default function hasRights(chat: Exclude<Chat, Chat.chatEmpty>, action: C
// const adminFlags = adminRights?.pFlags || {};
// const bannedFlags = bannedRights?.pFlags || {};
const isAdmin = rights._ === 'chatAdminRights';
switch(action) {
case 'embed_links':
case 'send_games':
@ -86,7 +88,7 @@ export default function hasRights(chat: Exclude<Chat, Chat.chatEmpty>, action: C
}
case 'pin_messages': {
return rights._ === 'chatAdminRights' ? myFlags[action] || !!myFlags.post_messages : !myFlags[action];
return isAdmin ? myFlags[action] || !!myFlags.post_messages : !myFlags[action];
}
// case 'change_info': {
@ -95,7 +97,7 @@ export default function hasRights(chat: Exclude<Chat, Chat.chatEmpty>, action: C
case 'change_info':
case 'invite_users': {
return rights._ === 'chatAdminRights' ? !!myFlags[action] : !myFlags[action];
return isAdmin ? !!myFlags[action] : !myFlags[action];
}
// * only creator can do that
@ -104,10 +106,14 @@ export default function hasRights(chat: Exclude<Chat, Chat.chatEmpty>, action: C
return false;
}
case 'manage_topics':
case 'edit_messages':
case 'manage_topics': {
return isAdmin && !!myFlags[action];
}
case 'ban_users':
case 'change_permissions': {
return rights._ === 'chatAdminRights' && !!myFlags['ban_users'];
return isAdmin && !!myFlags['ban_users'];
}
case 'view_participants': {

View File

@ -85,6 +85,11 @@ namespace I18n {
export let lastAppliedLangCode: string;
export let requestedServerLanguage = false;
export let timeFormat: State['settings']['timeFormat'];
export let isRTL = false;
export function setRTL(rtl: boolean) {
isRTL = rtl;
}
function setLangCode(langCode: string) {
lastRequestedLangCode = langCode;

View File

@ -185,6 +185,10 @@ Utility Classes
unicode-bidi: plaintext;
}
.is-rtl [dir="auto"] {
direction: inherit;
}
/* .flex-grow {
flex-grow: 1;
}

View File

@ -57,7 +57,7 @@ $btn-menu-z-index: 4;
--translateY: calc(54px + var(--offset));
position: absolute !important;
bottom: var(--offset);
right: var(--offset);
inset-inline-end: var(--offset);
//transition: .2s ease;
transition: transform var(--btn-corner-transition) !important;
transform: translate3d(0, var(--translateY), 0);
@ -165,14 +165,18 @@ $btn-menu-z-index: 4;
}
} */
&.bottom-left {
&.bottom-left,
.is-rtl &.bottom-right {
right: 0;
left: auto;
top: 100%;
transform-origin: top right;
}
&.bottom-right {
&.bottom-right,
.is-rtl &.bottom-left {
left: 0;
right: auto;
top: 100%;
transform-origin: top left;
}
@ -184,13 +188,16 @@ $btn-menu-z-index: 4;
&.top-left {
top: initial;
right: 0;
left: auto;
bottom: 100%;
transform-origin: bottom right;
}
&.top-right {
&.top-right,
.is-rtl &.top-left {
top: initial;
left: 0;
right: auto;
bottom: 100%;
transform-origin: bottom left;
}
@ -225,11 +232,11 @@ $btn-menu-z-index: 4;
// overflow: hidden;
// text-overflow: ellipsis;
align-items: center;
text-align: left;
text-align: start;
font-size: var(--font-size-14);
line-height: var(--line-height-14);
border-radius: .3125rem;
margin: 0 .3125rem;
margin-inline: .3125rem;
font-weight: 500;
transform: scale(1);
@ -261,7 +268,7 @@ $btn-menu-z-index: 4;
&-icon,
&:before {
margin-right: var(--icon-margin);
margin-inline-end: var(--icon-margin);
position: relative;
}
@ -271,8 +278,8 @@ $btn-menu-z-index: 4;
flex: 0 0 auto;
width: var(--total);
height: var(--total);
margin-right: calc(var(--icon-margin) - var(--add) / 2);
margin-left: calc(var(--add) / -2);
margin-inline-end: calc(var(--icon-margin) - var(--add) / 2);
margin-inline-start: calc(var(--add) / -2);
.media-photo {
width: inherit;
@ -297,7 +304,7 @@ $btn-menu-z-index: 4;
&-fake {
--margin-left: calc(var(--icon-size) + var(--icon-margin));
position: absolute;
margin-left: var(--margin-left);
margin-inline-start: var(--margin-left);
max-width: calc(100% - var(--margin-left) - var(--padding-left) - var(--padding-right));
@include text-overflow();
@ -319,7 +326,7 @@ $btn-menu-z-index: 4;
.stacked-avatars {
--margin-right: -.6875rem;
flex: 0 0 auto;
right: .5rem;
inset-inline-end: .5rem;
// margin-right: -1.5rem;
// margin-left: 1rem;
position: absolute;
@ -440,7 +447,7 @@ $btn-menu-z-index: 4;
margin-top: var(--menu-offset);
width: var(--width);
max-width: var(--width);
margin-left: var(--other-side-offset);
margin-inline-start: var(--other-side-offset);
// left: var(--bubble-side-offset);
display: flex;
// justify-content: flex-end;
@ -471,7 +478,7 @@ $btn-menu-z-index: 4;
max-height: var(--width);
flex-direction: column;
margin-top: 0;
margin-left: var(--menu-offset);
margin-inline-start: var(--menu-offset);
.btn-menu-reactions {
--inner-shadow-degree: 180deg;
@ -656,7 +663,7 @@ $btn-menu-z-index: 4;
> svg,
use {
height: calc(100% - 20px);
right: 15px;
inset-inline-end: 15px;
left: auto;
}
@ -671,14 +678,14 @@ $btn-menu-z-index: 4;
height: 2.5rem;
line-height: 2.5rem;
align-items: center;
padding-inline: .75rem 1.5rem;
margin: .9375rem auto 1rem;
border-radius: 1.25rem;
padding: 0 1.5rem 0 .75rem;
display: flex;
&.tgico:before {
font-size: 1.5rem;
margin-right: .375rem;
margin-inline-end: .375rem;
}
}
@ -713,15 +720,15 @@ $btn-menu-z-index: 4;
&:before {
color: var(--secondary-text-color);
font-size: 1.5rem;
margin-right: 2rem;
margin-inline-end: 2rem;
@include respond-to(handhelds) {
margin-right: 1.5rem;
margin-inline-end: 1.5rem;
}
}
&.btn-short:before {
margin-right: 1rem;
margin-inline-end: 1rem;
}
}
@ -843,7 +850,7 @@ $btn-menu-z-index: 4;
& + &,
&-container + &-container {
margin-left: var(--call-button-margin);
margin-inline-start: var(--call-button-margin);
}
}
@ -881,5 +888,5 @@ $btn-menu-z-index: 4;
font-weight: var(--font-weight-bold);
/* margin-right: calc(var(--size) + 0.5rem); */
/* left: var(--offset); */
right: auto;
inset-inline-end: auto;
}

View File

@ -182,7 +182,7 @@ ul.chatlist {
content: $tgico-nosound;
color: var(--chatlist-pinned-color);
font-size: 1.125rem;
margin-left: .125rem;
margin-inline-start: .125rem;
}
}
@ -221,7 +221,7 @@ ul.chatlist {
.row-title .topic-icon {
--size: 1.375rem;
margin-right: .25rem;
margin-inline-end: .25rem;
}
// ! IT IS IMPORTANT, OVERFLOW DOESN'T WORK WITH display: inline-flex;
@ -342,18 +342,18 @@ ul.chatlist {
font-size: .75rem;
padding: 1px 0px 0px 0px;
flex: 0 0 auto;
margin-left: .5rem;
margin-inline-start: .5rem;
}
}
&-subtitle {
&-badge {
display: block !important;
margin-left: .5rem;
margin-inline-start: .5rem;
flex: 0 0 auto;
/* &:not(:empty), &.tgico-pinnedchat {
margin-left: .5rem;
margin-inline-start: .5rem;
} */
/* &.unread {
@ -381,7 +381,7 @@ ul.chatlist {
position: relative;
flex: 0 0 auto;
border-radius: .25rem;
margin-right: 0.375rem;
margin-inline-end: 0.375rem;
display: inline-block;
&:before {
@ -490,7 +490,7 @@ ul.chatlist {
}
.message-status {
margin-right: 0.125rem;
margin-inline-end: 0.125rem;
display: inline-block;
vertical-align: middle;
color: var(--chatlist-status-color);
@ -547,7 +547,7 @@ ul.chatlist {
}
.mention-badge {
margin-right: -.125rem;
margin-inline-end: -.125rem;
}
/* .tgico-mention {

View File

@ -48,7 +48,7 @@
position: absolute;
color: $placeholder-color;
top: 0;
left: 1rem;
inset-inline-start: 1rem;
right: auto;
z-index: 2;
height: 1.5rem;
@ -322,14 +322,12 @@ input:focus, button:focus {
.input-search {
position: relative;
width: 100%;
//Vozmojno nado budet vernut margin-left: 22px;, tak kak eto vrode v levom bare tak po verstke, a v pravom bare dlya mobili nado 16, gde stiker seti
margin-left: .4375rem;
margin-right: .4375rem;
margin-inline: .4375rem;
overflow: hidden;
--border-radius: 22px;
@include respond-to(handhelds) {
margin-left: 1rem;
margin-inline-start: 1rem;
}
&-input {
@ -382,39 +380,39 @@ input:focus, button:focus {
top: 50%;
transform: translate(0, -50%);
text-align: center;
font-size: 24px;
font-size: 1.5rem;
color: var(--secondary-text-color);
opacity: .6;
line-height: 1;
z-index: 1;
@include animation-level(2) {
transition: opacity .2s ease-out, color .2s ease-out;
}
}
> .tgico-search {
width: 24px;
height: 24px;
left: .8125rem;
width: 1.5rem;
height: 1.5rem;
inset-inline-start: .8125rem;
pointer-events: none;
}
> .tgico-close {
right: 0px;
inset-inline-end: 0px;
z-index: 1;
width: 42px;
height: 42px;
&:before { // ! я сгорел, почему-то здесь иконка сдвигается на пиксель влево, и это происходит из-за position: absolute на .tgico ...
margin-right: -1px;
margin-inline-end: -1px;
}
}
}
.input-field-password {
.input-field-input {
padding-right: 2.5rem;
padding-inline-end: 2.5rem;
max-height: var(--height);
&[type="password"] {

View File

@ -94,7 +94,7 @@
}
.badge {
margin-left: 5px;
margin-inline-start: 5px;
//line-height: inherit !important;
}
@ -144,10 +144,10 @@
/* .folders-tabs-scrollable {
.menu-horizontal-div-item:first-child {
margin-left: .6875rem;
margin-inline-start: .6875rem;
@include respond-to(handhelds) {
margin-left: .1875rem;
margin-inline-start: .1875rem;
}
}
} */
@ -159,7 +159,7 @@
.input-search {
/* &-input {
--paddingLeft: 0px;
padding-left: calc(42px - var(--border-width) + var(--paddingLeft));
padding-inline-start: calc(42px - var(--border-width) + var(--paddingLeft));
} */
.selector-user {
@ -168,13 +168,13 @@
left: 6px;
top: 6px;
z-index: 1;
margin-left: 0;
margin-inline-start: 0;
line-height: 1.875rem;
}
&.is-picked {
.input-search-input {
padding-left: calc(var(--paddingLeft) + 12px - var(--border-width));
padding-inline-start: calc(var(--paddingLeft) + 12px - var(--border-width));
}
.tgico-close {
@ -195,10 +195,10 @@
.search-helper {
display: flex;
margin-left: 28px;
margin-inline-start: 28px;
@include respond-to(handhelds) {
margin-left: 20px;
margin-inline-start: 20px;
}
.selector-user {
@ -325,7 +325,7 @@
.archived-count {
justify-self: flex-end;
margin-left: .625rem;
margin-inline-start: .625rem;
@include respond-to(handhelds) {
font-weight: 600;
@ -333,7 +333,7 @@
}
.btn-menu-item {
padding-right: .375rem;
padding-inline-end: .375rem;
}
.archived-count:empty {
@ -399,7 +399,7 @@
position: relative;
@include respond-to(handhelds) {
margin-left: -7px;
margin-inline-start: -7px;
margin-top: 4px;
}
@ -493,7 +493,7 @@
color: #2e3939;
align-self: center;
cursor: default;
padding-left: 4.5rem;
padding-inline-start: 4.5rem;
text-align: left;
height: 3.5rem;
@ -576,9 +576,9 @@
.caption {
font-size: .875rem;
margin-top: 14px;
margin-left: 23px;
margin-inline-start: 23px;
color: var(--secondary-text-color);
padding-right: 24px;
padding-inline-end: 24px;
}
}
@ -742,7 +742,7 @@
}
[type="checkbox"] + span {
padding-left: 26px;
padding-inline-start: 26px;
}
}
}
@ -1213,7 +1213,7 @@
padding: 0 1.0625rem 0 .8125rem;
&:before {
margin-right: .625rem;
margin-inline-end: .625rem;
}
}

View File

@ -11,7 +11,8 @@ $row-border-radius: $border-radius-medium;
.row {
min-height: 3.5rem;
position: relative;
padding: .4375rem 1rem;
padding-block: .4375rem;
padding-inline: 1rem;
display: flex;
flex-direction: column;
justify-content: center;
@ -50,7 +51,8 @@ $row-border-radius: $border-radius-medium;
&-big {
min-height: 4.5rem;
padding: .5625rem .75rem .5625rem 1rem;
padding-block: .5625rem;
padding-inline: 1rem .75rem;
}
&-row {
@ -93,7 +95,7 @@ $row-border-radius: $border-radius-medium;
&-title-right,
&-subtitle-right {
flex: 0 0 auto !important;
margin-left: 1rem;
margin-inline-start: 1rem;
}
&-title,
@ -110,15 +112,15 @@ $row-border-radius: $border-radius-medium;
}
&-with-padding {
padding-left: 4.5rem;
padding-inline-start: 4.5rem;
@include respond-to(handhelds) {
padding-left: 4rem;
padding-inline-start: 4rem;
}
/* .row-title */&.tgico:before {
position: absolute;
left: 1rem;
inset-inline-start: 1rem;
font-size: 1.5rem;
color: var(--secondary-text-color);
pointer-events: none;
@ -150,7 +152,7 @@ $row-border-radius: $border-radius-medium;
&-sortable {
.row-title,
.row-subtitle {
padding-right: 2.5rem;
padding-inline-end: 2.5rem;
}
&-icon {
@ -161,7 +163,7 @@ $row-border-radius: $border-radius-medium;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: .75rem;
inset-inline-end: .75rem;
pointer-events: none;
}
@ -200,8 +202,8 @@ $row-border-radius: $border-radius-medium;
.radio-field-main,
.checkbox-field {
padding-left: 3.375rem;
margin-left: -3.375rem;
padding-inline-start: 3.375rem;
margin-inline-start: -3.375rem;
}
.radio-field,
@ -222,18 +224,18 @@ $row-border-radius: $border-radius-medium;
.checkbox-field {
margin-top: 0;
margin-right: 0;
margin-inline-end: 0;
margin-bottom: 0;
height: auto;
.checkbox-caption {
padding-left: 0;
padding-inline-start: 0;
@include text-overflow(true);
}
&-toggle {
margin: 0 .125rem;
margin-inline: .125rem .125rem;
padding: 0;
}
}
@ -254,7 +256,7 @@ $row-border-radius: $border-radius-medium;
height: 2.25rem !important;
position: absolute !important;
margin: 0 !important;
left: .75rem;
inset-inline-start: .75rem;
display: flex;
align-items: center;
justify-content: center;
@ -263,25 +265,25 @@ $row-border-radius: $border-radius-medium;
&-small {
width: 2rem !important;
height: 2rem !important;
left: .75rem !important;
inset-inline-start: .75rem !important;
}
&-abitbigger {
width: 2.625rem !important;
height: 2.625rem !important;
left: .75rem !important;
inset-inline-start: .75rem !important;
}
&-big {
width: 3rem !important;
height: 3rem !important;
left: .5rem !important;
inset-inline-start: .5rem !important;
}
&-bigger {
width: 3.375rem !important;
height: 3.375rem !important;
left: .5625rem !important; // it's wrong but old chatlist has it
inset-inline-start: .5625rem !important; // it's wrong but old chatlist has it
}
}
@ -291,12 +293,12 @@ $row-border-radius: $border-radius-medium;
> .btn-primary {
height: 1.875rem;
padding: 0 .75rem;
padding-inline: .75rem;
font-size: .9375rem;
width: auto;
margin: 0;
position: absolute;
right: 1rem;
inset-inline-end: 1rem;
top: 50%;
transform: translateY(-50%);
border-radius: .9375rem;

View File

@ -10,7 +10,7 @@
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 1rem;
padding-inline: 1rem;
min-height: 3.5rem;
flex: 0 0 auto;
user-select: none;
@ -21,7 +21,7 @@
}
@include respond-to(handhelds) {
padding: 0 .5rem;
padding-inline: .5rem;
}
/* //position: sticky !important;
@ -32,13 +32,13 @@
&__title {
flex: 1;
font-weight: var(--font-weight-bold);
padding-left: 1.5rem;
padding-inline-start: 1.5rem;
font-size: 1.25rem;
color: var(--primary-text-color);
}
.btn-icon + .btn-icon {
margin-left: .5rem;
margin-inline-start: .5rem;
}
&-right {

View File

@ -936,7 +936,7 @@ b {
.phone-edit {
width: 1.5rem;
height: 1.5rem;
margin-left: .4rem;
margin-inline-start: .4rem;
opacity: .5;
transition: .2s opacity;
cursor: pointer;
@ -969,11 +969,11 @@ not screen and ( min-resolution: 192dpi),
not screen and ( min-resolution: 2dppx) {
html:not(.is-safari) {
span.emoji {
margin-right: 5px !important;
margin-inline-end: 5px !important;
}
avatar-element span.emoji {
margin-right: 0 !important;
margin-inline-end: 0 !important;
}
}
}
@ -1087,7 +1087,7 @@ img.emoji {
}
/* &:nth-child(5n+5) {
margin-right: 0;
margin-inline-end: 0;
} */
/* > img, > .rlottie {
@ -1132,13 +1132,12 @@ img.emoji {
position: relative;
@include respond-to(not-handhelds) {
padding-left: 8px;
padding-inline-start: 8px;
}
.tgico-down {
float: left;
padding-right: 32px;
padding-left: 16px;
padding-inline: 1rem 2rem;
font-size: 24px;
color: var(--secondary-text-color);
}
@ -1504,8 +1503,9 @@ middle-ellipsis-element {
padding: 0 .375rem;
background-color: var(--message-highlightning-color) !important;
&:before, &:after {
margin-left: .25rem;
&:before,
&:after {
margin-inline-start: .25rem;
}
}
@ -1671,7 +1671,7 @@ hr {
.super-emoji {
display: inline-block;
margin: 0 .0625rem;
margin-inline: .0625rem;
padding: .25rem;
line-height: inherit;
border-radius: $border-radius;
@ -1844,7 +1844,7 @@ hr {
display: flex;
align-items: center;
justify-content: center;
margin-left: .125rem;
margin-inline-start: .125rem;
width: 1.25rem;
height: 1.25rem;
}
@ -1853,7 +1853,7 @@ hr {
position: relative;
width: 1.125rem;
height: 1.125rem;
margin-left: .25rem;
margin-inline-start: .25rem;
}
.premium-icon {
@ -1870,7 +1870,7 @@ hr {
font-size: .625rem;
font-weight: var(--font-weight-bold);
line-height: 1 !important;
margin: 0 .25rem;
margin-inline: .25rem .25rem;
}
.peer-title {
@ -2005,7 +2005,7 @@ hr {
.chatlist-chat {
&.row-with-padding {
padding-left: 4.5rem !important;
padding-inline-start: 4.5rem !important;
}
span {