Merge remote-tracking branch 'glitchsoc/master' into gs-master

This commit is contained in:
David Yip 2018-05-08 09:43:33 -05:00
commit 143878d9da
No known key found for this signature in database
GPG Key ID: 7DA0036508FCC0CC
46 changed files with 804 additions and 445 deletions

View File

@ -43,6 +43,7 @@ class DropdownMenu extends React.PureComponent {
componentDidMount () { componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false); document.addEventListener('click', this.handleDocumentClick, false);
document.addEventListener('touchend', this.handleDocumentClick, listenerOptions); document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
if (this.focusedItem) this.focusedItem.focus();
this.setState({ mounted: true }); this.setState({ mounted: true });
} }
@ -55,6 +56,46 @@ class DropdownMenu extends React.PureComponent {
this.node = c; this.node = c;
} }
setFocusRef = c => {
this.focusedItem = c;
}
handleKeyDown = e => {
const items = Array.from(this.node.getElementsByTagName('a'));
const index = items.indexOf(e.currentTarget);
let element;
switch(e.key) {
case 'Enter':
this.handleClick(e);
break;
case 'ArrowDown':
element = items[index+1];
if (element) {
element.focus();
}
break;
case 'ArrowUp':
element = items[index-1];
if (element) {
element.focus();
}
break;
case 'Home':
element = items[0];
if (element) {
element.focus();
}
break;
case 'End':
element = items[items.length-1];
if (element) {
element.focus();
}
break;
}
}
handleClick = e => { handleClick = e => {
const i = Number(e.currentTarget.getAttribute('data-index')); const i = Number(e.currentTarget.getAttribute('data-index'));
const { action, to } = this.props.items[i]; const { action, to } = this.props.items[i];
@ -79,7 +120,7 @@ class DropdownMenu extends React.PureComponent {
return ( return (
<li className='dropdown-menu__item' key={`${text}-${i}`}> <li className='dropdown-menu__item' key={`${text}-${i}`}>
<a href={href} target='_blank' rel='noopener' role='button' tabIndex='0' autoFocus={i === 0} onClick={this.handleClick} data-index={i}> <a href={href} target='_blank' rel='noopener' role='button' tabIndex='0' ref={i === 0 ? this.setFocusRef : null} onClick={this.handleClick} onKeyDown={this.handleKeyDown} data-index={i}>
{text} {text}
</a> </a>
</li> </li>
@ -156,9 +197,6 @@ export default class Dropdown extends React.PureComponent {
handleKeyDown = e => { handleKeyDown = e => {
switch(e.key) { switch(e.key) {
case 'Enter':
this.handleClick(e);
break;
case 'Escape': case 'Escape':
this.handleClose(); this.handleClose();
break; break;

View File

@ -202,6 +202,7 @@ export default class MediaGallery extends React.PureComponent {
static propTypes = { static propTypes = {
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
revealed: PropTypes.bool,
standalone: PropTypes.bool, standalone: PropTypes.bool,
letterbox: PropTypes.bool, letterbox: PropTypes.bool,
fullwidth: PropTypes.bool, fullwidth: PropTypes.bool,
@ -216,7 +217,7 @@ export default class MediaGallery extends React.PureComponent {
}; };
state = { state = {
visible: !this.props.sensitive || displaySensitiveMedia, visible: this.props.revealed === undefined ? (!this.props.sensitive || displaySensitiveMedia) : this.props.revealed,
}; };
componentWillReceiveProps (nextProps) { componentWillReceiveProps (nextProps) {

View File

@ -37,6 +37,7 @@ export default class Header extends ImmutablePureComponent {
} }
let displayName = account.get('display_name_html'); let displayName = account.get('display_name_html');
let fields = account.get('fields');
let info = ''; let info = '';
let mutingInfo = ''; let mutingInfo = '';
let actionBtn = ''; let actionBtn = '';
@ -100,30 +101,43 @@ export default class Header extends ImmutablePureComponent {
<span className='account__header__username'>@{account.get('acct')} {account.get('locked') ? <i className='fa fa-lock' /> : null}</span> <span className='account__header__username'>@{account.get('acct')} {account.get('locked') ? <i className='fa fa-lock' /> : null}</span>
<div className='account__header__content' dangerouslySetInnerHTML={{ __html: emojify(text) }} /> <div className='account__header__content' dangerouslySetInnerHTML={{ __html: emojify(text) }} />
{fields.size > 0 && (
<table className='account__header__fields'>
<tbody>
{fields.map((pair, i) => (
<tr key={i}>
<th dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} />
<td dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} />
</tr>
))}
</tbody>
</table>
)}
{fields.size == 0 && metadata.length && (
<table className='account__header__fields'>
<tbody>
{(() => {
let data = [];
for (let i = 0; i < metadata.length; i++) {
data.push(
<tr key={i}>
<th scope='row'><div dangerouslySetInnerHTML={{ __html: emojify(metadata[i][0]) }} /></th>
<td><div dangerouslySetInnerHTML={{ __html: emojify(metadata[i][1]) }} /></td>
</tr>
);
}
return data;
})()}
</tbody>
</table>
) || null}
{info} {info}
{mutingInfo} {mutingInfo}
{actionBtn} {actionBtn}
</div> </div>
</div> </div>
{metadata.length && (
<table className='account__metadata'>
<tbody>
{(() => {
let data = [];
for (let i = 0; i < metadata.length; i++) {
data.push(
<tr key={i}>
<th scope='row'><div dangerouslySetInnerHTML={{ __html: emojify(metadata[i][0]) }} /></th>
<td><div dangerouslySetInnerHTML={{ __html: emojify(metadata[i][1]) }} /></td>
</tr>
);
}
return data;
})()}
</tbody>
</table>
) || null}
</div> </div>
); );
} }

View File

@ -241,12 +241,12 @@ class EmojiPickerMenu extends React.PureComponent {
static defaultProps = { static defaultProps = {
style: {}, style: {},
loading: true, loading: true,
placement: 'bottom',
frequentlyUsedEmojis: [], frequentlyUsedEmojis: [],
}; };
state = { state = {
modifierOpen: false, modifierOpen: false,
placement: null,
}; };
handleDocumentClick = e => { handleDocumentClick = e => {
@ -378,7 +378,7 @@ export default class EmojiPickerDropdown extends React.PureComponent {
this.dropdown = c; this.dropdown = c;
} }
onShowDropdown = () => { onShowDropdown = ({ target }) => {
this.setState({ active: true }); this.setState({ active: true });
if (!EmojiPicker) { if (!EmojiPicker) {
@ -393,6 +393,9 @@ export default class EmojiPickerDropdown extends React.PureComponent {
this.setState({ loading: false }); this.setState({ loading: false });
}); });
} }
const { top } = target.getBoundingClientRect();
this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });
} }
onHideDropdown = () => { onHideDropdown = () => {
@ -404,7 +407,7 @@ export default class EmojiPickerDropdown extends React.PureComponent {
if (this.state.active) { if (this.state.active) {
this.onHideDropdown(); this.onHideDropdown();
} else { } else {
this.onShowDropdown(); this.onShowDropdown(e);
} }
} }
} }
@ -426,7 +429,7 @@ export default class EmojiPickerDropdown extends React.PureComponent {
render () { render () {
const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props; const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;
const title = intl.formatMessage(messages.emoji); const title = intl.formatMessage(messages.emoji);
const { active, loading } = this.state; const { active, loading, placement } = this.state;
return ( return (
<div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}> <div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}>
@ -438,7 +441,7 @@ export default class EmojiPickerDropdown extends React.PureComponent {
/> />
</div> </div>
<Overlay show={active} placement='bottom' target={this.findTarget}> <Overlay show={active} placement={placement} target={this.findTarget}>
<EmojiPickerMenu <EmojiPickerMenu
custom_emojis={this.props.custom_emojis} custom_emojis={this.props.custom_emojis}
loading={loading} loading={loading}

View File

@ -40,6 +40,7 @@ export default class StatusCheckBox extends React.PureComponent {
height={110} height={110}
inline inline
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
revealed={false}
onOpenVideo={noop} onOpenVideo={noop}
/> />
)} )}
@ -48,7 +49,7 @@ export default class StatusCheckBox extends React.PureComponent {
} else { } else {
media = ( media = (
<Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} > <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >
{Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} height={110} onOpenMedia={noop} />} {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} revealed={false} height={110} onOpenMedia={noop} />}
</Bundle> </Bundle>
); );
} }

View File

@ -30,7 +30,7 @@ const makeMapStateToProps = () => {
account: getAccount(state, accountId), account: getAccount(state, accountId),
comment: state.getIn(['reports', 'new', 'comment']), comment: state.getIn(['reports', 'new', 'comment']),
forward: state.getIn(['reports', 'new', 'forward']), forward: state.getIn(['reports', 'new', 'forward']),
statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])), statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),
}; };
}; };
@ -64,12 +64,12 @@ export default class ReportModal extends ImmutablePureComponent {
} }
componentDidMount () { componentDidMount () {
this.props.dispatch(refreshAccountTimeline(this.props.account.get('id'))); this.props.dispatch(refreshAccountTimeline(this.props.account.get('id'), true));
} }
componentWillReceiveProps (nextProps) { componentWillReceiveProps (nextProps) {
if (this.props.account !== nextProps.account && nextProps.account) { if (this.props.account !== nextProps.account && nextProps.account) {
this.props.dispatch(refreshAccountTimeline(nextProps.account.get('id'))); this.props.dispatch(refreshAccountTimeline(nextProps.account.get('id'), true));
} }
} }

View File

