some fixes
This commit is contained in:
parent
f5e7f64077
commit
258057b3d7
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = {};
|
||||
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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 = () => {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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');
|
||||
// }
|
||||
}
|
||||
|
|
10
src/index.ts
10
src/index.ts
|
@ -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;
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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': {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -185,6 +185,10 @@ Utility Classes
|
|||
unicode-bidi: plaintext;
|
||||
}
|
||||
|
||||
.is-rtl [dir="auto"] {
|
||||
direction: inherit;
|
||||
}
|
||||
|
||||
/* .flex-grow {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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"] {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue