Compare commits

...

10 Commits

Author SHA1 Message Date
2879188020 Add local sponsored message hiding and message filter engine
- MessageList: gate loadSponsoredMessages and canShowAds on hideSponsoredMessages
- messageFilters util: keyword/regex/media-type/sender/chat rules with compiled regex cache
- shouldHideMessageByRules inserted in listedMessages useMemo, skips action messages
- reversed and caseInsensitive fields supported per AyuGram filter model
2026-06-11 22:15:50 -04:00
32153e86de Add AyuLike settings types and initial state
Introduce MessageFilterRule, AyuLikeSettings interfaces in SharedSettings.
Default: hideSponsoredMessages=true, messageFilters=[].
Cache migration covers both cold-start and upgrade paths.
2026-06-11 22:15:41 -04:00
Alexander Zinchuk
560a29b619 [Build] 2026-06-01 02:06:10 +02:00
Alexander Zinchuk
2198017bdc Active Sessions: Move logout button at the bottom (#6975) 2026-06-01 01:16:20 +02:00
Alexander Zinchuk
ac713094f8 Ai Tone Editor: Support custom AI tone editing (#6965) 2026-06-01 01:16:17 +02:00
Alexander Zinchuk
d82240b06c Redesign: Follow Up (#6966) 2026-06-01 01:16:15 +02:00
zubiden
8edd3fe4ba Message List: Update behaviour (#6969) 2026-06-01 01:16:12 +02:00
zubiden
1162804e9d Story: Fix handling forwards from deleted channels (#6972) 2026-06-01 01:16:09 +02:00
Alexander Zinchuk
328943d254 Forward Modal: Fix order for forum topics in Forward Modal (#6970) 2026-06-01 01:16:06 +02:00
zubiden
d7082efd93 Topics: Fix loading after refresh (#6967) 2026-06-01 01:16:04 +02:00
172 changed files with 2440 additions and 643 deletions

2
dist/1862.4470e79ddfa92320d6aa.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/1862.4470e79ddfa92320d6aa.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/2394.e76fd42127fb4a232173.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/2859.85d5c3d17ac8a2bc3fd7.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/2859.85d5c3d17ac8a2bc3fd7.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/4765.f85b0627ac5f70030c72.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/4765.f85b0627ac5f70030c72.js.map vendored Normal file

File diff suppressed because one or more lines are too long

3
dist/4810.0214dc1764c1b5a3a1e2.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/4810.0214dc1764c1b5a3a1e2.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/4810.0214dc1764c1b5a3a1e2.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/6010.afc5efc74deef1a0d7f3.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/6010.afc5efc74deef1a0d7f3.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/695.3d5b4232e52c32f5aea3.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/7768.2c8ec989ea1680c7ee7c.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/7768.2c8ec989ea1680c7ee7c.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,15 +2,16 @@
.Z9JWyzAs{--glow-color: transparent;position:relative}.Z9JWyzAs::before{pointer-events:none;content:"";position:absolute;z-index:-1;inset:-25%;background-image:radial-gradient(circle closest-side, var(--glow-color) 0%, transparent 100%)}.fQBp2vKr{position:absolute;inset:-0.25rem} .Z9JWyzAs{--glow-color: transparent;position:relative}.Z9JWyzAs::before{pointer-events:none;content:"";position:absolute;z-index:-1;inset:-25%;background-image:radial-gradient(circle closest-side, var(--glow-color) 0%, transparent 100%)}.fQBp2vKr{position:absolute;inset:-0.25rem}
.VerifiedIcon{--color-fill: var(--color-primary);--color-checkmark: #fff;display:inline-block;flex-shrink:0;width:1.25em;height:1.25em} .VerifiedIcon{--color-fill: var(--color-primary);--color-checkmark: #fff;display:inline-block;flex-shrink:0;width:1.25em;height:1.25em}
.QljEeKI5{--_status-size: 1.25rem;display:flex !important;gap:.25rem;align-items:center}.QljEeKI5 .KBZgFSv7{width:var(--_status-size) !important;height:var(--_status-size) !important}.AS54Cntu{overflow:hidden;margin-bottom:0;font-size:1em;text-overflow:ellipsis;white-space:nowrap}.AS54Cntu.vr53L_9p{pointer-events:all}.xmVxyvNy{display:flex;align-items:center}.Sdwfc851{padding:.125rem .25rem;border-radius:.25rem;font-size:.625rem;font-weight:500;line-height:1;color:var(--color-white);background-color:var(--color-gray)}.z1sLOAjr{color:var(--color-primary)}.z1sLOAjr .statusSparkles{color:var(--accent-color)}.selected .z1sLOAjr .statusSparkles{color:#fff} .QljEeKI5{--_status-size: 1.25rem;display:flex !important;gap:.25rem;align-items:center}.QljEeKI5 .KBZgFSv7{width:var(--_status-size) !important;height:var(--_status-size) !important}.AS54Cntu{overflow:hidden;margin-bottom:0;font-size:1em;text-overflow:ellipsis;white-space:nowrap}.AS54Cntu.vr53L_9p{pointer-events:all}.xmVxyvNy{display:flex;align-items:center}.Sdwfc851{padding:.125rem .25rem;border-radius:.25rem;font-size:.625rem;font-weight:500;line-height:1;color:var(--color-white);background-color:var(--color-gray)}.z1sLOAjr{color:var(--color-primary)}.z1sLOAjr .statusSparkles{color:var(--accent-color)}.selected .z1sLOAjr .statusSparkles{color:#fff}
._Lq6_4e5{cursor:var(--custom-cursor, pointer);position:relative;display:flex;flex-shrink:1;align-items:center;min-width:0;height:var(--chip-size, 2rem);margin-inline:.25rem;padding-right:.75rem;border-radius:1rem;background:var(--color-chat-hover);transition:background-color .15s ease}._Lq6_4e5.UhOZvxvs{padding-right:0}._Lq6_4e5:hover{background-color:var(--color-item-active)}._Lq6_4e5.uvvgSFUJ:hover{background-color:rgba(var(--color-error-rgb), 0.16)}._Lq6_4e5.uvvgSFUJ:hover .xVPG2UTy{opacity:1}._Lq6_4e5.fAk5yEeV .xVPG2UTy{background:var(--color-primary)}._Lq6_4e5.fAk5yEeV:hover{background:var(--color-chat-hover)}._Lq6_4e5.P8r3OoaX{cursor:default}._Lq6_4e5.BnD6tlio{margin-inline:0;border-radius:1.4375rem}._Lq6_4e5 .La8BQ9yr,._Lq6_4e5 .NtoGLT22{flex-shrink:0;width:var(--chip-size, 2rem);height:var(--chip-size, 2rem);opacity:1;transition:opacity .15s ease}._Lq6_4e5 .NtoGLT22{display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:50%;color:#fff;background-color:var(--color-primary)}._Lq6_4e5 .NtoGLT22 .f91Ad80i{position:relative;top:-1px;font-size:1.25rem}._Lq6_4e5 .XPVuH29G{min-width:0;margin-left:.5rem;text-overflow:ellipsis;white-space:nowrap}._Lq6_4e5 .XPVuH29G .emoji.emoji-small{width:1.125rem;height:1.125rem;vertical-align:-4px;background-size:1.125rem}._Lq6_4e5 .xVPG2UTy{position:absolute;z-index:1;top:0;left:0;display:flex;align-items:center;justify-content:center;width:var(--chip-size, 2rem);height:var(--chip-size, 2rem);border-radius:50%;font-size:1.5rem;color:#fff;opacity:0;background-color:var(--color-error);transition:opacity .15s ease}._Lq6_4e5.JIHfTUVn{--border-radius-forum-avatar: 0.625rem;border-radius:.625rem}._Lq6_4e5.JIHfTUVn .xVPG2UTy{border-radius:.625rem}._Lq6_4e5[dir=rtl]{padding-right:0;padding-left:1rem}._Lq6_4e5[dir=rtl].UhOZvxvs{padding-right:0;padding-left:0}._Lq6_4e5[dir=rtl] .XPVuH29G{margin-right:.5rem;margin-left:0}._Lq6_4e5[dir=rtl] .xVPG2UTy{right:0;left:auto}
.kXs18Nmi{--_size: 0px;--half-size: calc(var(--_size) / 2);--spacing: calc(var(--_size) * 0.4);--spacing-gap: calc(var(--_size) * 0.04);position:relative;display:flex}.XND8fhC1{--radius: calc(var(--half-size) + var(--spacing-gap));margin-inline-start:calc(var(--spacing-gap) - var(--spacing));-webkit-mask:radial-gradient(circle var(--radius) at var(--offset) 50%, transparent 99%, #fff 100%);mask:radial-gradient(circle var(--radius) at var(--offset) 50%, transparent 99%, #fff 100%)}.XND8fhC1:first-child{margin-inline-start:0;-webkit-mask:none;mask:none}.kXs18Nmi[dir=ltr] .XND8fhC1{--offset: calc(0% - var(--half-size) + var(--spacing))}.kXs18Nmi[dir=rtl] .XND8fhC1{--offset: calc(100% + var(--half-size) - var(--spacing))}.SHyAyGFO{position:absolute;right:-1px;bottom:-1px;padding:0rem .25rem;border:1px solid var(--color-background);border-radius:1rem;font-size:.75rem;font-weight:var(--font-weight-medium);line-height:1rem;color:var(--color-white);background-color:var(--color-primary)} .kXs18Nmi{--_size: 0px;--half-size: calc(var(--_size) / 2);--spacing: calc(var(--_size) * 0.4);--spacing-gap: calc(var(--_size) * 0.04);position:relative;display:flex}.XND8fhC1{--radius: calc(var(--half-size) + var(--spacing-gap));margin-inline-start:calc(var(--spacing-gap) - var(--spacing));-webkit-mask:radial-gradient(circle var(--radius) at var(--offset) 50%, transparent 99%, #fff 100%);mask:radial-gradient(circle var(--radius) at var(--offset) 50%, transparent 99%, #fff 100%)}.XND8fhC1:first-child{margin-inline-start:0;-webkit-mask:none;mask:none}.kXs18Nmi[dir=ltr] .XND8fhC1{--offset: calc(0% - var(--half-size) + var(--spacing))}.kXs18Nmi[dir=rtl] .XND8fhC1{--offset: calc(100% + var(--half-size) - var(--spacing))}.SHyAyGFO{position:absolute;right:-1px;bottom:-1px;padding:0rem .25rem;border:1px solid var(--color-background);border-radius:1rem;font-size:.75rem;font-weight:var(--font-weight-medium);line-height:1rem;color:var(--color-white);background-color:var(--color-primary)}
.hJUqHi4B{padding:.25rem .5rem;border-radius:1em;font-size:.75rem;line-height:1;color:var(--accent-color);background-color:var(--accent-background-active-color);filter:brightness(1);transition:150ms filter ease-in}.NsnFJjzu{color:rgba(var(--color-text-meta-rgb), 0.75);background-color:rgba(0,0,0,0)}.hjDEmFaT{cursor:var(--custom-cursor, pointer)}.hjDEmFaT:hover{filter:brightness(1.1)}.jNZTCgu2{display:inline} .hJUqHi4B{padding:.25rem .5rem;border-radius:1em;font-size:.75rem;line-height:1;color:var(--accent-color);background-color:var(--accent-background-active-color);filter:brightness(1);transition:150ms filter ease-in}.NsnFJjzu{color:rgba(var(--color-text-meta-rgb), 0.75);background-color:rgba(0,0,0,0)}.hjDEmFaT{cursor:var(--custom-cursor, pointer)}.hjDEmFaT:hover{filter:brightness(1.1)}.jNZTCgu2{display:inline}
._Lq6_4e5{cursor:var(--custom-cursor, pointer);position:relative;display:flex;flex-shrink:1;align-items:center;min-width:0;height:var(--chip-size, 2rem);margin-inline:.25rem;padding-right:.75rem;border-radius:1rem;background:var(--color-chat-hover);transition:background-color .15s ease}._Lq6_4e5.UhOZvxvs{padding-right:0}._Lq6_4e5:hover{background-color:var(--color-item-active)}._Lq6_4e5.uvvgSFUJ:hover{background-color:rgba(var(--color-error-rgb), 0.16)}._Lq6_4e5.uvvgSFUJ:hover .xVPG2UTy{opacity:1}._Lq6_4e5.fAk5yEeV .xVPG2UTy{background:var(--color-primary)}._Lq6_4e5.fAk5yEeV:hover{background:var(--color-chat-hover)}._Lq6_4e5.P8r3OoaX{cursor:default}._Lq6_4e5.BnD6tlio{margin-inline:0;border-radius:1.4375rem}._Lq6_4e5 .La8BQ9yr,._Lq6_4e5 .NtoGLT22{flex-shrink:0;width:var(--chip-size, 2rem);height:var(--chip-size, 2rem);opacity:1;transition:opacity .15s ease}._Lq6_4e5 .NtoGLT22{display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:50%;color:#fff;background-color:var(--color-primary)}._Lq6_4e5 .NtoGLT22 .f91Ad80i{position:relative;top:-1px;font-size:1.25rem}._Lq6_4e5 .XPVuH29G{min-width:0;margin-left:.5rem;text-overflow:ellipsis;white-space:nowrap}._Lq6_4e5 .XPVuH29G .emoji.emoji-small{width:1.125rem;height:1.125rem;vertical-align:-4px;background-size:1.125rem}._Lq6_4e5 .xVPG2UTy{position:absolute;z-index:1;top:0;left:0;display:flex;align-items:center;justify-content:center;width:var(--chip-size, 2rem);height:var(--chip-size, 2rem);border-radius:50%;font-size:1.5rem;color:#fff;opacity:0;background-color:var(--color-error);transition:opacity .15s ease}._Lq6_4e5.JIHfTUVn{--border-radius-forum-avatar: 0.625rem;border-radius:.625rem}._Lq6_4e5.JIHfTUVn .xVPG2UTy{border-radius:.625rem}._Lq6_4e5[dir=rtl]{padding-right:0;padding-left:1rem}._Lq6_4e5[dir=rtl].UhOZvxvs{padding-right:0;padding-left:0}._Lq6_4e5[dir=rtl] .XPVuH29G{margin-right:.5rem;margin-left:0}._Lq6_4e5[dir=rtl] .xVPG2UTy{right:0;left:auto}
.aInga6VW{position:absolute;z-index:10}.PZAuNVZH{--custom-emoji-size: var(--particle-size, 1rem);position:absolute;offset-path:var(--offset-path);offset-rotate:0deg;width:var(--particle-size, 1rem);height:var(--particle-size, 1rem);border-radius:.25rem;color:var(--color-primary);animation:1.5s PZAuNVZH ease-out;animation-fill-mode:forwards}@keyframes PZAuNVZH{0%{transform:scale(1);offset-distance:0%}50%{transform:scale(1.25)}75%{opacity:1}100%{transform:scale(1);offset-distance:100%;opacity:0}} .aInga6VW{position:absolute;z-index:10}.PZAuNVZH{--custom-emoji-size: var(--particle-size, 1rem);position:absolute;offset-path:var(--offset-path);offset-rotate:0deg;width:var(--particle-size, 1rem);height:var(--particle-size, 1rem);border-radius:.25rem;color:var(--color-primary);animation:1.5s PZAuNVZH ease-out;animation-fill-mode:forwards}@keyframes PZAuNVZH{0%{transform:scale(1);offset-distance:0%}50%{transform:scale(1.25)}75%{opacity:1}100%{transform:scale(1);offset-distance:100%;opacity:0}}
.qF2WgYVg{--click-shift-x: 0px;--click-shift-y: 0px;position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-text-secondary)}.pNM3cgkY.closing{-webkit-mask-image:url(mask.c474db1e76529489b940.svg),linear-gradient(#ffffff, #ffffff);mask-image:url(mask.c474db1e76529489b940.svg),linear-gradient(#ffffff, #ffffff);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y)),center center;mask-position:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y)),center center;-webkit-mask-size:0%;mask-size:0%;-webkit-mask-composite:destination-out;mask-composite:exclude}body:not(.no-page-transitions) .pNM3cgkY.closing{animation:500ms ease-in WiW38HGg forwards}.pNM3cgkY.closing .XBor45hE{transform:scale(1.2)}.eULqS2yR{display:block;width:100%;height:100%;object-fit:cover}.FJGQoa6s{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;gap:.25rem;align-items:center;padding:.125rem .5rem;border-radius:1rem;color:#fff;background-color:rgba(0,0,0,.25)}.Y7JVRkxJ{font-size:1.25rem}.XBor45hE{--x-direction: var(--background-size);--y-direction: 0;--background-url: url(turbulence_1x.29559632f446607390d2.png);--background-size: 256px;position:absolute;top:0;left:0;transform-origin:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y));width:100%;height:100%;background:rgba(0,0,0,.25) var(--background-url);background-size:var(--background-size) var(--background-size);transition:transform 500ms ease-in}.XBor45hE::before{--x-direction: 0;--y-direction: var(--background-size);content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--background-url);background-position:calc(var(--x-direction)/2) calc(var(--y-direction)/2);background-size:var(--background-size) var(--background-size);animation:2s linear -0.8s infinite sW9ega1D}.XBor45hE::after{--x-direction: calc(-1 * var(--background-size));--y-direction: calc(-1 * var(--background-size));content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--background-url);background-position:calc(var(--x-direction)/2) calc(var(--y-direction)/2);background-size:var(--background-size) var(--background-size);animation:2s linear -1.5s infinite sW9ega1D}@media(-webkit-min-device-pixel-ratio: 2){.XBor45hE{--background-url: url(turbulence_2x.e41db87f55d18f1c8d43.png)}}@media(-webkit-min-device-pixel-ratio: 3){.XBor45hE{--background-url: url(turbulence_3x.6570f80327858cc09a2b.png)}}body:not(.no-page-transitions) .XBor45hE{animation:20s linear infinite;animation-name:mAAEjSPE}body:not(.no-page-transitions) .XBor45hE::before{animation:21s linear -7s infinite;animation-name:mAAEjSPE}body:not(.no-page-transitions) .XBor45hE::after{animation:22s linear -14s infinite;animation-name:mAAEjSPE}body.in-background .XBor45hE,body.in-background .XBor45hE::before,body.in-background .XBor45hE::after{animation-play-state:paused}@keyframes mAAEjSPE{0%{background-position:0 0}100%{background-position:var(--x-direction) var(--y-direction)}}@keyframes WiW38HGg{0%{-webkit-mask-size:0%,100%;mask-size:0%,100%}100%{-webkit-mask-size:350%,100%;mask-size:350%,100%}}@keyframes sW9ega1D{0%{opacity:1}50%{opacity:.1}100%{opacity:1}} .qF2WgYVg{--click-shift-x: 0px;--click-shift-y: 0px;position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-text-secondary)}.pNM3cgkY.closing{-webkit-mask-image:url(mask.c474db1e76529489b940.svg),linear-gradient(#ffffff, #ffffff);mask-image:url(mask.c474db1e76529489b940.svg),linear-gradient(#ffffff, #ffffff);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y)),center center;mask-position:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y)),center center;-webkit-mask-size:0%;mask-size:0%;-webkit-mask-composite:destination-out;mask-composite:exclude}body:not(.no-page-transitions) .pNM3cgkY.closing{animation:500ms ease-in WiW38HGg forwards}.pNM3cgkY.closing .XBor45hE{transform:scale(1.2)}.eULqS2yR{display:block;width:100%;height:100%;object-fit:cover}.FJGQoa6s{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;gap:.25rem;align-items:center;padding:.125rem .5rem;border-radius:1rem;color:#fff;background-color:rgba(0,0,0,.25)}.Y7JVRkxJ{font-size:1.25rem}.XBor45hE{--x-direction: var(--background-size);--y-direction: 0;--background-url: url(turbulence_1x.29559632f446607390d2.png);--background-size: 256px;position:absolute;top:0;left:0;transform-origin:calc(50% + var(--click-shift-x)) calc(50% + var(--click-shift-y));width:100%;height:100%;background:rgba(0,0,0,.25) var(--background-url);background-size:var(--background-size) var(--background-size);transition:transform 500ms ease-in}.XBor45hE::before{--x-direction: 0;--y-direction: var(--background-size);content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--background-url);background-position:calc(var(--x-direction)/2) calc(var(--y-direction)/2);background-size:var(--background-size) var(--background-size);animation:2s linear -0.8s infinite sW9ega1D}.XBor45hE::after{--x-direction: calc(-1 * var(--background-size));--y-direction: calc(-1 * var(--background-size));content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--background-url);background-position:calc(var(--x-direction)/2) calc(var(--y-direction)/2);background-size:var(--background-size) var(--background-size);animation:2s linear -1.5s infinite sW9ega1D}@media(-webkit-min-device-pixel-ratio: 2){.XBor45hE{--background-url: url(turbulence_2x.e41db87f55d18f1c8d43.png)}}@media(-webkit-min-device-pixel-ratio: 3){.XBor45hE{--background-url: url(turbulence_3x.6570f80327858cc09a2b.png)}}body:not(.no-page-transitions) .XBor45hE{animation:20s linear infinite;animation-name:mAAEjSPE}body:not(.no-page-transitions) .XBor45hE::before{animation:21s linear -7s infinite;animation-name:mAAEjSPE}body:not(.no-page-transitions) .XBor45hE::after{animation:22s linear -14s infinite;animation-name:mAAEjSPE}body.in-background .XBor45hE,body.in-background .XBor45hE::before,body.in-background .XBor45hE::after{animation-play-state:paused}@keyframes mAAEjSPE{0%{background-position:0 0}100%{background-position:var(--x-direction) var(--y-direction)}}@keyframes WiW38HGg{0%{-webkit-mask-size:0%,100%;mask-size:0%,100%}100%{-webkit-mask-size:350%,100%;mask-size:350%,100%}}@keyframes sW9ega1D{0%{opacity:1}50%{opacity:.1}100%{opacity:1}}
.uGUjDZKl{--custom-emoji-size: 2rem;position:relative;min-width:2rem;min-height:2rem;margin-inline-start:.25rem}.uGUjDZKl:first-child{margin-inline-start:0}.uGUjDZKl .AnimatedSticker{position:absolute;top:0;left:0}.oc1hpMwv{opacity:0}.kqcWe4tf{opacity:1}.sx6RTuAU{animation:_p445E1b .2s ease-in-out forwards;animation-delay:var(--_animation-delay)}.M62HGuIV::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-background-compact-menu-hover)}.MZ2tH980{position:absolute;top:5%;left:5%;width:90%;height:90%}.WMpEr5XQ{position:absolute;right:0;bottom:0;padding:.125rem;border-radius:50%;font-size:.875rem;background-color:var(--color-background-compact-menu)}@keyframes _p445E1b{0%{transform:scale(0.5);opacity:0}100%{transform:scale(1);opacity:1}} .uGUjDZKl{--custom-emoji-size: 2rem;position:relative;min-width:2rem;min-height:2rem;margin-inline-start:.25rem}.uGUjDZKl:first-child{margin-inline-start:0}.uGUjDZKl .AnimatedSticker{position:absolute;top:0;left:0}.oc1hpMwv{opacity:0}.kqcWe4tf{opacity:1}.sx6RTuAU{animation:_p445E1b .2s ease-in-out forwards;animation-delay:var(--_animation-delay)}.M62HGuIV::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-background-compact-menu-hover)}.MZ2tH980{position:absolute;top:5%;left:5%;width:90%;height:90%}.WMpEr5XQ{position:absolute;right:0;bottom:0;padding:.125rem;border-radius:50%;font-size:.875rem;background-color:var(--color-background-compact-menu)}@keyframes _p445E1b{0%{transform:scale(0.5);opacity:0}100%{transform:scale(1);opacity:1}}
.ReactionSelector{position:relative;top:-0.5rem;right:0;min-width:3rem;max-width:fit-content}.ReactionSelector__bubble-big,.ReactionSelector__bubble-small,.ReactionSelector__items-wrapper{background:var(--color-background);box-shadow:0 .25rem .125rem var(--color-default-shadow)}body:not(.no-menu-blur) .ReactionSelector__bubble-big,body:not(.no-menu-blur) .ReactionSelector__bubble-small,body:not(.no-menu-blur) .ReactionSelector__items-wrapper{background:var(--color-background-compact-menu);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.ReactionSelector__bubble-big{content:"";position:absolute;z-index:-1;right:1.125rem;bottom:-0.5rem;display:block;width:1rem;height:.5rem;border-top:0;border-right:0;border-left:0;border-radius:0 0 1rem 1rem}.ReactionSelector__bubble-big--isRtl{right:auto;left:1.5rem}@media(max-width: 600px){.ReactionSelector__bubble-big{display:none}}.ReactionSelector__bubble-small{content:"";position:absolute;right:1.125rem;bottom:-1.25rem;display:block;width:.5rem;height:.5rem;border-radius:50%}.ReactionSelector__bubble-small--isRtl{right:auto;left:2.125rem}@media(max-width: 600px){.ReactionSelector__bubble-small{display:none}}.ReactionSelector__items-wrapper{width:100%;height:100%;border-radius:1.25rem}@media(max-width: 600px){.ReactionSelector__items-wrapper{width:fit-content}}.ReactionSelector__items{display:flex;flex-direction:column;align-items:center}.ReactionSelector__hint{padding:.25rem .5rem;font-size:.75rem;color:var(--color-text-secondary);text-align:center;text-wrap:balance}.ReactionSelector__reactions{cursor:var(--custom-cursor, pointer);display:flex;align-items:center;height:2.5rem;padding:0 .5rem}.ReactionSelector__show-more{width:2rem;height:2rem;margin-inline-start:.25rem;margin-inline-end:-0.125rem;padding:0;border-radius:50%;font-size:1.5rem}@media(max-width: 600px){.ReactionSelector{right:0;left:0;display:flex;justify-content:center}} .ReactionSelector{position:relative;top:-0.5rem;right:0;min-width:3rem;max-width:fit-content}.ReactionSelector__bubble-big,.ReactionSelector__bubble-small,.ReactionSelector__items-wrapper{background:var(--color-background);box-shadow:0 .25rem .125rem var(--color-default-shadow)}body:not(.no-menu-blur) .ReactionSelector__bubble-big,body:not(.no-menu-blur) .ReactionSelector__bubble-small,body:not(.no-menu-blur) .ReactionSelector__items-wrapper{background:var(--color-background-compact-menu);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.ReactionSelector__bubble-big{content:"";position:absolute;z-index:-1;right:1.125rem;bottom:-0.5rem;display:block;width:1rem;height:.5rem;border-top:0;border-right:0;border-left:0;border-radius:0 0 1rem 1rem}.ReactionSelector__bubble-big--isRtl{right:auto;left:1.5rem}@media(max-width: 600px){.ReactionSelector__bubble-big{display:none}}.ReactionSelector__bubble-small{content:"";position:absolute;right:1.125rem;bottom:-1.25rem;display:block;width:.5rem;height:.5rem;border-radius:50%}.ReactionSelector__bubble-small--isRtl{right:auto;left:2.125rem}@media(max-width: 600px){.ReactionSelector__bubble-small{display:none}}.ReactionSelector__items-wrapper{width:100%;height:100%;border-radius:1.25rem}@media(max-width: 600px){.ReactionSelector__items-wrapper{width:fit-content}}.ReactionSelector__items{display:flex;flex-direction:column;align-items:center}.ReactionSelector__hint{padding:.25rem .5rem;font-size:.75rem;color:var(--color-text-secondary);text-align:center;text-wrap:balance}.ReactionSelector__reactions{cursor:var(--custom-cursor, pointer);display:flex;align-items:center;height:2.5rem;padding:0 .5rem}.ReactionSelector__show-more{width:2rem;height:2rem;margin-inline-start:.25rem;margin-inline-end:-0.125rem;padding:0;border-radius:50%;font-size:1.5rem}@media(max-width: 600px){.ReactionSelector{right:0;left:0;display:flex;justify-content:center}}
.ReactionStaticEmoji{position:relative;display:block;aspect-ratio:1;width:1rem}.ReactionStaticEmoji.icon-heart{margin:0 !important;color:var(--color-heart) !important}.ReactionStaticEmoji .thumb,.ReactionStaticEmoji .media{position:absolute;top:0;left:0;width:100%;height:100%}.ReactionStaticEmoji .media.with-unicorn-fix{transform:scale(2)} .ReactionStaticEmoji{position:relative;display:block;aspect-ratio:1;width:1rem}.ReactionStaticEmoji.icon-heart{margin:0 !important;color:var(--color-heart) !important}.ReactionStaticEmoji .thumb,.ReactionStaticEmoji .media{position:absolute;top:0;left:0;width:100%;height:100%}.ReactionStaticEmoji .media.with-unicorn-fix{transform:scale(2)}
.O9uCTt5C{--custom-emoji-border-radius: 0.25rem;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:var(--custom-emoji-size);height:var(--custom-emoji-size)}.HiI6SMxF,.NhFcTGja{pointer-events:none}.HiI6SMxF:not(.open),.NhFcTGja:not(.open){opacity:1 !important}.HiI6SMxF.closing,.NhFcTGja.closing{opacity:0 !important}.ikfZ6Igz{transform:translateZ(0);contain:layout}.jjRJmHCg,.HiI6SMxF,.NhFcTGja{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)} .O9uCTt5C{--custom-emoji-border-radius: 0.25rem;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:var(--custom-emoji-size);height:var(--custom-emoji-size)}.HiI6SMxF,.NhFcTGja{pointer-events:none}.HiI6SMxF:not(.open),.NhFcTGja:not(.open){opacity:1 !important}.HiI6SMxF.closing,.NhFcTGja.closing{opacity:0 !important}.ikfZ6Igz{transform:translateZ(0);contain:layout}.jjRJmHCg,.HiI6SMxF,.NhFcTGja{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}
@layer ui.layout{.RE8jeQLf{padding:.5rem;border-radius:var(--border-radius-island);background-color:var(--color-background);box-shadow:0px 1px 4px 0px rgba(0,0,0,.0509803922)}.j6O7w_HR{display:block;padding:.5rem 1rem;font-size:.875rem;line-height:1rem;color:var(--color-text-secondary);overflow-wrap:anywhere}.vcGtwOtR{display:block;padding:0 1rem;font-size:.875rem;font-weight:var(--font-weight-medium);line-height:1.25rem;color:var(--color-text-secondary);overflow-wrap:anywhere}.WVAMcrEv{display:block;padding:.5rem 1rem;line-height:1.25rem;overflow-wrap:anywhere}.RE8jeQLf+.RE8jeQLf{margin-top:1rem}.RE8jeQLf+.j6O7w_HR{margin-top:.5rem}.j6O7w_HR+.RE8jeQLf{margin-top:1rem}.vcGtwOtR+.RE8jeQLf{margin-top:.5rem}.j6O7w_HR+.vcGtwOtR,.RE8jeQLf+.vcGtwOtR{margin-top:1rem}}.uRMHhx02{padding-bottom:.5rem;padding-inline:.5rem}
.OHkx_W75{scroll-margin-block:.25rem;position:relative;overflow:hidden;display:grid;grid-template-columns:min-content min-content 1fr min-content;grid-template-rows:1fr 1fr;align-items:center;min-height:2.5rem;padding:.25rem;border-radius:1.25rem;line-height:1.25;color:var(--color-text);text-align:initial;background-color:var(--background-color);transition-duration:150ms;transition-property:background-color,opacity}body.is-ios .OHkx_W75,body.is-android .OHkx_W75{padding-inline-start:.75rem;border-radius:0}body.is-ios .OHkx_W75{padding-inline-end:0}@media(max-width: 600px){.OHkx_W75{padding-inline-start:.5rem !important;border-radius:0}}.VUSwo4t5{cursor:var(--custom-cursor, pointer)}@media(hover: hover){.VUSwo4t5:hover{background-color:var(--color-item-hover)}.VUSwo4t5:focus-visible{z-index:1;outline:2px solid var(--color-borders)}}.P53DrbWA{grid-column:3;grid-row:2;align-self:end;height:.5px;margin-bottom:-0.1875rem;background-color:var(--color-dividers)}.tvZeVJPh{cursor:unset;opacity:.5}.JSSC0N8V{grid-column:3;grid-row:1/3}.OYmzCSp2{grid-column:3;grid-row:2;padding-bottom:.3125rem;font-size:.875rem;color:var(--color-text-secondary)}.JSSC0N8V,.OYmzCSp2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dMT9byM6,.neXqB2_A{height:3.5rem}.neXqB2_A .JSSC0N8V{grid-row:1;align-self:end}.kmjqObdP{padding-inline:.75rem}.F0Hv3EQm{grid-column:1;grid-row:1/3;margin-inline-end:1.1875rem}.iqGhSQGm{grid-column:4;grid-row:1/3;margin-inline-start:1.25rem}.dnAaRPCo{grid-column:2;grid-row:1/3;margin-inline-end:.75rem} .OHkx_W75{scroll-margin-block:.25rem;position:relative;overflow:hidden;display:grid;grid-template-columns:min-content min-content 1fr min-content;grid-template-rows:1fr 1fr;align-items:center;min-height:2.5rem;padding:.25rem;border-radius:1.25rem;line-height:1.25;color:var(--color-text);text-align:initial;background-color:var(--background-color);transition-duration:150ms;transition-property:background-color,opacity}body.is-ios .OHkx_W75,body.is-android .OHkx_W75{padding-inline-start:.75rem;border-radius:0}body.is-ios .OHkx_W75{padding-inline-end:0}@media(max-width: 600px){.OHkx_W75{padding-inline-start:.5rem !important;border-radius:0}}.VUSwo4t5{cursor:var(--custom-cursor, pointer)}@media(hover: hover){.VUSwo4t5:hover{background-color:var(--color-item-hover)}.VUSwo4t5:focus-visible{z-index:1;outline:2px solid var(--color-borders)}}.P53DrbWA{grid-column:3;grid-row:2;align-self:end;height:.5px;margin-bottom:-0.1875rem;background-color:var(--color-dividers)}.tvZeVJPh{cursor:unset;opacity:.5}.JSSC0N8V{grid-column:3;grid-row:1/3}.OYmzCSp2{grid-column:3;grid-row:2;padding-bottom:.3125rem;font-size:.875rem;color:var(--color-text-secondary)}.JSSC0N8V,.OYmzCSp2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dMT9byM6,.neXqB2_A{height:3.5rem}.neXqB2_A .JSSC0N8V{grid-row:1;align-self:end}.kmjqObdP{padding-inline:.75rem}.F0Hv3EQm{grid-column:1;grid-row:1/3;margin-inline-end:1.1875rem}.iqGhSQGm{grid-column:4;grid-row:1/3;margin-inline-start:1.25rem}.dnAaRPCo{grid-column:2;grid-row:1/3;margin-inline-end:.75rem}
.cKr8J5k_{position:relative;display:grid;grid-template-columns:min-content 1fr;gap:.375rem;justify-content:center;margin-top:.5rem;font-size:.875rem;text-align:initial;white-space:nowrap}.c9RLLvfs{justify-self:flex-end;font-weight:var(--font-weight-normal)}.QEuGpzIc{overflow:hidden;justify-self:flex-start;width:100%;font-weight:var(--font-weight-semibold);text-overflow:ellipsis} .cKr8J5k_{position:relative;display:grid;grid-template-columns:min-content 1fr;gap:.375rem;justify-content:center;margin-top:.5rem;font-size:.875rem;text-align:initial;white-space:nowrap}.c9RLLvfs{justify-self:flex-end;font-weight:var(--font-weight-normal)}.QEuGpzIc{overflow:hidden;justify-self:flex-start;width:100%;font-weight:var(--font-weight-semibold);text-overflow:ellipsis}
.Eh8uZ8ui{padding:.75rem 1rem;text-align:center}.p_aoYa8S{line-height:1.125rem}.lnbOXT6x{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;width:100%}.Iwbq9bfl{display:flex;gap:.375rem;align-items:center}.dTSScHdV{font-size:1rem} .Eh8uZ8ui{padding:.75rem 1rem;text-align:center}.p_aoYa8S{line-height:1.125rem}.lnbOXT6x{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;width:100%}.Iwbq9bfl{display:flex;gap:.375rem;align-items:center}.dTSScHdV{font-size:1rem}
@ -23,8 +24,8 @@
.gXO57D98.gXO57D98{--custom-emoji-size: 1.25rem;--reaction-background: var(--color-reaction);--reaction-background-hover: var(--hover-color-reaction);--reaction-text-color: var(--text-color-reaction);position:relative;z-index:1;overflow:visible;display:flex;flex-direction:row;gap:.125rem;width:auto;height:1.875rem;padding:0 .375rem 0 .25rem;border-radius:1.75rem;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:1.75rem;color:var(--reaction-text-color);text-transform:none;white-space:nowrap;background-color:var(--reaction-background) !important;transition:background-color 150ms,color 150ms,filter 150ms,-webkit-backdrop-filter 150ms !important;transition:background-color 150ms,color 150ms,backdrop-filter 150ms,filter 150ms !important;transition:background-color 150ms,color 150ms,backdrop-filter 150ms,filter 150ms,-webkit-backdrop-filter 150ms !important}.gXO57D98.gXO57D98.VXSJn0Sm{--reaction-background: var(--color-reaction-chosen);--reaction-background-hover: var(--hover-color-reaction-chosen);--reaction-text-color: var(--text-color-reaction-chosen)}.gXO57D98.gXO57D98.N3lcrsh8{--reaction-background: #FFBC2E33 !important;--reaction-background-hover: #FFBC2E55 !important;--reaction-text-color: #E98111 !important;z-index:2}.gXO57D98.gXO57D98.N3lcrsh8.Hqw10FGl{--reaction-text-color: #FFFFFF !important;--reaction-background: #FFBC2E77 !important;--reaction-background-hover: #FFBC2E99 !important}.gXO57D98.gXO57D98.N3lcrsh8.VXSJn0Sm{--reaction-background: #FFB727 !important;--reaction-background-hover: #FFB727CC !important;--reaction-text-color: #FFFFFF !important}.gXO57D98.gXO57D98:hover{--reaction-background: var(--reaction-background-hover) !important;-webkit-backdrop-filter:var(--reaction-background-hover-filter);backdrop-filter:var(--reaction-background-hover-filter)}@supports not ((-webkit-backdrop-filter: var(--reaction-background-hover-filter)) or (backdrop-filter: var(--reaction-background-hover-filter))){.gXO57D98.gXO57D98:hover{filter:var(--reaction-background-hover-filter)}}.lFjoRm_p{margin:.25rem}.Dr889Kzc.Dr889Kzc{position:relative;justify-content:start;margin-right:1rem;padding-inline:0;border-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}.Dr889Kzc.Dr889Kzc::after{content:"";position:absolute;top:50%;right:-0.5rem;transform:translateY(-50%);width:.375rem;height:.375rem;border-radius:50%;opacity:.4;background-color:var(--text-color-reaction-chosen)}.Dr889Kzc.Dr889Kzc:hover{filter:var(--reaction-background-hover-filter);-webkit-backdrop-filter:unset;backdrop-filter:unset}.Dr889Kzc.Dr889Kzc .lFjoRm_p{margin:.25rem 0 .25rem .25rem}.cUfY1b26{position:absolute;z-index:-1;right:-0.9375rem;height:100%}.rxxUijuG .cUfY1b26{right:-14.8px}.y591o4fN{fill:var(--reaction-background);transition:fill 150ms}.ly7cruxF{display:flex;gap:.25rem;margin-inline-end:.375rem;font-size:1rem}.P2FqNJAi{margin-inline-end:.125rem;font-weight:var(--font-weight-semibold)}.NRtGofbf{opacity:.5}.CW4UO1n3{position:absolute;z-index:1;top:-150%;right:50%;transform:translateX(50%);font-family:var(--font-family-numbers-rounded);font-size:2.5rem;font-variant-numeric:tabular-nums;color:#ffbc2e;-webkit-text-stroke:1px #e58e0d} .gXO57D98.gXO57D98{--custom-emoji-size: 1.25rem;--reaction-background: var(--color-reaction);--reaction-background-hover: var(--hover-color-reaction);--reaction-text-color: var(--text-color-reaction);position:relative;z-index:1;overflow:visible;display:flex;flex-direction:row;gap:.125rem;width:auto;height:1.875rem;padding:0 .375rem 0 .25rem;border-radius:1.75rem;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:1.75rem;color:var(--reaction-text-color);text-transform:none;white-space:nowrap;background-color:var(--reaction-background) !important;transition:background-color 150ms,color 150ms,filter 150ms,-webkit-backdrop-filter 150ms !important;transition:background-color 150ms,color 150ms,backdrop-filter 150ms,filter 150ms !important;transition:background-color 150ms,color 150ms,backdrop-filter 150ms,filter 150ms,-webkit-backdrop-filter 150ms !important}.gXO57D98.gXO57D98.VXSJn0Sm{--reaction-background: var(--color-reaction-chosen);--reaction-background-hover: var(--hover-color-reaction-chosen);--reaction-text-color: var(--text-color-reaction-chosen)}.gXO57D98.gXO57D98.N3lcrsh8{--reaction-background: #FFBC2E33 !important;--reaction-background-hover: #FFBC2E55 !important;--reaction-text-color: #E98111 !important;z-index:2}.gXO57D98.gXO57D98.N3lcrsh8.Hqw10FGl{--reaction-text-color: #FFFFFF !important;--reaction-background: #FFBC2E77 !important;--reaction-background-hover: #FFBC2E99 !important}.gXO57D98.gXO57D98.N3lcrsh8.VXSJn0Sm{--reaction-background: #FFB727 !important;--reaction-background-hover: #FFB727CC !important;--reaction-text-color: #FFFFFF !important}.gXO57D98.gXO57D98:hover{--reaction-background: var(--reaction-background-hover) !important;-webkit-backdrop-filter:var(--reaction-background-hover-filter);backdrop-filter:var(--reaction-background-hover-filter)}@supports not ((-webkit-backdrop-filter: var(--reaction-background-hover-filter)) or (backdrop-filter: var(--reaction-background-hover-filter))){.gXO57D98.gXO57D98:hover{filter:var(--reaction-background-hover-filter)}}.lFjoRm_p{margin:.25rem}.Dr889Kzc.Dr889Kzc{position:relative;justify-content:start;margin-right:1rem;padding-inline:0;border-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}.Dr889Kzc.Dr889Kzc::after{content:"";position:absolute;top:50%;right:-0.5rem;transform:translateY(-50%);width:.375rem;height:.375rem;border-radius:50%;opacity:.4;background-color:var(--text-color-reaction-chosen)}.Dr889Kzc.Dr889Kzc:hover{filter:var(--reaction-background-hover-filter);-webkit-backdrop-filter:unset;backdrop-filter:unset}.Dr889Kzc.Dr889Kzc .lFjoRm_p{margin:.25rem 0 .25rem .25rem}.cUfY1b26{position:absolute;z-index:-1;right:-0.9375rem;height:100%}.rxxUijuG .cUfY1b26{right:-14.8px}.y591o4fN{fill:var(--reaction-background);transition:fill 150ms}.ly7cruxF{display:flex;gap:.25rem;margin-inline-end:.375rem;font-size:1rem}.P2FqNJAi{margin-inline-end:.125rem;font-weight:var(--font-weight-semibold)}.NRtGofbf{opacity:.5}.CW4UO1n3{position:absolute;z-index:1;top:-150%;right:50%;transform:translateX(50%);font-family:var(--font-family-numbers-rounded);font-size:2.5rem;font-variant-numeric:tabular-nums;color:#ffbc2e;-webkit-text-stroke:1px #e58e0d}
.cGrbcqD_{margin-bottom:1rem} .cGrbcqD_{margin-bottom:1rem}
.Reactions{overflow:visible;display:flex;flex-direction:row;flex-wrap:wrap;gap:.375rem;width:100%;max-width:calc(var(--max-width) + 2.25rem);margin-top:.25rem;margin-bottom:.1875rem}.Reactions.is-outside{margin-top:.25rem}body.with-message-blur .Reactions.is-outside .message-reaction{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.is-forwarded.is-inverted-media .Reactions{margin-top:.5rem;margin-bottom:.125rem}.Reactions.is-service{justify-content:center;max-width:19rem;margin-top:.3125rem}.own .Reactions.is-outside{flex-direction:row-reverse}.theme-light .Reactions.is-outside .message-reaction{--reaction-background: var(--pattern-color);--reaction-background-hover: var(--pattern-color);--reaction-background-hover-filter: brightness(115%);--reaction-text-color: white}.theme-light .Reactions.is-outside .message-reaction.chosen{--reaction-background: rgb(255, 255, 255, 0.6);--reaction-background-hover: rgb(255, 255, 255, 0.75);--reaction-text-color: rgb(62 62 62)} .Reactions{overflow:visible;display:flex;flex-direction:row;flex-wrap:wrap;gap:.375rem;width:100%;max-width:calc(var(--max-width) + 2.25rem);margin-top:.25rem;margin-bottom:.1875rem}.Reactions.is-outside{margin-top:.25rem}body.with-message-blur .Reactions.is-outside .message-reaction{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.is-forwarded.is-inverted-media .Reactions{margin-top:.5rem;margin-bottom:.125rem}.Reactions.is-service{justify-content:center;max-width:19rem;margin-top:.3125rem}.own .Reactions.is-outside{flex-direction:row-reverse}.theme-light .Reactions.is-outside .message-reaction{--reaction-background: var(--pattern-color);--reaction-background-hover: var(--pattern-color);--reaction-background-hover-filter: brightness(115%);--reaction-text-color: white}.theme-light .Reactions.is-outside .message-reaction.chosen{--reaction-background: rgb(255, 255, 255, 0.6);--reaction-background-hover: rgb(255, 255, 255, 0.75);--reaction-text-color: rgb(62 62 62)}
.YmM5biTv{overflow:hidden;display:flex;flex-direction:column;height:100%}.S7WFT2bv{overflow-y:auto;display:flex;flex-flow:row wrap;flex-shrink:0;max-height:20rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-borders)}.S7WFT2bv .input-group{flex-grow:1;margin-bottom:0}.S7WFT2bv .form-control{height:2rem;padding:0;border:none;border-radius:0;box-shadow:none !important}.YK1300x2{margin-bottom:.5rem;padding-inline:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.YK1300x2:not(:first-child){margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--color-borders)}._9MIoEHj_{margin:0;padding:.75rem .25rem .5rem;font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.gsKPBPoK{max-width:calc(50% - .5rem);margin-bottom:.5rem}.yLCbiItq{position:relative;overflow-x:hidden;overflow-y:auto;flex-grow:1}.bXzIGw8s{scrollbar-gutter:stable;padding:.5rem;padding-inline-end:max(.5rem - var(--scrollbar-width),0px)}@media(max-width: 600px){.bXzIGw8s{padding-inline:0}}.dXWKD0ve{display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:1rem 1rem;color:var(--color-text-secondary)}.d5GDOYh9{color:var(--color-primary)} .YmM5biTv{overflow:hidden;display:flex;flex-direction:column;height:100%}.S7WFT2bv{overflow-y:auto;display:flex;flex-flow:row wrap;flex-shrink:0;max-height:20rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-borders)}.S7WFT2bv .input-group{flex-grow:1;margin-bottom:0}.S7WFT2bv .form-control{height:2rem;padding:0;border:none;border-radius:0;box-shadow:none !important}.uf4XEUPW{overflow-y:auto;display:flex;flex-flow:row wrap;flex-shrink:0;max-height:16.5rem;padding-bottom:0}.YK1300x2{margin-bottom:.5rem;padding-inline:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.YK1300x2:not(:first-child){margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--color-borders)}._9MIoEHj_{margin:0;padding:.75rem .25rem .5rem;font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.gsKPBPoK{max-width:calc(50% - .5rem);margin-bottom:.5rem}.yLCbiItq{position:relative;overflow-x:hidden;overflow-y:auto;flex-grow:1}.bXzIGw8s{scrollbar-gutter:stable;padding:.5rem;padding-inline-end:max(.5rem - var(--scrollbar-width),0px)}@media(max-width: 600px){.bXzIGw8s{padding-inline:0}}.DDOQDog5{overflow:hidden;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:0}.dXWKD0ve{display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:1rem 1rem;color:var(--color-text-secondary)}.d5GDOYh9{color:var(--color-primary)}
.V3RHiOJR{--more-channel-background: #d8d8d8;--more-channel-background-dark: #8f8f8f;--more-channel-badge: #8f8f8f;--more-channel-badge-overlay: #00000033;position:relative;max-width:45rem;margin-top:.625rem}.tfG_BSDt{display:flex;justify-content:center;margin-top:.1875rem}.HVbeGv4t{fill:var(--color-background)}.s7QOi22Q{position:sticky;top:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:.375rem .375rem 0 .75rem}.JstcOhAN{font-size:.875rem;font-weight:var(--font-weight-medium);line-height:1.5rem}.meewH7t_{width:auto;height:auto;padding:.125rem;border-radius:50%;font-size:1.25rem}.meewH7t_>.d8axZxyN{margin-left:.0625rem}.xKVZv7KE{height:8.5rem;margin-top:.625rem;border-radius:.9375rem}.njAC8dR9{border-radius:.9375rem;background:var(--color-background)}.z9UxFEb2{transform:scale(0) translateY(-50%);height:0;opacity:0}.eb8rX09E{animation:.15s ease-out AL2cLQ4i forwards}.XR6_qLCc{animation:.15s ease-out TwwnoiuD forwards}@keyframes AL2cLQ4i{from{transform:scale(0) translateY(-50%);height:0;opacity:0}to{transform:none;height:8.9375rem;opacity:1}}@keyframes TwwnoiuD{from{transform:none;height:8.9375rem;opacity:1}to{transform:scale(0) translateY(-50%);height:0;opacity:0}}.h4gWlNen{overflow-x:auto;overflow-y:hidden;display:flex;padding-bottom:.25rem;padding-left:.25rem;border-bottom-right-radius:.9375rem;border-bottom-left-radius:.9375rem;white-space:nowrap}.glDpC2av{position:relative;display:flex;flex-direction:column;align-items:center;height:6.375rem;margin-right:.5rem;padding:.5rem .5rem .25rem .5rem}.glDpC2av:not(:last-child):hover{cursor:pointer;border-radius:.625rem;background:var(--color-chat-hover)}.MBChXyXk{cursor:pointer;align-items:flex-start;min-width:5rem;margin:0;margin-right:.75rem;padding:.5rem 0 .25rem 0}.gqCs9fSo{width:3.75rem;height:3.75rem}.MBChXyXk .gqCs9fSo{z-index:3;outline:.125rem solid var(--color-background)}.MBChXyXk .gnYhwnvf{z-index:4;align-self:center;background:var(--more-channel-background)}.theme-dark .MBChXyXk .gnYhwnvf{background:var(--more-channel-background-dark)}.theme-dark .MBChXyXk .gnYhwnvf::before{background-color:unset}.gnYhwnvf{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;max-width:3.75rem;height:.9375rem;margin-top:-0.8125rem;padding:.125rem .1875rem .125rem .25rem;border-radius:.625rem;color:var(--color-white);outline:.0625rem solid var(--color-background)}.gnYhwnvf::before{content:"";position:absolute;z-index:-1;width:100%;max-width:3.75rem;height:.9375rem;border-radius:.625rem;background-color:var(--more-channel-badge-overlay)}.d8axZxyN{margin-right:.0625rem;font-size:.4375rem}.HWgwnKui{font-size:.5625rem;font-weight:var(--font-weight-semibold);line-height:.6875rem}.BTNQ4KBH{unicode-bidi:plaintext;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:3.4375rem;height:1.625rem;margin-top:.125rem;font-size:.6875rem;font-weight:var(--font-weight-normal);line-height:.8125rem;text-align:center;text-overflow:ellipsis;white-space:normal}.MBChXyXk .BTNQ4KBH{align-self:center;color:var(--color-text-secondary)}.Xl9MVMTn{position:absolute;z-index:2;left:.625rem;width:3.75rem;height:3.75rem;border-radius:50%;background:var(--more-channel-background);outline:.125rem solid var(--color-background)}.theme-dark .Xl9MVMTn{background:var(--more-channel-background-dark)}.Qizai7yv{width:100%;height:100%}.JxSmtOFi{z-index:1;left:1.25rem} .V3RHiOJR{--more-channel-background: #d8d8d8;--more-channel-background-dark: #8f8f8f;--more-channel-badge: #8f8f8f;--more-channel-badge-overlay: #00000033;position:relative;max-width:45rem;margin-top:.625rem}.tfG_BSDt{display:flex;justify-content:center;margin-top:.1875rem}.HVbeGv4t{fill:var(--color-background)}.s7QOi22Q{position:sticky;top:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:.375rem .375rem 0 .75rem}.JstcOhAN{font-size:.875rem;font-weight:var(--font-weight-medium);line-height:1.5rem}.meewH7t_{width:auto;height:auto;padding:.125rem;border-radius:50%;font-size:1.25rem}.meewH7t_>.d8axZxyN{margin-left:.0625rem}.xKVZv7KE{height:8.5rem;margin-top:.625rem;border-radius:.9375rem}.njAC8dR9{border-radius:.9375rem;background:var(--color-background)}.z9UxFEb2{transform:scale(0) translateY(-50%);height:0;opacity:0}.eb8rX09E{animation:.15s ease-out AL2cLQ4i forwards}.XR6_qLCc{animation:.15s ease-out TwwnoiuD forwards}@keyframes AL2cLQ4i{from{transform:scale(0) translateY(-50%);height:0;opacity:0}to{transform:none;height:8.9375rem;opacity:1}}@keyframes TwwnoiuD{from{transform:none;height:8.9375rem;opacity:1}to{transform:scale(0) translateY(-50%);height:0;opacity:0}}.h4gWlNen{overflow-x:auto;overflow-y:hidden;display:flex;padding-bottom:.25rem;padding-left:.25rem;border-bottom-right-radius:.9375rem;border-bottom-left-radius:.9375rem;white-space:nowrap}.glDpC2av{position:relative;display:flex;flex-direction:column;align-items:center;height:6.375rem;margin-right:.5rem;padding:.5rem .5rem .25rem .5rem}.glDpC2av:not(:last-child):hover{cursor:pointer;border-radius:.625rem;background:var(--color-chat-hover)}.MBChXyXk{cursor:pointer;align-items:flex-start;min-width:5rem;margin:0;margin-right:.75rem;padding:.5rem 0 .25rem 0}.gqCs9fSo{width:3.75rem;height:3.75rem}.MBChXyXk .gqCs9fSo{z-index:3;outline:.125rem solid var(--color-background)}.MBChXyXk .gnYhwnvf{z-index:4;align-self:center;background:var(--more-channel-background)}.theme-dark .MBChXyXk .gnYhwnvf{background:var(--more-channel-background-dark)}.theme-dark .MBChXyXk .gnYhwnvf::before{background-color:unset}.gnYhwnvf{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;max-width:3.75rem;height:.9375rem;margin-top:-0.8125rem;padding:.125rem .1875rem .125rem .25rem;border-radius:.625rem;color:var(--color-white);outline:.0625rem solid var(--color-background)}.gnYhwnvf::before{content:"";position:absolute;z-index:-1;width:100%;max-width:3.75rem;height:.9375rem;border-radius:.625rem;background-color:var(--more-channel-badge-overlay)}.d8axZxyN{margin-right:.0625rem;font-size:.4375rem}.HWgwnKui{font-size:.5625rem;font-weight:var(--font-weight-semibold);line-height:.6875rem}.BTNQ4KBH{unicode-bidi:plaintext;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:3.4375rem;height:1.625rem;margin-top:.125rem;font-size:.6875rem;font-weight:var(--font-weight-normal);line-height:.8125rem;text-align:center;text-overflow:ellipsis;white-space:normal}.MBChXyXk .BTNQ4KBH{align-self:center;color:var(--color-text-secondary)}.Xl9MVMTn{position:absolute;z-index:2;left:.625rem;width:3.75rem;height:3.75rem;border-radius:50%;background:var(--more-channel-background);outline:.125rem solid var(--color-background)}.theme-dark .Xl9MVMTn{background:var(--more-channel-background-dark)}.Qizai7yv{width:100%;height:100%}.JxSmtOFi{z-index:1;left:1.25rem}
.nY2ggBsF{--percent: calc(var(--progress, 0.5) * 100%);position:relative;display:flex;height:2rem;border-radius:.625rem;background:var(--color-background-menu-separator)}.RYtVQAjM{margin-top:3rem}.dhigNjAq{position:absolute;top:-1.5rem;right:0;left:0;transform:translate(calc(var(--shift-x) * 100% - 50%), -20px);display:flex;justify-content:center;transition:transform .2s ease;animation:YfcP52Ym .5s ease}@keyframes YfcP52Ym{from{transform:translate(-50%, -20px)}to{transform:translate(calc(var(--shift-x) * 100% - 50%), -20px)}}.cOpfCGPh{position:relative;overflow:hidden;height:2.6875rem;border-radius:.5rem;animation:AgMPRKbT .5s ease-in-out}@keyframes AgMPRKbT{0%{transform:rotate(0deg)}50%{transform:rotate(calc(-20deg * var(--progress)))}100%{transform:rotate(0deg)}}.uNwBLNOy{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:2rem;padding:.25rem .75rem;border-radius:1rem;color:#fff;background-color:#7e85ff;transition:width .25s ease}.uNwBLNOy.HS9PzRKt{transition:none}.W4rqGyJl{overflow:hidden;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:20rem;margin-inline:auto;text-overflow:ellipsis;white-space:nowrap}.qRwO7SZm{position:absolute;bottom:-4px;display:inline-block;color:#7e85ff;transition:left .3s ease}.MJ7MTmxi{margin-right:.25rem;font-size:1.25rem}.MwzZt3Qo{font-size:16px;font-weight:var(--font-weight-medium)}._b5HgBXr,.P6mch4bB{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-weight:var(--font-weight-medium);opacity:1;transition:opacity .15s ease}._b5HgBXr{left:.75rem}.P6mch4bB{right:.75rem}._B4r3D5W{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:.625rem}.VmyTBAzN,.MzFvyMb5{--multiplier: calc(1 / var(--positive-progress) - 1);position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:calc(var(--positive-progress)*100%);background-image:var(--premium-gradient);background-size:calc(1/var(--positive-progress)*100%) 100%;transition:opacity .15s ease,width .2s,background-size .3s ease}.VmyTBAzN ._b5HgBXr,.VmyTBAzN .P6mch4bB,.MzFvyMb5 ._b5HgBXr,.MzFvyMb5 .P6mch4bB{color:#fff;white-space:nowrap;opacity:1;transition:opacity .15s ease}.VmyTBAzN .P6mch4bB,.MzFvyMb5 .P6mch4bB{right:calc(-100%*var(--multiplier) + .75rem)}.QZwWHVdB,.S6H6hBpP{position:absolute;top:0;right:0;bottom:0;left:auto;overflow:hidden;width:calc(var(--negative-progress)*100%);background-color:var(--color-negative-progress);background-image:none;transition:opacity .15s,width .2s}.QZwWHVdB ._b5HgBXr,.QZwWHVdB .P6mch4bB,.S6H6hBpP ._b5HgBXr,.S6H6hBpP .P6mch4bB{color:#fff;white-space:nowrap;opacity:1;transition:opacity .15s ease}.QZwWHVdB .P6mch4bB,.S6H6hBpP .P6mch4bB{right:.75rem}.QZwWHVdB ._b5HgBXr,.S6H6hBpP ._b5HgBXr{right:calc(100% - .75rem);left:auto;transition:right .3s ease}.Zi0w7QJ3 .VmyTBAzN,.Zi0w7QJ3 .MzFvyMb5{background-color:var(--color-primary);background-image:none}.Zi0w7QJ3 .uNwBLNOy{background-color:var(--color-primary)}.Zi0w7QJ3 .qRwO7SZm{color:var(--color-primary)}.dXs41qvC .uNwBLNOy{background-color:var(--color-negative-progress)}.dXs41qvC .qRwO7SZm{color:var(--color-negative-progress)}.Ef0g9liZ .VmyTBAzN,.Ef0g9liZ .MzFvyMb5{--multiplier: calc(1 / var(--positive-progress) - 1);right:0;left:auto;background-position:100% 0;background-size:calc(100%/var(--positive-progress)) 100%}.Ef0g9liZ .VmyTBAzN ._b5HgBXr,.Ef0g9liZ .MzFvyMb5 ._b5HgBXr{left:calc(-100%*var(--multiplier) + .75rem)}.Ef0g9liZ .VmyTBAzN .P6mch4bB,.Ef0g9liZ .MzFvyMb5 .P6mch4bB{right:.75rem}.dazw12V7 .VmyTBAzN,.dazw12V7 .MzFvyMb5{background-color:#7e85ff;background-image:none}.I7toQztx ._b5HgBXr,.I7toQztx .P6mch4bB{opacity:0}.HS9PzRKt.MzFvyMb5,.HS9PzRKt.S6H6hBpP{transition:opacity .15s !important}.xdKGgbKQ{opacity:0 !important}.SxTCkiyg .dhigNjAq{transition-duration:var(--cycling-animation-badge-position)}.SxTCkiyg .MzFvyMb5,.SxTCkiyg .S6H6hBpP{transition:opacity .15s ease,width var(--cycling-animation-progress) ease,background-size .3s ease}.VmyTBAzN{--positive-progress: var(--layer-progress);z-index:2;opacity:0}.VmyTBAzN.tkyw4hXo{opacity:1}.QZwWHVdB{--negative-progress: var(--layer-progress);z-index:2;opacity:0}.QZwWHVdB.tkyw4hXo{opacity:1} .nY2ggBsF{--percent: calc(var(--progress, 0.5) * 100%);position:relative;display:flex;height:2rem;border-radius:.625rem;background:var(--color-background-menu-separator)}.RYtVQAjM{margin-top:3rem}.dhigNjAq{position:absolute;top:-1.5rem;right:0;left:0;transform:translate(calc(var(--shift-x) * 100% - 50%), -20px);display:flex;justify-content:center;transition:transform .2s ease;animation:YfcP52Ym .5s ease}@keyframes YfcP52Ym{from{transform:translate(-50%, -20px)}to{transform:translate(calc(var(--shift-x) * 100% - 50%), -20px)}}.cOpfCGPh{position:relative;overflow:hidden;height:2.6875rem;border-radius:.5rem;animation:AgMPRKbT .5s ease-in-out}@keyframes AgMPRKbT{0%{transform:rotate(0deg)}50%{transform:rotate(calc(-20deg * var(--progress)))}100%{transform:rotate(0deg)}}.uNwBLNOy{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:2rem;padding:.25rem .75rem;border-radius:1rem;color:#fff;background-color:#7e85ff;transition:width .25s ease}.uNwBLNOy.HS9PzRKt{transition:none}.W4rqGyJl{overflow:hidden;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:20rem;margin-inline:auto;text-overflow:ellipsis;white-space:nowrap}.qRwO7SZm{position:absolute;bottom:-4px;display:inline-block;color:#7e85ff;transition:left .3s ease}.MJ7MTmxi{margin-right:.25rem;font-size:1.25rem}.MwzZt3Qo{font-size:16px;font-weight:var(--font-weight-medium)}._b5HgBXr,.P6mch4bB{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-weight:var(--font-weight-medium);opacity:1;transition:opacity .15s ease}._b5HgBXr{left:.75rem}.P6mch4bB{right:.75rem}._B4r3D5W{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:.625rem}.VmyTBAzN,.MzFvyMb5{--multiplier: calc(1 / var(--positive-progress) - 1);position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:calc(var(--positive-progress)*100%);background-image:var(--premium-gradient);background-size:calc(1/var(--positive-progress)*100%) 100%;transition:opacity .15s ease,width .2s,background-size .3s ease}.VmyTBAzN ._b5HgBXr,.VmyTBAzN .P6mch4bB,.MzFvyMb5 ._b5HgBXr,.MzFvyMb5 .P6mch4bB{color:#fff;white-space:nowrap;opacity:1;transition:opacity .15s ease}.VmyTBAzN .P6mch4bB,.MzFvyMb5 .P6mch4bB{right:calc(-100%*var(--multiplier) + .75rem)}.QZwWHVdB,.S6H6hBpP{position:absolute;top:0;right:0;bottom:0;left:auto;overflow:hidden;width:calc(var(--negative-progress)*100%);background-color:var(--color-negative-progress);background-image:none;transition:opacity .15s,width .2s}.QZwWHVdB ._b5HgBXr,.QZwWHVdB .P6mch4bB,.S6H6hBpP ._b5HgBXr,.S6H6hBpP .P6mch4bB{color:#fff;white-space:nowrap;opacity:1;transition:opacity .15s ease}.QZwWHVdB .P6mch4bB,.S6H6hBpP .P6mch4bB{right:.75rem}.QZwWHVdB ._b5HgBXr,.S6H6hBpP ._b5HgBXr{right:calc(100% - .75rem);left:auto;transition:right .3s ease}.Zi0w7QJ3 .VmyTBAzN,.Zi0w7QJ3 .MzFvyMb5{background-color:var(--color-primary);background-image:none}.Zi0w7QJ3 .uNwBLNOy{background-color:var(--color-primary)}.Zi0w7QJ3 .qRwO7SZm{color:var(--color-primary)}.dXs41qvC .uNwBLNOy{background-color:var(--color-negative-progress)}.dXs41qvC .qRwO7SZm{color:var(--color-negative-progress)}.Ef0g9liZ .VmyTBAzN,.Ef0g9liZ .MzFvyMb5{--multiplier: calc(1 / var(--positive-progress) - 1);right:0;left:auto;background-position:100% 0;background-size:calc(100%/var(--positive-progress)) 100%}.Ef0g9liZ .VmyTBAzN ._b5HgBXr,.Ef0g9liZ .MzFvyMb5 ._b5HgBXr{left:calc(-100%*var(--multiplier) + .75rem)}.Ef0g9liZ .VmyTBAzN .P6mch4bB,.Ef0g9liZ .MzFvyMb5 .P6mch4bB{right:.75rem}.dazw12V7 .VmyTBAzN,.dazw12V7 .MzFvyMb5{background-color:#7e85ff;background-image:none}.I7toQztx ._b5HgBXr,.I7toQztx .P6mch4bB{opacity:0}.HS9PzRKt.MzFvyMb5,.HS9PzRKt.S6H6hBpP{transition:opacity .15s !important}.xdKGgbKQ{opacity:0 !important}.SxTCkiyg .dhigNjAq{transition-duration:var(--cycling-animation-badge-position)}.SxTCkiyg .MzFvyMb5,.SxTCkiyg .S6H6hBpP{transition:opacity .15s ease,width var(--cycling-animation-progress) ease,background-size .3s ease}.VmyTBAzN{--positive-progress: var(--layer-progress);z-index:2;opacity:0}.VmyTBAzN.tkyw4hXo{opacity:1}.QZwWHVdB{--negative-progress: var(--layer-progress);z-index:2;opacity:0}.QZwWHVdB.tkyw4hXo{opacity:1}
/*# sourceMappingURL=9253.7241de798436233fb8cb.css.map*/ /*# sourceMappingURL=9253.800617573c8eb9582339.css.map*/

File diff suppressed because one or more lines are too long

2
dist/9253.800617573c8eb9582339.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/9253.800617573c8eb9582339.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/9451.7120386d5610b17c8b40.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/9451.7120386d5610b17c8b40.js.map vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
#monkey{position:relative;display:block;width:7.5rem;height:7.5rem;margin-right:auto;margin-bottom:1.75rem;margin-left:auto}#monkey.big{width:10rem;height:10rem}#monkey .AnimatedSticker{position:absolute;top:0;left:0;width:100%;height:100%}#monkey .AnimatedSticker.hidden{display:none}#monkey .monkey-preview{width:100%;height:100%;background:url(monkey.a3d5fcdc50b18dc55695.svg) center;background-size:100%}@media(min-width: 600px)and (min-height: 450px){#monkey{width:10rem;height:10rem;margin-bottom:2.5rem}} #monkey{position:relative;display:block;width:7.5rem;height:7.5rem;margin-right:auto;margin-bottom:1.75rem;margin-left:auto}#monkey.big{width:10rem;height:10rem}#monkey .AnimatedSticker{position:absolute;top:0;left:0;width:100%;height:100%}#monkey .AnimatedSticker.hidden{display:none}#monkey .monkey-preview{width:100%;height:100%;background:url(monkey.a3d5fcdc50b18dc55695.svg) center;background-size:100%}@media(min-width: 600px)and (min-height: 450px){#monkey{width:10rem;height:10rem;margin-bottom:2.5rem}}
/*# sourceMappingURL=BundleAuth.8f755146240e0d343585.css.map*/ /*# sourceMappingURL=BundleAuth.c18312b61986a9409954.css.map*/

View File

@ -1 +1 @@
{"version":3,"file":"BundleAuth.8f755146240e0d343585.css","mappings":"AAAA,QACE,kBAEA,cAEA,aACA,cACA,kBACA,sBACA,iBAEA,YACE,YACA,aAGF,yBACE,kBACA,MACA,OAEA,WACA,YAEA,gCACE,aAIJ,wBACE,WACA,YACA,0DACA,qBAGF,gDApCF,QAqCI,YACA,aACA,mB","sources":["webpack://telegram-t/./src/components/common/PasswordMonkey.scss"],"sourcesContent":["#monkey {\n position: relative;\n\n display: block;\n\n width: 7.5rem;\n height: 7.5rem;\n margin-right: auto;\n margin-bottom: 1.75rem;\n margin-left: auto;\n\n &.big {\n width: 10rem;\n height: 10rem;\n }\n\n .AnimatedSticker {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n &.hidden {\n display: none;\n }\n }\n\n .monkey-preview {\n width: 100%;\n height: 100%;\n background: url('../../assets/monkey.svg') center;\n background-size: 100%;\n }\n\n @media (min-width: 600px) and (min-height: 450px) {\n width: 10rem;\n height: 10rem;\n margin-bottom: 2.5rem;\n }\n}\n"],"names":[],"sourceRoot":""} {"version":3,"file":"BundleAuth.c18312b61986a9409954.css","mappings":"AAAA,QACE,kBAEA,cAEA,aACA,cACA,kBACA,sBACA,iBAEA,YACE,YACA,aAGF,yBACE,kBACA,MACA,OAEA,WACA,YAEA,gCACE,aAIJ,wBACE,WACA,YACA,0DACA,qBAGF,gDApCF,QAqCI,YACA,aACA,mB","sources":["webpack://telegram-t/./src/components/common/PasswordMonkey.scss"],"sourcesContent":["#monkey {\n position: relative;\n\n display: block;\n\n width: 7.5rem;\n height: 7.5rem;\n margin-right: auto;\n margin-bottom: 1.75rem;\n margin-left: auto;\n\n &.big {\n width: 10rem;\n height: 10rem;\n }\n\n .AnimatedSticker {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n &.hidden {\n display: none;\n }\n }\n\n .monkey-preview {\n width: 100%;\n height: 100%;\n background: url('../../assets/monkey.svg') center;\n background-size: 100%;\n }\n\n @media (min-width: 600px) and (min-height: 450px) {\n width: 10rem;\n height: 10rem;\n margin-bottom: 2.5rem;\n }\n}\n"],"names":[],"sourceRoot":""}

View File

@ -14,4 +14,4 @@
.GNYRVAUg .modal-dialog{overflow:hidden}.GNYRVAUg .modal-content{display:flex;flex-direction:column;align-items:center;height:80vh;padding:0}.GNYRVAUg .Avatar{--radius: 0;position:absolute;z-index:-1;top:0;left:0;transform:scale(1.1);width:100%;height:100%;border-radius:0}.GNYRVAUg .Avatar .Avatar__media{border-radius:0;object-fit:cover}.GNYRVAUg .Avatar.RBmbMiou .Avatar__media{filter:blur(10px)}.O7cZE08z .modal-dialog{max-width:100% !important;margin:0;border-radius:0}.O7cZE08z .modal-content{height:calc(var(--vh)*100);max-height:calc(var(--vh)*100)}.AjeGqfrS{border-radius:0}.GI6dY5aJ{position:absolute;display:flex;align-items:center;width:100%;padding:.5rem;color:#fff}.GI6dY5aJ .Button{color:#fff}body.is-tauri .GNYRVAUg.O7cZE08z .GI6dY5aJ{padding-left:var(--window-controls-width)}.ULiJZuaP{margin-left:auto}.RFBKZpjx{pointer-events:none;position:absolute;z-index:2;top:0;left:0;display:flex;justify-content:center;width:100%;height:100%;transition:.25s ease-in-out background-color}.RFBKZpjx.zi1NlOXX{pointer-events:auto;background-color:rgba(0,0,0,.7)}.DFco1VIN{pointer-events:auto;cursor:var(--custom-cursor, pointer);-webkit-user-select:none;user-select:none;top:0;height:3rem;margin-top:1rem;font-size:1.5rem;transition:.25s ease-in-out transform}.DFco1VIN.zi1NlOXX{transform:scale(2) translateY(3rem)}.MRIShZ3V{-webkit-user-select:none;user-select:none;position:absolute;max-width:20rem;margin-top:10rem;font-weight:var(--font-weight-medium);color:#fff;text-align:center;opacity:0;transition:.25s ease-in-out opacity}.MRIShZ3V.zi1NlOXX{opacity:1}.eaUe2A0c{pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:0;margin-bottom:auto;padding-top:4rem;padding-bottom:2rem;color:#fff;background:linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%)}.qIeflO02{-webkit-user-select:none;user-select:none;position:absolute;bottom:1rem;display:flex}.hclywYYk{background:#ff595a !important}.hclywYYk:hover{background-color:#d24646 !important}.ln_ZBUHy{background:#5cc85e !important}.ln_ZBUHy:hover{background-color:#4eab50 !important}.cVRd3twS{transform:rotate(-135deg)}.bGlBFSJq{position:absolute;z-index:-1;width:100%;height:100%}.TOFu1n5x{position:absolute;z-index:-1;right:1rem;bottom:1rem;transform:translateY(calc(100% + 1rem)) rotateY(180deg);width:9rem;border-radius:.5rem;transition:.25s ease-in-out transform}.TOFu1n5x.LOnSFN9w{transform:translateY(-5.5rem) rotateY(180deg)}.TOFu1n5x.Omg5T1o6{transform:translateY(0) rotateY(180deg)} .GNYRVAUg .modal-dialog{overflow:hidden}.GNYRVAUg .modal-content{display:flex;flex-direction:column;align-items:center;height:80vh;padding:0}.GNYRVAUg .Avatar{--radius: 0;position:absolute;z-index:-1;top:0;left:0;transform:scale(1.1);width:100%;height:100%;border-radius:0}.GNYRVAUg .Avatar .Avatar__media{border-radius:0;object-fit:cover}.GNYRVAUg .Avatar.RBmbMiou .Avatar__media{filter:blur(10px)}.O7cZE08z .modal-dialog{max-width:100% !important;margin:0;border-radius:0}.O7cZE08z .modal-content{height:calc(var(--vh)*100);max-height:calc(var(--vh)*100)}.AjeGqfrS{border-radius:0}.GI6dY5aJ{position:absolute;display:flex;align-items:center;width:100%;padding:.5rem;color:#fff}.GI6dY5aJ .Button{color:#fff}body.is-tauri .GNYRVAUg.O7cZE08z .GI6dY5aJ{padding-left:var(--window-controls-width)}.ULiJZuaP{margin-left:auto}.RFBKZpjx{pointer-events:none;position:absolute;z-index:2;top:0;left:0;display:flex;justify-content:center;width:100%;height:100%;transition:.25s ease-in-out background-color}.RFBKZpjx.zi1NlOXX{pointer-events:auto;background-color:rgba(0,0,0,.7)}.DFco1VIN{pointer-events:auto;cursor:var(--custom-cursor, pointer);-webkit-user-select:none;user-select:none;top:0;height:3rem;margin-top:1rem;font-size:1.5rem;transition:.25s ease-in-out transform}.DFco1VIN.zi1NlOXX{transform:scale(2) translateY(3rem)}.MRIShZ3V{-webkit-user-select:none;user-select:none;position:absolute;max-width:20rem;margin-top:10rem;font-weight:var(--font-weight-medium);color:#fff;text-align:center;opacity:0;transition:.25s ease-in-out opacity}.MRIShZ3V.zi1NlOXX{opacity:1}.eaUe2A0c{pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:0;margin-bottom:auto;padding-top:4rem;padding-bottom:2rem;color:#fff;background:linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%)}.qIeflO02{-webkit-user-select:none;user-select:none;position:absolute;bottom:1rem;display:flex}.hclywYYk{background:#ff595a !important}.hclywYYk:hover{background-color:#d24646 !important}.ln_ZBUHy{background:#5cc85e !important}.ln_ZBUHy:hover{background-color:#4eab50 !important}.cVRd3twS{transform:rotate(-135deg)}.bGlBFSJq{position:absolute;z-index:-1;width:100%;height:100%}.TOFu1n5x{position:absolute;z-index:-1;right:1rem;bottom:1rem;transform:translateY(calc(100% + 1rem)) rotateY(180deg);width:9rem;border-radius:.5rem;transition:.25s ease-in-out transform}.TOFu1n5x.LOnSFN9w{transform:translateY(-5.5rem) rotateY(180deg)}.TOFu1n5x.Omg5T1o6{transform:translateY(0) rotateY(180deg)}
.P7EfDKJN{display:flex;justify-content:center;width:100%;font-size:1.5rem}.t8LJLFSN{cursor:var(--custom-cursor, pointer);color:var(--color-text-secondary)}.t8LJLFSN:not(:first-child){margin-left:1rem}.t8LJLFSN._XX6q8YW{color:var(--color-primary)}.EvL0WaKD{overflow:hidden;margin-top:1rem}.EvL0WaKD:not(.v5hn1XvT){display:none} .P7EfDKJN{display:flex;justify-content:center;width:100%;font-size:1.5rem}.t8LJLFSN{cursor:var(--custom-cursor, pointer);color:var(--color-text-secondary)}.t8LJLFSN:not(:first-child){margin-left:1rem}.t8LJLFSN._XX6q8YW{color:var(--color-primary)}.EvL0WaKD{overflow:hidden;margin-top:1rem}.EvL0WaKD:not(.v5hn1XvT){display:none}
/*# sourceMappingURL=BundleCalls.bb55da2b627d017f9d9c.css.map*/ /*# sourceMappingURL=BundleCalls.e76fd42127fb4a232173.css.map*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -55,4 +55,4 @@
.IHwFZk68{margin-bottom:.5rem;text-align:center;text-wrap:balance}.lh9lMCxr{margin-bottom:1rem;text-align:center}.wGrc4H5s{margin-bottom:1rem}.fqgphS0b{display:flex;gap:.5rem;align-items:center}.YnTd0N6i{margin-bottom:.5rem;color:var(--color-error);text-align:center}.IluvaDj9{margin-bottom:.5rem;color:var(--color-text-secondary);text-align:center}.UitlqwUx{margin-bottom:.5rem;color:var(--color-success);text-align:center} .IHwFZk68{margin-bottom:.5rem;text-align:center;text-wrap:balance}.lh9lMCxr{margin-bottom:1rem;text-align:center}.wGrc4H5s{margin-bottom:1rem}.fqgphS0b{display:flex;gap:.5rem;align-items:center}.YnTd0N6i{margin-bottom:.5rem;color:var(--color-error);text-align:center}.IluvaDj9{margin-bottom:.5rem;color:var(--color-text-secondary);text-align:center}.UitlqwUx{margin-bottom:.5rem;color:var(--color-success);text-align:center}
.KSVFHEn0{--custom-emoji-size: 2rem;margin-inline-end:.5rem}.fJGfJQgw{margin-inline-start:.25rem}.gx0hMACm{color:var(--color-text-secondary);text-align:center}.DNfpDFqJ{--border-radius-default: 0;padding:0 !important}.wrFlN_O8{overflow:hidden !important} .KSVFHEn0{--custom-emoji-size: 2rem;margin-inline-end:.5rem}.fJGfJQgw{margin-inline-start:.25rem}.gx0hMACm{color:var(--color-text-secondary);text-align:center}.DNfpDFqJ{--border-radius-default: 0;padding:0 !important}.wrFlN_O8{overflow:hidden !important}
/*# sourceMappingURL=BundleStars.5199e890c30638ab1e63.css.map*/ /*# sourceMappingURL=BundleStars.b73ed104aa0193927e67.css.map*/

File diff suppressed because one or more lines are too long

1
dist/Writing.97aec2f0224651b86166.svg vendored Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 60" width="48" height="60" class="lottie-svg" preserveAspectRatio="xMidYMid meet" style="width: 100%; height: 100%; transform: translate3d(0px, 0px, 0px); content-visibility: visible;"><defs><clipPath id="__lottie_element_17"><rect width="48" height="60" x="0" y="0"></rect></clipPath><clipPath id="__lottie_element_19"><path d="M0,0 L512,0 L512,512 L0,512z"></path></clipPath></defs><g clip-path="url(#__lottie_element_17)"><g clip-path="url(#__lottie_element_19)" transform="matrix(0.0949999988079071,0,0,0.0949999988079071,-0.31999969482421875,18.68000030517578)" opacity="1" style="display: block;"><g transform="matrix(1,0,0,1,291,256)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,0,0)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M102.4000015258789,-32 C120.072998046875,-32 134.39999389648438,-17.67300033569336 134.39999389648438,0 C134.39999389648438,17.67300033569336 120.072998046875,32 102.4000015258789,32 C84.72699737548828,32 70.4000015258789,17.67300033569336 70.4000015258789,0 C70.4000015258789,-17.67300033569336 84.72699737548828,-32 102.4000015258789,-32z"></path></g></g><g transform="matrix(1,0,0,1,256,256)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,0,0)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M0,-32 C17.67300033569336,-32 32,-17.67300033569336 32,0 C32,17.67300033569336 17.67300033569336,32 0,32 C-17.67300033569336,32 -32,17.67300033569336 -32,0 C-32,-17.67300033569336 -17.67300033569336,-32 0,-32z"></path></g></g><g transform="matrix(1,0,0,1,221,256)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,0,0)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M-102.4000015258789,-32 C-84.72699737548828,-32 -70.4000015258789,-17.67300033569336 -70.4000015258789,0 C-70.4000015258789,17.67300033569336 -84.72699737548828,32 -102.4000015258789,32 C-120.072998046875,32 -134.39999389648438,17.67300033569336 -134.39999389648438,0 C-134.39999389648438,-17.67300033569336 -120.072998046875,-32 -102.4000015258789,-32z"></path></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because one or more lines are too long

BIN
dist/icons.0bd179ed4904e381e9ae.woff vendored Normal file

Binary file not shown.

BIN
dist/icons.189d6c71e15bdb598184.woff2 vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
dist/index.html vendored
View File

@ -1,4 +1,4 @@
<!doctype html><html lang="en" translate="no" class="notranslate"><head><meta charset="UTF-8"><title>Telegram</title><meta name="title" content="Telegram"><meta name="description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no,viewport-fit=cover"><meta name="mobile-web-app-capable" content="yes"><meta name="mobile-web-app-title" content="Telegram"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Telegram"><meta name="application-name" content="Telegram"><meta name="msapplication-TileColor" content="#2b5797"><meta name="msapplication-config" content="./browserconfig.xml"><meta name="theme-color" content="#ffffff"><meta name="google" content="notranslate"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'self' wss://*.web.telegram.org blob: http: https: ; script-src 'self' 'wasm-unsafe-eval' https://t.me/_websync_ https://telegram.me/_websync_; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://ss3.4sqi.net/img/categories_v2/; media-src 'self' blob: data:; object-src 'none'; frame-src http: https: bitkeep: bnc: bybitapp: echooo: imtokenv2: mytonwallet-tc: nicegram-tc: safepal-tc: tonkeeper-pro-tc: tonkeeper-tc:; base-uri 'none'; form-action 'none';"><meta property="og:type" content="website"><meta property="og:url" content="https://web.telegram.org/a"><meta property="og:title" content="Telegram"><meta property="og:description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta property="og:image" content="./icon-192x192.png"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://web.telegram.org/a"><meta property="twitter:title" content="Telegram"><meta property="twitter:description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta property="twitter:image" content="./icon-192x192.png"><link rel="canonical" href="https://web.telegram.org/"><link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png"><link rel="icon" href="./favicon.svg" type="image/svg+xml"><link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="./favicon-32x32.png"><link rel="icon" type="image/png" sizes="192x192" href="./icon-192x192.png"><link rel="alternate icon" href="./favicon.ico" type="image/x-icon"><link rel="manifest" id="the-manifest-placeholder" href="./site.webmanifest"><script src="./redirect.js"></script><style>@layer reset, variables, ui, components; <!doctype html><html lang="en" translate="no" class="notranslate"><head><meta charset="UTF-8"><title>Telegram</title><meta name="title" content="Telegram"><meta name="description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no,viewport-fit=cover"><meta name="mobile-web-app-capable" content="yes"><meta name="mobile-web-app-title" content="Telegram"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Telegram"><meta name="application-name" content="Telegram"><meta name="msapplication-TileColor" content="#2b5797"><meta name="msapplication-config" content="./browserconfig.xml"><meta name="theme-color" content="#ffffff"><meta name="google" content="notranslate"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'self' wss://*.web.telegram.org blob: http: https: ; script-src 'self' 'wasm-unsafe-eval' https://t.me/_websync_ https://telegram.me/_websync_; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://ss3.4sqi.net/img/categories_v2/; media-src 'self' blob: data:; object-src 'none'; frame-src http: https: bitkeep: bnc: bybitapp: echooo: imtokenv2: mytonwallet-tc: nicegram-tc: safepal-tc: tonkeeper-pro-tc: tonkeeper-tc:; base-uri 'none'; form-action 'none';"><meta property="og:type" content="website"><meta property="og:url" content="https://web.telegram.org/a"><meta property="og:title" content="Telegram"><meta property="og:description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta property="og:image" content="./icon-192x192.png"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://web.telegram.org/a"><meta property="twitter:title" content="Telegram"><meta property="twitter:description" content="Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed."><meta property="twitter:image" content="./icon-192x192.png"><link rel="canonical" href="https://web.telegram.org/"><link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png"><link rel="icon" href="./favicon.svg" type="image/svg+xml"><link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="./favicon-32x32.png"><link rel="icon" type="image/png" sizes="192x192" href="./icon-192x192.png"><link rel="alternate icon" href="./favicon.ico" type="image/x-icon"><link rel="manifest" id="the-manifest-placeholder" href="./site.webmanifest"><script src="./redirect.js"></script><style>@layer reset, variables, ui, components;
@layer ui { @layer ui {
@layer tablist, spinner, button, input, layout; @layer tablist, spinner, button, input, layout;
}</style><script defer="defer" src="main.bfd2fef4e88dcd99c957.js"></script><link href="main.c5e86023c2d23b7f1b21.css" rel="stylesheet"></head><body id="root"><noscript><video src="./nojs.mp4" class="nojs-video" muted loop autoplay playsinline disablepictureinpicture></video><h1>Telegram Web</h1><p>Please, enable JavaScript to open the app.</p></noscript><div id="portals"></div><script src="./compatTest.js"></script></body></html> }</style><script defer="defer" src="main.7524fe2cf3d868dfee6f.js"></script><link href="main.5f9a41192c801eaff918.css" rel="stylesheet"></head><body id="root"><noscript><video src="./nojs.mp4" class="nojs-video" muted loop autoplay playsinline disablepictureinpicture></video><h1>Telegram Web</h1><p>Please, enable JavaScript to open the app.</p></noscript><div id="portals"></div><script src="./compatTest.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/main.7524fe2cf3d868dfee6f.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/main.7524fe2cf3d868dfee6f.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/version.txt vendored
View File

@ -1 +1 @@
12.0.28 12.0.29

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -27,7 +27,8 @@ type Limit =
| 'chatlist_joined_limit' | 'chatlist_joined_limit'
| 'recommended_channels_limit' | 'recommended_channels_limit'
| 'saved_dialogs_pinned_limit' | 'saved_dialogs_pinned_limit'
| 'reactions_user_max'; | 'reactions_user_max'
| 'aicompose_tone_saved_limit';
type LimitKey = `${Limit}_${LimitType}`; type LimitKey = `${Limit}_${LimitType}`;
type LimitsConfig = Record<LimitKey, number>; type LimitsConfig = Record<LimitKey, number>;
@ -135,8 +136,6 @@ export interface GramJsAppConfig extends LimitsConfig {
aicompose_tone_examples_num?: number; aicompose_tone_examples_num?: number;
aicompose_tone_title_length_max?: number; aicompose_tone_title_length_max?: number;
aicompose_tone_prompt_length_max?: number; aicompose_tone_prompt_length_max?: number;
aicompose_tone_saved_limit_default?: number;
aicompose_tone_saved_limit_premium?: number;
} }
function buildEmojiSounds(appConfig: GramJsAppConfig) { function buildEmojiSounds(appConfig: GramJsAppConfig) {
@ -217,6 +216,7 @@ export function buildAppConfig(json: GramJs.TypeJSONValue, hash: number): ApiApp
savedDialogsPinned: getLimit(appConfig, 'saved_dialogs_pinned_limit', 'savedDialogsPinned'), savedDialogsPinned: getLimit(appConfig, 'saved_dialogs_pinned_limit', 'savedDialogsPinned'),
maxReactions: getLimit(appConfig, 'reactions_user_max', 'maxReactions'), maxReactions: getLimit(appConfig, 'reactions_user_max', 'maxReactions'),
moreAccounts: DEFAULT_LIMITS.moreAccounts, moreAccounts: DEFAULT_LIMITS.moreAccounts,
aiComposeToneSaved: getLimit(appConfig, 'aicompose_tone_saved_limit', 'aiComposeToneSaved'),
}, },
contactNoteLimit: appConfig.contact_note_length_limit, contactNoteLimit: appConfig.contact_note_length_limit,
hash, hash,
@ -284,8 +284,6 @@ export function buildAppConfig(json: GramJs.TypeJSONValue, hash: number): ApiApp
aiComposeToneExamplesNum: appConfig.aicompose_tone_examples_num, aiComposeToneExamplesNum: appConfig.aicompose_tone_examples_num,
aiComposeToneTitleLengthMax: appConfig.aicompose_tone_title_length_max, aiComposeToneTitleLengthMax: appConfig.aicompose_tone_title_length_max,
aiComposeTonePromptLengthMax: appConfig.aicompose_tone_prompt_length_max, aiComposeTonePromptLengthMax: appConfig.aicompose_tone_prompt_length_max,
aiComposeToneSavedLimitDefault: appConfig.aicompose_tone_saved_limit_default,
aiComposeToneSavedLimitPremium: appConfig.aicompose_tone_saved_limit_premium,
}; };
return { return {

View File

@ -1004,6 +1004,10 @@ export function buildWebPage(webPage: GramJs.TypeWebPage): ApiWebPage | undefine
}; };
} }
const attributeAiTone = attributes?.find((a): a is GramJs.WebPageAttributeAiComposeTone => (
a instanceof GramJs.WebPageAttributeAiComposeTone
));
return { return {
mediaType: 'webpage', mediaType: 'webpage',
webpageType: 'full', webpageType: 'full',
@ -1026,6 +1030,7 @@ export function buildWebPage(webPage: GramJs.TypeWebPage): ApiWebPage | undefine
gift, gift,
auction, auction,
stickers, stickers,
aiComposeToneEmojiId: attributeAiTone?.emojiId.toString(),
}; };
} }

View File

@ -64,7 +64,9 @@ import {
buildApiSponsoredMessageReportResult, buildApiSponsoredMessageReportResult,
buildThreadReadState, buildThreadReadState,
} from '../apiBuilders/chats'; } from '../apiBuilders/chats';
import { buildApiAiComposeTone, buildApiComposedMessageWithAI, buildApiFormattedText } from '../apiBuilders/common'; import {
buildApiAiComposeTone, buildApiAiComposeToneExample, buildApiComposedMessageWithAI, buildApiFormattedText,
} from '../apiBuilders/common';
import { buildApiTopicWithState } from '../apiBuilders/forums'; import { buildApiTopicWithState } from '../apiBuilders/forums';
import { import {
buildMessageMediaContent, buildMessagePollFromMedia, buildMessageTextContent, buildMessageMediaContent, buildMessagePollFromMedia, buildMessageTextContent,
@ -2853,3 +2855,110 @@ export async function fetchAiComposeTones({
hash: result.hash.toString(), hash: result.hash.toString(),
}; };
} }
export async function createAiTone({
title,
emojiId,
prompt,
shouldDisplayAuthor,
}: {
title: string;
emojiId: string;
prompt: string;
shouldDisplayAuthor?: boolean;
}) {
const result = await invokeRequest(new GramJs.aicompose.CreateTone({
title,
prompt,
emojiId: BigInt(emojiId),
displayAuthor: shouldDisplayAuthor || undefined,
}));
if (!result) return undefined;
return buildApiAiComposeTone(result);
}
export async function deleteAiTone({
tone,
}: {
tone: ApiInputAiComposeTone;
}) {
return invokeRequest(new GramJs.aicompose.DeleteTone({
tone: buildInputAiComposeTone(tone),
}));
}
export async function updateAiTone({
tone,
title,
emojiId,
prompt,
shouldDisplayAuthor,
}: {
tone: ApiInputAiComposeTone;
title?: string;
emojiId?: string;
prompt?: string;
shouldDisplayAuthor?: boolean;
}) {
const result = await invokeRequest(new GramJs.aicompose.UpdateTone({
tone: buildInputAiComposeTone(tone),
title,
prompt,
emojiId: emojiId ? BigInt(emojiId) : undefined,
displayAuthor: shouldDisplayAuthor,
}));
if (!result) return undefined;
return buildApiAiComposeTone(result);
}
export async function fetchAiTone({
tone,
}: {
tone: ApiInputAiComposeTone;
}) {
const result = await invokeRequest(new GramJs.aicompose.GetTone({
tone: buildInputAiComposeTone(tone),
}));
if (!result || !('tones' in result)) {
return undefined;
}
return {
tones: result.tones.map(buildApiAiComposeTone),
};
}
export async function fetchAiToneExample({
tone,
num,
}: {
tone: ApiInputAiComposeTone;
num: number;
}) {
const result = await invokeRequest(new GramJs.aicompose.GetToneExample({
tone: buildInputAiComposeTone(tone),
num,
}));
if (!result) return undefined;
return buildApiAiComposeToneExample(result);
}
export async function saveAiTone({
tone,
unsave,
}: {
tone: ApiInputAiComposeTone;
unsave?: boolean;
}) {
return invokeRequest(new GramJs.aicompose.SaveTone({
tone: buildInputAiComposeTone(tone),
unsave: Boolean(unsave),
}));
}

View File

@ -1,4 +1,5 @@
import { Api as GramJs } from '../../../lib/gramjs'; import { Api as GramJs } from '../../../lib/gramjs';
import { RPCError } from '../../../lib/gramjs/errors';
import type { import type {
ApiError, ApiError,
@ -32,7 +33,7 @@ import {
} from '../gramjsBuilders'; } from '../gramjsBuilders';
import { addStoryToLocalDb } from '../helpers/localDb'; import { addStoryToLocalDb } from '../helpers/localDb';
import { deserializeBytes } from '../helpers/misc'; import { deserializeBytes } from '../helpers/misc';
import { invokeRequest } from './client'; import { dispatchErrorUpdate, invokeRequest } from './client';
export async function fetchAllStories({ export async function fetchAllStories({
stateHash, stateHash,
@ -181,16 +182,30 @@ export function fetchStoriesArchive({
} }
export async function fetchPeerStoriesByIds({ peer, ids }: { peer: ApiPeer; ids: number[] }) { export async function fetchPeerStoriesByIds({ peer, ids }: { peer: ApiPeer; ids: number[] }) {
const result = await invokeRequest(new GramJs.stories.GetStoriesByID({ const request = new GramJs.stories.GetStoriesByID({
peer: buildInputPeer(peer.id, peer.accessHash), peer: buildInputPeer(peer.id, peer.accessHash),
id: ids, id: ids,
})); });
let result;
try {
result = await invokeRequest(request, { shouldThrow: true });
} catch (err) {
if (err instanceof RPCError && err.errorMessage === 'CHANNEL_PRIVATE') {
return {
stories: buildDeletedStories(peer.id, ids),
};
}
dispatchErrorUpdate(err as Error, request);
return undefined;
}
if (!result) { if (!result) {
return undefined; return undefined;
} }
const stories = ids.reduce<Record<string, ApiTypeStory>>((acc, id) => { const stories = ids.reduce<Record<number, ApiTypeStory>>((acc, id) => {
const story = result.stories.find(({ id: currentId }) => currentId === id); const story = result.stories.find(({ id: currentId }) => currentId === id);
if (story) { if (story) {
acc[id] = buildApiStory(peer.id, story); acc[id] = buildApiStory(peer.id, story);
@ -214,6 +229,18 @@ export async function fetchPeerStoriesByIds({ peer, ids }: { peer: ApiPeer; ids:
}; };
} }
function buildDeletedStories(peerId: string, ids: number[]): Record<number, ApiTypeStory> {
return ids.reduce<Record<number, ApiTypeStory>>((acc, id) => {
acc[id] = {
id,
peerId,
isDeleted: true,
};
return acc;
}, {});
}
export function viewStory({ peer, storyId }: { peer: ApiPeer; storyId: number }) { export function viewStory({ peer, storyId }: { peer: ApiPeer; storyId: number }) {
return invokeRequest(new GramJs.stories.IncrementStoryViews({ return invokeRequest(new GramJs.stories.IncrementStoryViews({
peer: buildInputPeer(peer.id, peer.accessHash), peer: buildInputPeer(peer.id, peer.accessHash),

View File

@ -426,6 +426,7 @@ export interface ApiWebPageFull {
gift?: ApiStarGiftUnique; gift?: ApiStarGiftUnique;
auction?: ApiWebPageAuctionData; auction?: ApiWebPageAuctionData;
stickers?: ApiWebPageStickerData; stickers?: ApiWebPageStickerData;
aiComposeToneEmojiId?: string;
hasLargeMedia?: boolean; hasLargeMedia?: boolean;
} }

View File

@ -337,8 +337,6 @@ export interface ApiAppConfig {
aiComposeToneExamplesNum?: number; aiComposeToneExamplesNum?: number;
aiComposeToneTitleLengthMax?: number; aiComposeToneTitleLengthMax?: number;
aiComposeTonePromptLengthMax?: number; aiComposeTonePromptLengthMax?: number;
aiComposeToneSavedLimitDefault?: number;
aiComposeToneSavedLimitPremium?: number;
} }
export interface ApiConfig { export interface ApiConfig {
@ -464,15 +462,17 @@ export type ApiLimitType =
| 'recommendedChannels' | 'recommendedChannels'
| 'savedDialogsPinned' | 'savedDialogsPinned'
| 'maxReactions' | 'maxReactions'
| 'moreAccounts'; | 'moreAccounts'
| 'aiComposeToneSaved';
export type ApiLimitTypeWithModal = Exclude<ApiLimitType, ( export type ApiLimitTypeWithModal = Exclude<ApiLimitType, (
'captionLength' | 'aboutLength' | 'stickersFaved' | 'savedGifs' | 'recommendedChannels' | 'moreAccounts' 'captionLength' | 'aboutLength' | 'stickersFaved' | 'savedGifs' | 'recommendedChannels' | 'moreAccounts'
| 'maxReactions' | 'maxReactions' | 'aiComposeToneSaved'
)>; )>;
export type ApiLimitTypeForPromo = Exclude<ApiLimitType, export type ApiLimitTypeForPromo = Exclude<ApiLimitType,
'uploadMaxFileparts' | 'chatlistInvites' | 'chatlistJoined' | 'savedDialogsPinned' | 'maxReactions' 'uploadMaxFileparts' | 'chatlistInvites' | 'chatlistJoined' | 'savedDialogsPinned' | 'maxReactions'
| 'aiComposeToneSaved'
>; >;
export type ApiPeerNotifySettings = { export type ApiPeerNotifySettings = {

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M22.609 22.136a.226.226 0 0 0-.276.04A8.82 8.82 0 0 1 16 24.859c-4.885 0-8.858-3.975-8.858-8.86 0-.237.034-.466.052-.698a16 16 0 0 0-.73-.13c-.258-.03-.516-.06-.774-.081q-.26 0-.501-.066a11 11 0 0 0-.047.976c0 5.988 4.87 10.859 10.858 10.859 3.183 0 6.045-1.382 8.032-3.572.1-.11.07-.289-.059-.363zM24.77 17.184c.19-.075.388-.12.6-.113q.124 0 .246.012.308.033.614.083a1.6 1.6 0 0 1 .329.093c.068.028.135.06.203.087.057-.442.097-.89.097-1.346C26.859 10.012 21.987 5.14 16 5.14a10.82 10.82 0 0 0-8.032 3.572c-.1.11-.07.289.06.363l1.363.788c.09.052.203.035.276-.04A8.82 8.82 0 0 1 16 7.141c4.885 0 8.859 3.974 8.859 8.859 0 .402-.037.796-.09 1.184"/><path d="M6.241 12.481 1.8 17.451a.185.185 0 0 0 .138.308h8.606c.16 0 .245-.189.138-.308zM25.759 19.519l4.441-4.97a.185.185 0 0 0-.138-.308h-8.606c-.16 0-.245.189-.138.308z"/></svg>

After

Width:  |  Height:  |  Size: 897 B

View File

@ -1910,6 +1910,7 @@
"ViewButtonStickerset" = "VIEW STICKERS"; "ViewButtonStickerset" = "VIEW STICKERS";
"ViewButtonEmojiset" = "VIEW EMOJI"; "ViewButtonEmojiset" = "VIEW EMOJI";
"ViewButtonGiftUnique" = "VIEW COLLECTIBLE"; "ViewButtonGiftUnique" = "VIEW COLLECTIBLE";
"ViewButtonAiStyle" = "VIEW STYLE";
"AuthContinueOnThisLanguage" = "Continue in English"; "AuthContinueOnThisLanguage" = "Continue in English";
"Share" = "Share"; "Share" = "Share";
"GiftSortByDate" = "Sort by Date"; "GiftSortByDate" = "Sort by Date";
@ -2889,6 +2890,32 @@
"AiMessageEditorApply" = "Apply"; "AiMessageEditorApply" = "Apply";
"AiMessageEditorEmojify" = "emojify"; "AiMessageEditorEmojify" = "emojify";
"AiMessageEditorTranslation" = "Translation"; "AiMessageEditorTranslation" = "Translation";
"AiToneEditorNewStyle" = "New Style";
"AiToneEditorTitle" = "Create AI Tone";
"AiToneEditorNamePlaceholder" = "Style Name (for example: Pirate)";
"AiToneEditorPromptPlaceholder" = "Instructions (for example write in bold, nautical tone, light slang, vivid sea imagery, playful swagger)";
"AiToneEditorDisplayAuthor" = "Add a link to my account";
"AiToneEditorSelectEmoji" = "Select Emoji";
"AiToneCreated" = "{title} style created!";
"AiToneCreatedHint" = "Press and hold a style to edit or share it.";
"AiToneEditStyle" = "Edit Style";
"AiToneShareStyle" = "Share Style";
"AiToneDeleteStyle" = "Delete Style";
"AiToneDeleteStyleConfirmOwn" = "Are you sure you want to delete this style? It will be removed for everyone who installed it.";
"AiToneDeleteStyleConfirm" = "Are you sure you want to remove this style?";
"AiToneEditorEditTitle" = "Edit AI Style";
"AiTonePreviewSubtitle" = "Add this style to instantly rewrite your messages.";
"AiTonePreviewBefore" = "Before";
"AiTonePreviewAnotherExample" = "Another Example";
"AiTonePreviewAfter" = "After";
"AiTonePreviewAddStyle" = "Add Style";
"AiTonePreviewRemoveStyle" = "Remove Style";
"AiTonePreviewStyleAdded" = "Style added";
"AiToneLimitReached" = "You have reached the limit of custom styles.";
"AiToneLimitReachedPremium" = "You have reached the limit of **{limit}** custom styles.";
"AiTonePreviewUsedBy" = "Used by {count} people.";
"AiTonePreviewCreatedBy" = "Created by {author}.";
"AiTonePreviewUsedByCreatedBy" = "{usedBy} {createdBy}";
"TextShowMore" = "more"; "TextShowMore" = "more";
"TextShowLess" = "less"; "TextShowLess" = "less";
"AiMessageEditorFrom" = "From"; "AiMessageEditorFrom" = "From";

View File

@ -73,6 +73,10 @@ export { default as ReactionPicker } from '../components/middle/message/reaction
export { default as AiMessageEditorModal } export { default as AiMessageEditorModal }
from '../components/middle/composer/AiMessageEditorModal/AiMessageEditorModal'; from '../components/middle/composer/AiMessageEditorModal/AiMessageEditorModal';
export { default as AiToneEmojiPickerModal }
from '../components/middle/composer/AiMessageEditorModal/AiToneEmojiPickerModal';
export { default as AiTonePreviewModal }
from '../components/modals/aiTonePreview/AiTonePreviewModal';
export { default as AttachmentModal } from '../components/middle/composer/AttachmentModal'; export { default as AttachmentModal } from '../components/middle/composer/AttachmentModal';
export { default as PollModal } from '../components/modals/poll/PollModal'; export { default as PollModal } from '../components/modals/poll/PollModal';

View File

@ -68,6 +68,7 @@ type OwnProps = {
isStatusPicker?: boolean; isStatusPicker?: boolean;
isReactionPicker?: boolean; isReactionPicker?: boolean;
isTranslucent?: boolean; isTranslucent?: boolean;
noAddButton?: boolean;
onCustomEmojiSelect: (sticker: ApiSticker) => void; onCustomEmojiSelect: (sticker: ApiSticker) => void;
onReactionSelect?: (reaction: ApiReactionWithPaid) => void; onReactionSelect?: (reaction: ApiReactionWithPaid) => void;
onReactionContext?: (reaction: ApiReactionWithPaid) => void; onReactionContext?: (reaction: ApiReactionWithPaid) => void;
@ -130,6 +131,7 @@ const CustomEmojiPicker: FC<OwnProps & StateProps> = ({
isReactionPicker, isReactionPicker,
isStatusPicker, isStatusPicker,
isTranslucent, isTranslucent,
noAddButton,
isSavedMessages, isSavedMessages,
isCurrentUserPremium, isCurrentUserPremium,
withDefaultTopicIcons, withDefaultTopicIcons,
@ -451,6 +453,7 @@ const CustomEmojiPicker: FC<OwnProps & StateProps> = ({
isSavedMessages={isSavedMessages} isSavedMessages={isSavedMessages}
isStatusPicker={isStatusPicker} isStatusPicker={isStatusPicker}
isReactionPicker={isReactionPicker} isReactionPicker={isReactionPicker}
noAddButton={noAddButton}
shouldHideHeader={shouldHideHeader} shouldHideHeader={shouldHideHeader}
withDefaultTopicIcon={withDefaultTopicIcons && stickerSet.id === RECENT_SYMBOL_SET_ID} withDefaultTopicIcon={withDefaultTopicIcons && stickerSet.id === RECENT_SYMBOL_SET_ID}
withDefaultStatusIcon={isStatusPicker && stickerSet.id === RECENT_SYMBOL_SET_ID} withDefaultStatusIcon={isStatusPicker && stickerSet.id === RECENT_SYMBOL_SET_ID}

View File

@ -59,6 +59,7 @@ type BaseOwnProps = {
noVerified?: boolean; noVerified?: boolean;
emojiStatusSize?: number; emojiStatusSize?: number;
noStatusOrTyping?: boolean; noStatusOrTyping?: boolean;
noUserStatus?: boolean;
noRtl?: boolean; noRtl?: boolean;
chatMemberOriginId?: string; chatMemberOriginId?: string;
chatMember?: ApiChatMember; chatMember?: ApiChatMember;
@ -109,6 +110,7 @@ const PrivateChatInfo = ({
withUpdatingStatus, withUpdatingStatus,
emojiStatusSize, emojiStatusSize,
noStatusOrTyping, noStatusOrTyping,
noUserStatus,
noEmojiStatus, noEmojiStatus,
noFake, noFake,
noVerified, noVerified,
@ -231,10 +233,10 @@ const PrivateChatInfo = ({
return undefined; return undefined;
} }
const translatedStatus = getUserStatus(oldLang, user, userStatus); const translatedStatus = noUserStatus ? undefined : getUserStatus(oldLang, user, userStatus);
const mainUserNameClassName = buildClassName('handle', translatedStatus && 'withStatus'); const mainUserNameClassName = buildClassName('handle', translatedStatus && 'withStatus');
return ( return (
<span className={buildClassName('status', isUserOnline(user, userStatus, true) && 'online')}> <span className={buildClassName('status', !noUserStatus && isUserOnline(user, userStatus, true) && 'online')}>
{mainUsername && <span className={mainUserNameClassName}>{mainUsername}</span>} {mainUsername && <span className={mainUserNameClassName}>{mainUsername}</span>}
{translatedStatus && <span className="user-status" dir="auto">{translatedStatus}</span>} {translatedStatus && <span className="user-status" dir="auto">{translatedStatus}</span>}
</span> </span>

View File

@ -62,6 +62,7 @@ type OwnProps = {
isChatStickerSet?: boolean; isChatStickerSet?: boolean;
isTranslucent?: boolean; isTranslucent?: boolean;
noContextMenus?: boolean; noContextMenus?: boolean;
noAddButton?: boolean;
forcePlayback?: boolean; forcePlayback?: boolean;
observeIntersection?: ObserveFn; observeIntersection?: ObserveFn;
observeIntersectionForPlayingItems: ObserveFn; observeIntersectionForPlayingItems: ObserveFn;
@ -106,6 +107,7 @@ const StickerSet = ({
isChatStickerSet, isChatStickerSet,
isTranslucent, isTranslucent,
noContextMenus, noContextMenus,
noAddButton,
forcePlayback, forcePlayback,
collectibleStatuses, collectibleStatuses,
observeIntersection, observeIntersection,
@ -260,7 +262,7 @@ const StickerSet = ({
const collectibleEmojiIdsSet = useMemo(() => ( const collectibleEmojiIdsSet = useMemo(() => (
collectibleStatuses ? new Set(collectibleStatuses.map(({ documentId }) => documentId)) : undefined collectibleStatuses ? new Set(collectibleStatuses.map(({ documentId }) => documentId)) : undefined
), [collectibleStatuses]); ), [collectibleStatuses]);
const withAddSetButton = !shouldHideHeader && !isRecent && !isStatusCollectible const withAddSetButton = !noAddButton && !shouldHideHeader && !isRecent && !isStatusCollectible
&& isEmoji && !isPopular && !isChatEmojiSet && isEmoji && !isPopular && !isChatEmojiSet
&& (!isInstalled || (!isCurrentUserPremium && !isSavedMessages)); && (!isInstalled || (!isCurrentUserPremium && !isSavedMessages));
const addSetButtonText = useMemo(() => { const addSetButtonText = useMemo(() => {

Some files were not shown because too many files have changed in this diff Show More