fix(app): rename class names that content blockers treat as ads (#1621)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-15 13:16:44 +02:00
1 parent 2106102fc5
commit 6ef0f1fbe1
25 files changed
+59 -56

No files matched your search

@@ -230,7 +230,7 @@
background-color: var(--settings-border-color, var(--background-modifier-accent)); background-color: var(--settings-border-color, var(--background-modifier-accent));
} }
.additionalContent { .extraContent {
margin-top: 2rem; margin-top: 2rem;
} }
@@ -366,7 +366,7 @@ export const MobileSettingsList = observer(function MobileSettingsList<T extends
)} )}
{additionalContent && ( {additionalContent && (
<div <div
className={styles.additionalContent} className={styles.extraContent}
data-flx="app.mobile-settings-components.mobile-settings-list.additional-content" data-flx="app.mobile-settings-components.mobile-settings-list.additional-content"
> >
{additionalContent} {additionalContent}
@@ -198,7 +198,7 @@
display: none; display: none;
} }
.addButton { .categoryAddButton {
display: flex; display: flex;
height: 1rem; height: 1rem;
width: 1rem; width: 1rem;
@@ -216,11 +216,11 @@
} }
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard)) :global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
.addButton:hover { .categoryAddButton:hover {
color: var(--text-primary); color: var(--text-primary);
} }
.addButtonIcon { .categoryAddButtonIcon {
height: 1rem; height: 1rem;
width: 1rem; width: 1rem;
} }
@@ -581,7 +581,7 @@ const FavoriteCategoryItem = observer(
> >
<button <button
type="button" type="button"
className={favoritesChannelListStyles.addButton} className={favoritesChannelListStyles.categoryAddButton}
aria-label={i18n._(ADD_CHANNEL_DESCRIPTOR)} aria-label={i18n._(ADD_CHANNEL_DESCRIPTOR)}
onClick={(e) => { onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
@@ -591,7 +591,7 @@ const FavoriteCategoryItem = observer(
> >
<PlusIcon <PlusIcon
weight="bold" weight="bold"
className={favoritesChannelListStyles.addButtonIcon} className={favoritesChannelListStyles.categoryAddButtonIcon}
data-flx="app.favorites-channel-list-content.favorite-category-item.plus-icon" data-flx="app.favorites-channel-list-content.favorite-category-item.plus-icon"
/> />
</button> </button>
@@ -455,11 +455,11 @@
} }
} }
.addGuildButton { .createGuildButton {
composes: guildListItem; composes: guildListItem;
} }
.addGuildButtonIcon { .createGuildButtonIcon {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -478,11 +478,11 @@
@media (hover: hover) and (pointer: fine) { @media (hover: hover) and (pointer: fine) {
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard)) :global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
.addGuildButton:hover .createGuildButton:hover
.addGuildButtonIcon, .createGuildButtonIcon,
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard)) :global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
.addGuildButtonIcon:hover, .createGuildButtonIcon:hover,
.addGuildButton.contextMenuHover .addGuildButtonIcon { .createGuildButton.contextMenuHover .createGuildButtonIcon {
border-color: var(--text-primary); border-color: var(--text-primary);
} }
} }
@@ -97,7 +97,7 @@ export const AddGuildButton = observer(() => {
} }
return ( return (
<div <div
className={clsx(guildStyles.addGuildButton, contextMenuOpen && guildStyles.contextMenuHover)} className={clsx(guildStyles.createGuildButton, contextMenuOpen && guildStyles.contextMenuHover)}
data-flx="app.sidebar-nav.add-guild-button.div" data-flx="app.sidebar-nav.add-guild-button.div"
> >
<Tooltip <Tooltip
@@ -131,7 +131,7 @@ export const AddGuildButton = observer(() => {
> >
<motion.div <motion.div
ref={iconRef} ref={iconRef}
className={guildStyles.addGuildButtonIcon} className={guildStyles.createGuildButtonIcon}
animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}} transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}}
@@ -37,7 +37,7 @@ export const DiscoveryButton = observer(() => {
return null; return null;
} }
return ( return (
<div className={guildStyles.addGuildButton} data-flx="app.sidebar-nav.discovery-button.div"> <div className={guildStyles.createGuildButton} data-flx="app.sidebar-nav.discovery-button.div">
<Tooltip <Tooltip
position="right" position="right"
size="large" size="large"
@@ -62,7 +62,7 @@ export const DiscoveryButton = observer(() => {
> >
<motion.div <motion.div
ref={iconRef} ref={iconRef}
className={guildStyles.addGuildButtonIcon} className={guildStyles.createGuildButtonIcon}
animate={{borderRadius: isHovering || isSelected ? '30%' : '50%'}} animate={{borderRadius: isHovering || isSelected ? '30%' : '50%'}}
initial={{borderRadius: isHovering || isSelected ? '30%' : '50%'}} initial={{borderRadius: isHovering || isSelected ? '30%' : '50%'}}
transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}} transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}}
@@ -67,7 +67,7 @@ export const DownloadButton = observer(() => {
const shouldShowHoverState = isHovering || contextMenuOpen; const shouldShowHoverState = isHovering || contextMenuOpen;
return ( return (
<div <div
className={clsx(guildStyles.addGuildButton, contextMenuOpen && guildStyles.contextMenuHover)} className={clsx(guildStyles.createGuildButton, contextMenuOpen && guildStyles.contextMenuHover)}
data-flx="app.sidebar-nav.download-button.div" data-flx="app.sidebar-nav.download-button.div"
> >
<Tooltip <Tooltip
@@ -94,7 +94,7 @@ export const DownloadButton = observer(() => {
> >
<motion.div <motion.div
ref={iconRef} ref={iconRef}
className={guildStyles.addGuildButtonIcon} className={guildStyles.createGuildButtonIcon}
animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}} transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}}
@@ -68,7 +68,7 @@ export const HelpButton = observer(() => {
const shouldShowHoverState = isHovering || contextMenuOpen; const shouldShowHoverState = isHovering || contextMenuOpen;
return ( return (
<div <div
className={clsx(guildStyles.addGuildButton, contextMenuOpen && guildStyles.contextMenuHover)} className={clsx(guildStyles.createGuildButton, contextMenuOpen && guildStyles.contextMenuHover)}
data-flx="app.sidebar-nav.help-button.div" data-flx="app.sidebar-nav.help-button.div"
> >
<Tooltip <Tooltip
@@ -101,7 +101,7 @@ export const HelpButton = observer(() => {
> >
<motion.div <motion.div
ref={iconRef} ref={iconRef}
className={guildStyles.addGuildButtonIcon} className={guildStyles.createGuildButtonIcon}
animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} animate={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}} initial={{borderRadius: shouldShowHoverState ? '30%' : '50%'}}
transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}} transition={{duration: Accessibility.useReducedMotion ? 0 : 0.07, ease: 'easeOut'}}
@@ -163,11 +163,11 @@
line-height: 1.55; line-height: 1.55;
} }
.adminForm { .accountSetupForm {
width: 100%; width: 100%;
} }
.adminForm > form { .accountSetupForm > form {
margin-top: 0; margin-top: 0;
gap: 0.875rem; gap: 0.875rem;
} }
@@ -559,7 +559,7 @@ export const AdminAccountStep = observer(({theme}: {theme: ThemeType}) => {
const {i18n} = useLingui(); const {i18n} = useLingui();
return ( return (
<section className={styles.step} data-flx="app.self-hosted-setup-wizard-gate.admin-account-step"> <section className={styles.step} data-flx="app.self-hosted-setup-wizard-gate.admin-account-step">
<div className={styles.adminForm} data-flx="app.self-hosted-setup-wizard-gate.admin-form"> <div className={styles.accountSetupForm} data-flx="app.self-hosted-setup-wizard-gate.admin-form">
<AuthRegisterFormCore <AuthRegisterFormCore
fields={{ fields={{
showEmail: true, showEmail: true,
@@ -143,7 +143,7 @@
border-color: color-mix(in srgb, var(--brand-primary) 45%, transparent 55%); border-color: color-mix(in srgb, var(--brand-primary) 45%, transparent 55%);
} }
.addReactionButton { .reactionPickerButton {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -159,8 +159,8 @@
color 0.1s ease; color 0.1s ease;
} }
.addReactionButton:hover, .reactionPickerButton:hover,
.addReactionButtonActive { .reactionPickerButtonActive {
background-color: var(--background-modifier-hover); background-color: var(--background-modifier-hover);
color: var(--text-primary); color: var(--text-primary);
} }
@@ -334,7 +334,7 @@ export const MessageReactions = observer(
<button <button
ref={addReactionButtonRef} ref={addReactionButtonRef}
type="button" type="button"
className={clsx(styles.addReactionButton, emojiPickerOpen && styles.addReactionButtonActive)} className={clsx(styles.reactionPickerButton, emojiPickerOpen && styles.reactionPickerButtonActive)}
aria-label={i18n._(ADD_REACTION_DESCRIPTOR)} aria-label={i18n._(ADD_REACTION_DESCRIPTOR)}
aria-haspopup="dialog" aria-haspopup="dialog"
aria-expanded={emojiPickerOpen} aria-expanded={emojiPickerOpen}
@@ -376,7 +376,7 @@ export const MessageReactions = observer(
<button <button
ref={addReactionButtonRef} ref={addReactionButtonRef}
type="button" type="button"
className={clsx(styles.addReactionButton, emojiPickerOpen && styles.addReactionButtonActive)} className={clsx(styles.reactionPickerButton, emojiPickerOpen && styles.reactionPickerButtonActive)}
aria-label={i18n._(ADD_REACTION_DESCRIPTOR)} aria-label={i18n._(ADD_REACTION_DESCRIPTOR)}
aria-haspopup="dialog" aria-haspopup="dialog"
aria-expanded={emojiPickerOpen} aria-expanded={emojiPickerOpen}
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* SPDX-License-Identifier: AGPL-3.0-or-later */
.addFriendContainer { .friendRequestContainer {
position: relative; position: relative;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -58,7 +58,7 @@
} }
@media (max-width: 480px) { @media (max-width: 480px) {
.addFriendContainer { .friendRequestContainer {
padding: 1rem; padding: 1rem;
padding-bottom: calc(1rem + 3rem); padding-bottom: calc(1rem + 3rem);
} }
@@ -12,7 +12,10 @@ export const AddFriendView = observer(() => {
const {i18n} = useLingui(); const {i18n} = useLingui();
const showVerificationSlateOnly = Users.currentUser?.verified === false; const showVerificationSlateOnly = Users.currentUser?.verified === false;
return ( return (
<div className={styles.addFriendContainer} data-flx="channel.direct-message.add-friend-view.add-friend-container"> <div
className={styles.friendRequestContainer}
data-flx="channel.direct-message.add-friend-view.add-friend-container"
>
<div className={styles.card} data-flx="channel.direct-message.add-friend-view.card"> <div className={styles.card} data-flx="channel.direct-message.add-friend-view.card">
{showVerificationSlateOnly ? ( {showVerificationSlateOnly ? (
<AddFriendForm data-flx="channel.direct-message.add-friend-view.add-friend-form" /> <AddFriendForm data-flx="channel.direct-message.add-friend-view.add-friend-form" />
@@ -68,12 +68,12 @@
gap: 0.25rem; gap: 0.25rem;
} }
.addRoleButton { .assignRoleButton {
cursor: pointer; cursor: pointer;
transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1);
} }
.addRoleButtonIcon { .assignRoleButtonIcon {
display: flex; display: flex;
height: 1rem; height: 1rem;
width: 1rem; width: 1rem;
@@ -83,8 +83,8 @@
cursor: pointer; cursor: pointer;
} }
.addRoleButtonIcon:hover, .assignRoleButtonIcon:hover,
.addRoleButtonIcon[data-context-menu-open='true'] { .assignRoleButtonIcon[data-context-menu-open='true'] {
color: var(--text-primary); color: var(--text-primary);
} }
@@ -449,7 +449,7 @@ export const AddRoleButton: React.FC<{
<FocusRing offset={-2} data-flx="guild.role-management.add-role-button.focus-ring"> <FocusRing offset={-2} data-flx="guild.role-management.add-role-button.focus-ring">
<button <button
type="button" type="button"
className={clsx(styles.addRoleButton, styles.addRoleButtonIcon)} className={clsx(styles.assignRoleButton, styles.assignRoleButtonIcon)}
onClick={handleClick} onClick={handleClick}
aria-label={i18n._(ADD_ROLE_DESCRIPTOR)} aria-label={i18n._(ADD_ROLE_DESCRIPTOR)}
data-flx="guild.role-management.add-role-button.add-role-button.click" data-flx="guild.role-management.add-role-button.add-role-button.click"
@@ -121,7 +121,7 @@
text-decoration: underline; text-decoration: underline;
} }
.advancedView { .detailedView {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: var(--spacing-4); gap: var(--spacing-4);
@@ -394,7 +394,7 @@ const InviteModalContent = observer(function InviteModalContent({
data-flx="invite.invite-modal.recipient-list" data-flx="invite.invite-modal.recipient-list"
/> />
) : ( ) : (
<div className={styles.advancedView} data-flx="invite.invite-modal.advanced-view"> <div className={styles.detailedView} data-flx="invite.invite-modal.advanced-view">
<Combobox <Combobox
label={i18n._(EXPIRE_AFTER_DESCRIPTOR)} label={i18n._(EXPIRE_AFTER_DESCRIPTOR)}
options={maxAgeOptions} options={maxAgeOptions}
@@ -306,7 +306,7 @@
cursor: not-allowed; cursor: not-allowed;
} }
.addRedirectButton { .createRedirectButton {
align-self: flex-start; align-self: flex-start;
} }
@@ -159,7 +159,7 @@ export const ApplicationInfoSection: React.FC<ApplicationInfoSectionProps> = ({
<Button <Button
variant="primary" variant="primary"
fitContent fitContent
className={styles.addRedirectButton} className={styles.createRedirectButton}
onClick={onAddRedirect} onClick={onAddRedirect}
data-flx="user.applications-tab.application-detail.application-info-section.add-redirect-button" data-flx="user.applications-tab.application-detail.application-info-section.add-redirect-button"
> >
@@ -51,7 +51,7 @@
color: var(--status-danger); color: var(--status-danger);
} }
.addButtonContainer { .newEngineButtonContainer {
margin-top: 0.75rem; margin-top: 0.75rem;
} }
@@ -338,7 +338,7 @@ const EngineSection: React.FC<EngineSectionProps> = observer(
</SwitchGroup> </SwitchGroup>
)} )}
<div <div
className={styles.addButtonContainer} className={styles.newEngineButtonContainer}
data-flx="user.chat-settings-tab.search-engines-tab.engine-section.add-button-container" data-flx="user.chat-settings-tab.search-engines-tab.engine-section.add-button-container"
> >
<Button <Button
@@ -364,7 +364,7 @@
min-width: 0; min-width: 0;
} }
.advancedStatsAccordion { .detailedStatsAccordion {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: var(--spacing-2); gap: var(--spacing-2);
@@ -373,7 +373,7 @@
border-top: 0.0625rem solid var(--background-modifier-accent); border-top: 0.0625rem solid var(--background-modifier-accent);
} }
.advancedStatsButton { .detailedStatsButton {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
@@ -389,11 +389,11 @@
} }
:global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard)) :global(:where(html.window-focused, html.unfocused-fully-interactive):not(.window-focus-activation-guard))
.advancedStatsButton:hover { .detailedStatsButton:hover {
color: var(--text-secondary); color: var(--text-secondary);
} }
.advancedStatsButtonText { .detailedStatsButtonText {
min-width: 0; min-width: 0;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -405,7 +405,7 @@
color: inherit; color: inherit;
} }
.advancedStatsCaret { .detailedStatsCaret {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -413,12 +413,12 @@
color: inherit; color: inherit;
} }
.advancedStatsContent { .detailedStatsContent {
min-width: 0; min-width: 0;
overflow: hidden; overflow: hidden;
} }
.advancedStatsInner { .detailedStatsInner {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: var(--spacing-3); gap: var(--spacing-3);
@@ -137,26 +137,26 @@ const AdvancedStatsAccordion = observer(function AdvancedStatsAccordion({
const transition = Accessibility.useReducedMotion ? INSTANT_TRANSITION : ADVANCED_STATS_TRANSITION; const transition = Accessibility.useReducedMotion ? INSTANT_TRANSITION : ADVANCED_STATS_TRANSITION;
return ( return (
<div <div
className={styles.advancedStatsAccordion} className={styles.detailedStatsAccordion}
data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-accordion" data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-accordion"
> >
<FocusRing offset={-2} data-flx="voice.voice-connection-status.advanced-stats-accordion.focus-ring"> <FocusRing offset={-2} data-flx="voice.voice-connection-status.advanced-stats-accordion.focus-ring">
<button <button
type="button" type="button"
className={styles.advancedStatsButton} className={styles.detailedStatsButton}
aria-expanded={expanded} aria-expanded={expanded}
aria-controls={contentId} aria-controls={contentId}
onClick={() => setExpanded((current) => !current)} onClick={() => setExpanded((current) => !current)}
data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-button" data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-button"
> >
<span <span
className={styles.advancedStatsButtonText} className={styles.detailedStatsButtonText}
data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-button-text" data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-button-text"
> >
{title} {title}
</span> </span>
<motion.span <motion.span
className={styles.advancedStatsCaret} className={styles.detailedStatsCaret}
aria-hidden aria-hidden
animate={{rotate: expanded ? 180 : 0}} animate={{rotate: expanded ? 180 : 0}}
transition={transition} transition={transition}
@@ -178,7 +178,7 @@ const AdvancedStatsAccordion = observer(function AdvancedStatsAccordion({
<motion.div <motion.div
key="advanced-stats" key="advanced-stats"
id={contentId} id={contentId}
className={styles.advancedStatsContent} className={styles.detailedStatsContent}
initial={Accessibility.useReducedMotion ? {height: 'auto', opacity: 1} : {height: 0, opacity: 0}} initial={Accessibility.useReducedMotion ? {height: 'auto', opacity: 1} : {height: 0, opacity: 0}}
animate={{height: 'auto', opacity: 1}} animate={{height: 'auto', opacity: 1}}
exit={Accessibility.useReducedMotion ? {height: 'auto', opacity: 1} : {height: 0, opacity: 0}} exit={Accessibility.useReducedMotion ? {height: 'auto', opacity: 1} : {height: 0, opacity: 0}}
@@ -186,7 +186,7 @@ const AdvancedStatsAccordion = observer(function AdvancedStatsAccordion({
data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-content" data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-content"
> >
<div <div
className={styles.advancedStatsInner} className={styles.detailedStatsInner}
data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-inner" data-flx="voice.voice-connection-status.advanced-stats-accordion.advanced-stats-inner"
> >
{children} {children}