Remove unused styles/components

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak 2022-12-26 00:52:06 +01:00
parent 4b3f03353d
commit d1071a109b
30 changed files with 46 additions and 1580 deletions

View file

@ -1,31 +0,0 @@
import React from 'react';
import { normalizeAccount } from 'soapbox/normalizers';
import { render, screen } from '../../jest/test-helpers';
import AvatarOverlay from '../avatar-overlay';
import type { ReducerAccount } from 'soapbox/reducers/accounts';
describe('<AvatarOverlay', () => {
const account = normalizeAccount({
username: 'alice',
acct: 'alice',
display_name: 'Alice',
avatar: '/animated/alice.gif',
avatar_static: '/static/alice.jpg',
}) as ReducerAccount;
const friend = normalizeAccount({
username: 'eve',
acct: 'eve@blackhat.lair',
display_name: 'Evelyn',
avatar: '/animated/eve.gif',
avatar_static: '/static/eve.jpg',
}) as ReducerAccount;
it('renders a overlay avatar', () => {
render(<AvatarOverlay account={account} friend={friend} />);
expect(screen.queryAllByRole('img')).toHaveLength(2);
});
});

View file

@ -1,19 +0,0 @@
import React from 'react';
import StillImage from 'soapbox/components/still-image';
import type { Account as AccountEntity } from 'soapbox/types/entities';
interface IAvatarOverlay {
account: AccountEntity,
friend: AccountEntity,
}
const AvatarOverlay: React.FC<IAvatarOverlay> = ({ account, friend }) => (
<div className='account__avatar-overlay'>
<StillImage src={account.avatar} className='account__avatar-overlay-base' />
<StillImage src={friend.avatar} className='account__avatar-overlay-overlay' />
</div>
);
export default AvatarOverlay;

View file

