diff --git a/package.json b/package.json index 909fa622..8bdb13cd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "equicord", "private": "true", - "version": "1.9.4", + "version": "1.9.5", "description": "The other cutest Discord client mod", "homepage": "https://github.com/Equicord/Equicord#readme", "bugs": { diff --git a/src/equicordplugins/equicordCSS/css/main.min.css b/src/equicordplugins/equicordCSS/css/main.min.css index 45fb75e0..9ea8eada 100644 --- a/src/equicordplugins/equicordCSS/css/main.min.css +++ b/src/equicordplugins/equicordCSS/css/main.min.css @@ -8,7 +8,7 @@ /* stylelint-disable number-max-precision */ /* stylelint-disable declaration-block-single-line-max-declarations */ /* stylelint-disable selector-class-pattern */ -:root{ +:root { --settingsicons: 1; --si-size: 18px; --si-gap: 14px; @@ -61,7 +61,7 @@ --si-equicordcloud: url(https://minidiscordthemes.github.io/SettingsIcons/svg/vencordcloud.svg); --si-equicordsettingssync: url(https://minidiscordthemes.github.io/SettingsIcons/svg/vencordsettingssync.svg); --si-equicordpatchhelper: url(https://minidiscordthemes.github.io/SettingsIcons/svg/vencordpatchhelper.svg); - --si-vesktop: url(https://minidiscordthemes.github.io/SettingsIcons/svg/vesktop.svg); + --si-equibop: url(https://minidiscordthemes.github.io/SettingsIcons/svg/vesktop.svg); --si-overview: url(https://minidiscordthemes.github.io/SettingsIcons/svg/overview.svg); --si-roles: url(https://minidiscordthemes.github.io/SettingsIcons/svg/roles.svg); --si-emoji: url(https://minidiscordthemes.github.io/SettingsIcons/svg/emoji.svg); @@ -92,338 +92,421 @@ --si-delete: url(https://minidiscordthemes.github.io/SettingsIcons/svg/delete.svg); --si-default: url(https://minidiscordthemes.github.io/SettingsIcons/svg/default.svg) } -.sidebarRegion_c25c6d{ - flex-basis:calc(218px + var(--use-si)*(var(--si-size) + var(--si-gap))) !important -} -.sidebar_c25c6d{ - width:calc(218px + var(--use-si)*(var(--si-size) + var(--si-gap))) !important -} -.sidebar_c25c6d :is(.item_a0 .icon_f7189e,.premiumLabel_ae3c77>svg,.premiumLabel_ae3c77 img,.tabBarItemContainer_e7c031>svg,.tabBarItemContainer_e7c031 img){ - transform:scaleX(calc(1 - var(--use-si))) -} -.sidebar_c25c6d .side_a0 .item_a0{ - display:flex; - align-items:center -} -.sidebar_c25c6d .side_a0 .item_a0::before{ - content:""; - flex:0 0 auto; - width:calc(var(--use-si)*var(--si-size)); - height:calc(var(--use-si)*var(--si-size)); - margin-right:calc(var(--use-si)*var(--si-size)/2); - background:currentColor; - z-index:2; - -webkit-mask:var(--si-default) center/contain no-repeat; - mask:var(--si-default) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="My Account"]::before{ - -webkit-mask:var(--si-myaccount) center/contain no-repeat; - mask:var(--si-myaccount) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Profile Customization"]::before{ - -webkit-mask:var(--si-profilecustomization) center/contain no-repeat; - mask:var(--si-profilecustomization) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Privacy & Safety"]::before{ - -webkit-mask:var(--si-privacysafety) center/contain no-repeat; - mask:var(--si-privacysafety) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Family Center"]::before{ - -webkit-mask:var(--si-familycenter) center/contain no-repeat; - mask:var(--si-familycenter) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Authorized Apps"]::before{ - -webkit-mask:var(--si-authorizedapps) center/contain no-repeat; - mask:var(--si-authorizedapps) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Sessions]::before{ - -webkit-mask:var(--si-sessions) center/contain no-repeat; - mask:var(--si-sessions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Connections]::before{ - -webkit-mask:var(--si-connections) center/contain no-repeat; - mask:var(--si-connections) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Settings Clips"]::before{ - -webkit-mask:var(--si-settingsclips) center/contain no-repeat; - mask:var(--si-settingsclips) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Friend Requests"]::before{ - -webkit-mask:var(--si-friendrequests) center/contain no-repeat; - mask:var(--si-friendrequests) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Discord Nitro"]::before{ - -webkit-mask:var(--si-discordnitro) center/contain no-repeat; - mask:var(--si-discordnitro) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Nitro Server Boost"]::before{ - -webkit-mask:var(--si-nitroserverboost) center/contain no-repeat; - mask:var(--si-nitroserverboost) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Subscriptions]::before{ - -webkit-mask:var(--si-subscriptions) center/contain no-repeat; - mask:var(--si-subscriptions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Library Inventory"]::before{ - -webkit-mask:var(--si-libraryinventory) center/contain no-repeat; - mask:var(--si-libraryinventory) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Billing]::before{ - -webkit-mask:var(--si-billing) center/contain no-repeat; - mask:var(--si-billing) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Appearance]::before{ - -webkit-mask:var(--si-appearance) center/contain no-repeat; - mask:var(--si-appearance) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Accessibility]::before{ - -webkit-mask:var(--si-accessibility) center/contain no-repeat; - mask:var(--si-accessibility) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Voice & Video"]::before{ - -webkit-mask:var(--si-voicevideo) center/contain no-repeat; - mask:var(--si-voicevideo) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text & Images"]::before{ - -webkit-mask:var(--si-textimages) center/contain no-repeat; - mask:var(--si-textimages) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Notifications]::before{ - -webkit-mask:var(--si-notifications) center/contain no-repeat; - mask:var(--si-notifications) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Keybinds]::before{ - -webkit-mask:var(--si-keybinds) center/contain no-repeat; - mask:var(--si-keybinds) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Language]::before{ - -webkit-mask:var(--si-language) center/contain no-repeat; - mask:var(--si-language) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Windows]::before{ - -webkit-mask:var(--si-windows) center/contain no-repeat; - mask:var(--si-windows) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Streamer Mode"]::before{ - -webkit-mask:var(--si-streamermode) center/contain no-repeat; - mask:var(--si-streamermode) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="RTC Speed Test"]::before{ - -webkit-mask:var(--si-rtcspeedtest) center/contain no-repeat; - mask:var(--si-rtcspeedtest) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Advanced]::before{ - -webkit-mask:var(--si-advanced) center/contain no-repeat; - mask:var(--si-advanced) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Activity Privacy"]::before{ - -webkit-mask:var(--si-activityprivacy) center/contain no-repeat; - mask:var(--si-activityprivacy) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Game Activity"]::before{ - -webkit-mask:var(--si-gameactivity) center/contain no-repeat; - mask:var(--si-gameactivity) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Overlay]::before{ - -webkit-mask:var(--si-overlay) center/contain no-repeat; - mask:var(--si-overlay) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=changelog]::before{ - -webkit-mask:var(--si-changelog) center/contain no-repeat; - mask:var(--si-changelog) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=merchandise]::before{ - -webkit-mask:var(--si-merchandise) center/contain no-repeat; - mask:var(--si-merchandise) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Hypesquad Online"]::before{ - -webkit-mask:var(--si-hypesquadonline) center/contain no-repeat; - mask:var(--si-hypesquadonline) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Powermode Settings"]::before{ - -webkit-mask:var(--si-powermodesettings) center/contain no-repeat; - mask:var(--si-powermodesettings) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Experiments]::before{ - -webkit-mask:var(--si-experiments) center/contain no-repeat; - mask:var(--si-experiments) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Developer Options"]::before{ - -webkit-mask:var(--si-developeroptions) center/contain no-repeat; - mask:var(--si-developeroptions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Hotspot Options"]::before{ - -webkit-mask:var(--si-hotspotoptions) center/contain no-repeat; - mask:var(--si-hotspotoptions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Dismissible Content Options"]::before{ - -webkit-mask:var(--si-dismissiblecontentoptions) center/contain no-repeat; - mask:var(--si-dismissiblecontentoptions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=StartupTimings]::before{ - -webkit-mask:var(--si-startuptimings) center/contain no-repeat; - mask:var(--si-startuptimings) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Payment Flow Modals"]::before{ - -webkit-mask:var(--si-paymentflowmodals) center/contain no-repeat; - mask:var(--si-paymentflowmodals) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text Playground"]::before{ - -webkit-mask:var(--si-textplayground) center/contain no-repeat; - mask:var(--si-textplayground) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text Component"]::before{ - -webkit-mask:var(--si-textcomponent) center/contain no-repeat; - mask:var(--si-textcomponent) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=logout]::before{ - -webkit-mask:var(--si-logout) center/contain no-repeat; - mask:var(--si-logout) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordSettings]::before{ - -webkit-mask:var(--si-equicordsettings) center/contain no-repeat; - mask:var(--si-equicordsettings) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordPlugins]::before{ - -webkit-mask:var(--si-equicordplugins) center/contain no-repeat; - mask:var(--si-equicordplugins) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordThemes]::before{ - -webkit-mask:var(--si-equicordthemes) center/contain no-repeat; - mask:var(--si-equicordthemes) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordUpdater]::before{ - -webkit-mask:var(--si-equicordupdater) center/contain no-repeat; - mask:var(--si-equicordupdater) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordCloud]::before{ - -webkit-mask:var(--si-equicordcloud) center/contain no-repeat; - mask:var(--si-equicordcloud) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordSettingsSync]::before{ - -webkit-mask:var(--si-equicordsettingssync) center/contain no-repeat; - mask:var(--si-equicordsettingssync) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordPatchHelper]::before{ - -webkit-mask:var(--si-equicordpatchhelper) center/contain no-repeat; - mask:var(--si-equicordpatchhelper) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Vesktop]::before{ - -webkit-mask:var(--si-vesktop) center/contain no-repeat; - mask:var(--si-vesktop) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=OVERVIEW]::before{ - -webkit-mask:var(--si-overview) center/contain no-repeat; - mask:var(--si-overview) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ROLES]::before{ - -webkit-mask:var(--si-roles) center/contain no-repeat; - mask:var(--si-roles) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EMOJI]::before{ - -webkit-mask:var(--si-emoji) center/contain no-repeat; - mask:var(--si-emoji) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=STICKERS]::before{ - -webkit-mask:var(--si-stickers) center/contain no-repeat; - mask:var(--si-stickers) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=SOUNDBOARD]::before{ - -webkit-mask:var(--si-soundboard) center/contain no-repeat; - mask:var(--si-soundboard) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=WIDGET]::before{ - -webkit-mask:var(--si-widget) center/contain no-repeat; - mask:var(--si-widget) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=GUILD_TEMPLATES]::before{ - -webkit-mask:var(--si-guildtemplates) center/contain no-repeat; - mask:var(--si-guildtemplates) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=VANITY_URL]::before{ - -webkit-mask:var(--si-vanityurl) center/contain no-repeat; - mask:var(--si-vanityurl) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INTEGRATIONS]::before{ - -webkit-mask:var(--si-integrations) center/contain no-repeat; - mask:var(--si-integrations) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=APP_DIRECTORY]::before{ - -webkit-mask:var(--si-appdirectory) center/contain no-repeat; - mask:var(--si-appdirectory) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=SAFETY]::before{ - -webkit-mask:var(--si-safety) center/contain no-repeat; - mask:var(--si-safety) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=AUDIT_LOG]::before{ - -webkit-mask:var(--si-auditlog) center/contain no-repeat; - mask:var(--si-auditlog) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=BANS]::before{ - -webkit-mask:var(--si-bans) center/contain no-repeat; - mask:var(--si-bans) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=COMMUNITY]::before{ - -webkit-mask:var(--si-community) center/contain no-repeat; - mask:var(--si-community) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ONBOARDING]::before{ - -webkit-mask:var(--si-onboarding) center/contain no-repeat; - mask:var(--si-onboarding) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ANALYTICS]::before{ - -webkit-mask:var(--si-analytics) center/contain no-repeat; - mask:var(--si-analytics) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=PARTNER]::before{ - -webkit-mask:var(--si-partner) center/contain no-repeat; - mask:var(--si-partner) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DISCOVERY]::before{ - -webkit-mask:var(--si-discovery) center/contain no-repeat; - mask:var(--si-discovery) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ROLE_SUBSCRIPTIONS]::before{ - -webkit-mask:var(--si-rolesubscriptions) center/contain no-repeat; - mask:var(--si-rolesubscriptions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=GUILD_PREMIUM]::before{ - -webkit-mask:var(--si-guildpremium) center/contain no-repeat; - mask:var(--si-guildpremium) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=MEMBERS]::before{ - -webkit-mask:var(--si-members) center/contain no-repeat; - mask:var(--si-members) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INSTANT_INVITES]::before{ - -webkit-mask:var(--si-instantinvites) center/contain no-repeat; - mask:var(--si-instantinvites) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DELETE]::before{ - -webkit-mask:var(--si-delete) center/contain no-repeat; - mask:var(--si-delete) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=OVERVIEW]::before{ - -webkit-mask:var(--si-overview) center/contain no-repeat; - mask:var(--si-overview) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=PERMISSIONS]::before{ - -webkit-mask:var(--si-permissions) center/contain no-repeat; - mask:var(--si-permissions) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INSTANT_INVITES]::before{ - -webkit-mask:var(--si-instantinvites) center/contain no-repeat; - mask:var(--si-instantinvites) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INTEGRATIONS]::before{ - -webkit-mask:var(--si-integrations) center/contain no-repeat; - mask:var(--si-integrations) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DELETE]::before{ - -webkit-mask:var(--si-delete) center/contain no-repeat; - mask:var(--si-delete) center/contain no-repeat -} -.sidebar_c25c6d .side_a0 .item_a0>div{ - flex:1 1 auto -} + +.sidebarRegion_c25c6d { + flex-basis: calc(218px + var(--use-si)*(var(--si-size) + var(--si-gap))) !important +} + +.sidebar_c25c6d { + width: calc(218px + var(--use-si)*(var(--si-size) + var(--si-gap))) !important +} + +.sidebar_c25c6d :is(.item_a0 .icon_f7189e, .premiumLabel_ae3c77>svg, .premiumLabel_ae3c77 img, .tabBarItemContainer_e7c031>svg, .tabBarItemContainer_e7c031 img) { + transform: scaleX(calc(1 - var(--use-si))) +} + +.sidebar_c25c6d .side_a0 .item_a0 { + display: flex; + align-items: center +} + +.sidebar_c25c6d .side_a0 .item_a0::before { + content: ""; + flex: 0 0 auto; + width: calc(var(--use-si)*var(--si-size)); + height: calc(var(--use-si)*var(--si-size)); + margin-right: calc(var(--use-si)*var(--si-size)/2); + background: currentColor; + z-index: 2; + -webkit-mask: var(--si-default) center/contain no-repeat; + mask: var(--si-default) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="My Account"]::before { + -webkit-mask: var(--si-myaccount) center/contain no-repeat; + mask: var(--si-myaccount) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Profile Customization"]::before { + -webkit-mask: var(--si-profilecustomization) center/contain no-repeat; + mask: var(--si-profilecustomization) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Privacy & Safety"]::before { + -webkit-mask: var(--si-privacysafety) center/contain no-repeat; + mask: var(--si-privacysafety) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Family Center"]::before { + -webkit-mask: var(--si-familycenter) center/contain no-repeat; + mask: var(--si-familycenter) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Authorized Apps"]::before { + -webkit-mask: var(--si-authorizedapps) center/contain no-repeat; + mask: var(--si-authorizedapps) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Sessions]::before { + -webkit-mask: var(--si-sessions) center/contain no-repeat; + mask: var(--si-sessions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Connections]::before { + -webkit-mask: var(--si-connections) center/contain no-repeat; + mask: var(--si-connections) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Settings Clips"]::before { + -webkit-mask: var(--si-settingsclips) center/contain no-repeat; + mask: var(--si-settingsclips) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Friend Requests"]::before { + -webkit-mask: var(--si-friendrequests) center/contain no-repeat; + mask: var(--si-friendrequests) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Discord Nitro"]::before { + -webkit-mask: var(--si-discordnitro) center/contain no-repeat; + mask: var(--si-discordnitro) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Nitro Server Boost"]::before { + -webkit-mask: var(--si-nitroserverboost) center/contain no-repeat; + mask: var(--si-nitroserverboost) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Subscriptions]::before { + -webkit-mask: var(--si-subscriptions) center/contain no-repeat; + mask: var(--si-subscriptions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Library Inventory"]::before { + -webkit-mask: var(--si-libraryinventory) center/contain no-repeat; + mask: var(--si-libraryinventory) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Billing]::before { + -webkit-mask: var(--si-billing) center/contain no-repeat; + mask: var(--si-billing) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Appearance]::before { + -webkit-mask: var(--si-appearance) center/contain no-repeat; + mask: var(--si-appearance) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Accessibility]::before { + -webkit-mask: var(--si-accessibility) center/contain no-repeat; + mask: var(--si-accessibility) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Voice & Video"]::before { + -webkit-mask: var(--si-voicevideo) center/contain no-repeat; + mask: var(--si-voicevideo) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text & Images"]::before { + -webkit-mask: var(--si-textimages) center/contain no-repeat; + mask: var(--si-textimages) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Notifications]::before { + -webkit-mask: var(--si-notifications) center/contain no-repeat; + mask: var(--si-notifications) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Keybinds]::before { + -webkit-mask: var(--si-keybinds) center/contain no-repeat; + mask: var(--si-keybinds) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Language]::before { + -webkit-mask: var(--si-language) center/contain no-repeat; + mask: var(--si-language) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Windows]::before { + -webkit-mask: var(--si-windows) center/contain no-repeat; + mask: var(--si-windows) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Streamer Mode"]::before { + -webkit-mask: var(--si-streamermode) center/contain no-repeat; + mask: var(--si-streamermode) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="RTC Speed Test"]::before { + -webkit-mask: var(--si-rtcspeedtest) center/contain no-repeat; + mask: var(--si-rtcspeedtest) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Advanced]::before { + -webkit-mask: var(--si-advanced) center/contain no-repeat; + mask: var(--si-advanced) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Activity Privacy"]::before { + -webkit-mask: var(--si-activityprivacy) center/contain no-repeat; + mask: var(--si-activityprivacy) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Game Activity"]::before { + -webkit-mask: var(--si-gameactivity) center/contain no-repeat; + mask: var(--si-gameactivity) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Overlay]::before { + -webkit-mask: var(--si-overlay) center/contain no-repeat; + mask: var(--si-overlay) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=changelog]::before { + -webkit-mask: var(--si-changelog) center/contain no-repeat; + mask: var(--si-changelog) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=merchandise]::before { + -webkit-mask: var(--si-merchandise) center/contain no-repeat; + mask: var(--si-merchandise) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Hypesquad Online"]::before { + -webkit-mask: var(--si-hypesquadonline) center/contain no-repeat; + mask: var(--si-hypesquadonline) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Powermode Settings"]::before { + -webkit-mask: var(--si-powermodesettings) center/contain no-repeat; + mask: var(--si-powermodesettings) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Experiments]::before { + -webkit-mask: var(--si-experiments) center/contain no-repeat; + mask: var(--si-experiments) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Developer Options"]::before { + -webkit-mask: var(--si-developeroptions) center/contain no-repeat; + mask: var(--si-developeroptions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Hotspot Options"]::before { + -webkit-mask: var(--si-hotspotoptions) center/contain no-repeat; + mask: var(--si-hotspotoptions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Dismissible Content Options"]::before { + -webkit-mask: var(--si-dismissiblecontentoptions) center/contain no-repeat; + mask: var(--si-dismissiblecontentoptions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=StartupTimings]::before { + -webkit-mask: var(--si-startuptimings) center/contain no-repeat; + mask: var(--si-startuptimings) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Payment Flow Modals"]::before { + -webkit-mask: var(--si-paymentflowmodals) center/contain no-repeat; + mask: var(--si-paymentflowmodals) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text Playground"]::before { + -webkit-mask: var(--si-textplayground) center/contain no-repeat; + mask: var(--si-textplayground) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id="Text Component"]::before { + -webkit-mask: var(--si-textcomponent) center/contain no-repeat; + mask: var(--si-textcomponent) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=logout]::before { + -webkit-mask: var(--si-logout) center/contain no-repeat; + mask: var(--si-logout) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordSettings]::before { + -webkit-mask: var(--si-equicordsettings) center/contain no-repeat; + mask: var(--si-equicordsettings) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordPlugins]::before { + -webkit-mask: var(--si-equicordplugins) center/contain no-repeat; + mask: var(--si-equicordplugins) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordThemes]::before { + -webkit-mask: var(--si-equicordthemes) center/contain no-repeat; + mask: var(--si-equicordthemes) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordUpdater]::before { + -webkit-mask: var(--si-equicordupdater) center/contain no-repeat; + mask: var(--si-equicordupdater) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordCloud]::before { + -webkit-mask: var(--si-equicordcloud) center/contain no-repeat; + mask: var(--si-equicordcloud) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordSettingsSync]::before { + -webkit-mask: var(--si-equicordsettingssync) center/contain no-repeat; + mask: var(--si-equicordsettingssync) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EquicordPatchHelper]::before { + -webkit-mask: var(--si-equicordpatchhelper) center/contain no-repeat; + mask: var(--si-equicordpatchhelper) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=Equibop]::before { + -webkit-mask: var(--si-equibop) center/contain no-repeat; + mask: var(--si-equibop) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=OVERVIEW]::before { + -webkit-mask: var(--si-overview) center/contain no-repeat; + mask: var(--si-overview) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ROLES]::before { + -webkit-mask: var(--si-roles) center/contain no-repeat; + mask: var(--si-roles) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=EMOJI]::before { + -webkit-mask: var(--si-emoji) center/contain no-repeat; + mask: var(--si-emoji) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=STICKERS]::before { + -webkit-mask: var(--si-stickers) center/contain no-repeat; + mask: var(--si-stickers) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=SOUNDBOARD]::before { + -webkit-mask: var(--si-soundboard) center/contain no-repeat; + mask: var(--si-soundboard) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=WIDGET]::before { + -webkit-mask: var(--si-widget) center/contain no-repeat; + mask: var(--si-widget) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=GUILD_TEMPLATES]::before { + -webkit-mask: var(--si-guildtemplates) center/contain no-repeat; + mask: var(--si-guildtemplates) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=VANITY_URL]::before { + -webkit-mask: var(--si-vanityurl) center/contain no-repeat; + mask: var(--si-vanityurl) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INTEGRATIONS]::before { + -webkit-mask: var(--si-integrations) center/contain no-repeat; + mask: var(--si-integrations) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=APP_DIRECTORY]::before { + -webkit-mask: var(--si-appdirectory) center/contain no-repeat; + mask: var(--si-appdirectory) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=SAFETY]::before { + -webkit-mask: var(--si-safety) center/contain no-repeat; + mask: var(--si-safety) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=AUDIT_LOG]::before { + -webkit-mask: var(--si-auditlog) center/contain no-repeat; + mask: var(--si-auditlog) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=BANS]::before { + -webkit-mask: var(--si-bans) center/contain no-repeat; + mask: var(--si-bans) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=COMMUNITY]::before { + -webkit-mask: var(--si-community) center/contain no-repeat; + mask: var(--si-community) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ONBOARDING]::before { + -webkit-mask: var(--si-onboarding) center/contain no-repeat; + mask: var(--si-onboarding) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ANALYTICS]::before { + -webkit-mask: var(--si-analytics) center/contain no-repeat; + mask: var(--si-analytics) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=PARTNER]::before { + -webkit-mask: var(--si-partner) center/contain no-repeat; + mask: var(--si-partner) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DISCOVERY]::before { + -webkit-mask: var(--si-discovery) center/contain no-repeat; + mask: var(--si-discovery) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=ROLE_SUBSCRIPTIONS]::before { + -webkit-mask: var(--si-rolesubscriptions) center/contain no-repeat; + mask: var(--si-rolesubscriptions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=GUILD_PREMIUM]::before { + -webkit-mask: var(--si-guildpremium) center/contain no-repeat; + mask: var(--si-guildpremium) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=MEMBERS]::before { + -webkit-mask: var(--si-members) center/contain no-repeat; + mask: var(--si-members) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INSTANT_INVITES]::before { + -webkit-mask: var(--si-instantinvites) center/contain no-repeat; + mask: var(--si-instantinvites) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DELETE]::before { + -webkit-mask: var(--si-delete) center/contain no-repeat; + mask: var(--si-delete) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=OVERVIEW]::before { + -webkit-mask: var(--si-overview) center/contain no-repeat; + mask: var(--si-overview) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=PERMISSIONS]::before { + -webkit-mask: var(--si-permissions) center/contain no-repeat; + mask: var(--si-permissions) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INSTANT_INVITES]::before { + -webkit-mask: var(--si-instantinvites) center/contain no-repeat; + mask: var(--si-instantinvites) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=INTEGRATIONS]::before { + -webkit-mask: var(--si-integrations) center/contain no-repeat; + mask: var(--si-integrations) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0[data-tab-id=DELETE]::before { + -webkit-mask: var(--si-delete) center/contain no-repeat; + mask: var(--si-delete) center/contain no-repeat +} + +.sidebar_c25c6d .side_a0 .item_a0>div { + flex: 1 1 auto +} \ No newline at end of file diff --git a/src/plugins/messageLogger/HistoryModal.tsx b/src/plugins/messageLogger/HistoryModal.tsx new file mode 100644 index 00000000..d1b5bf29 --- /dev/null +++ b/src/plugins/messageLogger/HistoryModal.tsx @@ -0,0 +1,91 @@ +/* + * Vencord, a Discord client mod + * Copyright (c) 2024 Vendicated and contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +import { classNameFactory } from "@api/Styles"; +import ErrorBoundary from "@components/ErrorBoundary"; +import { Margins } from "@utils/margins"; +import { classes } from "@utils/misc"; +import { ModalCloseButton, ModalContent, ModalHeader, ModalProps, ModalRoot, ModalSize, openModal } from "@utils/modal"; +import { findByPropsLazy } from "@webpack"; +import { TabBar, Text, Timestamp, TooltipContainer, useState } from "@webpack/common"; + +import { parseEditContent } from "."; + +const CodeContainerClasses = findByPropsLazy("markup", "codeContainer"); +const MiscClasses = findByPropsLazy("messageContent", "markupRtl"); + +const cl = classNameFactory("vc-ml-modal-"); + +export function openHistoryModal(message: any) { + openModal(props => + + + + ); +} + +export function HistoryModal({ modalProps, message }: { modalProps: ModalProps; message: any; }) { + const [currentTab, setCurrentTab] = useState(message.editHistory.length); + const timestamps = [message.firstEditTimestamp, ...message.editHistory.map(m => m.timestamp)]; + const contents = [...message.editHistory.map(m => m.content), message.content]; + + return ( + + + Message Edit History + + + + + + {message.firstEditTimestamp.getTime() !== message.timestamp.getTime() && ( + + + + + + )} + + {timestamps.map((timestamp, index) => ( + + + + ))} + + +
+ {parseEditContent(contents[currentTab], message)} +
+
+
+ ); +} diff --git a/src/plugins/messageLogger/index.tsx b/src/plugins/messageLogger/index.tsx index 85ca6e25..dd2ec6b5 100644 --- a/src/plugins/messageLogger/index.tsx +++ b/src/plugins/messageLogger/index.tsx @@ -24,21 +24,26 @@ import { Settings } from "@api/Settings"; import { disableStyle, enableStyle } from "@api/Styles"; import ErrorBoundary from "@components/ErrorBoundary"; import { Devs } from "@utils/constants"; +import { proxyLazy } from "@utils/lazy"; import { Logger } from "@utils/Logger"; +import { classes } from "@utils/misc"; import definePlugin, { OptionType } from "@utils/types"; -import { findByPropsLazy } from "@webpack"; -import { ChannelStore, FluxDispatcher, i18n, Menu, MessageStore, Parser, Timestamp, UserStore, useStateFromStores } from "@webpack/common"; +import { findByCodeLazy, findByPropsLazy } from "@webpack"; +import { ChannelStore, FluxDispatcher, i18n, Menu, MessageStore, Parser, SelectedChannelStore, Timestamp, UserStore, useStateFromStores } from "@webpack/common"; import { Message } from "discord-types/general"; import overlayStyle from "./deleteStyleOverlay.css?managed"; import textStyle from "./deleteStyleText.css?managed"; +import { openHistoryModal } from "./HistoryModal"; interface MLMessage extends Message { deleted?: boolean; editHistory?: { timestamp: Date; content: string; }[]; + firstEditTimestamp?: Date; } const styles = findByPropsLazy("edited", "communicationDisabled", "isSystemMessage"); +const getMessage = findByCodeLazy('replace(/^\\n+|\\n+$/g,"")'); function addDeleteStyle() { if (Settings.plugins.MessageLogger.deleteStyle === "text") { @@ -125,10 +130,22 @@ const patchChannelContextMenu: NavContextMenuPatchCallback = (children, { channe ); }; +export function parseEditContent(content: string, message: Message) { + return Parser.parse(content, true, { + channelId: message.channel_id, + messageId: message.id, + allowLinks: true, + allowHeading: true, + allowList: true, + allowEmojiLinks: true, + viewingChannelId: SelectedChannelStore.getChannelId(), + }); +} + export default definePlugin({ name: "MessageLogger", description: "Temporarily logs deleted and edited messages.", - authors: [Devs.rushii, Devs.Ven, Devs.AutumnVN, Devs.Nickyux], + authors: [Devs.rushii, Devs.Ven, Devs.AutumnVN, Devs.Nickyux, Devs.Kyuuhachi], dependencies: ["MessageUpdaterAPI"], contextMenus: { @@ -150,11 +167,11 @@ export default definePlugin({ (oldMsg, newMsg) => oldMsg?.editHistory === newMsg?.editHistory ); - return ( + return Settings.plugins.MessageLogger.inlineEdits && ( <> {message.editHistory?.map(edit => (
- {Parser.parse(edit.content)} + {parseEditContent(edit.content, message)} addDeleteStyle() }, + logDeletes: { + type: OptionType.BOOLEAN, + description: "Whether to log deleted messages", + default: true, + }, + collapseDeleted: { + type: OptionType.BOOLEAN, + description: "Whether to collapse deleted messages, similar to blocked messages", + default: false + }, + logEdits: { + type: OptionType.BOOLEAN, + description: "Whether to log edited messages", + default: true, + }, + inlineEdits: { + type: OptionType.BOOLEAN, + description: "Whether to display edit history as part of message content", + default: true + }, ignoreBots: { type: OptionType.BOOLEAN, description: "Whether to ignore messages by bots", @@ -271,6 +308,23 @@ export default definePlugin({ (message.channel_id === "1026515880080842772" && message.author?.id === "1017176847865352332"); }, + EditMarker({ message, className, children, ...props }: any) { + return ( + openHistoryModal(message)} + aria-role="button" + > + {children} + + ); + }, + + Messages: proxyLazy(() => ({ + DELETED_MESSAGE_COUNT: getMessage("{count, plural, =0 {No deleted messages} one {{count} deleted message} other {{count} deleted messages}}") + })), + patches: [ { // MessageStore @@ -324,7 +378,8 @@ export default definePlugin({ match: /this\.customRenderedContent=(\i)\.customRenderedContent,/, replace: "this.customRenderedContent = $1.customRenderedContent," + "this.deleted = $1.deleted || false," + - "this.editHistory = $1.editHistory || []," + "this.editHistory = $1.editHistory || []," + + "this.firstEditTimestamp = $1.firstEditTimestamp || this.editedTimestamp || this.timestamp," } ] }, @@ -337,7 +392,7 @@ export default definePlugin({ // Pass through editHistory & deleted & original attachments to the "edited message" transformer match: /(?<=null!=\i\.edited_timestamp\)return )\i\(\i,\{reactions:(\i)\.reactions.{0,50}\}\)/, replace: - "Object.assign($&,{ deleted:$1.deleted, editHistory:$1.editHistory })" + "Object.assign($&,{ deleted:$1.deleted, editHistory:$1.editHistory, firstEditTimestamp:$1.firstEditTimestamp })" }, { @@ -356,7 +411,8 @@ export default definePlugin({ " return $2;" + "})())," + "deleted: arguments[1]?.deleted," + - "editHistory: arguments[1]?.editHistory" + "editHistory: arguments[1]?.editHistory," + + "firstEditTimestamp: new Date(arguments[1]?.firstEditTimestamp ?? $2.editedTimestamp ?? $2.timestamp)" }, { // Preserve deleted attribute on attachments @@ -404,6 +460,11 @@ export default definePlugin({ // Render editHistory in the deepest div for message content match: /(\)\("div",\{id:.+?children:\[)/, replace: "$1 (!!arguments[0].message.editHistory?.length && $self.renderEdits(arguments[0]))," + }, + { + // Make edit marker clickable + match: /"span",\{(?=className:\i\.edited,)/, + replace: "$self.EditMarker,{message:arguments[0].message," } ] }, @@ -433,6 +494,30 @@ export default definePlugin({ replace: "children:arguments[0].message.deleted?[]:$1" } ] + }, + { + // Message grouping + find: "NON_COLLAPSIBLE.has(", + replacement: { + match: /if\((\i)\.blocked\)return \i\.\i\.MESSAGE_GROUP_BLOCKED;/, + replace: '$&else if($1.deleted) return"MESSAGE_GROUP_DELETED";', + }, + predicate: () => Settings.plugins.MessageLogger.collapseDeleted + }, + { + // Message group rendering + find: "Messages.NEW_MESSAGES_ESTIMATED_WITH_DATE", + replacement: [ + { + match: /(\i).type===\i\.\i\.MESSAGE_GROUP_BLOCKED\|\|/, + replace: '$&$1.type==="MESSAGE_GROUP_DELETED"||', + }, + { + match: /(\i).type===\i\.\i\.MESSAGE_GROUP_BLOCKED\?.*?:/, + replace: '$&$1.type==="MESSAGE_GROUP_DELETED"?$self.Messages.DELETED_MESSAGE_COUNT:', + }, + ], + predicate: () => Settings.plugins.MessageLogger.collapseDeleted } ] }); diff --git a/src/plugins/messageLogger/messageLogger.css b/src/plugins/messageLogger/messageLogger.css index a112b196..2759129d 100644 --- a/src/plugins/messageLogger/messageLogger.css +++ b/src/plugins/messageLogger/messageLogger.css @@ -38,3 +38,17 @@ .theme-light .messagelogger-edited { opacity: 0.5; } + +.messagelogger-edit-marker { + cursor: pointer; +} + +.vc-ml-modal-timestamp { + cursor: unset; + height: unset; +} + +.vc-ml-modal-tab-bar { + flex-wrap: wrap; + gap: 16px; +} diff --git a/src/plugins/viewRaw/index.tsx b/src/plugins/viewRaw/index.tsx index 68b33eed..56c285ec 100644 --- a/src/plugins/viewRaw/index.tsx +++ b/src/plugins/viewRaw/index.tsx @@ -55,6 +55,7 @@ function cleanMessage(msg: Message) { const cloneAny = clone as any; delete cloneAny.editHistory; delete cloneAny.deleted; + delete cloneAny.firstEditTimestamp; cloneAny.attachments?.forEach(a => delete a.deleted); return clone;