@ -92,6 +92,7 @@ export default class Video extends React.PureComponent {
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
revealed: PropTypes.bool,
startTime: PropTypes.number, startTime: PropTypes.number,
onOpenVideo: PropTypes.func, onOpenVideo: PropTypes.func,
onCloseVideo: PropTypes.func, onCloseVideo: PropTypes.func,
@ -111,7 +112,7 @@ export default class Video extends React.PureComponent {
fullscreen: false, fullscreen: false,
hovered: false, hovered: false,
muted: false, muted: false,
revealed: !this.props.sensitive || displaySensitiveMedia, revealed: this.props.revealed === undefined ? (!this.props.sensitive || displaySensitiveMedia) : this.props.revealed,
}; };
setPlayerRef = c => { setPlayerRef = c => {
@ -255,7 +256,7 @@ export default class Video extends React.PureComponent {
} }
render () { render () {
const { preview, src, inline, startTime, onOpenVideo, onCloseVideo, intl, alt, letterbox, fullwidth, detailed } = this.props; const { preview, src, inline, startTime, onOpenVideo, onCloseVideo, intl, alt, letterbox, fullwidth, detailed, sensitive } = this.props;
const { containerWidth, currentTime, duration, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state; const { containerWidth, currentTime, duration, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state;
const progress = (currentTime / duration) * 100; const progress = (currentTime / duration) * 100;
const playerStyle = {}; const playerStyle = {};
@ -270,6 +271,13 @@ export default class Video extends React.PureComponent {
playerStyle.height = height; playerStyle.height = height;
} }
let warning;
if (sensitive) {
warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;
} else {
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
}
return ( return (
<div className={classNames('video-player', { inactive: !revealed, detailed, inline: inline && !fullscreen, fullscreen, letterbox, 'full-width': fullwidth })} style={playerStyle} ref={this.setPlayerRef} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}> <div className={classNames('video-player', { inactive: !revealed, detailed, inline: inline && !fullscreen, fullscreen, letterbox, 'full-width': fullwidth })} style={playerStyle} ref={this.setPlayerRef} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>
<video <video
@ -292,7 +300,7 @@ export default class Video extends React.PureComponent {
/> />
<button type='button' className={classNames('video-player__spoiler', { active: !revealed })} onClick={this.toggleReveal}> <button type='button' className={classNames('video-player__spoiler', { active: !revealed })} onClick={this.toggleReveal}>
<span className='video-player__spoiler__title'><FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' /></span> <span className='video-player__spoiler__title'>{warning}</span>
<span className='video-player__spoiler__subtitle'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span> <span className='video-player__spoiler__subtitle'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span>
</button> </button>

View File

@ -69,6 +69,14 @@ const normalizeAccount = (state, account) => {
account.display_name_html = emojify(escapeTextContentForBrowser(displayName)); account.display_name_html = emojify(escapeTextContentForBrowser(displayName));
account.note_emojified = emojify(account.note); account.note_emojified = emojify(account.note);
if (account.fields) {
account.fields = account.fields.map(pair => ({
...pair,
name_emojified: emojify(escapeTextContentForBrowser(pair.name)),
value_emojified: emojify(pair.value),
}));
}
if (account.moved) { if (account.moved) {
state = normalizeAccount(state, account.moved); state = normalizeAccount(state, account.moved);
account.moved = account.moved.id; account.moved = account.moved.id;

View File

@ -169,7 +169,7 @@ $small-breakpoint: 960px;
background: $ui-base-color; background: $ui-base-color;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
color: $ui-primary-color; color: $darker-text-color;
text-transform: uppercase; text-transform: uppercase;
position: relative; position: relative;
z-index: 1; z-index: 1;
@ -186,14 +186,36 @@ $small-breakpoint: 960px;
font-size: 16px; font-size: 16px;
line-height: 30px; line-height: 30px;
margin-bottom: 12px; margin-bottom: 12px;
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
} }
} }
.closed-registrations-message {
margin-top: 20px;
&,
p {
text-align: center;
font-size: 12px;
line-height: 18px;
color: $darker-text-color;
margin-bottom: 0;
a {
color: $highlight-text-color;
text-decoration: underline;
}
}
p:last-child {
margin-bottom: 0;
}
}
em { em {
display: inline; display: inline;
margin: 0; margin: 0;
@ -203,7 +225,7 @@ $small-breakpoint: 960px;
font-family: inherit; font-family: inherit;
font-size: inherit; font-size: inherit;
line-height: inherit; line-height: inherit;
color: lighten($ui-primary-color, 10%); color: lighten($darker-text-color, 10%);
} }
h1 { h1 {
@ -212,14 +234,14 @@ $small-breakpoint: 960px;
line-height: 30px; line-height: 30px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
small { small {
font-family: 'mastodon-font-sans-serif', sans-serif; font-family: 'mastodon-font-sans-serif', sans-serif;
display: block; display: block;
font-size: 18px; font-size: 18px;
font-weight: 400; font-weight: 400;
color: $ui-base-lighter-color; color: lighten($darker-text-color, 10%);
} }
} }
@ -229,7 +251,7 @@ $small-breakpoint: 960px;
line-height: 26px; line-height: 26px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
} }
h3 { h3 {
@ -238,7 +260,7 @@ $small-breakpoint: 960px;
line-height: 24px; line-height: 24px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
} }
h4 { h4 {
@ -247,7 +269,7 @@ $small-breakpoint: 960px;
line-height: 24px; line-height: 24px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
} }
h5 { h5 {
@ -256,7 +278,7 @@ $small-breakpoint: 960px;
line-height: 24px; line-height: 24px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
} }
h6 { h6 {
@ -265,7 +287,7 @@ $small-breakpoint: 960px;
line-height: 24px; line-height: 24px;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
} }
ul, ul,
@ -327,10 +349,10 @@ $small-breakpoint: 960px;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 30px; line-height: 30px;
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
} }
} }
@ -378,7 +400,7 @@ $small-breakpoint: 960px;
font-size: 14px; font-size: 14px;
&:hover { &:hover {
color: $ui-secondary-color; color: $secondary-text-color;
} }
} }
@ -451,10 +473,10 @@ $small-breakpoint: 960px;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 30px; line-height: 30px;
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
} }
} }
@ -490,7 +512,7 @@ $small-breakpoint: 960px;
span { span {
&:last-child { &:last-child {
color: $ui-secondary-color; color: $secondary-text-color;
} }
} }
@ -521,7 +543,7 @@ $small-breakpoint: 960px;
font-size: 14px; font-size: 14px;
line-height: 24px; line-height: 24px;
font-weight: 500; font-weight: 500;
color: $ui-primary-color; color: $darker-text-color;
padding-bottom: 5px; padding-bottom: 5px;
margin-bottom: 15px; margin-bottom: 15px;
border-bottom: 1px solid lighten($ui-base-color, 4%); border-bottom: 1px solid lighten($ui-base-color, 4%);
@ -532,7 +554,7 @@ $small-breakpoint: 960px;
a, a,
span { span {
font-weight: 400; font-weight: 400;
color: darken($ui-primary-color, 10%); color: darken($darker-text-color, 10%);
} }
a { a {
@ -575,7 +597,7 @@ $small-breakpoint: 960px;
.username { .username {
display: block; display: block;
color: $ui-primary-color; color: $darker-text-color;
} }
} }
} }
@ -700,7 +722,7 @@ $small-breakpoint: 960px;
} }
p a { p a {
color: $ui-secondary-color; color: $secondary-text-color;
} }
h1 { h1 {
@ -709,10 +731,10 @@ $small-breakpoint: 960px;
margin-bottom: 0; margin-bottom: 0;
small { small {
color: $ui-primary-color; color: $darker-text-color;
span { span {
color: $ui-secondary-color; color: $secondary-text-color;
} }
} }
} }
@ -819,7 +841,7 @@ $small-breakpoint: 960px;
} }
a { a {
color: $ui-secondary-color; color: $secondary-text-color;
text-decoration: none; text-decoration: none;
} }
} }
@ -859,7 +881,7 @@ $small-breakpoint: 960px;
.fa { .fa {
display: block; display: block;
color: $ui-primary-color; color: $darker-text-color;
font-size: 48px; font-size: 48px;
} }
} }
@ -867,7 +889,7 @@ $small-breakpoint: 960px;
.text { .text {
font-size: 16px; font-size: 16px;
line-height: 30px; line-height: 30px;
color: $ui-primary-color; color: $darker-text-color;
h6 { h6 {
font-size: inherit; font-size: inherit;
@ -885,10 +907,10 @@ $small-breakpoint: 960px;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 30px; line-height: 30px;
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
} }
} }
@ -896,7 +918,7 @@ $small-breakpoint: 960px;
.footer-links { .footer-links {
padding-bottom: 50px; padding-bottom: 50px;
text-align: right; text-align: right;
color: $ui-base-lighter-color; color: $dark-text-color;
p { p {
font-size: 14px; font-size: 14px;
@ -911,7 +933,7 @@ $small-breakpoint: 960px;
&__footer { &__footer {
margin-top: 10px; margin-top: 10px;
text-align: center; text-align: center;
color: $ui-base-lighter-color; color: $dark-text-color;
p { p {
font-size: 14px; font-size: 14px;

View File

@ -75,7 +75,7 @@
small { small {
display: block; display: block;
font-size: 14px; font-size: 14px;
color: $ui-highlight-color; color: $highlight-text-color;
font-weight: 400; font-weight: 400;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -116,7 +116,7 @@
width: 33.3%; width: 33.3%;
box-sizing: border-box; box-sizing: border-box;
flex: 0 0 auto; flex: 0 0 auto;
color: $ui-primary-color; color: $darker-text-color;
padding: 5px 10px 0; padding: 5px 10px 0;
margin-bottom: 10px; margin-bottom: 10px;
border-right: 1px solid lighten($ui-base-color, 4%); border-right: 1px solid lighten($ui-base-color, 4%);
@ -146,7 +146,7 @@
&.active { &.active {
&::after { &::after {
border-bottom: 4px solid $ui-highlight-color; border-bottom: 4px solid $highlight-text-color;
opacity: 1; opacity: 1;
} }
} }
@ -182,7 +182,7 @@
line-height: 18px; line-height: 18px;
padding: 0 15px; padding: 0 15px;
text-align: center; text-align: center;
color: $ui-secondary-color; color: $secondary-text-color;
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
@ -260,7 +260,7 @@
.current { .current {
background: $simple-background-color; background: $simple-background-color;
border-radius: 100px; border-radius: 100px;
color: $ui-base-color; color: $inverted-text-color;
cursor: default; cursor: default;
margin: 0 10px; margin: 0 10px;
} }
@ -272,7 +272,7 @@
.older, .older,
.newer { .newer {
text-transform: uppercase; text-transform: uppercase;
color: $ui-secondary-color; color: $secondary-text-color;
} }
.older { .older {
@ -297,7 +297,7 @@
.disabled { .disabled {
cursor: default; cursor: default;
color: lighten($ui-base-color, 10%); color: lighten($inverted-text-color, 10%);
} }
@media screen and (max-width: 700px) { @media screen and (max-width: 700px) {
@ -336,7 +336,7 @@
width: 335px; width: 335px;
background: $simple-background-color; background: $simple-background-color;
border-radius: 4px; border-radius: 4px;
color: $ui-base-color; color: $inverted-text-color;
margin: 0 5px 10px; margin: 0 5px 10px;
position: relative; position: relative;
@ -348,7 +348,7 @@
overflow: hidden; overflow: hidden;
height: 100px; height: 100px;
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
background-color: lighten($ui-base-color, 4%); background-color: lighten($inverted-text-color, 4%);
background-size: cover; background-size: cover;
background-position: center; background-position: center;
position: relative; position: relative;
@ -399,7 +399,7 @@
a { a {
display: block; display: block;
color: $ui-base-color; color: $inverted-text-color;
text-decoration: none; text-decoration: none;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
@ -421,7 +421,7 @@
} }
.username { .username {
color: lighten($ui-base-color, 34%); color: $lighter-text-color;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
} }
@ -429,7 +429,7 @@
.account__header__content { .account__header__content {
padding: 10px 15px; padding: 10px 15px;
padding-top: 15px; padding-top: 15px;
color: lighten($ui-base-color, 26%); color: $lighter-text-color;
word-wrap: break-word; word-wrap: break-word;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -441,7 +441,7 @@
.nothing-here { .nothing-here {
width: 100%; width: 100%;
display: block; display: block;
color: $ui-primary-color; color: $light-text-color;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
text-align: center; text-align: center;
@ -502,7 +502,7 @@
span { span {
font-size: 14px; font-size: 14px;
color: $ui-primary-color; color: $light-text-color;
} }
} }
@ -517,7 +517,7 @@
.account__header__content { .account__header__content {
font-size: 14px; font-size: 14px;
color: $ui-base-color; color: $inverted-text-color;
} }
} }
@ -531,18 +531,18 @@
display: inline-block; display: inline-block;
padding: 15px; padding: 15px;
text-decoration: none; text-decoration: none;
color: $ui-highlight-color; color: $highlight-text-color;
text-transform: uppercase; text-transform: uppercase;
font-weight: 500; font-weight: 500;
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-highlight-color, 8%); color: lighten($highlight-text-color, 8%);
} }
&.active { &.active {
color: $ui-base-color; color: $inverted-text-color;
cursor: default; cursor: default;
} }
} }

View File

@ -33,7 +33,7 @@
a { a {
display: block; display: block;
padding: 15px; padding: 15px;
color: rgba($primary-text-color, 0.7); color: $darker-text-color;
text-decoration: none; text-decoration: none;
transition: all 200ms linear; transition: all 200ms linear;
border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px;
@ -90,7 +90,7 @@
padding-left: 25px; padding-left: 25px;
h2 { h2 {
color: $ui-secondary-color; color: $secondary-text-color;
font-size: 24px; font-size: 24px;
line-height: 28px; line-height: 28px;
font-weight: 400; font-weight: 400;
@ -98,16 +98,26 @@
} }
h3 { h3 {
color: $ui-secondary-color; color: $secondary-text-color;
font-size: 20px; font-size: 20px;
line-height: 28px; line-height: 28px;
font-weight: 400; font-weight: 400;
margin-bottom: 30px; margin-bottom: 30px;
} }
h4 {
text-transform: uppercase;
font-size: 13px;
font-weight: 500;
color: $darker-text-color;
padding-bottom: 8px;
margin-bottom: 8px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
}
h6 { h6 {
font-size: 16px; font-size: 16px;
color: $ui-secondary-color; color: $secondary-text-color;
line-height: 28px; line-height: 28px;
font-weight: 400; font-weight: 400;
} }
@ -115,7 +125,7 @@
& > p { & > p {
font-size: 14px; font-size: 14px;
line-height: 18px; line-height: 18px;
color: $ui-secondary-color; color: $secondary-text-color;
margin-bottom: 20px; margin-bottom: 20px;
strong { strong {
@ -143,10 +153,10 @@
} }
.muted-hint { .muted-hint {
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
} }
@ -243,7 +253,7 @@
a { a {
display: inline-block; display: inline-block;
color: rgba($primary-text-color, 0.7); color: $darker-text-color;
text-decoration: none; text-decoration: none;
text-transform: uppercase; text-transform: uppercase;
font-size: 12px; font-size: 12px;
@ -256,7 +266,7 @@
} }
&.selected { &.selected {
color: $ui-highlight-color; color: $highlight-text-color;
border-bottom: 2px solid $ui-highlight-color; border-bottom: 2px solid $ui-highlight-color;
} }
} }
@ -297,7 +307,7 @@
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
line-height: 18px; line-height: 18px;
color: $ui-secondary-color; color: $secondary-text-color;
@each $lang in $cjk-langs { @each $lang in $cjk-langs {
&:lang(#{$lang}) { &:lang(#{$lang}) {
@ -354,7 +364,7 @@
padding: 7px 4px; padding: 7px 4px;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 16px; font-size: 16px;
color: $ui-base-color; color: $inverted-text-color;
display: block; display: block;
width: 100%; width: 100%;
outline: 0; outline: 0;
@ -408,7 +418,7 @@
font-size: 14px; font-size: 14px;
a { a {
color: $classic-highlight-color; color: $highlight-text-color;
text-decoration: none; text-decoration: none;
&:hover { &:hover {
@ -431,7 +441,7 @@
align-items: center; align-items: center;
padding: 10px; padding: 10px;
background: $ui-base-color; background: $ui-base-color;
color: $ui-primary-color; color: $darker-text-color;
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
@ -458,14 +468,14 @@
} }
&__timestamp { &__timestamp {
color: lighten($ui-base-color, 34%); color: $dark-text-color;
} }
&__extras { &__extras {
background: lighten($ui-base-color, 6%); background: lighten($ui-base-color, 6%);
border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px;
padding: 10px; padding: 10px;
color: $ui-primary-color; color: $darker-text-color;
font-family: 'mastodon-font-monospace', monospace; font-family: 'mastodon-font-monospace', monospace;
font-size: 12px; font-size: 12px;
word-wrap: break-word; word-wrap: break-word;
@ -475,7 +485,7 @@
&__icon { &__icon {
font-size: 28px; font-size: 28px;
margin-right: 10px; margin-right: 10px;
color: lighten($ui-base-color, 34%); color: $dark-text-color;
} }
&__icon__overlay { &__icon__overlay {
@ -491,7 +501,7 @@
} }
&.negative { &.negative {
background: $error-red; background: lighten($error-red, 12%);
} }
&.neutral { &.neutral {
@ -502,17 +512,17 @@
a, a,
.username, .username,
.target { .target {
color: $ui-secondary-color; color: $secondary-text-color;
text-decoration: none; text-decoration: none;
font-weight: 500; font-weight: 500;
} }
.diff-old { .diff-old {
color: $error-red; color: lighten($error-red, 12%);
} }
.diff-neutral { .diff-neutral {
color: $ui-secondary-color; color: $secondary-text-color;
} }
.diff-new { .diff-new {

View File

@ -71,7 +71,7 @@ body {
&.error { &.error {
position: absolute; position: absolute;
text-align: center; text-align: center;
color: $ui-primary-color; color: $darker-text-color;
background: $ui-base-color; background: $ui-base-color;
width: 100%; width: 100%;
height: 100%; height: 100%;

View File

@ -2,7 +2,7 @@
h1 { h1 {
font-size: 24px; font-size: 24px;
line-height: 28px; line-height: 28px;
color: $ui-primary-color; color: $darker-text-color;
font-weight: 500; font-weight: 500;
margin-bottom: 20px; margin-bottom: 20px;
padding: 0 10px; padding: 0 10px;
@ -20,7 +20,7 @@
small { small {
font-weight: 400; font-weight: 400;
color: $ui-secondary-color; color: $secondary-text-color;
} }
img { img {

View File

@ -7,7 +7,7 @@
.account__display-name { .account__display-name {
flex: 1 1 auto; flex: 1 1 auto;
display: block; display: block;
color: $ui-primary-color; color: $darker-text-color;
overflow: hidden; overflow: hidden;
text-decoration: none; text-decoration: none;
font-size: 14px; font-size: 14px;
@ -102,7 +102,7 @@
} }
.account__header__username { .account__header__username {
color: $ui-primary-color; color: $secondary-text-color;
} }
} }
@ -112,7 +112,7 @@
} }
.account__header__content { .account__header__content {
color: $ui-secondary-color; color: $secondary-text-color;
} }
.account__header__display-name { .account__header__display-name {
@ -127,7 +127,7 @@
} }
.account__header__username { .account__header__username {
color: $ui-highlight-color; color: $highlight-text-color;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
display: block; display: block;
@ -140,7 +140,7 @@
.account__disclaimer { .account__disclaimer {
padding: 10px; padding: 10px;
border-top: 1px solid lighten($ui-base-color, 8%); border-top: 1px solid lighten($ui-base-color, 8%);
color: $ui-base-lighter-color; color: $dark-text-color;
strong { strong {
font-weight: 500; font-weight: 500;
@ -166,7 +166,7 @@
} }
.account__header__content { .account__header__content {
color: $ui-primary-color; color: $darker-text-color;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
overflow: hidden; overflow: hidden;
@ -243,7 +243,7 @@
display: block; display: block;
text-transform: uppercase; text-transform: uppercase;
font-size: 11px; font-size: 11px;
color: $ui-primary-color; color: $darker-text-color;
} }
strong { strong {
@ -260,7 +260,7 @@
} }
abbr { abbr {
color: $ui-base-lighter-color; color: $highlight-text-color;
} }
} }
@ -292,12 +292,12 @@
margin-left: 42px; margin-left: 42px;
padding: 8px 0 0 26px; padding: 8px 0 0 26px;
cursor: default; cursor: default;
color: $ui-primary-color; color: $darker-text-color;
font-size: 15px; font-size: 15px;
position: relative; position: relative;
.fa { .fa {
color: $ui-highlight-color; color: $highlight-text-color;
} }
> span { > span {
@ -328,7 +328,7 @@
} }
.column-settings__section { .column-settings__section {
color: $ui-primary-color; color: $darker-text-color;
cursor: default; cursor: default;
display: block; display: block;
font-weight: 500; font-weight: 500;
@ -439,7 +439,7 @@
a { a {
display: block; display: block;
flex: 1 1 auto; flex: 1 1 auto;
color: $ui-primary-color; color: $darker-text-color;
padding: 15px 0; padding: 15px 0;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
@ -448,7 +448,7 @@
position: relative; position: relative;
&.active { &.active {
color: $ui-secondary-color; color: $secondary-text-color;
&::before, &::before,
&::after { &::after {
@ -483,7 +483,7 @@
&__message { &__message {
position: relative; position: relative;
margin-left: 58px; margin-left: 58px;
color: $ui-base-lighter-color; color: $dark-text-color;
padding: 8px 0; padding: 8px 0;
padding-top: 0; padding-top: 0;
padding-bottom: 4px; padding-bottom: 4px;

File diff suppressed because one or more lines are too long

View File

@ -4,22 +4,6 @@
position: relative; position: relative;
} }
.column-icon {
background: lighten($ui-base-color, 4%);
color: $ui-primary-color;
cursor: pointer;
font-size: 16px;
padding: 15px;
position: absolute;
right: 0;
top: -48px;
z-index: 3;
&:hover {
color: lighten($ui-primary-color, 7%);
}
}
.columns-area { .columns-area {
display: flex; display: flex;
flex: 1 1 auto; flex: 1 1 auto;
@ -136,7 +120,7 @@
.column-back-button { .column-back-button {
background: lighten($ui-base-color, 4%); background: lighten($ui-base-color, 4%);
color: $ui-highlight-color; color: $highlight-text-color;
cursor: pointer; cursor: pointer;
flex: 0 0 auto; flex: 0 0 auto;
font-size: 16px; font-size: 16px;
@ -155,7 +139,7 @@
background: lighten($ui-base-color, 4%); background: lighten($ui-base-color, 4%);
border: 0; border: 0;
font-family: inherit; font-family: inherit;
color: $ui-highlight-color; color: $highlight-text-color;
cursor: pointer; cursor: pointer;
flex: 0 0 auto; flex: 0 0 auto;
font-size: 16px; font-size: 16px;
@ -210,7 +194,7 @@
.column-subheading { .column-subheading {
background: $ui-base-color; background: $ui-base-color;
color: $ui-base-lighter-color; color: $dark-text-color;
padding: 8px 20px; padding: 8px 20px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
@ -266,14 +250,14 @@
} }
& > .column-header__back-button { & > .column-header__back-button {
color: $ui-highlight-color; color: $highlight-text-color;
} }
&.active { &.active {
box-shadow: 0 1px 0 rgba($ui-highlight-color, 0.3); box-shadow: 0 1px 0 rgba($ui-highlight-color, 0.3);
.column-header__icon { .column-header__icon {
color: $ui-highlight-color; color: $highlight-text-color;
text-shadow: 0 0 10px rgba($ui-highlight-color, 0.4); text-shadow: 0 0 10px rgba($ui-highlight-color, 0.4);
} }
} }
@ -316,13 +300,13 @@
.column-header__button { .column-header__button {
background: lighten($ui-base-color, 4%); background: lighten($ui-base-color, 4%);
border: 0; border: 0;
color: $ui-primary-color; color: $darker-text-color;
cursor: pointer; cursor: pointer;
font-size: 16px; font-size: 16px;
padding: 0 15px; padding: 0 15px;
&:hover { &:hover {
color: lighten($ui-primary-color, 7%); color: lighten($darker-text-color, 7%);
} }
&.active { &.active {
@ -368,7 +352,7 @@
max-height: 70vh; max-height: 70vh;
overflow: hidden; overflow: hidden;
overflow-y: auto; overflow-y: auto;
color: $ui-primary-color; color: $darker-text-color;
transition: max-height 150ms ease-in-out, opacity 300ms linear; transition: max-height 150ms ease-in-out, opacity 300ms linear;
opacity: 1; opacity: 1;
@ -406,7 +390,7 @@
.column-header__setting-btn { .column-header__setting-btn {
&:hover { &:hover {
color: lighten($ui-primary-color, 4%); color: $darker-text-color;
text-decoration: underline; text-decoration: underline;
} }
} }
@ -438,7 +422,7 @@
.empty-column-indicator, .empty-column-indicator,
.error-column { .error-column {
color: lighten($ui-base-color, 20%); color: $dark-text-color;
background: $ui-base-color; background: $ui-base-color;
text-align: center; text-align: center;
padding: 20px; padding: 20px;
@ -454,7 +438,7 @@
} }
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: none; text-decoration: none;
&:hover { &:hover {

View File

@ -12,7 +12,7 @@
padding: 10px; padding: 10px;
width: 100%; width: 100%;
outline: 0; outline: 0;
color: $ui-base-color; color: $inverted-text-color;
background: $simple-background-color; background: $simple-background-color;
font-size: 14px; font-size: 14px;
font-family: inherit; font-family: inherit;
@ -24,7 +24,7 @@
} }
.composer--warning { .composer--warning {
color: darken($ui-secondary-color, 65%); color: $inverted-text-color;
margin-bottom: 15px; margin-bottom: 15px;
background: $ui-primary-color; background: $ui-primary-color;
box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3); box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
@ -34,7 +34,7 @@
font-weight: 400; font-weight: 400;
a { a {
color: darken($ui-primary-color, 33%); color: $lighter-text-color;
font-weight: 500; font-weight: 500;
text-decoration: underline; text-decoration: underline;
@ -54,7 +54,7 @@
margin-bottom: 5px; margin-bottom: 5px;
overflow: hidden; overflow: hidden;
& > .account.small { color: $ui-base-color } & > .account.small { color: $inverted-text-color; }
& > .cancel { & > .cancel {
float: right; float: right;
@ -68,7 +68,7 @@
padding: 0 12px; padding: 0 12px;
font-size: 14px; font-size: 14px;
line-height: 20px; line-height: 20px;
color: $ui-base-color; color: $inverted-text-color;
word-wrap: break-word; word-wrap: break-word;
font-weight: 400; font-weight: 400;
overflow: visible; overflow: visible;
@ -82,7 +82,7 @@
} }
a { a {
color: lighten($ui-base-color, 20%); color: $lighter-text-color;
text-decoration: none; text-decoration: none;
&:hover { text-decoration: underline } &:hover { text-decoration: underline }
@ -129,7 +129,7 @@
width: 100%; width: 100%;
min-height: 100px; min-height: 100px;
outline: 0; outline: 0;
color: $ui-base-color; color: $inverted-text-color;
background: $simple-background-color; background: $simple-background-color;
font-size: 14px; font-size: 14px;
font-family: inherit; font-family: inherit;
@ -160,7 +160,7 @@
margin: 2px 0 0 2px; margin: 2px 0 0 2px;
width: 24px; width: 24px;
height: 24px; height: 24px;
color: darken($ui-primary-color, 24%); color: $lighter-text-color;
font-size: 18px; font-size: 18px;
line-height: 24px; line-height: 24px;
text-align: center; text-align: center;
@ -176,7 +176,7 @@
border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px;
padding: 6px; padding: 6px;
width: 100%; width: 100%;
color: $ui-base-color; color: $inverted-text-color;
background: $ui-secondary-color; background: $ui-secondary-color;
box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4); box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
font-size: 14px; font-size: 14px;
@ -214,14 +214,14 @@
& > .account.small { & > .account.small {
.display-name { .display-name {
& > span { color: lighten($ui-base-color, 36%) } & > span { color: $lighter-text-color }
} }
} }
} }
.composer--upload_form { .composer--upload_form {
padding: 5px; padding: 5px;
color: $ui-base-color; color: $inverted-text-color;
background: $simple-background-color; background: $simple-background-color;
font-size: 14px; font-size: 14px;
@ -258,7 +258,7 @@
border: 0; border: 0;
padding: 10px; padding: 10px;
width: 100%; width: 100%;
color: $ui-secondary-color; color: $secondary-text-color;
background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent); background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
font-size: 14px; font-size: 14px;
font-family: inherit; font-family: inherit;
@ -271,7 +271,7 @@
&::placeholder { &::placeholder {
opacity: 0.54; opacity: 0.54;
color: $ui-secondary-color; color: $secondary-text-color;
} }
} }
@ -288,7 +288,7 @@
.composer--upload_form--progress { .composer--upload_form--progress {
display: flex; display: flex;
padding: 10px; padding: 10px;
color: $ui-base-lighter-color; color: $darker-text-color;
overflow: hidden; overflow: hidden;
& > .fa { & > .fa {
@ -380,18 +380,18 @@
display: flex; display: flex;
align-items: center; align-items: center;
padding: 10px; padding: 10px;
color: $ui-base-color; color: $inverted-text-color;
cursor: pointer; cursor: pointer;
& > .content { & > .content {
flex: 1 1 auto; flex: 1 1 auto;
color: darken($ui-primary-color, 24%); color: $lighter-text-color;
&:not(:first-child) { margin-left: 10px } &:not(:first-child) { margin-left: 10px }
strong { strong {
display: block; display: block;
color: $ui-base-color; color: $inverted-text-color;
font-weight: 500; font-weight: 500;
} }
} }

View File

@ -92,7 +92,7 @@
padding: 15px 5px 13px; padding: 15px 5px 13px;
height: 48px; height: 48px;
flex: 1 1 auto; flex: 1 1 auto;
color: $ui-primary-color; color: $darker-text-color;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
@ -127,7 +127,7 @@
width: 100%; width: 100%;
height: 36px; height: 36px;
outline: 0; outline: 0;
color: $ui-primary-color; color: $darker-text-color;
background: $ui-base-color; background: $ui-base-color;
font-size: 14px; font-size: 14px;
font-family: inherit; font-family: inherit;
@ -146,7 +146,7 @@
right: 10px; right: 10px;
width: 18px; width: 18px;
height: 18px; height: 18px;
color: $ui-secondary-color; color: $secondary-text-color;
font-size: 18px; font-size: 18px;
line-height: 18px; line-height: 18px;
z-index: 2; z-index: 2;
@ -199,12 +199,12 @@
border-radius: 4px; border-radius: 4px;
padding: 10px 14px 14px 14px; padding: 10px 14px 14px 14px;
box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4); box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
color: $ui-primary-color; color: $light-text-color;
background: $simple-background-color; background: $simple-background-color;
h4 { h4 {
margin-bottom: 10px; margin-bottom: 10px;
color: $ui-primary-color; color: $light-text-color;
font-size: 13px; font-size: 13px;
font-weight: 500; font-weight: 500;
text-transform: uppercase; text-transform: uppercase;
@ -214,14 +214,14 @@
li { padding: 4px 0 } li { padding: 4px 0 }
em { em {
color: $ui-base-color; color: $inverted-text-color;
font-weight: 500; font-weight: 500;
} }
} }
.drawer--account { .drawer--account {
padding: 10px; padding: 10px;
color: $ui-primary-color; color: $darker-text-color;
& > a { & > a {
color: inherit; color: inherit;
@ -235,7 +235,7 @@
& > .acct { & > .acct {
display: block; display: block;
color: $primary-text-color; color: $secondary-text-color;
font-weight: 500; font-weight: 500;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
@ -258,7 +258,7 @@
& > header { & > header {
border-bottom: 1px solid darken($ui-base-color, 4%); border-bottom: 1px solid darken($ui-base-color, 4%);
padding: 15px 10px; padding: 15px 10px;
color: $ui-base-lighter-color; color: $dark-text-color;
background: lighten($ui-base-color, 2%); background: lighten($ui-base-color, 2%);
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
@ -270,13 +270,13 @@
& > .hashtag { & > .hashtag {
display: block; display: block;
padding: 10px; padding: 10px;
color: $ui-secondary-color; color: $secondary-text-color;
text-decoration: none; text-decoration: none;
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-secondary-color, 4%); color: lighten($secondary-text-color, 4%);
text-decoration: underline; text-decoration: underline;
} }
} }

View File

@ -7,7 +7,7 @@
font-size: 13px; font-size: 13px;
display: inline-block; display: inline-block;
color: $ui-base-color; color: $inverted-text-color;
.emoji-mart-emoji { .emoji-mart-emoji {
padding: 6px; padding: 6px;
@ -36,7 +36,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 0 6px; padding: 0 6px;
color: $ui-primary-color; color: $lighter-text-color;
line-height: 0; line-height: 0;
} }
@ -50,15 +50,15 @@
cursor: pointer; cursor: pointer;
&:hover { &:hover {
color: darken($ui-primary-color, 4%); color: darken($lighter-text-color, 4%);
} }
} }
.emoji-mart-anchor-selected { .emoji-mart-anchor-selected {
color: darken($ui-highlight-color, 3%); color: $highlight-text-color;
&:hover { &:hover {
color: darken($ui-highlight-color, 3%); color: darken($highlight-text-color, 4%);
} }
.emoji-mart-anchor-bar { .emoji-mart-anchor-bar {
@ -115,7 +115,7 @@
display: block; display: block;
width: 100%; width: 100%;
background: rgba($ui-secondary-color, 0.3); background: rgba($ui-secondary-color, 0.3);
color: $ui-primary-color; color: $inverted-text-color;
border: 1px solid $ui-secondary-color; border: 1px solid $ui-secondary-color;
border-radius: 4px; border-radius: 4px;
@ -184,7 +184,7 @@
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
padding-top: 70px; padding-top: 70px;
color: $ui-primary-color; color: $light-text-color;
.emoji-mart-category-label { .emoji-mart-category-label {
display: none; display: none;

View File

@ -52,7 +52,7 @@
} }
&.button-alternative { &.button-alternative {
color: $ui-base-color; color: $inverted-text-color;
background: $ui-primary-color; background: $ui-primary-color;
&:active, &:active,
@ -76,7 +76,7 @@
font-size: 16px; font-size: 16px;
line-height: 36px; line-height: 36px;
height: auto; height: auto;
color: $ui-primary-color; color: $darker-text-color;
text-transform: none; text-transform: none;
background: transparent; background: transparent;
padding: 3px 15px; padding: 3px 15px;
@ -87,7 +87,7 @@
&:focus, &:focus,
&:hover { &:hover {
border-color: lighten($ui-primary-color, 4%); border-color: lighten($ui-primary-color, 4%);
color: lighten($ui-primary-color, 4%); color: lighten($darker-text-color, 4%);
} }
} }
@ -100,7 +100,7 @@
.icon-button { .icon-button {
display: inline-block; display: inline-block;
padding: 0; padding: 0;
color: $ui-base-lighter-color; color: $action-button-color;
border: none; border: none;
background: transparent; background: transparent;
cursor: pointer; cursor: pointer;
@ -109,17 +109,17 @@
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-base-color, 33%); color: lighten($action-button-color, 7%);
transition: color 200ms ease-out; transition: color 200ms ease-out;
} }
&.disabled { &.disabled {
color: lighten($ui-base-color, 13%); color: darken($action-button-color, 13%);
cursor: default; cursor: default;
} }
&.active { &.active {
color: $ui-highlight-color; color: $highlight-text-color;
} }
&::-moz-focus-inner { &::-moz-focus-inner {
@ -133,23 +133,23 @@
} }
&.inverted { &.inverted {
color: lighten($ui-base-color, 33%); color: $lighter-text-color;
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: $ui-base-lighter-color; color: darken($lighter-text-color, 7%);
} }
&.disabled { &.disabled {
color: $ui-primary-color; color: lighten($lighter-text-color, 7%);
} }
&.active { &.active {
color: $ui-highlight-color; color: $highlight-text-color;
&.disabled { &.disabled {
color: lighten($ui-highlight-color, 13%); color: lighten($highlight-text-color, 13%);
} }
} }
} }
@ -168,7 +168,7 @@
} }
.text-icon-button { .text-icon-button {
color: lighten($ui-base-color, 33%); color: $lighter-text-color;
border: none; border: none;
background: transparent; background: transparent;
cursor: pointer; cursor: pointer;
@ -182,17 +182,17 @@
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: $ui-base-lighter-color; color: darken($lighter-text-color, 7%);
transition: color 200ms ease-out; transition: color 200ms ease-out;
} }
&.disabled { &.disabled {
color: lighten($ui-base-color, 13%); color: lighten($lighter-text-color, 20%);
cursor: default; cursor: default;
} }
&.active { &.active {
color: $ui-highlight-color; color: $highlight-text-color;
} }
&::-moz-focus-inner { &::-moz-focus-inner {
@ -211,25 +211,6 @@
transform-origin: 50% 0; transform-origin: 50% 0;
} }
.dropdown--active .icon-button {
color: $ui-highlight-color;
}
.dropdown--active::after {
@media screen and (min-width: 631px) {
content: "";
display: block;
position: absolute;
width: 0;
height: 0;
border-style: solid;
border-width: 0 4.5px 7.8px;
border-color: transparent transparent $ui-secondary-color;
bottom: 8px;
right: 104px;
}
}
.invisible { .invisible {
font-size: 0; font-size: 0;
line-height: 0; line-height: 0;
@ -254,10 +235,6 @@
} }
} }
.lightbox .icon-button {
color: $ui-base-color;
}
.notification__favourite-icon-wrapper { .notification__favourite-icon-wrapper {
left: 0; left: 0;
position: absolute; position: absolute;
@ -462,7 +439,7 @@
box-sizing: border-box; box-sizing: border-box;
text-decoration: none; text-decoration: none;
background: $ui-secondary-color; background: $ui-secondary-color;
color: $ui-base-color; color: $inverted-text-color;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@ -471,7 +448,7 @@
&:hover, &:hover,
&:active { &:active {
background: $ui-highlight-color; background: $ui-highlight-color;
color: $ui-secondary-color; color: $secondary-text-color;
outline: 0; outline: 0;
} }
} }
@ -513,7 +490,7 @@
box-sizing: border-box; box-sizing: border-box;
text-decoration: none; text-decoration: none;
background: $ui-secondary-color; background: $ui-secondary-color;
color: $ui-base-color; color: $inverted-text-color;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@ -524,7 +501,7 @@
&:hover { &:hover {
background: $ui-highlight-color; background: $ui-highlight-color;
color: $ui-secondary-color; color: $secondary-text-color;
} }
} }
} }
@ -536,7 +513,7 @@
.static-content { .static-content {
padding: 10px; padding: 10px;
padding-top: 20px; padding-top: 20px;
color: $ui-base-lighter-color; color: $dark-text-color;
h1 { h1 {
font-size: 16px; font-size: 16px;
@ -577,7 +554,7 @@
&.active { &.active {
border-bottom: 2px solid $ui-highlight-color; border-bottom: 2px solid $ui-highlight-color;
color: $ui-highlight-color; color: $highlight-text-color;
} }
&:hover, &:hover,
@ -752,11 +729,11 @@
flex: 1 0 auto; flex: 1 0 auto;
p { p {
color: $ui-secondary-color; color: $secondary-text-color;
} }
a { a {
color: $ui-base-lighter-color; color: $dark-text-color;
} }
} }
@ -793,7 +770,7 @@
} }
.setting-text { .setting-text {
color: $ui-primary-color; color: $darker-text-color;
background: transparent; background: transparent;
border: none; border: none;
border-bottom: 2px solid $ui-primary-color; border-bottom: 2px solid $ui-primary-color;
@ -815,12 +792,12 @@
} }
&.light { &.light {
color: $ui-base-color; color: $inverted-text-color;
border-bottom: 2px solid lighten($ui-base-color, 27%); border-bottom: 2px solid lighten($ui-base-color, 27%);
&:focus, &:focus,
&:active { &:active {
color: $ui-base-color; color: $inverted-text-color;
border-bottom-color: $ui-highlight-color; border-bottom-color: $ui-highlight-color;
} }
} }
@ -845,17 +822,17 @@
} }
.reduce-motion button.icon-button i.fa-retweet { .reduce-motion button.icon-button i.fa-retweet {
color: $ui-base-lighter-color; color: $action-button-color;
transition: color 100ms ease-in; transition: color 100ms ease-in;
} }
.reduce-motion button.icon-button.active i.fa-retweet { .reduce-motion button.icon-button.active i.fa-retweet {
color: $ui-highlight-color; color: $highlight-text-color;
} }
.load-more { .load-more {
display: block; display: block;
color: $ui-base-lighter-color; color: $dark-text-color;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
font-size: inherit; font-size: inherit;
@ -917,7 +894,7 @@
width: 30px; width: 30px;
height: 30px; height: 30px;
font-size: 20px; font-size: 20px;
color: $ui-primary-color; color: $inverted-text-color;
text-shadow: 0 0 5px black; text-shadow: 0 0 5px black;
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -945,7 +922,7 @@
} }
.loading-indicator { .loading-indicator {
color: lighten($ui-base-color, 26%); color: $dark-text-color;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
text-transform: uppercase; text-transform: uppercase;
@ -1033,7 +1010,7 @@
.setting-toggle__label, .setting-toggle__label,
.setting-meta__label { .setting-meta__label {
color: $ui-primary-color; color: $darker-text-color;
display: inline-block; display: inline-block;
margin-bottom: 14px; margin-bottom: 14px;
margin-left: 8px; margin-left: 8px;
@ -1041,7 +1018,6 @@
} }
.setting-meta__label { .setting-meta__label {
color: $ui-primary-color;
float: right; float: right;
} }
@ -1122,7 +1098,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: $ui-secondary-color; color: $secondary-text-color;
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
border: 2px dashed $ui-base-lighter-color; border: 2px dashed $ui-base-lighter-color;
@ -1158,11 +1134,11 @@ noscript {
div { div {
font-size: 14px; font-size: 14px;
margin: 30px auto; margin: 30px auto;
color: $ui-secondary-color; color: $secondary-text-color;
max-width: 400px; max-width: 400px;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
&:hover { &:hover {

View File

@ -1,67 +1,3 @@
.attachment-list {
display: flex;
font-size: 14px;
border: 1px solid lighten($ui-base-color, 8%);
border-radius: 4px;
margin-top: 14px;
overflow: hidden;
&__icon {
flex: 0 0 auto;
color: $ui-base-lighter-color;
padding: 8px 18px;
cursor: default;
border-right: 1px solid lighten($ui-base-color, 8%);
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;
li {
display: block;
padding: 4px 0;
}
a {
text-decoration: none;
color: $ui-base-lighter-color;
font-weight: 500;
&:hover {
text-decoration: underline;
}
}
}
&.compact {
border: 0;
margin-top: 4px;
.attachment-list__list {
padding: 0;
display: block;
}
.fa {
color: $ui-base-lighter-color;
}
}
}
.list-editor { .list-editor {
background: $ui-base-color; background: $ui-base-color;
flex-direction: column; flex-direction: column;

View File

@ -3,7 +3,7 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
background: $ui-secondary-color; background: $ui-secondary-color;
color: $ui-base-color; color: $inverted-text-color;
border-radius: 8px; border-radius: 8px;
height: 80vh; height: 80vh;
width: 80vw; width: 80vw;
@ -58,8 +58,8 @@
} }
.glitch.local-settings__navigation { .glitch.local-settings__navigation {
background: $primary-text-color; background: $simple-background-color;
color: $ui-base-color; color: $inverted-text-color;
width: 200px; width: 200px;
font-size: 15px; font-size: 15px;
line-height: 20px; line-height: 20px;

View File

@ -15,7 +15,7 @@
.media-spoiler { .media-spoiler {
background: $base-overlay-background; background: $base-overlay-background;
color: $ui-primary-color; color: $darker-text-color;
border: 0; border: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -23,7 +23,7 @@
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-primary-color, 8%); color: lighten($darker-text-color, 8%);
} }
.status__content > & { .status__content > & {
@ -350,7 +350,7 @@
z-index: 4; z-index: 4;
border: 0; border: 0;
background: $base-shadow-color; background: $base-shadow-color;
color: $ui-primary-color; color: $darker-text-color;
transition: none; transition: none;
pointer-events: none; pointer-events: none;
@ -361,7 +361,7 @@
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-primary-color, 8%); color: lighten($darker-text-color, 7%);
} }
} }

View File

@ -1,9 +1,10 @@
.account__metadata { .account__header .account__header__fields {
width: 100%;
font-size: 15px; font-size: 15px;
line-height: 20px; line-height: 20px;
overflow: hidden; overflow: hidden;
border-collapse: collapse; border-collapse: collapse;
margin: 20px -10px -20px;
border-bottom: 0;
a { a {
text-decoration: none; text-decoration: none;
@ -31,7 +32,7 @@
} }
th { th {
color: $ui-primary-color; color: $darker-text-color;
background: lighten($ui-base-color, 13%); background: lighten($ui-base-color, 13%);
max-width: 120px; max-width: 120px;
@ -46,7 +47,7 @@
background: $ui-base-color; background: $ui-base-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
} }
} }

View File

@ -44,7 +44,7 @@
.error-modal, .error-modal,
.embed-modal { .embed-modal {
background: $ui-secondary-color; background: $ui-secondary-color;
color: $ui-base-color; color: $inverted-text-color;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
@ -132,7 +132,7 @@
.onboarding-modal__nav, .onboarding-modal__nav,
.error-modal__nav { .error-modal__nav {
color: darken($ui-secondary-color, 34%); color: $lighter-text-color;
border: 0; border: 0;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
@ -146,18 +146,18 @@
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: darken($ui-secondary-color, 38%); color: darken($lighter-text-color, 4%);
background-color: darken($ui-secondary-color, 16%); background-color: darken($ui-secondary-color, 16%);
} }
&.onboarding-modal__done, &.onboarding-modal__done,
&.onboarding-modal__next { &.onboarding-modal__next {
color: $ui-base-color; color: $inverted-text-color;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: darken($ui-base-color, 4%); color: lighten($inverted-text-color, 4%);
} }
} }
} }
@ -209,17 +209,17 @@
h1 { h1 {
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
color: $ui-base-color; color: $inverted-text-color;
margin-bottom: 20px; margin-bottom: 20px;
} }
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: lighten($ui-highlight-color, 4%); color: lighten($highlight-text-color, 4%);
} }
} }
@ -229,7 +229,7 @@
p { p {
font-size: 16px; font-size: 16px;
color: lighten($ui-base-color, 8%); color: $lighter-text-color;
margin-top: 10px; margin-top: 10px;
margin-bottom: 10px; margin-bottom: 10px;
@ -240,7 +240,7 @@
strong { strong {
font-weight: 500; font-weight: 500;
background: $ui-base-color; background: $ui-base-color;
color: $ui-secondary-color; color: $secondary-text-color;
border-radius: 4px; border-radius: 4px;
font-size: 14px; font-size: 14px;
padding: 3px 6px; padding: 3px 6px;
@ -292,7 +292,7 @@
&__label { &__label {
font-weight: 500; font-weight: 500;
color: $ui-base-color; color: $inverted-text-color;
margin-bottom: 5px; margin-bottom: 5px;
text-transform: uppercase; text-transform: uppercase;
font-size: 12px; font-size: 12px;
@ -300,7 +300,7 @@
&__case { &__case {
background: $ui-base-color; background: $ui-base-color;
color: $ui-secondary-color; color: $secondary-text-color;
font-weight: 500; font-weight: 500;
padding: 10px; padding: 10px;
border-radius: 4px; border-radius: 4px;
@ -317,7 +317,7 @@
.figure { .figure {
background: darken($ui-base-color, 8%); background: darken($ui-base-color, 8%);
color: $ui-secondary-color; color: $secondary-text-color;
margin-bottom: 20px; margin-bottom: 20px;
border-radius: 4px; border-radius: 4px;
padding: 10px; padding: 10px;
@ -407,7 +407,7 @@
.actions-modal, .actions-modal,
.mute-modal { .mute-modal {
background: lighten($ui-secondary-color, 8%); background: lighten($ui-secondary-color, 8%);
color: $ui-base-color; color: $inverted-text-color;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
max-width: 90vw; max-width: 90vw;
@ -425,6 +425,10 @@
top: 10px; top: 10px;
width: 48px; width: 48px;
} }
.status__content__spoiler-link {
color: lighten($secondary-text-color, 8%);
}
} }
.actions-modal { .actions-modal {
@ -464,7 +468,7 @@
& > div { & > div {
flex: 1 1 auto; flex: 1 1 auto;
text-align: right; text-align: right;
color: lighten($ui-base-color, 33%); color: $lighter-text-color;
padding-right: 10px; padding-right: 10px;
} }
@ -528,10 +532,14 @@
.report-modal__statuses { .report-modal__statuses {
flex: 1 1 auto; flex: 1 1 auto;
min-height: 20vh; min-height: 20vh;
max-height: 40vh; max-height: 80vh;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
.status__content a {
color: $highlight-text-color;
}
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
max-height: 10vh; max-height: 10vh;
} }
@ -553,7 +561,7 @@
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
margin: 0; margin: 0;
color: $ui-base-color; color: $inverted-text-color;
background: $white; background: $white;
padding: 10px; padding: 10px;
font-family: inherit; font-family: inherit;
@ -575,7 +583,7 @@
margin-bottom: 24px; margin-bottom: 24px;
&__label { &__label {
color: $ui-base-color; color: $inverted-text-color;
font-size: 14px; font-size: 14px;
} }
} }
@ -628,7 +636,7 @@
li:not(:empty) { li:not(:empty) {
a { a {
color: $ui-base-color; color: $inverted-text-color;
display: flex; display: flex;
padding: 12px 16px; padding: 12px 16px;
font-size: 15px; font-size: 15px;
@ -646,8 +654,8 @@
&:focus { &:focus {
&, &,
button { button {
background: $ui-highlight-color; background: $ui-highlight-color;
color: $primary-text-color; color: $primary-text-color;
} }
} }
@ -666,14 +674,14 @@
.confirmation-modal__cancel-button, .confirmation-modal__cancel-button,
.mute-modal__cancel-button { .mute-modal__cancel-button {
background-color: transparent; background-color: transparent;
color: darken($ui-secondary-color, 34%); color: $lighter-text-color;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: darken($ui-secondary-color, 38%); color: darken($lighter-text-color, 4%);
} }
} }
} }
@ -715,7 +723,6 @@
} }
.embed-modal__html { .embed-modal__html {
color: $ui-secondary-color;
outline: 0; outline: 0;
box-sizing: border-box; box-sizing: border-box;
display: block; display: block;
@ -724,7 +731,7 @@
padding: 10px; padding: 10px;
font-family: 'mastodon-font-monospace', monospace; font-family: 'mastodon-font-monospace', monospace;
background: $ui-base-color; background: $ui-base-color;
color: $ui-primary-color; color: $primary-text-color;
font-size: 14px; font-size: 14px;
margin: 0; margin: 0;
margin-bottom: 15px; margin-bottom: 15px;

View File

@ -2,7 +2,7 @@
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: lighten($ui-base-color, 16%); color: $dark-text-color;
background: $ui-base-color; background: $ui-base-color;
cursor: default; cursor: default;
display: flex; display: flex;
@ -42,7 +42,7 @@
strong { strong {
display: block; display: block;
margin-bottom: 10px; margin-bottom: 10px;
color: lighten($ui-base-color, 34%); color: $dark-text-color;
} }
span { span {

View File

@ -12,7 +12,7 @@
padding-right: 30px; padding-right: 30px;
font-family: inherit; font-family: inherit;
background: $ui-base-color; background: $ui-base-color;
color: $ui-primary-color; color: $darker-text-color;
font-size: 14px; font-size: 14px;
margin: 0; margin: 0;
@ -47,7 +47,7 @@
font-size: 18px; font-size: 18px;
width: 18px; width: 18px;
height: 18px; height: 18px;
color: $ui-secondary-color; color: $secondary-text-color;
cursor: default; cursor: default;
pointer-events: none; pointer-events: none;
@ -82,7 +82,7 @@
} }
.search-results__header { .search-results__header {
color: $ui-base-lighter-color; color: $dark-text-color;
background: lighten($ui-base-color, 2%); background: lighten($ui-base-color, 2%);
border-bottom: 1px solid darken($ui-base-color, 4%); border-bottom: 1px solid darken($ui-base-color, 4%);
padding: 15px 10px; padding: 15px 10px;
@ -93,13 +93,13 @@
.search-results__hashtag { .search-results__hashtag {
display: block; display: block;
padding: 10px; padding: 10px;
color: $ui-secondary-color; color: $secondary-text-color;
text-decoration: none; text-decoration: none;
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
color: lighten($ui-secondary-color, 4%); color: lighten($secondary-text-color, 4%);
text-decoration: underline; text-decoration: underline;
} }
} }

View File

@ -33,14 +33,14 @@
} }
a { a {
color: $ui-secondary-color; color: $secondary-text-color;
text-decoration: none; text-decoration: none;
&:hover { &:hover {
text-decoration: underline; text-decoration: underline;
.fa { .fa {
color: lighten($ui-base-color, 40%); color: lighten($dark-text-color, 7%);
} }
} }
@ -55,7 +55,7 @@
} }
.fa { .fa {
color: lighten($ui-base-color, 30%); color: $dark-text-color;
} }
} }
@ -82,7 +82,7 @@
border-radius: 2px; border-radius: 2px;
background: lighten($ui-base-color, 30%); background: lighten($ui-base-color, 30%);
border: none; border: none;
color: lighten($ui-base-color, 8%); color: $inverted-text-color;
font-weight: 500; font-weight: 500;
font-size: 11px; font-size: 11px;
padding: 0 5px; padding: 0 5px;
@ -177,36 +177,32 @@
&.status-direct { &.status-direct {
background: lighten($ui-base-color, 8%); background: lighten($ui-base-color, 8%);
.icon-button.disabled {
color: lighten($ui-base-color, 16%);
}
} }
&.light { &.light {
.status__relative-time { .status__relative-time {
color: $ui-primary-color; color: $lighter-text-color;
} }
.status__display-name { .status__display-name {
color: $ui-base-color; color: $inverted-text-color;
} }
.display-name { .display-name {
strong { strong {
color: $ui-base-color; color: $inverted-text-color;
} }
span { span {
color: $ui-primary-color; color: $lighter-text-color;
} }
} }
.status__content { .status__content {
color: $ui-base-color; color: $inverted-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
a.status__content__spoiler-link { a.status__content__spoiler-link {
@ -285,7 +281,7 @@
background: transparent; background: transparent;
.icon-button.disabled { .icon-button.disabled {
color: lighten($ui-base-color, 13%); color: lighten($action-button-color, 13%);
} }
} }
} }
@ -295,7 +291,7 @@
margin-left: auto; margin-left: auto;
padding-left: 18px; padding-left: 18px;
width: 120px; width: 120px;
color: $ui-base-lighter-color; color: $dark-text-color;
font-size: 14px; font-size: 14px;
text-align: right; text-align: right;
white-space: nowrap; white-space: nowrap;
@ -305,7 +301,7 @@
.status__display-name { .status__display-name {
margin: 0 auto 0 0; margin: 0 auto 0 0;
color: $ui-base-lighter-color; color: $dark-text-color;
overflow: hidden; overflow: hidden;
} }
@ -333,7 +329,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
height: 1em; height: 1em;
color: lighten($ui-base-color, 26%); color: $action-button-color;
.status__visibility-icon { .status__visibility-icon {
padding-left: 6px; padding-left: 6px;
@ -382,13 +378,13 @@
.status__prepend { .status__prepend {
margin: -10px -10px 10px; margin: -10px -10px 10px;
color: $ui-base-lighter-color; color: $dark-text-color;
padding: 8px 10px 0 68px; padding: 8px 10px 0 68px;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
.status__display-name strong { .status__display-name strong {
color: $ui-base-lighter-color; color: $dark-text-color;
} }
> span { > span {
@ -445,7 +441,7 @@
.detailed-status__meta { .detailed-status__meta {
margin-top: 15px; margin-top: 15px;
color: $ui-base-lighter-color; color: $dark-text-color;
font-size: 14px; font-size: 14px;
line-height: 18px; line-height: 18px;
} }
@ -515,7 +511,7 @@
} }
.detailed-status__display-name { .detailed-status__display-name {
color: $ui-secondary-color; color: $secondary-text-color;
display: block; display: block;
line-height: 24px; line-height: 24px;
margin-bottom: 15px; margin-bottom: 15px;
@ -549,11 +545,11 @@
.muted { .muted {
.status__content p, .status__content p,
.status__content a { .status__content a {
color: $ui-base-lighter-color; color: $dark-text-color;
} }
.status__display-name strong { .status__display-name strong {
color: $ui-base-lighter-color; color: $dark-text-color;
} }
.status__avatar { .status__avatar {
@ -562,7 +558,7 @@
a.status__content__spoiler-link { a.status__content__spoiler-link {
background: $ui-base-lighter-color; background: $ui-base-lighter-color;
color: lighten($ui-base-color, 4%); color: $inverted-text-color;
&:hover { &:hover {
background: lighten($ui-base-color, 29%); background: lighten($ui-base-color, 29%);
@ -584,7 +580,7 @@
font-size: 14px; font-size: 14px;
border: 1px solid lighten($ui-base-color, 8%); border: 1px solid lighten($ui-base-color, 8%);
border-radius: 4px; border-radius: 4px;
color: $ui-base-lighter-color; color: $dark-text-color;
margin-top: 14px; margin-top: 14px;
text-decoration: none; text-decoration: none;
overflow: hidden; overflow: hidden;
@ -626,7 +622,7 @@
display: block; display: block;
font-weight: 500; font-weight: 500;
margin-bottom: 5px; margin-bottom: 5px;
color: $ui-primary-color; color: $darker-text-color;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@ -639,7 +635,7 @@
} }
.status-card__description { .status-card__description {
color: $ui-primary-color; color: $darker-text-color;
} }
.status-card__host { .status-card__host {
@ -738,3 +734,67 @@
top: 4px; top: 4px;
z-index: 5; z-index: 5;
} }
.attachment-list {
display: flex;
font-size: 14px;
border: 1px solid lighten($ui-base-color, 8%);
border-radius: 4px;
margin-top: 14px;
overflow: hidden;
&__icon {
flex: 0 0 auto;
color: $dark-text-color;
padding: 8px 18px;
cursor: default;
border-right: 1px solid lighten($ui-base-color, 8%);
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;
li {
display: block;
padding: 4px 0;
}
a {
text-decoration: none;
color: $dark-text-color;
font-weight: 500;
&:hover {
text-decoration: underline;
}
}
}
&.compact {
border: 0;
margin-top: 4px;
.attachment-list__list {
padding: 0;
display: block;
}
.fa {
color: $dark-text-color;
}
}
}

View File

@ -100,7 +100,7 @@
.name { .name {
flex: 1 1 auto; flex: 1 1 auto;
color: $ui-secondary-color; color: $secondary-text-color;
width: calc(100% - 88px); width: calc(100% - 88px);
.username { .username {

View File

@ -0,0 +1,3 @@
@import 'contrast/variables';
@import 'index';
@import 'contrast/diff';

View File

@ -0,0 +1,14 @@
// components.scss
.compose-form {
.compose-form__modifiers {
.compose-form__upload {
&-description {
input {
&::placeholder {
opacity: 1.0;
}
}
}
}
}
}

View File

@ -0,0 +1,24 @@
// Dependent colors
$black: #000000;
$classic-base-color: #282c37;
$classic-primary-color: #9baec8;
$classic-secondary-color: #d9e1e8;
$classic-highlight-color: #2b90d9;
$ui-base-color: $classic-base-color !default;
$ui-primary-color: $classic-primary-color !default;
$ui-secondary-color: $classic-secondary-color !default;
// Differences
$ui-highlight-color: #2b5fd9;
$darker-text-color: lighten($ui-primary-color, 20%) !default;
$dark-text-color: lighten($ui-primary-color, 12%) !default;
$secondary-text-color: lighten($ui-secondary-color, 6%) !default;
$highlight-text-color: $classic-highlight-color !default;
$action-button-color: #8d9ac2;
$inverted-text-color: $black !default;
$lighter-text-color: darken($ui-base-color,6%) !default;
$light-text-color: darken($ui-primary-color, 40%) !default;

View File

@ -2,7 +2,7 @@
text-align: center; text-align: center;
margin-top: 30px; margin-top: 30px;
font-size: 12px; font-size: 12px;
color: darken($ui-secondary-color, 25%); color: $darker-text-color;
.domain { .domain {
font-weight: 500; font-weight: 500;

View File

@ -15,26 +15,28 @@ code {
overflow: hidden; overflow: hidden;
} }
.row {
display: flex;
margin: 0 -5px;
.input {
box-sizing: border-box;
flex: 1 1 auto;
width: 50%;
padding: 0 5px;
}
}
span.hint { span.hint {
display: block; display: block;
color: $ui-primary-color; color: $darker-text-color;
font-size: 12px; font-size: 12px;
margin-top: 4px; margin-top: 4px;
} }
h4 {
text-transform: uppercase;
font-size: 13px;
font-weight: 500;
color: $ui-primary-color;
padding-bottom: 8px;
margin-bottom: 8px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
}
p.hint { p.hint {
margin-bottom: 15px; margin-bottom: 15px;
color: $ui-primary-color; color: $darker-text-color;
&.subtle-hint { &.subtle-hint {
text-align: center; text-align: center;
@ -42,10 +44,10 @@ code {
line-height: 18px; line-height: 18px;
margin-top: 15px; margin-top: 15px;
margin-bottom: 0; margin-bottom: 0;
color: $ui-primary-color; color: $darker-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
} }
} }
@ -242,7 +244,7 @@ code {
} }
&:focus:invalid { &:focus:invalid {
border-bottom-color: $error-value-color; border-bottom-color: lighten($error-red, 12%);
} }
&:required:valid { &:required:valid {
@ -251,26 +253,26 @@ code {
&:active, &:active,
&:focus { &:focus {
border-bottom-color: $ui-highlight-color; border-bottom-color: $highlight-text-color;
background: rgba($base-overlay-background, 0.1); background: rgba($base-overlay-background, 0.1);
} }
} }
.input.field_with_errors { .input.field_with_errors {
label { label {
color: $error-value-color; color: lighten($error-red, 12%);
} }
input[type=text], input[type=text],
input[type=email], input[type=email],
input[type=password] { input[type=password] {
border-bottom-color: $error-value-color; border-bottom-color: $valid-value-color;
} }
.error { .error {
display: block; display: block;
font-weight: 500; font-weight: 500;
color: $error-value-color; color: lighten($error-red, 12%);
margin-top: 4px; margin-top: 4px;
} }
} }
@ -349,7 +351,7 @@ code {
padding: 7px 4px; padding: 7px 4px;
padding-bottom: 9px; padding-bottom: 9px;
font-size: 16px; font-size: 16px;
color: $ui-base-lighter-color; color: $dark-text-color;
font-family: inherit; font-family: inherit;
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
@ -359,7 +361,7 @@ code {
.flash-message { .flash-message {
background: lighten($ui-base-color, 8%); background: lighten($ui-base-color, 8%);
color: $ui-primary-color; color: $darker-text-color;
border-radius: 4px; border-radius: 4px;
padding: 15px 10px; padding: 15px 10px;
margin-bottom: 30px; margin-bottom: 30px;
@ -371,7 +373,6 @@ code {
} }
.oauth-code { .oauth-code {
color: $ui-secondary-color;
outline: 0; outline: 0;
box-sizing: border-box; box-sizing: border-box;
display: block; display: block;
@ -380,7 +381,7 @@ code {
padding: 10px; padding: 10px;
font-family: 'mastodon-font-monospace', monospace; font-family: 'mastodon-font-monospace', monospace;
background: $ui-base-color; background: $ui-base-color;
color: $ui-primary-color; color: $primary-text-color;
font-size: 14px; font-size: 14px;
margin: 0; margin: 0;
@ -419,7 +420,7 @@ code {
text-align: center; text-align: center;
a { a {
color: $ui-primary-color; color: $darker-text-color;
text-decoration: none; text-decoration: none;
&:hover { &:hover {
@ -432,7 +433,7 @@ code {
.follow-prompt { .follow-prompt {
margin-bottom: 30px; margin-bottom: 30px;
text-align: center; text-align: center;
color: $ui-primary-color; color: $darker-text-color;
h2 { h2 {
font-size: 16px; font-size: 16px;
@ -440,7 +441,7 @@ code {
} }
strong { strong {
color: $ui-secondary-color; color: $secondary-text-color;
font-weight: 500; font-weight: 500;
@each $lang in $cjk-langs { @each $lang in $cjk-langs {
@ -477,7 +478,7 @@ code {
.qr-alternative { .qr-alternative {
margin-bottom: 20px; margin-bottom: 20px;
color: $ui-secondary-color; color: $secondary-text-color;
flex: 150px; flex: 150px;
samp { samp {

View File

@ -1,7 +1,7 @@
.landing-strip, .landing-strip,
.memoriam-strip { .memoriam-strip {
background: rgba(darken($ui-base-color, 7%), 0.8); background: rgba(darken($ui-base-color, 7%), 0.8);
color: $ui-primary-color; color: $darker-text-color;
font-weight: 400; font-weight: 400;
padding: 14px; padding: 14px;
border-radius: 4px; border-radius: 4px;
@ -45,7 +45,7 @@
padding: 14px; padding: 14px;
border-radius: 4px; border-radius: 4px;
background: rgba(darken($ui-base-color, 7%), 0.8); background: rgba(darken($ui-base-color, 7%), 0.8);
color: $ui-secondary-color; color: $secondary-text-color;
font-weight: 400; font-weight: 400;
margin-bottom: 20px; margin-bottom: 20px;
@ -88,7 +88,7 @@
.fa { .fa {
margin-right: 5px; margin-right: 5px;
color: $ui-primary-color; color: $darker-text-color;
} }
} }
@ -103,7 +103,7 @@
text-decoration: none; text-decoration: none;
span { span {
color: $ui-highlight-color; color: $highlight-text-color;
font-weight: 400; font-weight: 400;
} }
} }

View File

@ -1,4 +1,4 @@
.metadata { .account__header__fields {
$meta-table-border: lighten($ui-base-color, 8%); $meta-table-border: lighten($ui-base-color, 8%);
border-collapse: collapse; border-collapse: collapse;

View File

@ -79,7 +79,7 @@
font-size: 14px; font-size: 14px;
.status__relative-time { .status__relative-time {
color: $ui-primary-color; color: $lighter-text-color;
} }
} }
} }
@ -88,7 +88,7 @@
display: block; display: block;
max-width: 100%; max-width: 100%;
padding-right: 25px; padding-right: 25px;
color: $ui-base-color; color: $inverted-text-color;
} }
.status__avatar { .status__avatar {
@ -121,7 +121,7 @@
strong { strong {
font-weight: 500; font-weight: 500;
color: $ui-base-color; color: $inverted-text-color;
@each $lang in $cjk-langs { @each $lang in $cjk-langs {
&:lang(#{$lang}) { &:lang(#{$lang}) {
@ -132,15 +132,15 @@
span { span {
font-size: 14px; font-size: 14px;
color: $ui-primary-color; color: $light-text-color;
} }
} }
.status__content { .status__content {
color: $ui-base-color; color: $inverted-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
a.status__content__spoiler-link { a.status__content__spoiler-link {
@ -178,7 +178,7 @@
strong { strong {
font-weight: 500; font-weight: 500;
color: $ui-base-color; color: $inverted-text-color;
@each $lang in $cjk-langs { @each $lang in $cjk-langs {
&:lang(#{$lang}) { &:lang(#{$lang}) {
@ -189,7 +189,7 @@
span { span {
font-size: 14px; font-size: 14px;
color: $ui-primary-color; color: $light-text-color;
} }
} }
} }
@ -207,10 +207,10 @@
} }
.status__content { .status__content {
color: $ui-base-color; color: $inverted-text-color;
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
} }
a.status__content__spoiler-link { a.status__content__spoiler-link {
@ -225,7 +225,7 @@
.detailed-status__meta { .detailed-status__meta {
margin-top: 15px; margin-top: 15px;
color: $ui-primary-color; color: $light-text-color;
font-size: 14px; font-size: 14px;
line-height: 18px; line-height: 18px;
@ -243,7 +243,7 @@
.status-card { .status-card {
border-color: lighten($ui-secondary-color, 4%); border-color: lighten($ui-secondary-color, 4%);
color: darken($ui-primary-color, 4%); color: $lighter-text-color;
&:hover { &:hover {
background: lighten($ui-secondary-color, 4%); background: lighten($ui-secondary-color, 4%);
@ -252,7 +252,7 @@
.status-card__title, .status-card__title,
.status-card__description { .status-card__description {
color: $ui-base-color; color: $inverted-text-color;
} }
.status-card__image { .status-card__image {
@ -262,7 +262,7 @@
.media-spoiler { .media-spoiler {
background: $ui-primary-color; background: $ui-primary-color;
color: $white; color: $inverted-text-color;
transition: all 100ms linear; transition: all 100ms linear;
&:hover, &:hover,
@ -278,7 +278,7 @@
padding-left: (48px + 14px * 2); padding-left: (48px + 14px * 2);
padding-bottom: 0; padding-bottom: 0;
margin-bottom: -4px; margin-bottom: -4px;
color: $ui-primary-color; color: $light-text-color;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
@ -288,7 +288,7 @@
} }
.status__display-name.muted strong { .status__display-name.muted strong {
color: $ui-primary-color; color: $light-text-color;
} }
} }

View File

@ -30,7 +30,7 @@
} }
a { a {
color: $ui-highlight-color; color: $highlight-text-color;
text-decoration: underline; text-decoration: underline;
&:hover { &:hover {
@ -68,7 +68,7 @@ a.table-action-link {
display: inline-block; display: inline-block;
margin-right: 5px; margin-right: 5px;
padding: 0 10px; padding: 0 10px;
color: rgba($primary-text-color, 0.7); color: $darker-text-color;
font-weight: 500; font-weight: 500;
&:hover { &:hover {

View File

@ -17,7 +17,6 @@ $base-shadow-color: $black !default;
$base-overlay-background: $black !default; $base-overlay-background: $black !default;
$base-border-color: $white !default; $base-border-color: $white !default;
$simple-background-color: $white !default; $simple-background-color: $white !default;
$primary-text-color: $white !default;
$valid-value-color: $success-green !default; $valid-value-color: $success-green !default;
$error-value-color: $error-red !default; $error-value-color: $error-red !default;
@ -26,7 +25,19 @@ $ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten($ui-base-color, 26%) !default; // Lighter darkest $ui-base-lighter-color: lighten($ui-base-color, 26%) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter $ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest $ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default; // Vibrant $ui-highlight-color: $classic-highlight-color !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: $ui-highlight-color !default;
$action-button-color: $ui-base-lighter-color !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts // Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW; $cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;

View File

@ -0,0 +1 @@
@import 'flavours/glitch/styles/contrast';

View File

@ -0,0 +1,4 @@
en:
skins:
glitch:
contrast: High contrast

View File

@ -0,0 +1 @@
@import 'styles/mastodon-light';

View File

@ -0,0 +1,4 @@
en:
skins:
vanilla:
mastodon-light: Mastodon (light)

File diff suppressed because one or more lines are too long

View File

@ -70,7 +70,7 @@ class Glitch::KeywordMute < ApplicationRecord
def make_regex_text def make_regex_text
kws = keywords.map! do |whole_word, keyword| kws = keywords.map! do |whole_word, keyword|
whole_word ? boundary_regex_for_keyword(keyword) : /(?i:#{keyword})/ whole_word ? boundary_regex_for_keyword(keyword) : /(?i:#{Regexp.escape(keyword)})/
end end
Regexp.union(kws).source Regexp.union(kws).source

View File

@ -21,20 +21,19 @@
= t 'accounts.roles.moderator' = t 'accounts.roles.moderator'
.bio .bio
.account__header__content.p-note.emojify!=processed_bio[:text] .account__header__content.p-note.emojify!=processed_bio[:text]
- if processed_bio[:metadata].length > 0 - if !account.fields.empty?
%table.metadata<
- processed_bio[:metadata].each do |i|
%tr.metadata-item><
%th.emojify>!=i[0]
%td.emojify>!=i[1]
- unless account.fields.empty?
%table.account__header__fields %table.account__header__fields
%tbody %tbody
- account.fields.each do |field| - account.fields.each do |field|
%tr %tr
%th.emojify= field.name %th.emojify= field.name
%td.emojify= Formatter.instance.format_field(account, field.value) %td.emojify= Formatter.instance.format_field(account, field.value)
- elsif processed_bio[:metadata].length > 0
%table.account__header__fields<
- processed_bio[:metadata].each do |i|
%tr
%th.emojify>!=i[0]
%td.emojify>!=i[1]
.details-counters .details-counters
.counter{ class: active_nav_class(short_account_url(account)) } .counter{ class: active_nav_class(short_account_url(account)) }