@ -45,7 +45,6 @@ export interface IStatus {
unread?: boolean,
onMoveUp?: (statusId: string, featured?: boolean) => void,
onMoveDown?: (statusId: string, featured?: boolean) => void,
group?: ImmutableMap<string, any>,
focusable?: boolean,
featured?: boolean,
hideActionBar?: boolean,

View file

@ -8,16 +8,16 @@ import { reblog, favourite, unreblog, unfavourite } from 'soapbox/actions/intera
import { openModal } from 'soapbox/actions/modals';
import { getSettings } from 'soapbox/actions/settings';
import { hideStatus, revealStatus } from 'soapbox/actions/statuses';
import Account from 'soapbox/components/account';
import Icon from 'soapbox/components/icon';
import { HStack, Text, Emoji } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
import StatusContainer from 'soapbox/containers/status-container';
import { useAppDispatch, useAppSelector, useInstance } from 'soapbox/hooks';
import { makeGetNotification } from 'soapbox/selectors';
import { NotificationType, validType } from 'soapbox/utils/notification';
import type { ScrollPosition } from 'soapbox/components/status';
import type { Account, Status as StatusEntity, Notification as NotificationEntity } from 'soapbox/types/entities';
import type { Account as AccountEntity, Status as StatusEntity, Notification as NotificationEntity } from 'soapbox/types/entities';
const notificationForScreenReader = (intl: IntlShape, message: string, timestamp: Date) => {
const output = [message];
@ -27,7 +27,7 @@ const notificationForScreenReader = (intl: IntlShape, message: string, timestamp
return output.join(', ');
};
const buildLink = (account: Account): JSX.Element => (
const buildLink = (account: AccountEntity): JSX.Element => (
<bdi>
<Link
className='text-gray-800 dark:text-gray-200 font-bold hover:underline'
@ -127,7 +127,7 @@ const messages: Record<NotificationType, MessageDescriptor> = defineMessages({
const buildMessage = (
intl: IntlShape,
type: NotificationType,
account: Account,
account: AccountEntity,
totalCount: number | null,
targetName: string,
instanceTitle: string,
@ -287,16 +287,16 @@ const Notification: React.FC<INotificaton> = (props) => {
case 'follow':
case 'user_approved':
return account && typeof account === 'object' ? (
<AccountContainer
id={account.id}
<Account
account={account}
hidden={hidden}
avatarSize={48}
/>
) : null;
case 'follow_request':
return account && typeof account === 'object' ? (
<AccountContainer
id={account.id}
<Account
account={account}
hidden={hidden}
avatarSize={48}
actionType='follow_request'
@ -304,8 +304,8 @@ const Notification: React.FC<INotificaton> = (props) => {
) : null;
case 'move':
return account && typeof account === 'object' && notification.target && typeof notification.target === 'object' ? (
<AccountContainer
id={notification.target.id}
<Account
account={notification.target}
hidden={hidden}
avatarSize={48}
/>

View file

@ -1,22 +1,21 @@
import React from 'react';
import { HStack } from 'soapbox/components/ui';
import PlaceholderAvatar from './placeholder-avatar';
import PlaceholderDisplayName from './placeholder-display-name';
/** Fake account to display while data is loading. */
const PlaceholderAccount: React.FC = () => {
return (
<div className='account'>
<div className='account__wrapper'>
<span className='account__display-name'>
<div className='account__avatar-wrapper'>
<PlaceholderAvatar size={36} />
const PlaceholderAccount: React.FC = () => (
<HStack space={3} alignItems='center'>
<div className='flex-shrink-0'>
<PlaceholderAvatar size={42} />
</div>
<div className='min-w-0 flex-1'>
<PlaceholderDisplayName minLength={3} maxLength={25} />
</span>
</div>
</div>
</HStack>
);
};
export default PlaceholderAccount;

View file

@ -1,11 +1,11 @@
import classNames from 'clsx';
import React from 'react';
import Account from 'soapbox/components/account';
import AttachmentThumbs from 'soapbox/components/attachment-thumbs';
import StatusContent from 'soapbox/components/status-content';
import StatusReplyMentions from 'soapbox/components/status-reply-mentions';
import { HStack } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
import PollPreview from 'soapbox/features/ui/components/poll-preview';
import { useAppSelector } from 'soapbox/hooks';
@ -31,9 +31,9 @@ const ScheduledStatus: React.FC<IScheduledStatus> = ({ statusId, ...other }) =>
<div className={classNames('status', `status-${status.visibility}`, { 'status-reply': !!status.in_reply_to_id })} data-id={status.id}>
<div className='mb-4'>
<HStack justifyContent='between' alignItems='start'>
<AccountContainer
<Account
key={account.id}
id={account.id}
account={account}
timestamp={status.created_at}
futureTimestamp
/>

View file

@ -1,6 +1,7 @@
import React, { useEffect, useRef, useState } from 'react';
import { FormattedDate, FormattedMessage, useIntl } from 'react-intl';
import Account from 'soapbox/components/account';
import Icon from 'soapbox/components/icon';
import StatusContent from 'soapbox/components/status-content';
import StatusMedia from 'soapbox/components/status-media';
@ -8,7 +9,6 @@ import StatusReplyMentions from 'soapbox/components/status-reply-mentions';
import SensitiveContentOverlay from 'soapbox/components/statuses/sensitive-content-overlay';
import TranslateButton from 'soapbox/components/translate-button';
import { HStack, Stack, Text } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container';
import { getActualStatus } from 'soapbox/utils/status';
@ -84,9 +84,9 @@ const DetailedStatus: React.FC<IDetailedStatus> = ({
<div className='border-box'>
<div ref={node} className='detailed-actualStatus' tabIndex={-1}>
<div className='mb-4'>
<AccountContainer
<Account
key={account.id}
id={account.id}
account={account}
timestamp={actualStatus.created_at}
avatarSize={42}
hideActions

View file

@ -1,10 +1,10 @@
import classNames from 'clsx';
import React from 'react';
import Account from 'soapbox/components/account';
import StatusContent from 'soapbox/components/status-content';
import StatusReplyMentions from 'soapbox/components/status-reply-mentions';
import { Card, HStack } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
import PlaceholderCard from 'soapbox/features/placeholder/components/placeholder-card';
import PlaceholderMediaGallery from 'soapbox/features/placeholder/components/placeholder-media-gallery';
import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container';
@ -65,9 +65,9 @@ const PendingStatus: React.FC<IPendingStatus> = ({ idempotencyKey, className, mu
>
<div className='mb-4'>
<HStack justifyContent='between' alignItems='start'>
<AccountContainer
<Account
key={account.id}
id={account.id}
account={account}
timestamp={status.created_at}
hideActions
/>

View file

@ -38,7 +38,9 @@ const WhoToFollowPanel = ({ limit }: IWhoToFollowPanel) => {
title={<FormattedMessage id='who_to_follow.title' defaultMessage='People To Follow' />}
action={
<Link to='/suggestions'>
<Text tag='span' theme='primary' size='sm' className='hover:underline'>View all</Text>
<Text tag='span' theme='primary' size='sm' className='hover:underline'>
<FormattedMessage id='feed_suggestions.view_all' defaultMessage='View all' />
</Text>
</Link>
}
>

View file

@ -32,34 +32,3 @@
height: $size;
background-size: $size $size;
}
@mixin search-input {
@include font-size(16);
@include line-height(19);
outline: 0;
box-sizing: border-box;
width: 100%;
box-shadow: none;
font-family: inherit;
background: var(--background-color);
color: var(--highlight-text-color);
margin: 0;
border-radius: 999px;
border: 0;
padding-left: 15px;
// Chrome does not like these concatinated together
&::placeholder { color: var(--primary-text-color--faint); }
&:-ms-input-placeholder { color: var(--primary-text-color--faint); }
&::-ms-input-placeholder { color: var(--primary-text-color--faint); }
&::-moz-focus-inner {
border: 0;
}
&::-moz-focus-inner,
&:focus,
&:active {
outline: 0 !important;
}
}

View file

@ -10,14 +10,6 @@
@media screen and (max-width: $no-gap-breakpoint) {
box-shadow: none;
}
&:hover,
&:active,
&:focus {
.card__bar {
background-color: var(--brand-color--faint);
}
}
}
}
@ -28,51 +20,6 @@
&:not(:last-of-type) {
border-bottom: 1px solid var(--brand-color--med);
}
.account__display-name {
flex: 1 1 auto;
display: block;
color: var(--primary-text-color--faint);
overflow: hidden;
text-decoration: none;
font-size: 14px;
.display-name__name {
display: flex;
}
}
}
.account__wrapper {
display: flex;
align-items: center;
}
.account__avatar-wrapper {
float: left;
margin-right: 12px;
}
a .account__avatar {
cursor: pointer;
}
.account__avatar-overlay {
@include avatar-size(48px);
&-base {
@include avatar-radius;
@include avatar-size(36px);
}
&-overlay {
@include avatar-radius;
@include avatar-size(24px);
position: absolute;
bottom: 0;
right: 0;
z-index: 1;
}
}
.account-authorize__avatar {

View file

@ -14,7 +14,6 @@
@import 'fonts';
@import 'basics';
@import 'accounts';
@import 'boost';
@import 'loading';
@import 'ui';
// @import 'introduction';
@ -22,7 +21,6 @@
@import 'rtl';
@import 'accessibility';
@import 'dyslexic';
@import 'chats';
@import 'navigation';
@import 'placeholder';
@import 'autosuggest';
@ -47,7 +45,6 @@
@import 'components/react-toggle';
@import 'components/video-player';
@import 'components/audio-player';
@import 'components/profile-hover-card';
@import 'components/filters';
@import 'components/backups';
@import 'components/crypto-donate';

File diff suppressed because one or more lines are too long

View file

@ -1,318 +0,0 @@
.pane {
@apply flex flex-col shadow-md rounded-t-md fixed bottom-0 right-5 w-96 h-[350px] z-[1000];
max-height: calc(100vh - 70px);
transition: 0.05s;
&--main {
height: calc(100vh - 70px);
.pane__header .pane__title {
font-size: 16px;
}
}
.search--account {
border-top: 1px solid hsla(var(--primary-text-color_hsl), 0.2);
padding: 5px;
}
&__header {
@apply flex items-center py-0 px-2.5 h-14 box-border rounded-t-md font-bold bg-primary-600 text-white;
.account__avatar {
margin-right: 7px;
}
.pane__title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
height: 100%;
background: transparent;
border: 0;
padding: 0;
color: #fff;
font-weight: bold;
text-align: left;
font-size: 14px;
}
.icon-button {
opacity: 0.7;
color: #fff;
&:hover {
opacity: 1;
}
> div {
margin-right: -6px;
}
}
.pane__close {
margin-left: auto;
.svg-icon {
width: 18px;
height: 18px;
transform: translateY(2px);
}
}
}
&__content {
@apply flex flex-1 flex-col overflow-hidden bg-white dark:bg-gray-900;
> div {
@apply max-h-full;
}
.chat-box {
@apply flex flex-1 flex-col overflow-hidden;
}
.chat-list {
@apply overflow-y-auto max-h-full;
}
}
.audio-toggle .react-toggle-thumb {
@apply w-3.5 h-3.5 border border-solid border-primary-400;
}
.audio-toggle .react-toggle {
@apply top-1;
}
.audio-toggle .react-toggle-track {
@apply h-4 w-8 bg-accent-500 dark:bg-accent-500;
}
.audio-toggle .react-toggle-track-check {
left: 4px;
bottom: 0;
}
.react-toggle--checked .react-toggle-thumb {
left: 19px;
}
.audio-toggle .react-toggle-track-x {
right: 5px;
bottom: 0;
}
.fa {
font-size: 14px;
}
.chat-message--me .chat-message__bubble {
@apply dark:bg-primary-900;
}
}
.chat-messages {
overflow-y: scroll;
flex: 1;
}
.chat-message {
margin: 14px 10px;
display: flex;
&__bubble {
@apply px-2.5 py-1 rounded-lg bg-primary-50 dark:bg-gray-700;
max-width: 70%;
text-overflow: ellipsis;
overflow-wrap: break-word;
white-space: break-spaces;
position: relative;
a {
color: var(--brand-color--hicontrast);
}
&:hover,
&:focus,
&:active {
.chat-message__menu {
opacity: 1;
pointer-events: all;
}
}
}
&--me .chat-message__bubble {
@apply bg-primary-200 dark:bg-primary-800;
margin-left: auto;
}
&--pending .chat-message__bubble {
opacity: 0.5;
}
&__menu {
position: absolute;
top: -8px;
right: -8px;
height: 20px;
padding: 1px;
opacity: 0;
pointer-events: none;
transition: 0.2s;
button {
@apply p-1 bg-gray-100 dark:bg-gray-800;
svg {
@apply h-4 w-4;
}
}
}
}
.chat-list {
flex: 1;
&__content {
height: 100%;
}
.empty-column-indicator {
height: 100%;
box-sizing: border-box;
background: transparent;
align-items: start;
}
.account {
border-bottom: none;
}
.account__display-name {
position: relative;
.display-name {
display: flex;
.hover-ref-wrapper {
display: flex;
}
bdi {
overflow: hidden;
text-overflow: ellipsis;
}
.display-name__account {
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
display: none;
}
}
}
}
.chat-box {
&__attachment {
display: flex;
align-items: center;
font-size: 13px;
padding: 0 10px;
height: 25px;
.chat-box__remove-attachment {
margin-left: auto;
.icon-button > div {
display: flex;
align-items: center;
}
}
}
&__actions {
background: var(--foreground-color);
margin-top: auto;
padding: 6px;
position: relative;
textarea {
@apply pr-6;
}
}
&__send {
.icon-button,
button {
@apply absolute right-2.5 w-auto h-auto border-0 p-0 m-0 bg-transparent text-black dark:text-white;
top: 50%;
transform: translateY(-50%);
svg {
@apply w-[18px] h-[18px];
}
}
}
}
@media (max-width: 630px) {
.chat-panes {
display: none;
}
}
.chatroom__header {
display: flex;
margin-left: auto;
padding-right: 15px;
overflow: hidden;
text-decoration: none;
.account__avatar {
margin-right: 7px;
}
.chatroom__title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
height: 100%;
background: transparent;
border: 0;
padding: 0;
color: var(--primary-text-color);
font-weight: bold;
text-align: left;
font-size: 14px;
}
}
.chat-message .media-gallery {
height: 100% !important;
margin: 4px 0 8px;
.media-gallery__item:not(.media-gallery__item--image) {
max-width: 100%;
width: 120px !important;
height: 100% !important;
}
&__preview {
background-color: transparent;
}
}
.chat-messages__divider {
@apply pt-3.5 pb-0.5 text-center uppercase text-black dark:text-white;
font-size: 13px;
opacity: 0.8;
}
.floating-link {
@apply w-full h-full inset-0 absolute z-10;
}

View file

@ -2,16 +2,6 @@
&__accounts {
overflow-y: auto;
.account__display-name {
&:hover strong {
text-decoration: none;
}
}
.account__avatar {
cursor: default;
}
&.empty-column-indicator {
min-height: unset;
overflow-y: unset;
@ -21,16 +11,4 @@
.aliases-settings-panel {
flex: 1;
.item-list article {
border-bottom: 1px solid var(--primary-text-color--faint);
&:last-child {
border-bottom: 0;
}
}
.slist--flex {
height: 100%;
}
}

View file

@ -7,7 +7,6 @@
}
&--pending {
font-style: italic;
color: var(--primary-text-color--faint);
@apply text-gray-400 italic;
}
}

View file

@ -45,14 +45,13 @@
}
&--transparent {
background: transparent;
@apply bg-transparent;
color: var(--background-color);
&:hover,
&:focus,
&:active {
background: transparent;
color: var(--primary-text-color);
@apply text-gray-900 bg-transparent;
}
&.active {
@ -66,301 +65,13 @@
margin-right: 5px;
}
.column-link__badge {
display: inline-block;
border-radius: 4px;
font-size: 12px;
line-height: 19px;
font-weight: 500;
background: var(--brand-color--med);
padding: 4px 8px;
margin: -6px 10px;
}
.column-subheading {
background: var(--brand-color--med);
color: var(--primary-text-color--faint);
padding: 8px 20px;
font-size: 12px;
font-weight: 500;
text-transform: uppercase;
cursor: default;
}
.column-header__wrapper {
position: relative;
flex: 0 0 auto;
overflow: hidden;
&.active {
&::before {
display: block;
content: "";
position: absolute;
top: 35px;
left: 0;
right: 0;
margin: 0 auto;
width: 60%;
pointer-events: none;
height: 28px;
z-index: 1;
background: radial-gradient(ellipse, hsla(var(--brand-color_hsl), 0.23) 0%, hsla(var(--brand-color_hsl), 0) 60%);
}
}
}
.column-header {
display: flex;
font-size: 16px;
flex: 0 0 auto;
cursor: pointer;
position: relative;
z-index: 2;
outline: 0;
overflow-x: auto;
& > button,
& > .btn {
margin: 0;
border: 0;
padding: 15px;
color: inherit;
background: transparent;
font: inherit;
text-align: left;
text-decoration: none;
white-space: nowrap;
position: relative;
display: flex;
align-items: center;
justify-content: center;
transition: 0.2s;
&--sub {
font-size: 14px;
padding: 6px 10px;
}
&.grouped {
margin: 6px;
color: var(--primary-text-color--faint);
}
&.active {
color: var(--primary-text-color);
&::before {
height: 100%;
opacity: 1;
}
}
&::before {
content: '';
display: block;
position: absolute;
width: 100%;
background-color: var(--accent-color--faint);
border-radius: 10px;
transition: 0.2s;
opacity: 0;
z-index: -1;
}
@media screen and (max-width: $nav-breakpoint-2) {
padding: 8px;
font-size: 14px;
&.grouped {
margin: 6px 2px 6px 6px;
}
&.active {
border-radius: 5px;
}
}
}
&:hover .btn.grouped {
&::before {
height: 70% !important;
opacity: 0 !important;
}
&:hover::before {
height: 100% !important;
opacity: 1 !important;
}
&:hover {
color: var(--primary-text-color);
}
}
&.active {
box-shadow: 0 1px 0 hsla(var(--highlight-text-color_hsl), 0.3);
.column-header__icon {
color: var(--highlight-text-color);
text-shadow: 0 0 10px hsla(var(--highlight-text-color_hsl), 0.4);
}
}
&:focus,
&:active {
outline: 0;
}
}
.column-header__buttons {
height: 48px;
display: flex;
margin-left: auto;
}
.column-header__links .text-btn {
margin-right: 10px;
}
.column-header__button {
cursor: pointer;
border: 0;
padding: 0 15px;
font-size: 16px;
color: var(--primary-text-color--faint);
background: transparent;
&:hover,
&:focus {
color: hsla(var(--primary-text-color_hsl), 0.8);
}
&.active {
color: var(--primary-text-color);
background: var(--accent-color--med);
&:hover {
color: var(--primary-text-color);
background: var(--accent-color--med);
}
}
}
.column-header__collapsible {
max-height: 70vh;
overflow: hidden;
overflow-y: auto;
color: var(--primary-text-color--faint);
transition: max-height 150ms ease-in-out, opacity 300ms linear;
opacity: 1;
&.collapsed {
max-height: 0;
opacity: 0.5;
}
&.animating {
overflow-y: hidden;
}
hr {
height: 0;
background: transparent;
border: 0;
border-top: 1px solid var(--brand-color--med);
margin: 10px 0;
}
}
.column-header__collapsible-inner {
background: var(--background-color);
padding: 15px;
}
.column-header__setting-btn {
&--link {
text-decoration: none;
.fa {
margin-left: 10px;
}
}
&:hover {
color: var(--primary-text-color--faint);
text-decoration: underline;
}
}
.column-header__icon {
display: inline-block;
margin-right: 5px;
font-size: 20px;
}
.column-settings {
width: 100%;
display: flex;
flex-direction: column;
&__header {
border-bottom: 1px solid hsla(var(--primary-text-color_hsl), 0.2);
padding: 10px 20px;
display: flex;
align-items: center;
}
&__title {
font-weight: bold;
color: var(--primary-text-color--faint);
}
&__content {
padding: 10px 20px;
overflow-y: auto;
}
&__description {
font-size: 14px;
margin: 5px 0 15px;
color: var(--primary-text-color--faint);
}
&__close {
display: flex;
align-items: center;
justify-content: center;
margin-left: auto;
.svg-icon {
width: 20px;
height: 20px;
margin-right: -10px;
}
}
}
.column-settings__section {
color: var(--primary-text-color--faint);
cursor: default;
display: block;
font-weight: 500;
margin-bottom: 10px;
}
.column-settings__row {
.text-btn {
margin-bottom: 15px;
&.column-header__setting-btn {
display: flex;
align-items: center;
.svg-icon {
margin-right: 10px;
}
}
@apply text-gray-400 underline;
}
}
@ -390,49 +101,3 @@
margin-bottom: 30px;
}
}
.column__switch .audio-toggle {
@apply absolute top-3 right-[14px] rtl:left-[14px] rtl:right-auto z-10;
.react-toggle-track-check {
@apply left-1.5;
}
.react-toggle-track-x {
@apply right-2;
}
}
.column--better {
.column__top {
display: flex;
align-items: center;
border-bottom: 1px solid hsla(var(--primary-text-color_hsl), 0.2);
}
.column-header {
margin-right: auto;
}
.column__menu {
display: flex;
align-items: center;
justify-content: center;
&,
> div,
button {
height: 100%;
}
button {
padding: 0 15px;
> div {
display: flex;
align-items: center;
justify-content: center;
}
}
}
}

View file

@ -20,12 +20,11 @@
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
border-top-right-radius: var(--border-radius-lg);
@apply rounded-tr-lg;
}
.react-datepicker__header {
@apply bg-white dark:bg-gray-900 border-b-0 py-1 px-0;
// border-top-left-radius: var(--border-radius-lg);
}
.react-datepicker__current-month,

View file

@ -1,25 +1,3 @@
.account__display-name {
text-decoration: none;
}
.account__display-name {
strong {
@apply text-gray-800 dark:text-gray-200;
}
}
a.account__display-name {
&:hover strong {
text-decoration: underline;
}
}
.account__display-name strong {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
.display-name {
display: block;
max-width: 100%;
@ -33,11 +11,6 @@ a.account__display-name {
}
}
.display-name__html {
font-weight: 600;
padding-right: 4px;
}
.display-name__account {
font-size: 14px;
}

View file

@ -1,12 +1,4 @@
.filter-settings-panel {
.item-list article {
border-bottom: 1px solid var(--primary-text-color--faint);
&:last-child {
border-bottom: 0;
}
}
.fields-group .two-col {
display: flex;
align-items: flex-start;

View file

@ -327,10 +327,6 @@
display: flex;
flex-direction: column;
row-gap: 10px;
.unauthorized-modal-content__button {
margin: 0 auto;
}
}
&__fields {

View file

@ -1,4 +0,0 @@
.display-name__account {
position: relative;
font-weight: 600;
}

View file

@ -32,8 +32,7 @@
}
.react-toggle-track {
@apply bg-gray-500 dark:bg-gray-700 w-[50px] p-0 rounded-full transition-colors;
height: var(--input-height);
@apply bg-gray-500 dark:bg-gray-700 h-[30px] w-[50px] p-0 rounded-full transition-colors;
}
.react-toggle--checked .react-toggle-track {

View file

@ -2,13 +2,3 @@
font-family: 'OpenDyslexic' !important;
margin-bottom: 8px;
}
body.dyslexic {
@media screen and (max-width: $nav-breakpoint-2) {
.column-header > button,
.column-header > .btn {
font-size: 11px;
}
}
}

View file

@ -22,14 +22,6 @@ select {
margin-left: -1px;
}
$no-columns-breakpoint: 600px;
.form-container {
max-width: 400px;
padding: 20px;
margin: 0 auto;
}
.simple_form {
.input {
&.hidden {
@ -194,31 +186,6 @@ $no-columns-breakpoint: 600px;
}
}
.input.font_icon_picker {
width: 52px;
}
.input.with_block_label {
max-width: none;
& > label {
font-family: inherit;
font-size: 16px;
color: var(--primary-text-color);
display: block;
font-weight: 500;
padding-top: 5px;
}
.hint {
margin-bottom: 15px;
}
ul {
columns: 2;
}
}
.required abbr {
text-decoration: none;
color: lighten($error-value-color, 12%);
@ -236,48 +203,6 @@ $no-columns-breakpoint: 600px;
}
}
.fields-row {
display: flex;
margin: 0 -10px;
padding-top: 5px;
margin-bottom: 25px;
.input {
max-width: none;
}
&__column {
box-sizing: border-box;
padding: 0 10px;
flex: 1 1 auto;
min-height: 1px;
&-6 {
max-width: 50%;
}
}
.fields-group:last-child,
.fields-row__column.fields-group {
margin-bottom: 0;
}
@media screen and (max-width: $no-columns-breakpoint) {
display: block;
margin-bottom: 0;
&__column {
max-width: none;
}
.fields-group:last-child,
.fields-row__column.fields-group,
.fields-row__column {
margin-bottom: 25px;
}
}
}
.input.radio_buttons .radio label {
margin-bottom: 5px;
font-family: inherit;
@ -390,11 +315,6 @@ $no-columns-breakpoint: 600px;
margin-top: 20px;
display: flex;
justify-content: flex-end;
&.actions--top {
margin-top: 0;
margin-bottom: 30px;
}
}
// button,
@ -483,98 +403,6 @@ $no-columns-breakpoint: 600px;
// padding-top: 0.5rem;
// }
.select-wrapper {
display: flex;
align-items: center;
&::after {
display: flex;
align-items: center;
font-family: 'Font Awesome 5 Free';
content: "";
position: absolute;
right: 12px;
height: calc(100% - 8px);
padding-left: 12px;
pointer-events: none;
margin-top: 8px;
font-weight: 900;
}
}
.label_input {
&__color {
display: inline-flex;
font-size: 14px;
.color-swatch {
width: 32px;
height: 16px;
margin-left: 12px;
}
}
&__wrapper {
position: relative;
}
&__append {
position: absolute;
right: 3px;
top: 1px;
padding: 10px;
padding-bottom: 9px;
font-size: 16px;
color: var(--primary-text-color);
font-family: inherit;
pointer-events: none;
cursor: default;
max-width: 140px;
white-space: nowrap;
overflow: hidden;
&::after {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 1px;
width: 5px;
background-image: linear-gradient(to right, hsla(var(--background-color_hsl), 0), var(--background-color));
}
}
}
&__overlay-area {
position: relative;
&__overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: var(--background-color);
backdrop-filter: blur(2px);
border-radius: 4px;
&__content {
text-align: center;
&.rich-formatting {
&,
p {
color: var(--primary-text-color);
}
}
}
}
}
h2 {
font-size: 20px;
line-height: normal;
@ -637,52 +465,6 @@ $no-columns-breakpoint: 600px;
}
}
.file-picker img {
max-width: 100px;
max-height: 100px;
}
.code-editor {
textarea {
font-family: monospace;
white-space: pre;
}
&--invalid textarea {
border-color: $error-red !important;
color: $error-red;
}
.input {
margin-bottom: 0;
}
.hint {
margin-top: 10px;
}
}
.delete-account {
margin-top: 50px;
display: flex;
justify-content: center;
}
.input .row > .svg-icon.delete-field {
height: 20px;
width: 20px;
position: absolute;
right: 13px;
cursor: pointer;
color: $error-red;
transform: translateY(-11px);
}
.input .row > .input.with_label + .svg-icon.delete-field {
right: 5px;
transform: translateY(7px);
}
.input.with_label.toggle .label_input {
display: flex;
font-size: 14px;
@ -692,48 +474,3 @@ $no-columns-breakpoint: 600px;
margin-left: 10px;
}
}
.actions.add-row {
margin: 10px 0 0;
.button {
display: flex;
align-items: center;
border: 0;
background: transparent;
&:hover {
color: var(--primary-text-color);
}
.svg-icon {
height: 20px;
width: 20px;
}
}
}
.copyable-input {
display: flex;
align-items: center;
justify-content: center;
height: 38px;
input {
flex: 1;
font-size: 14px !important;
border-radius: 4px 0 0 4px !important;
height: 100%;
}
button {
width: auto;
font-size: 14px;
margin: 0;
border-radius: 0 4px 4px 0;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
}

View file

@ -31,16 +31,6 @@
100% { background-position-x: 0; }
}
.chat-list-item--placeholder .chat__last-message {
letter-spacing: -1px;
color: var(--brand-color) !important;
opacity: 0.1;
}
.slist {
position: relative;
}
.media-gallery.media-gallery--placeholder {
background: none;

View file

@ -1,14 +1,7 @@
body.rtl {
direction: rtl;
.column-header > button {
text-align: right;
padding-left: 0;
padding-right: 15px;
}
.column-link__icon,
.column-header__icon {
.column-link__icon {
margin-right: 0;
margin-left: 5px;
}
@ -18,42 +11,11 @@ body.rtl {
left: 10px;
}
.column-header__buttons {
left: 0;
right: auto;
margin-left: 0;
margin-right: -15px;
}
.column-inline-form .icon-button {
margin-left: 0;
margin-right: 5px;
}
.column-header__links .text-btn {
margin-left: 10px;
margin-right: 0;
}
.account__avatar-wrapper {
float: right;
}
.setting-toggle__label {
margin-left: 0;
margin-right: 8px;
}
.status {
padding-left: 10px;
padding-right: 68px;
}
.account__avatar-overlay-overlay {
right: auto;
left: 0;
}
.privacy-dropdown__dropdown {
margin-left: 0;
margin-right: 40px;
@ -121,21 +83,6 @@ body.rtl {
}
}
.public-layout {
.header {
.nav-button {
margin-left: 8px;
margin-right: 0;
}
}
}
.card__bar .display-name {
margin-left: 0;
margin-right: 15px;
text-align: right;
}
.fa-chevron-left::before {
content: "\F054";
}

View file

@ -61,29 +61,11 @@ body,
// Colors
--gray-900: #08051b;
// --gray-800: #1d1932;
--gray-700: #37344c;
--gray-500: #656175;
--gray-400: #868393;
--gray-300: #c9c8cc;
--gray-50: #f9f8fc;
--white: #fff;
--dark-blue: #1d1953;
--electric-blue: #5448ee;
--electric-blue-contrast: #e8e7fd;
// Sizes
--border-radius-base: 4px;
--border-radius-lg: 8px;
--border-radius-xl: 12px;
// Forms
--input-height: 30px;
--input-border-color: #d1d5db;
// Typography
--font-sans: 'Inter', arial, sans-serif;
--font-weight-heading: 700;
--font-weight-body: 400;
}
.theme-mode-light {

View file

@ -70,10 +70,6 @@
.ellipsis::after { content: ""; }
.no-reduce-motion .spoiler-input {
transition: height 0.4s ease, opacity 0.4s ease;
}
.image-loader {
position: relative;
width: 100%;
@ -124,54 +120,18 @@
width: 100%;
padding: 0 0 calc(var(--thumb-navigation-height) + 86px);
.bg-shape-container {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
.page {
display: flex;
flex-direction: column;
width: 100%;
&__top {
@include standard-panel-shadow;
display: flex;
width: 100%;
height: auto;
z-index: 1000;
background: var(--foreground-color);
@media (min-width: 896px) {
top: -290px;
position: sticky;
}
}
&__columns {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
}
}
.slist {
&--flex {
display: flex;
flex-direction: column;
}
&__append {
.slist__append {
flex: 1 1 auto;
position: relative;
padding: 30px 15px;
}
}
.setting-text {
color: var(--primary-text-color--faint);
@ -196,34 +156,6 @@
}
}
.morefollows-indicator {
text-align: center;
font-size: 16px;
font-weight: 500;
color: var(--primary-text-color);
background: var(--brand-color--med);
cursor: default;
display: flex;
flex: 1 1 auto;
align-items: center;
justify-content: center;
padding: 20px;
& > div {
width: 100%;
background: transparent;
padding-top: 0;
}
&__label {
strong {
display: block;
margin-bottom: 10px;
color: var(--primary-text-color);
}
}
}
.text-btn {
display: inline-block;
padding: 0;
@ -240,165 +172,6 @@
text-align: center;
}
.emoji-button {
display: block;
font-size: 24px;
line-height: 24px;
margin-left: 2px;
width: 24px;
outline: 0;
cursor: pointer;
&:active,
&:focus {
outline: 0 !important;
}
img {
filter: grayscale(100%);
opacity: 0.8;
display: block;
margin: 0;
width: 22px;
height: 22px;
margin-top: 2px;
}
&:hover,
&:active,
&:focus {
img {
opacity: 1;
filter: none;
}
}
}
.attachment-list {
display: flex;
font-size: 14px;
border: 1px solid var(--brand-color--med);
border-radius: 4px;
margin-top: 14px;
overflow: hidden;
&__icon {
flex: 0 0 auto;
color: var(--primary-text-color);
padding: 8px 18px;
cursor: default;
border-right: 1px solid var(--brand-color--med);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 26px;
.fa {
display: block;
}
}
&__list {
list-style: none;
padding: 4px 0;
padding-left: 8px;
display: flex;
flex-direction: column;
justify-content: center;
overflow: hidden;
white-space: nowrap;
li {
display: block;
padding: 4px 0;
overflow: hidden;
text-overflow: ellipsis;
}
a {
text-decoration: none;
color: var(--primary-text-color);
font-weight: 500;
&:hover {
text-decoration: underline;
}
}
}
&.compact {
border: 0;
margin-top: 4px;
.attachment-list__list {
padding: 0;
display: block;
}
.fa {
color: var(--primary-text-color);
}
}
}
.filter-bar {
cursor: default;
display: flex;
flex-shrink: 0;
button {
border: 0;
margin: 0;
}
button,
a {
@apply block flex-1 text-gray-500 py-4 text-sm font-semibold text-center relative no-underline;
&:active,
&:focus,
&:hover,
&.active {
@apply text-gray-900;
}
.svg-icon {
width: 18px;
height: 18px;
margin: 0 auto;
}
}
}
.filter-bar {
@apply relative;
&__active {
@apply absolute h-[3px] bottom-0 bg-primary-600;
}
&__bottom {
@apply absolute h-[3px] w-full bottom-0 bg-primary-200;
}
}
.no-reduce-motion .filter-bar__active {
transition: all 0.3s;
}
.reaction__filter-bar {
overflow-x: auto;
overflow-y: hidden;
button,
a {
flex: unset;
padding: 15px 24px;
min-width: max-content;
}
}
::-webkit-scrollbar-thumb {
border-radius: 0;
}

View file

@ -1,56 +1,10 @@
// Truth Colors
$color-1: #c62828;
$color-1-dark: #8e0000;
$color-1-light: #ff5f52;
$color-2: #e53935;
$color-2-dark: #ab000d;
$color-2-light: #ff6f60;
$color-3: #1a237e;
$color-3-dark: #000051;
$color-3-light: #534bae;
$color-4: #3949ab;
$color-4-dark: #00227b;
$color-4-light: #6f74dd;
$color-5: #37474f;
$color-5-dark: #102027;
$color-5-light: #62727b;
$color-6: #f5f5f5;
$color-6-dark: #c2c2c2;
$color-6-light: #fff;
$color-7: #00e676;
$color-7-dark: #00b248;
$color-7-light: #66ffa6;
$color-8: #ffea00;
$color-8-dark: #c7b800;
$color-8-light: #ffff56;
$color-9: #ffab00;
$color-9-dark: #c67c00;
$color-9-light: #ffdd4b;
// BREAKPOINT SETS
// navigation breakpoints - by default show all elements and link names along with icons
// turns navigation links into icon-only buttons
$nav-breakpoint-1: 850px;
// search field hidden and replaced with search icon link
$nav-breakpoint-2: 650px;
// "Post" button hidden and replaced with floating button on bottom corner
$nav-breakpoint-3: 450px;
// Site Logo hidden - bare minimum navigation for smallest width devices
$nav-breakpoint-4: 375px;
// Commonly used web colors
$success-green: #79bd9a !default; // Padua
$error-red: #df405a !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
// Variables for defaults in UI
$base-shadow-color: #000 !default;
$base-overlay-background: #000 !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Language codes that uses CJK fonts
@ -68,8 +22,5 @@ $no-gap-breakpoint: 415px;
// NOTE: Prefer CSS variables whenever possible.
// They're future-proof and more flexible.
:root {
--thumb-navigation-base-height: 60px;
--thumb-navigation-height: calc(
var(--thumb-navigation-base-height) + env(safe-area-inset-bottom)
);
--thumb-navigation-height: calc(60px + env(safe-area-inset-bottom));
}