Merge commit '5f87ae101c5e0e940e148d493eaac1ce31fe24c1' into glitch-soc/merge-upstream
This commit is contained in:
@@ -12,14 +12,6 @@ export const DOMAIN_BLOCK_FAIL = 'DOMAIN_BLOCK_FAIL';
|
||||
export const DOMAIN_UNBLOCK_REQUEST = 'DOMAIN_UNBLOCK_REQUEST';
|
||||
export const DOMAIN_UNBLOCK_FAIL = 'DOMAIN_UNBLOCK_FAIL';
|
||||
|
||||
export const DOMAIN_BLOCKS_FETCH_REQUEST = 'DOMAIN_BLOCKS_FETCH_REQUEST';
|
||||
export const DOMAIN_BLOCKS_FETCH_SUCCESS = 'DOMAIN_BLOCKS_FETCH_SUCCESS';
|
||||
export const DOMAIN_BLOCKS_FETCH_FAIL = 'DOMAIN_BLOCKS_FETCH_FAIL';
|
||||
|
||||
export const DOMAIN_BLOCKS_EXPAND_REQUEST = 'DOMAIN_BLOCKS_EXPAND_REQUEST';
|
||||
export const DOMAIN_BLOCKS_EXPAND_SUCCESS = 'DOMAIN_BLOCKS_EXPAND_SUCCESS';
|
||||
export const DOMAIN_BLOCKS_EXPAND_FAIL = 'DOMAIN_BLOCKS_EXPAND_FAIL';
|
||||
|
||||
export function blockDomain(domain) {
|
||||
return (dispatch, getState) => {
|
||||
dispatch(blockDomainRequest(domain));
|
||||
@@ -79,80 +71,6 @@ export function unblockDomainFail(domain, error) {
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchDomainBlocks() {
|
||||
return (dispatch) => {
|
||||
dispatch(fetchDomainBlocksRequest());
|
||||
|
||||
api().get('/api/v1/domain_blocks').then(response => {
|
||||
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
||||
dispatch(fetchDomainBlocksSuccess(response.data, next ? next.uri : null));
|
||||
}).catch(err => {
|
||||
dispatch(fetchDomainBlocksFail(err));
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchDomainBlocksRequest() {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_FETCH_REQUEST,
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchDomainBlocksSuccess(domains, next) {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_FETCH_SUCCESS,
|
||||
domains,
|
||||
next,
|
||||
};
|
||||
}
|
||||
|
||||
export function fetchDomainBlocksFail(error) {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_FETCH_FAIL,
|
||||
error,
|
||||
};
|
||||
}
|
||||
|
||||
export function expandDomainBlocks() {
|
||||
return (dispatch, getState) => {
|
||||
const url = getState().getIn(['domain_lists', 'blocks', 'next']);
|
||||
|
||||
if (!url) {
|
||||
return;
|
||||
}
|
||||
|
||||
dispatch(expandDomainBlocksRequest());
|
||||
|
||||
api().get(url).then(response => {
|
||||
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
||||
dispatch(expandDomainBlocksSuccess(response.data, next ? next.uri : null));
|
||||
}).catch(err => {
|
||||
dispatch(expandDomainBlocksFail(err));
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function expandDomainBlocksRequest() {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_EXPAND_REQUEST,
|
||||
};
|
||||
}
|
||||
|
||||
export function expandDomainBlocksSuccess(domains, next) {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_EXPAND_SUCCESS,
|
||||
domains,
|
||||
next,
|
||||
};
|
||||
}
|
||||
|
||||
export function expandDomainBlocksFail(error) {
|
||||
return {
|
||||
type: DOMAIN_BLOCKS_EXPAND_FAIL,
|
||||
error,
|
||||
};
|
||||
}
|
||||
|
||||
export const initDomainBlockModal = account => dispatch => dispatch(openModal({
|
||||
modalType: 'DOMAIN_BLOCK',
|
||||
modalProps: {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
import api, { getLinks } from 'mastodon/api';
|
||||
|
||||
export const apiGetDomainBlocks = async (url?: string) => {
|
||||
const response = await api().request<string[]>({
|
||||
method: 'GET',
|
||||
url: url ?? '/api/v1/domain_blocks',
|
||||
});
|
||||
|
||||
return {
|
||||
domains: response.data,
|
||||
links: getLinks(response),
|
||||
};
|
||||
};
|
||||
+16
-14
@@ -1,29 +1,36 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import { useState, useCallback } from 'react';
|
||||
|
||||
import { defineMessages } from 'react-intl';
|
||||
|
||||
import classNames from 'classnames';
|
||||
|
||||
import { useDispatch } from 'react-redux';
|
||||
|
||||
import ContentCopyIcon from '@/material-icons/400-24px/content_copy.svg?react';
|
||||
import { showAlert } from 'mastodon/actions/alerts';
|
||||
import { IconButton } from 'mastodon/components/icon_button';
|
||||
import { useAppDispatch } from 'mastodon/store';
|
||||
|
||||
const messages = defineMessages({
|
||||
copied: { id: 'copy_icon_button.copied', defaultMessage: 'Copied to clipboard' },
|
||||
copied: {
|
||||
id: 'copy_icon_button.copied',
|
||||
defaultMessage: 'Copied to clipboard',
|
||||
},
|
||||
});
|
||||
|
||||
export const CopyIconButton = ({ title, value, className }) => {
|
||||
export const CopyIconButton: React.FC<{
|
||||
title: string;
|
||||
value: string;
|
||||
className: string;
|
||||
}> = ({ title, value, className }) => {
|
||||
const [copied, setCopied] = useState(false);
|
||||
const dispatch = useDispatch();
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const handleClick = useCallback(() => {
|
||||
navigator.clipboard.writeText(value);
|
||||
void navigator.clipboard.writeText(value);
|
||||
setCopied(true);
|
||||
dispatch(showAlert({ message: messages.copied }));
|
||||
setTimeout(() => setCopied(false), 700);
|
||||
setTimeout(() => {
|
||||
setCopied(false);
|
||||
}, 700);
|
||||
}, [setCopied, value, dispatch]);
|
||||
|
||||
return (
|
||||
@@ -31,13 +38,8 @@ export const CopyIconButton = ({ title, value, className }) => {
|
||||
className={classNames(className, copied ? 'copied' : 'copyable')}
|
||||
title={title}
|
||||
onClick={handleClick}
|
||||
icon=''
|
||||
iconComponent={ContentCopyIcon}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
CopyIconButton.propTypes = {
|
||||
title: PropTypes.string,
|
||||
value: PropTypes.string,
|
||||
className: PropTypes.string,
|
||||
};
|
||||
@@ -1,24 +1,15 @@
|
||||
import { useCallback } from 'react';
|
||||
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import LockOpenIcon from '@/material-icons/400-24px/lock_open.svg?react';
|
||||
import { unblockDomain } from 'mastodon/actions/domain_blocks';
|
||||
import { useAppDispatch } from 'mastodon/store';
|
||||
|
||||
import { IconButton } from './icon_button';
|
||||
|
||||
const messages = defineMessages({
|
||||
unblockDomain: {
|
||||
id: 'account.unblock_domain',
|
||||
defaultMessage: 'Unblock domain {domain}',
|
||||
},
|
||||
});
|
||||
import { Button } from './button';
|
||||
|
||||
export const Domain: React.FC<{
|
||||
domain: string;
|
||||
}> = ({ domain }) => {
|
||||
const intl = useIntl();
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const handleDomainUnblock = useCallback(() => {
|
||||
@@ -27,20 +18,17 @@ export const Domain: React.FC<{
|
||||
|
||||
return (
|
||||
<div className='domain'>
|
||||
<div className='domain__wrapper'>
|
||||
<span className='domain__domain-name'>
|
||||
<strong>{domain}</strong>
|
||||
</span>
|
||||
<div className='domain__domain-name'>
|
||||
<strong>{domain}</strong>
|
||||
</div>
|
||||
|
||||
<div className='domain__buttons'>
|
||||
<IconButton
|
||||
active
|
||||
icon='unlock'
|
||||
iconComponent={LockOpenIcon}
|
||||
title={intl.formatMessage(messages.unblockDomain, { domain })}
|
||||
onClick={handleDomainUnblock}
|
||||
<div className='domain__buttons'>
|
||||
<Button onClick={handleDomainUnblock}>
|
||||
<FormattedMessage
|
||||
id='account.unblock_domain_short'
|
||||
defaultMessage='Unblock'
|
||||
/>
|
||||
</div>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Helmet } from 'react-helmet';
|
||||
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { debounce } from 'lodash';
|
||||
|
||||
import BlockIcon from '@/material-icons/400-24px/block-fill.svg?react';
|
||||
import { Domain } from 'mastodon/components/domain';
|
||||
|
||||
import { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';
|
||||
import { LoadingIndicator } from '../../components/loading_indicator';
|
||||
import ScrollableList from '../../components/scrollable_list';
|
||||
import Column from '../ui/components/column';
|
||||
|
||||
const messages = defineMessages({
|
||||
heading: { id: 'column.domain_blocks', defaultMessage: 'Blocked domains' },
|
||||
});
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
domains: state.getIn(['domain_lists', 'blocks', 'items']),
|
||||
hasMore: !!state.getIn(['domain_lists', 'blocks', 'next']),
|
||||
});
|
||||
|
||||
class Blocks extends ImmutablePureComponent {
|
||||
|
||||
static propTypes = {
|
||||
params: PropTypes.object.isRequired,
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
hasMore: PropTypes.bool,
|
||||
domains: ImmutablePropTypes.orderedSet,
|
||||
intl: PropTypes.object.isRequired,
|
||||
multiColumn: PropTypes.bool,
|
||||
};
|
||||
|
||||
UNSAFE_componentWillMount () {
|
||||
this.props.dispatch(fetchDomainBlocks());
|
||||
}
|
||||
|
||||
handleLoadMore = debounce(() => {
|
||||
this.props.dispatch(expandDomainBlocks());
|
||||
}, 300, { leading: true });
|
||||
|
||||
render () {
|
||||
const { intl, domains, hasMore, multiColumn } = this.props;
|
||||
|
||||
if (!domains) {
|
||||
return (
|
||||
<Column>
|
||||
<LoadingIndicator />
|
||||
</Column>
|
||||
);
|
||||
}
|
||||
|
||||
const emptyMessage = <FormattedMessage id='empty_column.domain_blocks' defaultMessage='There are no blocked domains yet.' />;
|
||||
|
||||
return (
|
||||
<Column bindToDocument={!multiColumn} icon='ban' iconComponent={BlockIcon} heading={intl.formatMessage(messages.heading)} alwaysShowBackButton>
|
||||
<ScrollableList
|
||||
scrollKey='domain_blocks'
|
||||
onLoadMore={this.handleLoadMore}
|
||||
hasMore={hasMore}
|
||||
emptyMessage={emptyMessage}
|
||||
bindToDocument={!multiColumn}
|
||||
>
|
||||
{domains.map(domain =>
|
||||
<Domain key={domain} domain={domain} />,
|
||||
)}
|
||||
</ScrollableList>
|
||||
|
||||
<Helmet>
|
||||
<meta name='robots' content='noindex' />
|
||||
</Helmet>
|
||||
</Column>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps)(injectIntl(Blocks));
|
||||
@@ -0,0 +1,113 @@
|
||||
import { useEffect, useRef, useCallback, useState } from 'react';
|
||||
|
||||
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Helmet } from 'react-helmet';
|
||||
|
||||
import BlockIcon from '@/material-icons/400-24px/block-fill.svg?react';
|
||||
import { apiGetDomainBlocks } from 'mastodon/api/domain_blocks';
|
||||
import { Column } from 'mastodon/components/column';
|
||||
import type { ColumnRef } from 'mastodon/components/column';
|
||||
import { ColumnHeader } from 'mastodon/components/column_header';
|
||||
import { Domain } from 'mastodon/components/domain';
|
||||
import ScrollableList from 'mastodon/components/scrollable_list';
|
||||
|
||||
const messages = defineMessages({
|
||||
heading: { id: 'column.domain_blocks', defaultMessage: 'Blocked domains' },
|
||||
});
|
||||
|
||||
const Blocks: React.FC<{ multiColumn: boolean }> = ({ multiColumn }) => {
|
||||
const intl = useIntl();
|
||||
const [domains, setDomains] = useState<string[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [next, setNext] = useState<string | undefined>();
|
||||
const hasMore = !!next;
|
||||
const columnRef = useRef<ColumnRef>(null);
|
||||
|
||||
useEffect(() => {
|
||||
setLoading(true);
|
||||
|
||||
void apiGetDomainBlocks()
|
||||
.then(({ domains, links }) => {
|
||||
const next = links.refs.find((link) => link.rel === 'next');
|
||||
|
||||
setLoading(false);
|
||||
setDomains(domains);
|
||||
setNext(next?.uri);
|
||||
|
||||
return '';
|
||||
})
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
}, [setLoading, setDomains, setNext]);
|
||||
|
||||
const handleLoadMore = useCallback(() => {
|
||||
setLoading(true);
|
||||
|
||||
void apiGetDomainBlocks(next)
|
||||
.then(({ domains, links }) => {
|
||||
const next = links.refs.find((link) => link.rel === 'next');
|
||||
|
||||
setLoading(false);
|
||||
setDomains((previousDomains) => [...previousDomains, ...domains]);
|
||||
setNext(next?.uri);
|
||||
|
||||
return '';
|
||||
})
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
}, [setLoading, setDomains, setNext, next]);
|
||||
|
||||
const handleHeaderClick = useCallback(() => {
|
||||
columnRef.current?.scrollTop();
|
||||
}, []);
|
||||
|
||||
const emptyMessage = (
|
||||
<FormattedMessage
|
||||
id='empty_column.domain_blocks'
|
||||
defaultMessage='There are no blocked domains yet.'
|
||||
/>
|
||||
);
|
||||
|
||||
return (
|
||||
<Column
|
||||
bindToDocument={!multiColumn}
|
||||
ref={columnRef}
|
||||
label={intl.formatMessage(messages.heading)}
|
||||
>
|
||||
<ColumnHeader
|
||||
icon='ban'
|
||||
iconComponent={BlockIcon}
|
||||
title={intl.formatMessage(messages.heading)}
|
||||
onClick={handleHeaderClick}
|
||||
multiColumn={multiColumn}
|
||||
showBackButton
|
||||
/>
|
||||
|
||||
<ScrollableList
|
||||
scrollKey='domain_blocks'
|
||||
onLoadMore={handleLoadMore}
|
||||
hasMore={hasMore}
|
||||
isLoading={loading}
|
||||
showLoading={loading && domains.length === 0}
|
||||
emptyMessage={emptyMessage}
|
||||
trackScroll={!multiColumn}
|
||||
bindToDocument={!multiColumn}
|
||||
>
|
||||
{domains.map((domain) => (
|
||||
<Domain key={domain} domain={domain} />
|
||||
))}
|
||||
</ScrollableList>
|
||||
|
||||
<Helmet>
|
||||
<title>{intl.formatMessage(messages.heading)}</title>
|
||||
<meta name='robots' content='noindex' />
|
||||
</Helmet>
|
||||
</Column>
|
||||
);
|
||||
};
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default Blocks;
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicació} other {{counter} publicacions}}",
|
||||
"account.unblock": "Desbloca @{name}",
|
||||
"account.unblock_domain": "Desbloca el domini {domain}",
|
||||
"account.unblock_domain_short": "Desbloca",
|
||||
"account.unblock_short": "Desbloca",
|
||||
"account.unendorse": "No recomanis en el perfil",
|
||||
"account.unfollow": "Deixa de seguir",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} many {{counter} příspěvků} other {{counter} příspěvků}}",
|
||||
"account.unblock": "Odblokovat @{name}",
|
||||
"account.unblock_domain": "Odblokovat doménu {domain}",
|
||||
"account.unblock_domain_short": "Odblokovat",
|
||||
"account.unblock_short": "Odblokovat",
|
||||
"account.unendorse": "Nezvýrazňovat na profilu",
|
||||
"account.unfollow": "Přestat sledovat",
|
||||
@@ -79,7 +80,7 @@
|
||||
"admin.dashboard.retention.cohort_size": "Noví uživatelé",
|
||||
"admin.impact_report.instance_accounts": "Profily účtů, které by byli odstaněny",
|
||||
"admin.impact_report.instance_followers": "Sledující, o které by naši uživatelé přišli",
|
||||
"admin.impact_report.instance_follows": "Sledující, o které by naši uživatelé přišli",
|
||||
"admin.impact_report.instance_follows": "Sledující, o které by jejich uživatelé přišli",
|
||||
"admin.impact_report.title": "Shrnutí dopadu",
|
||||
"alert.rate_limited.message": "Zkuste to prosím znovu po {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Spojení omezena",
|
||||
@@ -101,7 +102,7 @@
|
||||
"annual_report.summary.archetype.replier": "Sociální motýlek",
|
||||
"annual_report.summary.followers.followers": "sledujících",
|
||||
"annual_report.summary.followers.total": "{count} celkem",
|
||||
"annual_report.summary.here_it_is": "Zde je tvůj {year} v přehledu:",
|
||||
"annual_report.summary.here_it_is": "Zde je tvůj rok {year} v přehledu:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "nejvíce oblíbený příspěvek",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "nejvíce boostovaný příspěvek",
|
||||
"annual_report.summary.highlighted_post.by_replies": "příspěvek s nejvíce odpověďmi",
|
||||
@@ -267,7 +268,7 @@
|
||||
"domain_pill.activitypub_like_language": "ActivityPub je jako jazyk, kterým Mastodon mluví s jinými sociálními sítěmi.",
|
||||
"domain_pill.server": "Server",
|
||||
"domain_pill.their_handle": "Handle:",
|
||||
"domain_pill.their_server": "Jejich digitální domov, kde žijí jejich všechny příspěvky.",
|
||||
"domain_pill.their_server": "Jejich digitální domov, kde žijí všechny jejich příspěvky.",
|
||||
"domain_pill.their_username": "Jejich jedinečný identifikátor na jejich serveru. Je možné, že na jiných serverech jsou uživatelé se stejným uživatelským jménem.",
|
||||
"domain_pill.username": "Uživatelské jméno",
|
||||
"domain_pill.whats_in_a_handle": "Co obsahuje handle?",
|
||||
@@ -572,7 +573,7 @@
|
||||
"notification.label.private_reply": "Privátní odpověď",
|
||||
"notification.label.reply": "Odpověď",
|
||||
"notification.mention": "Zmínka",
|
||||
"notification.mentioned_you": "{name} vás zmínil",
|
||||
"notification.mentioned_you": "{name} vás zmínil*a",
|
||||
"notification.moderation-warning.learn_more": "Zjistit více",
|
||||
"notification.moderation_warning": "Obdrželi jste varování od moderátorů",
|
||||
"notification.moderation_warning.action_delete_statuses": "Některé z vašich příspěvků byly odstraněny.",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} postiad} two {{counter} bostiad} few {{counter} phostiad} many {{counter} postiad} other {{counter} postiad}}",
|
||||
"account.unblock": "Dadrwystro @{name}",
|
||||
"account.unblock_domain": "Dadrwystro parth {domain}",
|
||||
"account.unblock_domain_short": "Dadrwystro",
|
||||
"account.unblock_short": "Dadrwystro",
|
||||
"account.unendorse": "Peidio a'i ddangos ar fy mhroffil",
|
||||
"account.unfollow": "Dad-ddilyn",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
||||
"account.unblock": "Fjern blokering af @{name}",
|
||||
"account.unblock_domain": "Fjern blokering af domænet {domain}",
|
||||
"account.unblock_domain_short": "Afblokér",
|
||||
"account.unblock_short": "Fjern blokering",
|
||||
"account.unendorse": "Fjern visning på din profil",
|
||||
"account.unfollow": "Følg ikke længere",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
|
||||
"account.unblock": "{name} nicht mehr blockieren",
|
||||
"account.unblock_domain": "Blockierung von {domain} aufheben",
|
||||
"account.unblock_domain_short": "Entsperren",
|
||||
"account.unblock_short": "Blockierung aufheben",
|
||||
"account.unendorse": "Im Profil nicht mehr empfehlen",
|
||||
"account.unfollow": "Entfolgen",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} post} other {{counter} posts}}",
|
||||
"account.unblock": "Unblock @{name}",
|
||||
"account.unblock_domain": "Unblock domain {domain}",
|
||||
"account.unblock_domain_short": "Unblock",
|
||||
"account.unblock_short": "Unblock",
|
||||
"account.unendorse": "Don't feature on profile",
|
||||
"account.unfollow": "Unfollow",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}",
|
||||
"account.unblock": "Desbloquear a @{name}",
|
||||
"account.unblock_domain": "Desbloquear dominio {domain}",
|
||||
"account.unblock_domain_short": "Desbloquear",
|
||||
"account.unblock_short": "Desbloquear",
|
||||
"account.unendorse": "No destacar en el perfil",
|
||||
"account.unfollow": "Dejar de seguir",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
||||
"account.unblock": "Desbloquear a @{name}",
|
||||
"account.unblock_domain": "Mostrar a {domain}",
|
||||
"account.unblock_domain_short": "Desbloquear",
|
||||
"account.unblock_short": "Desbloquear",
|
||||
"account.unendorse": "No mostrar en el perfil",
|
||||
"account.unfollow": "Dejar de seguir",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
||||
"account.unblock": "Desbloquear a @{name}",
|
||||
"account.unblock_domain": "Desbloquear dominio {domain}",
|
||||
"account.unblock_domain_short": "Desbloquear",
|
||||
"account.unblock_short": "Desbloquear",
|
||||
"account.unendorse": "No mostrar en el perfil",
|
||||
"account.unfollow": "Dejar de seguir",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}",
|
||||
"account.unblock": "Kumoa käyttäjän @{name} esto",
|
||||
"account.unblock_domain": "Kumoa verkkotunnuksen {domain} esto",
|
||||
"account.unblock_domain_short": "Kumoa esto",
|
||||
"account.unblock_short": "Kumoa esto",
|
||||
"account.unendorse": "Kumoa suosittelu profiilissasi",
|
||||
"account.unfollow": "Älä seuraa",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} postur} other {{counter} postar}}",
|
||||
"account.unblock": "Banna ikki @{name}",
|
||||
"account.unblock_domain": "Banna ikki økisnavnið {domain}",
|
||||
"account.unblock_domain_short": "Banna ikki",
|
||||
"account.unblock_short": "Banna ikki",
|
||||
"account.unendorse": "Vís ikki á vanga",
|
||||
"account.unfollow": "Fylg ikki",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicación} other {{counter} publicacións}}",
|
||||
"account.unblock": "Desbloquear @{name}",
|
||||
"account.unblock_domain": "Amosar {domain}",
|
||||
"account.unblock_domain_short": "Desbloquear",
|
||||
"account.unblock_short": "Desbloquear",
|
||||
"account.unendorse": "Non amosar no perfil",
|
||||
"account.unfollow": "Deixar de seguir",
|
||||
|
||||
@@ -64,8 +64,9 @@
|
||||
"account.show_reblogs": "הצג הדהודים מאת @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{counter} הודעות} other {{counter} הודעות}}",
|
||||
"account.unblock": "להסיר חסימה ל- @{name}",
|
||||
"account.unblock_domain": "הסירי את החסימה של קהילת {domain}",
|
||||
"account.unblock_short": "הסר חסימה",
|
||||
"account.unblock_domain": "הסרת החסימה של קהילת {domain}",
|
||||
"account.unblock_domain_short": "הסרת חסימה",
|
||||
"account.unblock_short": "הסרת חסימה",
|
||||
"account.unendorse": "אל תקדם בפרופיל",
|
||||
"account.unfollow": "הפסקת מעקב",
|
||||
"account.unmute": "הפסקת השתקת @{name}",
|
||||
@@ -905,6 +906,12 @@
|
||||
"video.expand": "להרחיב וידאו",
|
||||
"video.fullscreen": "מסך מלא",
|
||||
"video.hide": "להסתיר וידאו",
|
||||
"video.mute": "השתקה",
|
||||
"video.pause": "השהיה",
|
||||
"video.play": "ניגון"
|
||||
"video.play": "ניגון",
|
||||
"video.skip_backward": "דילוג אחורה",
|
||||
"video.skip_forward": "דילוג קדימה",
|
||||
"video.unmute": "ביטול השתקה",
|
||||
"video.volume_down": "הנמכת עוצמת השמע",
|
||||
"video.volume_up": "הגברת עוצמת שמע"
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}}",
|
||||
"account.unblock": "@{name} letiltásának feloldása",
|
||||
"account.unblock_domain": "{domain} domain tiltásának feloldása",
|
||||
"account.unblock_domain_short": "Tiltás feloldása",
|
||||
"account.unblock_short": "Tiltás feloldása",
|
||||
"account.unendorse": "Ne jelenjen meg a profilodon",
|
||||
"account.unfollow": "Követés megszüntetése",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} færsla} other {{counter} færslur}}",
|
||||
"account.unblock": "Aflétta útilokun af @{name}",
|
||||
"account.unblock_domain": "Aflétta útilokun lénsins {domain}",
|
||||
"account.unblock_domain_short": "Aflétta útilokun",
|
||||
"account.unblock_short": "Hætta að loka á",
|
||||
"account.unendorse": "Ekki birta á notandasniði",
|
||||
"account.unfollow": "Hætta að fylgja",
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
"account.unfollow": "Smetti di seguire",
|
||||
"account.unmute": "Riattiva @{name}",
|
||||
"account.unmute_notifications_short": "Riattiva notifiche",
|
||||
"account.unmute_short": "Riattiva",
|
||||
"account.unmute_short": "Attiva audio",
|
||||
"account_note.placeholder": "Clicca per aggiungere una nota",
|
||||
"admin.dashboard.daily_retention": "Tasso di ritenzione dell'utente per giorno, dopo la registrazione",
|
||||
"admin.dashboard.monthly_retention": "Tasso di ritenzione dell'utente per mese, dopo la registrazione",
|
||||
@@ -905,6 +905,12 @@
|
||||
"video.expand": "Espandi il video",
|
||||
"video.fullscreen": "Schermo intero",
|
||||
"video.hide": "Nascondi il video",
|
||||
"video.mute": "Muta",
|
||||
"video.pause": "Pausa",
|
||||
"video.play": "Riproduci"
|
||||
"video.play": "Riproduci",
|
||||
"video.skip_backward": "Vai indietro",
|
||||
"video.skip_forward": "Vai avanti",
|
||||
"video.unmute": "Muta",
|
||||
"video.volume_down": "Abbassa volume",
|
||||
"video.volume_up": "Alza volume"
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}",
|
||||
"account.unblock": "Serreḥ i @{name}",
|
||||
"account.unblock_domain": "Ssken-d {domain}",
|
||||
"account.unblock_domain_short": "Serreḥ",
|
||||
"account.unblock_short": "Serreḥ",
|
||||
"account.unendorse": "Ur ttwellih ara fell-as deg umaɣnu-inek",
|
||||
"account.unfollow": "Ur ṭṭafaṛ ara",
|
||||
@@ -77,6 +78,7 @@
|
||||
"alt_text_modal.cancel": "Semmet",
|
||||
"alt_text_modal.done": "Immed",
|
||||
"announcement.announcement": "Ulɣu",
|
||||
"annual_report.summary.most_used_app.most_used_app": "asnas yettwasqedcen s waṭas",
|
||||
"annual_report.summary.most_used_hashtag.none": "Ula yiwen",
|
||||
"annual_report.summary.new_posts.new_posts": "tisuffaɣ timaynutin",
|
||||
"audio.hide": "Ffer amesli",
|
||||
@@ -162,6 +164,7 @@
|
||||
"confirmations.discard_edit_media.confirm": "Sefsex",
|
||||
"confirmations.edit.confirm": "Ẓreg",
|
||||
"confirmations.edit.message": "Abeddel tura ad d-yaru izen-nni i d-tegreḍ akka tura. Tetḥeqqeḍ tebɣiḍ ad tkemmleḍ?",
|
||||
"confirmations.follow_to_list.confirm": "Ḍfeṛ-it sakin rnu-t ɣer tebdart",
|
||||
"confirmations.logout.confirm": "Ffeɣ",
|
||||
"confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
|
||||
"confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
|
||||
@@ -245,6 +248,7 @@
|
||||
"filter_modal.select_filter.search": "Nadi neɣ snulfu-d",
|
||||
"filter_modal.select_filter.title": "Sizdeg tassufeɣt-a",
|
||||
"filter_modal.title.status": "Sizdeg tassufeɣt",
|
||||
"filtered_notifications_banner.title": "Ilɣa yettwasizdgen",
|
||||
"firehose.all": "Akk",
|
||||
"firehose.local": "Deg uqeddac-ayi",
|
||||
"firehose.remote": "Iqeddacen nniḍen",
|
||||
@@ -350,9 +354,12 @@
|
||||
"lists.add_to_lists": "Rnu {name} ɣer tebdarin",
|
||||
"lists.create": "Snulfu-d",
|
||||
"lists.delete": "Kkes tabdart",
|
||||
"lists.done": "Immed",
|
||||
"lists.edit": "Ẓreg tabdart",
|
||||
"lists.list_name": "Isem n tebdart",
|
||||
"lists.new_list_name": "Isem n tebdart tamaynut",
|
||||
"lists.no_lists_yet": "Ulac tibdarin akka tura.",
|
||||
"lists.no_results_found": "Ulac igemmad.",
|
||||
"lists.remove_member": "Kkes",
|
||||
"lists.replies_policy.followed": "Kra n useqdac i yettwaḍefren",
|
||||
"lists.replies_policy.list": "Iɛeggalen n tebdart",
|
||||
@@ -389,6 +396,7 @@
|
||||
"navigation_bar.follows_and_followers": "Imeḍfaṛen akked wid i teṭṭafaṛeḍ",
|
||||
"navigation_bar.lists": "Tibdarin",
|
||||
"navigation_bar.logout": "Ffeɣ",
|
||||
"navigation_bar.moderation": "Aseɣyed",
|
||||
"navigation_bar.mutes": "Iseqdacen yettwasusmen",
|
||||
"navigation_bar.opened_in_classic_interface": "Tisuffaɣ, imiḍanen akked isebtar-nniḍen igejdanen ldin-d s wudem amezwer deg ugrudem web aklasiki.",
|
||||
"navigation_bar.personal": "Udmawan",
|
||||
@@ -419,6 +427,7 @@
|
||||
"notification_requests.edit_selection": "Ẓreg",
|
||||
"notification_requests.exit_selection": "Immed",
|
||||
"notification_requests.notifications_from": "Alɣuten sɣur {name}",
|
||||
"notification_requests.title": "Ilɣa yettwasizdgen",
|
||||
"notifications.clear": "Sfeḍ alɣuten",
|
||||
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk alɣuten-inek·em i lebda?",
|
||||
"notifications.column_settings.admin.report": "Ineqqisen imaynuten:",
|
||||
@@ -463,6 +472,7 @@
|
||||
"onboarding.follows.back": "Uɣal",
|
||||
"onboarding.follows.done": "Immed",
|
||||
"onboarding.follows.search": "Nadi",
|
||||
"onboarding.follows.title": "Ḍfeṛ walbɛaḍ i wakken ad ttebdud",
|
||||
"onboarding.profile.display_name": "Isem ara d-yettwaskanen",
|
||||
"onboarding.profile.display_name_hint": "Isem-ik·im ummid neɣ isem-ik·im n uqeṣṣer…",
|
||||
"onboarding.profile.note": "Tameddurt",
|
||||
@@ -484,15 +494,18 @@
|
||||
"poll_button.remove_poll": "Kkes asenqed",
|
||||
"privacy.change": "Seggem tabaḍnit n yizen",
|
||||
"privacy.direct.long": "Wid akk i d-yettwabdaren deg tsuffeɣt",
|
||||
"privacy.direct.short": "Abdar uslig",
|
||||
"privacy.private.long": "Ala wid i k·m-yeṭṭafaṛen",
|
||||
"privacy.private.short": "Imeḍfaren",
|
||||
"privacy.public.long": "Kra n win yellan deg Masṭudun neɣ berra-s",
|
||||
"privacy.public.short": "Azayez",
|
||||
"privacy.unlisted.long": "Kra kan yiwarzimen",
|
||||
"privacy.unlisted.short": "Azayez asusam",
|
||||
"privacy_policy.last_updated": "Aleqqem aneggaru {date}",
|
||||
"privacy_policy.title": "Tasertit tabaḍnit",
|
||||
"recommended": "Yettuwelleh",
|
||||
"refresh": "Smiren",
|
||||
"regeneration_indicator.please_stand_by": "Ttxil rǧu.",
|
||||
"relative_time.days": "{number}u",
|
||||
"relative_time.full.just_now": "tura kan",
|
||||
"relative_time.hours": "{number}isr",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} bericht} other {{counter} berichten}}",
|
||||
"account.unblock": "@{name} deblokkeren",
|
||||
"account.unblock_domain": "{domain} niet langer blokkeren",
|
||||
"account.unblock_domain_short": "Deblokkeren",
|
||||
"account.unblock_short": "Deblokkeren",
|
||||
"account.unendorse": "Niet op profiel weergeven",
|
||||
"account.unfollow": "Ontvolgen",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicação} other {{counter} publicações}}",
|
||||
"account.unblock": "Desbloquear @{name}",
|
||||
"account.unblock_domain": "Desbloquear o domínio {domain}",
|
||||
"account.unblock_domain_short": "Desbloquear",
|
||||
"account.unblock_short": "Desbloquear",
|
||||
"account.unendorse": "Não destacar no perfil",
|
||||
"account.unfollow": "Deixar de seguir",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} postim} other {{counter} postime}}",
|
||||
"account.unblock": "Zhbllokoje @{name}",
|
||||
"account.unblock_domain": "Zhblloko përkatësinë {domain}",
|
||||
"account.unblock_domain_short": "Zhbllokoje",
|
||||
"account.unblock_short": "Zhbllokoje",
|
||||
"account.unendorse": "Mos e përfshi në profil",
|
||||
"account.unfollow": "Resht së ndjekuri",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} gönderi} other {{counter} gönderi}}",
|
||||
"account.unblock": "@{name} adlı kişinin engelini kaldır",
|
||||
"account.unblock_domain": "{domain} alan adının engelini kaldır",
|
||||
"account.unblock_domain_short": "Engeli kaldır",
|
||||
"account.unblock_short": "Engeli kaldır",
|
||||
"account.unendorse": "Profilimde öne çıkarma",
|
||||
"account.unfollow": "Takibi bırak",
|
||||
@@ -905,6 +906,12 @@
|
||||
"video.expand": "Videoyu genişlet",
|
||||
"video.fullscreen": "Tam ekran",
|
||||
"video.hide": "Videoyu gizle",
|
||||
"video.mute": "Sessiz",
|
||||
"video.pause": "Duraklat",
|
||||
"video.play": "Oynat"
|
||||
"video.play": "Oynat",
|
||||
"video.skip_backward": "Geriye atla",
|
||||
"video.skip_forward": "İleriye atla",
|
||||
"video.unmute": "Sesi aç",
|
||||
"video.volume_down": "Sesi kıs",
|
||||
"video.volume_up": "Sesi yükselt"
|
||||
}
|
||||
|
||||
@@ -1,21 +1,34 @@
|
||||
{
|
||||
"about.blocks": "ئوتتۇراھال مۇلازىمېتىر",
|
||||
"about.contact": "ئالاقىلاشقۇچى:",
|
||||
"account.badges.bot": "Bot",
|
||||
"account.cancel_follow_request": "Withdraw follow request",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"about.blocks": "باشقۇرۇلىدىغان مۇلازىمېتىر",
|
||||
"about.contact": "ئالاقە:",
|
||||
"about.disclaimer": "Mastodon ھەقسىز، ئوچۇق كودلۇق يۇمشاق دېتال تاۋار ماركىسى Mastodon gGmbH غا تەۋە.",
|
||||
"about.domain_blocks.no_reason_available": "سەۋەبىنى ئىشلەتكىلى بولمايدۇ",
|
||||
"account.badges.bot": "ماشىنا ئادەم",
|
||||
"account.cancel_follow_request": "ئەگىشىش ئىلتىماسىدىن ۋاز كەچ",
|
||||
"account.posts": "يازما",
|
||||
"account.posts_with_replies": "يازما ۋە ئىنكاس",
|
||||
"account.report": "@{name} نى پاش قىل",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account_note.placeholder": "Click to add a note",
|
||||
"column.pins": "Pinned toot",
|
||||
"community.column_settings.media_only": "Media only",
|
||||
"account_note.placeholder": "چېكىلسە ئىزاھات قوشىدۇ",
|
||||
"column.pins": "چوققىلانغان يازما",
|
||||
"community.column_settings.media_only": "ۋاسىتەلا",
|
||||
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"compose_form.publish_form": "Publish",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.publish_form": "يېڭى يازما",
|
||||
"compose_form.reply": "جاۋاب",
|
||||
"compose_form.save_changes": "يېڭىلا",
|
||||
"compose_form.spoiler.marked": "مەزمۇن ئاگاھلاندۇرۇشىنى چىقىرىۋەت",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||
"compose_form.spoiler_placeholder": "مەزمۇن ئاگاھلاندۇرۇشى (تاللاشچان)",
|
||||
"confirmation_modal.cancel": "ۋاز كەچ",
|
||||
"confirmations.block.confirm": "توس",
|
||||
"confirmations.delete.message": "بۇ يازمىنى راستىنلا ئۆچۈرەمسىز؟",
|
||||
"confirmations.delete.title": "يازما ئۆچۈرەمدۇ؟",
|
||||
"confirmations.delete_list.confirm": "ئۆچۈر",
|
||||
"confirmations.delete_list.message": "بۇ تىزىمنى راستتىنلا مەڭگۈلۈك ئۆچۈرەمسىز؟",
|
||||
"confirmations.delete_list.title": "تىزىمنى ئۆچۈرەمدۇ؟",
|
||||
"confirmations.discard_edit_media.confirm": "تاشلىۋەت",
|
||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, one {{counter} допис} few {{counter} дописи} many {{counter} дописів} other {{counter} допис}}",
|
||||
"account.unblock": "Розблокувати @{name}",
|
||||
"account.unblock_domain": "Розблокувати {domain}",
|
||||
"account.unblock_domain_short": "Розблокувати",
|
||||
"account.unblock_short": "Розблокувати",
|
||||
"account.unendorse": "Не публікувати у профілі",
|
||||
"account.unfollow": "Відписатися",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, other {{counter} Tút}}",
|
||||
"account.unblock": "Bỏ chặn @{name}",
|
||||
"account.unblock_domain": "Bỏ ẩn {domain}",
|
||||
"account.unblock_domain_short": "Bỏ chặn",
|
||||
"account.unblock_short": "Bỏ chặn",
|
||||
"account.unendorse": "Ngưng tôn vinh người này",
|
||||
"account.unfollow": "Bỏ theo dõi",
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"account.statuses_counter": "{count, plural, other {{count} 則嘟文}}",
|
||||
"account.unblock": "解除封鎖 @{name}",
|
||||
"account.unblock_domain": "解除封鎖網域 {domain}",
|
||||
"account.unblock_domain_short": "解除封鎖",
|
||||
"account.unblock_short": "解除封鎖",
|
||||
"account.unendorse": "取消於個人檔案推薦對方",
|
||||
"account.unfollow": "取消跟隨",
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
|
||||
|
||||
import {
|
||||
DOMAIN_BLOCKS_FETCH_SUCCESS,
|
||||
DOMAIN_BLOCKS_EXPAND_SUCCESS,
|
||||
unblockDomainSuccess
|
||||
} from '../actions/domain_blocks';
|
||||
|
||||
const initialState = ImmutableMap({
|
||||
blocks: ImmutableMap({
|
||||
items: ImmutableOrderedSet(),
|
||||
}),
|
||||
});
|
||||
|
||||
export default function domainLists(state = initialState, action) {
|
||||
switch(action.type) {
|
||||
case DOMAIN_BLOCKS_FETCH_SUCCESS:
|
||||
return state.setIn(['blocks', 'items'], ImmutableOrderedSet(action.domains)).setIn(['blocks', 'next'], action.next);
|
||||
case DOMAIN_BLOCKS_EXPAND_SUCCESS:
|
||||
return state.updateIn(['blocks', 'items'], set => set.union(action.domains)).setIn(['blocks', 'next'], action.next);
|
||||
case unblockDomainSuccess.type:
|
||||
return state.updateIn(['blocks', 'items'], set => set.delete(action.payload.domain));
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import { composeReducer } from './compose';
|
||||
import contexts from './contexts';
|
||||
import conversations from './conversations';
|
||||
import custom_emojis from './custom_emojis';
|
||||
import domain_lists from './domain_lists';
|
||||
import { dropdownMenuReducer } from './dropdown_menu';
|
||||
import filters from './filters';
|
||||
import followed_tags from './followed_tags';
|
||||
@@ -49,7 +48,6 @@ const reducers = {
|
||||
loadingBar: loadingBarReducer,
|
||||
modal: modalReducer,
|
||||
user_lists,
|
||||
domain_lists,
|
||||
status_lists,
|
||||
accounts: accountsReducer,
|
||||
accounts_map,
|
||||
|
||||
@@ -1882,29 +1882,21 @@ body > [data-popper-placement] {
|
||||
}
|
||||
|
||||
.domain {
|
||||
padding: 10px;
|
||||
padding: 16px;
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
|
||||
.domain__domain-name {
|
||||
&__domain-name {
|
||||
flex: 1 1 auto;
|
||||
display: block;
|
||||
color: $primary-text-color;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
font-size: 15px;
|
||||
line-height: 21px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.domain__wrapper {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.domain_buttons {
|
||||
height: 18px;
|
||||
padding: 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.account {
|
||||
padding: 16px;
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
|
||||
Reference in New Issue
Block a user