Updated the default class name
• Updated: - the default class name
This commit is contained in:
parent
d5ad398d53
commit
176ddc22f2
@ -20,21 +20,21 @@ class AboutSidebar extends ImmutablePureComponent {
|
||||
} = this.props
|
||||
|
||||
return (
|
||||
<header role='banner' className={[_s._, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
|
||||
<header role='banner' className={[_s.d, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w240PX].join(' ')}
|
||||
classNamesXS={[_s._, _s.w100PC].join(' ')}
|
||||
classNames={[_s.d, _s.w240PX].join(' ')}
|
||||
classNamesXS={[_s.d, _s.w100PC].join(' ')}
|
||||
>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}
|
||||
classNamesXS={[_s._, _s.px15].join(' ')}
|
||||
classNames={[_s.d, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}
|
||||
classNamesXS={[_s.d, _s.px15].join(' ')}
|
||||
>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}
|
||||
classNamesXS={[_s._, _s.aiStart, _s.w100PC, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
|
||||
classNames={[_s.d, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}
|
||||
classNamesXS={[_s.d, _s.aiStart, _s.w100PC, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
|
||||
>
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
|
||||
{
|
||||
me && <BackButton icon='arrow-left' toHome />
|
||||
}
|
||||
@ -44,7 +44,7 @@ class AboutSidebar extends ImmutablePureComponent {
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<nav aria-label='Primary' role='navigation' className={[_s._, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<nav aria-label='Primary' role='navigation' className={[_s.d, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<SidebarSectionTitle>{intl.formatMessage(messages.menu)}</SidebarSectionTitle>
|
||||
{
|
||||
items.map((menuItem, i) => (
|
||||
|
@ -94,29 +94,29 @@ class Account extends ImmutablePureComponent {
|
||||
const content = { __html: account.get('note_emojified') }
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.px15, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary, _s.bgSubtle_onHover].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiStart].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary, _s.bgSubtle_onHover].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiStart].join(' ')}>
|
||||
|
||||
<NavLink
|
||||
className={[_s._, _s.noUnderline].join(' ')}
|
||||
className={[_s.d, _s.noUnderline].join(' ')}
|
||||
title={account.get('acct')}
|
||||
to={`/${account.get('acct')}`}
|
||||
>
|
||||
<Avatar account={account} size={avatarSize} />
|
||||
</NavLink>
|
||||
|
||||
<div className={[_s._, _s.px10, _s.overflowHidden, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px10, _s.overflowHidden, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<NavLink
|
||||
title={account.get('acct')}
|
||||
to={`/${account.get('acct')}`}
|
||||
className={[_s._, _s.aiStart, _s.pt2, _s.pr5, _s.noUnderline, _s.overflowHidden, _s.flexNormal].join(' ')}
|
||||
className={[_s.d, _s.aiStart, _s.pt2, _s.pr5, _s.noUnderline, _s.overflowHidden, _s.flexNormal].join(' ')}
|
||||
>
|
||||
<DisplayName account={account} isMultiline={compact} />
|
||||
{!compact && actionButton}
|
||||
</NavLink>
|
||||
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
{dismissBtn}
|
||||
{compact && actionButton}
|
||||
</div>
|
||||
|
@ -14,7 +14,7 @@ class AutosuggestAccount extends ImmutablePureComponent {
|
||||
|
||||
return (
|
||||
<div
|
||||
className={[_s._, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
|
||||
className={[_s.d, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
|
||||
title={account.get('acct')}
|
||||
>
|
||||
<Avatar account={account} size={26} />
|
||||
|
@ -22,7 +22,7 @@ class AutosuggestEmoji extends React.PureComponent {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s.d, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<img className='emojione' src={url} alt={emoji.native || emoji.colons} />
|
||||
<Text className={_s.ml10}>
|
||||
{emoji.colons}
|
||||
|
@ -194,7 +194,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
|
||||
const { suggestionsHidden } = this.state
|
||||
|
||||
const textareaContainerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
maxW100PC: 1,
|
||||
flexGrow1: small,
|
||||
jcCenter: small,
|
||||
@ -202,7 +202,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
const textareaClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
font: 1,
|
||||
wrap: 1,
|
||||
resizeNone: 1,
|
||||
@ -272,7 +272,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
!small && !suggestionsHidden && !suggestions.isEmpty() &&
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
{suggestions.map(this.renderSuggestion)}
|
||||
</div>
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ class Avatar extends ImmutablePureComponent {
|
||||
|
||||
const isPro = !!account ? account.get('is_pro') : false
|
||||
const alt = !account ? '' : `${account.get('display_name')} ${isPro ? '(PRO)' : ''}`.trim()
|
||||
const classes = [_s._, _s.circle, _s.overflowHidden]
|
||||
const classes = [_s.d, _s.circle, _s.overflowHidden]
|
||||
if (isPro) {
|
||||
classes.push(_s.boxShadowAvatarPro)
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ class BackButton extends React.PureComponent {
|
||||
mr5: 1,
|
||||
cursorPointer: 1,
|
||||
outlineNone: 1,
|
||||
_: 1,
|
||||
d: 1,
|
||||
jcCenter: 1,
|
||||
})
|
||||
|
||||
|
@ -10,7 +10,7 @@ class Block extends React.PureComponent {
|
||||
const { children } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary, _s.overflowHidden, _s.radiusSmall].join(' ')}>
|
||||
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary, _s.overflowHidden, _s.radiusSmall].join(' ')}>
|
||||
{children}
|
||||
</div>
|
||||
)
|
||||
|
@ -8,8 +8,8 @@ class BlockHeading extends React.PureComponent {
|
||||
const { title } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<Heading size='h2'>{title}</Heading>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -24,14 +24,14 @@ class BundleColumnError extends React.PureComponent {
|
||||
const { intl: { formatMessage } } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s._, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
<div className={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
|
||||
<div className={[_s.d, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
<div className={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
|
||||
<h1 className={[_s._, _s.mr15].join(' ')}>
|
||||
<Button href='/' isText aria-label='Gab' className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
|
||||
<h1 className={[_s.d, _s.mr15].join(' ')}>
|
||||
<Button href='/' isText aria-label='Gab' className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
|
||||
<Icon id='logo' className={_s.cWhite} />
|
||||
</Button>
|
||||
</h1>
|
||||
@ -40,20 +40,20 @@ class BundleColumnError extends React.PureComponent {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
|
||||
|
||||
<Icon id='warning' size='28px' className={[_s._, _s.cSecondary, _s.mb15].join(' ')} />
|
||||
<Icon id='warning' size='28px' className={[_s.d, _s.cSecondary, _s.mb15].join(' ')} />
|
||||
|
||||
<Text size='medium' className={_s.pt15}>
|
||||
{formatMessage(messages.body)}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.py10, _s.my10].join(' ')}>
|
||||
<div className={[_s.d, _s.py10, _s.my10].join(' ')}>
|
||||
<Text>
|
||||
{APP_NAME} ({version})
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
|
||||
<Button
|
||||
isText
|
||||
href={source_url}
|
||||
@ -77,7 +77,7 @@ class BundleColumnError extends React.PureComponent {
|
||||
|
||||
<Divider />
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
<Button
|
||||
icon='repost'
|
||||
onClick={this.handleRetry} size={64}
|
||||
|
@ -109,7 +109,7 @@ class Button extends React.PureComponent {
|
||||
|
||||
// Style the component according to props
|
||||
const classes = noClasses ? className : cx(className, {
|
||||
_: 1,
|
||||
d: 1,
|
||||
noUnderline: 1,
|
||||
font: 1,
|
||||
cursorPointer: 1,
|
||||
|
@ -19,7 +19,7 @@ class CharacterCounter extends React.PureComponent {
|
||||
const dashoffset = circumference * (1 - diff)
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.mr10, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.mr10, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<svg
|
||||
width={actualRadius * 2}
|
||||
height={actualRadius * 2}
|
||||
|
@ -12,7 +12,7 @@ class ColumnIndicator extends React.PureComponent {
|
||||
const title = type !== 'error' && !message ? intl.formatMessage(messages[type]) : message
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.w100PC, _s.jcCenter, _s.aiCenter, _s.py15].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.jcCenter, _s.aiCenter, _s.py15].join(' ')}>
|
||||
<Icon id={type} size='30px' />
|
||||
{
|
||||
type !== 'loading' &&
|
||||
|
@ -85,7 +85,7 @@ class Comment extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const contentClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px10: 1,
|
||||
pt5: 1,
|
||||
pb10: 1,
|
||||
@ -95,19 +95,19 @@ class Comment extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.px15, _s.mb10, _s.py5].join(' ')} data-comment={status.get('id')}>
|
||||
<div className={_s._} style={style}>
|
||||
<div className={[_s.d, _s.px15, _s.mb10, _s.py5].join(' ')} data-comment={status.get('id')}>
|
||||
<div className={_s.d} style={style}>
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
<NavLink
|
||||
to={`/${status.getIn(['account', 'acct'])}`}
|
||||
title={status.getIn(['account', 'acct'])}
|
||||
className={[_s._, _s.mr10, _s.pt5].join(' ')}
|
||||
className={[_s.d, _s.mr10, _s.pt5].join(' ')}
|
||||
>
|
||||
<Avatar account={status.get('account')} size={32} />
|
||||
</NavLink>
|
||||
|
||||
<div className={[_s._, _s.flexShrink1, _s.maxW100PC42PX].join(' ')}>
|
||||
<div className={[_s.d, _s.flexShrink1, _s.maxW100PC42PX].join(' ')}>
|
||||
<div className={contentClasses}>
|
||||
<CommentHeader
|
||||
ancestorAccountId={ancestorAccountId}
|
||||
@ -122,7 +122,7 @@ class Comment extends ImmutablePureComponent {
|
||||
isComment
|
||||
collapsable
|
||||
/>
|
||||
<div className={[_s._, _s.mt5].join(' ')}>
|
||||
<div className={[_s.d, _s.mt5].join(' ')}>
|
||||
<StatusMedia
|
||||
isComment
|
||||
status={status}
|
||||
@ -136,7 +136,7 @@ class Comment extends ImmutablePureComponent {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.mt5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mt5].join(' ')}>
|
||||
<CommentButton
|
||||
title={intl.formatMessage(status.get('favourited') ? messages.unlike : messages.like)}
|
||||
onClick={this.handleOnFavorite}
|
||||
|
@ -43,11 +43,11 @@ class CommentHeader extends ImmutablePureComponent {
|
||||
const myComment = status.getIn(['account', 'id']) === me
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.aiStart, _s.py2, _s.maxW100PC, _s.flexGrow1].join(' ')}>
|
||||
<div className={[_s.d, _s.aiStart, _s.py2, _s.maxW100PC, _s.flexGrow1].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.overflowHidden, _s.w100PC, _s.maxW100PC, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.overflowHidden, _s.w100PC, _s.maxW100PC, _s.aiCenter].join(' ')}>
|
||||
<NavLink
|
||||
className={[_s._, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
|
||||
className={[_s.d, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
|
||||
to={`/${status.getIn(['account', 'acct'])}`}
|
||||
title={status.getIn(['account', 'acct'])}
|
||||
>
|
||||
@ -60,7 +60,7 @@ class CommentHeader extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
isOwner &&
|
||||
<div className={[_s._, _s.aiCenter, _s.ml5].join(' ')}>
|
||||
<div className={[_s.d, _s.aiCenter, _s.ml5].join(' ')}>
|
||||
<span className={_s.visiblyHidden}>
|
||||
{intl.formatMessage(messages.original)}
|
||||
</span>
|
||||
|
@ -41,7 +41,7 @@ class CommentList extends ImmutablePureComponent {
|
||||
</Wrapper>
|
||||
{
|
||||
size > 0 && size > max && commentsLimited &&
|
||||
<div className={[_s._, _s.flexRow, _s.px15, _s.pb5, _s.mb10, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.px15, _s.pb5, _s.mb10, _s.aiCenter].join(' ')}>
|
||||
<Button
|
||||
isText
|
||||
backgroundColor='none'
|
||||
@ -52,7 +52,7 @@ class CommentList extends ImmutablePureComponent {
|
||||
View more comments
|
||||
</Text>
|
||||
</Button>
|
||||
<div className={[_s._, _s.mlAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.mlAuto].join(' ')}>
|
||||
<Text color='tertiary'>
|
||||
{max}
|
||||
of
|
||||
|
@ -238,7 +238,7 @@ class Composer extends React.PureComponent {
|
||||
const { editorState } = this.state
|
||||
|
||||
const editorContainerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
cursorText: 1,
|
||||
text: 1,
|
||||
cPrimary: 1,
|
||||
@ -251,7 +251,7 @@ class Composer extends React.PureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
|
||||
{
|
||||
!small && isPro &&
|
||||
|
@ -80,7 +80,7 @@ class DisplayName extends ImmutablePureComponent {
|
||||
if (!account) return null
|
||||
|
||||
const containerClassName = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
maxW100PC: 1,
|
||||
aiCenter: !isMultiline,
|
||||
flexRow: !isMultiline,
|
||||
@ -147,7 +147,7 @@ class DisplayName extends ImmutablePureComponent {
|
||||
onMouseLeave={noHover ? undefined : this.handleMouseLeave}
|
||||
ref={this.setRef}
|
||||
>
|
||||
<span className={[_s._, _s.flexRow, _s.aiCenter, _s.maxW100PC].join(' ')}>
|
||||
<span className={[_s.d, _s.flexRow, _s.aiCenter, _s.maxW100PC].join(' ')}>
|
||||
<bdi className={[_s.text, _s.whiteSpaceNoWrap, _s.textOverflowEllipsis].join(' ')}>
|
||||
<strong
|
||||
className={displayNameClasses}
|
||||
@ -160,7 +160,7 @@ class DisplayName extends ImmutablePureComponent {
|
||||
</bdi>
|
||||
{
|
||||
account.get('is_verified') &&
|
||||
<Icon id='verified' size={`${iconSize}px`} className={[_s.ml5, _s._].join(' ')} />
|
||||
<Icon id='verified' size={`${iconSize}px`} className={[_s.ml5, _s.d].join(' ')} />
|
||||
}
|
||||
</span>
|
||||
{
|
||||
@ -169,7 +169,7 @@ class DisplayName extends ImmutablePureComponent {
|
||||
@{account.get('acct')}
|
||||
{
|
||||
!noRelationship && !!relationshipLabel &&
|
||||
<span className={[_s._, _s.ml5, _s.jcCenter].join(' ')}>
|
||||
<span className={[_s.d, _s.ml5, _s.jcCenter].join(' ')}>
|
||||
<Text
|
||||
size='extraSmall'
|
||||
isBadge
|
||||
|
@ -13,7 +13,7 @@ class Divider extends React.PureComponent {
|
||||
const { isSmall, isInvisible } = this.props
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
borderBottom1PX: !isInvisible,
|
||||
borderColorSecondary: !isInvisible,
|
||||
w100PC: 1,
|
||||
|
@ -61,14 +61,14 @@ class ErrorBoundary extends React.PureComponent {
|
||||
if (!hasError) return this.props.children
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s._, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
<div className={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
|
||||
<div className={[_s.d, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
<div className={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
|
||||
<h1 className={[_s._, _s.mr15].join(' ')}>
|
||||
<Button href='/' isText aria-label='Gab' className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
|
||||
<h1 className={[_s.d, _s.mr15].join(' ')}>
|
||||
<Button href='/' isText aria-label='Gab' className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
|
||||
<Icon id='logo' className={_s.cWhite} />
|
||||
</Button>
|
||||
</h1>
|
||||
@ -77,9 +77,9 @@ class ErrorBoundary extends React.PureComponent {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
|
||||
|
||||
<Icon id='warning' size='28px' className={[_s._, _s.cSecondary, _s.mb15].join(' ')} />
|
||||
<Icon id='warning' size='28px' className={[_s.d, _s.cSecondary, _s.mb15].join(' ')} />
|
||||
|
||||
<Text size='medium' className={_s.pt15}>
|
||||
<FormattedMessage
|
||||
@ -95,12 +95,12 @@ class ErrorBoundary extends React.PureComponent {
|
||||
/>
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.py10, _s.my10].join(' ')}>
|
||||
<div className={[_s.d, _s.py10, _s.my10].join(' ')}>
|
||||
<Text>
|
||||
{APP_NAME} ({version})
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
|
||||
<Button
|
||||
isText
|
||||
href={source_url}
|
||||
@ -141,7 +141,7 @@ class ErrorBoundary extends React.PureComponent {
|
||||
|
||||
<Divider />
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
<Button href='/home'>
|
||||
<Text align='center' color='inherit'>
|
||||
<FormattedMessage
|
||||
|
@ -31,9 +31,9 @@ class ExtendedVideoPlayer extends React.PureComponent {
|
||||
const { src, muted, controls, alt } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<video
|
||||
className={[_s._, _s.maxW100PC, _s.maxH100PC].join(' ')}
|
||||
className={[_s.d, _s.maxW100PC, _s.maxH100PC].join(' ')}
|
||||
playsInline
|
||||
ref={this.setRef}
|
||||
src={src}
|
||||
|
@ -41,7 +41,7 @@ class FileInput extends React.PureComponent {
|
||||
const { file, hovering } = this.state
|
||||
|
||||
const containerClasses = CX(className, {
|
||||
_: 1,
|
||||
d: 1,
|
||||
aiCenter: 1,
|
||||
cursorPointer: 1,
|
||||
jcCenter: 1,
|
||||
@ -66,7 +66,7 @@ class FileInput extends React.PureComponent {
|
||||
>
|
||||
{
|
||||
!!title &&
|
||||
<div className={[_s._, _s.mb10, _s.pl15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb10, _s.pl15].join(' ')}>
|
||||
<Text size='small' weight='medium' color='secondary'>
|
||||
{title}
|
||||
</Text>
|
||||
@ -88,7 +88,7 @@ class FileInput extends React.PureComponent {
|
||||
/>
|
||||
{
|
||||
(!file || hovering) &&
|
||||
<div className={[_s._, _s.posAbs, _s.cursorPointer, _s.top0, _s.bottom0, _s.left0, _s.right0, _s.aiCenter, _s.jcCenter, _s.bgBlackOpaquest_onHover].join(' ')}>
|
||||
<div className={[_s.d, _s.posAbs, _s.cursorPointer, _s.top0, _s.bottom0, _s.left0, _s.right0, _s.aiCenter, _s.jcCenter, _s.bgBlackOpaquest_onHover].join(' ')}>
|
||||
<Icon id='add-image' size='32px' className={iconClasses} />
|
||||
</div>
|
||||
}
|
||||
|
@ -57,9 +57,9 @@ class FooterBar extends React.PureComponent {
|
||||
]
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.z4, _s.minH58PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.posFixed, _s.left0, _s.right0, _s.bottom0, _s.minH58PX, _s.w100PC, _s.bgPrimary, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.h100PC, _s.minH58PX, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
|
||||
<div className={[_s.d, _s.z4, _s.minH58PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.posFixed, _s.left0, _s.right0, _s.bottom0, _s.minH58PX, _s.w100PC, _s.bgPrimary, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.h100PC, _s.minH58PX, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
|
||||
{
|
||||
buttons.map((props) => {
|
||||
if (props.isHidden) return null
|
||||
|
@ -12,14 +12,14 @@ class Form extends React.PureComponent {
|
||||
} = this.props
|
||||
|
||||
return (
|
||||
<form onSubmit={onSubmit} className={_s._}>
|
||||
<form onSubmit={onSubmit} className={_s.d}>
|
||||
{
|
||||
!!errorMessage &&
|
||||
<Text color='danger' className={_s.my10}>
|
||||
{errorMessage}
|
||||
</Text>
|
||||
}
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
{children}
|
||||
</div>
|
||||
</form>
|
||||
|
@ -11,30 +11,30 @@ export default class GlobalFooter extends React.PureComponent {
|
||||
render() {
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.z4, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.left0, _s.right0, _s.bottom0, _s.w100PC, _s.bgSubtle, _s.borderTop1PX, _s.aiCenter, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s.d, _s.z4, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.left0, _s.right0, _s.bottom0, _s.w100PC, _s.bgSubtle, _s.borderTop1PX, _s.aiCenter, _s.borderColorSecondary].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.mt15, _s.mb15].join(' ')}>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w1255PX, _s.flexRow, _s.py15, _s.mt15, _s.mb15].join(' ')}
|
||||
classNamesSmall={[_s._, _s.w1255PX, _s.aiCenter, _s.pt15, _s.px15, _s.mt15].join(' ')}
|
||||
classNames={[_s.d, _s.w1255PX, _s.flexRow, _s.py15, _s.mt15, _s.mb15].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.w1255PX, _s.aiCenter, _s.pt15, _s.px15, _s.mt15].join(' ')}
|
||||
>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w330PX].join(' ')}
|
||||
classNamesSmall={[_s._, _s.aiCenter].join(' ')}
|
||||
classNames={[_s.d, _s.w330PX].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.aiCenter].join(' ')}
|
||||
>
|
||||
<div className={[_s._, _s.mb10].join(' ')}>
|
||||
<div className={[_s.d, _s.mb10].join(' ')}>
|
||||
<Icon id='logo' />
|
||||
</div>
|
||||
<div className={[_s._, _s.pr15, _s.maxW640PX].join(' ')}>
|
||||
<div className={[_s.d, _s.pr15, _s.maxW640PX].join(' ')}>
|
||||
<Text size='medium'>We build Freedom Of Speech Software. We champion free speech, individual liberty and the free flow of information online. All are welcome.</Text>
|
||||
</div>
|
||||
</ResponsiveClassesComponent>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexRow, _s.flexGrow1, _s.pl15].join(' ')}
|
||||
classNamesSmall={[_s._, _s.py15, _s.w100PC, _s.px15].join(' ')}
|
||||
classNames={[_s.d, _s.flexRow, _s.flexGrow1, _s.pl15].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.py15, _s.w100PC, _s.px15].join(' ')}
|
||||
>
|
||||
|
||||
<GlobalFooterColumn
|
||||
@ -117,13 +117,13 @@ export default class GlobalFooter extends React.PureComponent {
|
||||
</ResponsiveClassesComponent>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.aiCenter, _s.bgSecondary, _s.h100PC, _s.minH58PX, _s.w100PC, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
|
||||
<div className={[_s.d, _s.aiCenter, _s.bgSecondary, _s.h100PC, _s.minH58PX, _s.w100PC, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w1255PX, _s.flexRow, _s.aiCenter].join(' ')}
|
||||
classNamesXS={[_s._, _s.w1255PX, _s.aiCenter, _s.px15, _s.pt15].join(' ')}
|
||||
classNames={[_s.d, _s.w1255PX, _s.flexRow, _s.aiCenter].join(' ')}
|
||||
classNamesXS={[_s.d, _s.w1255PX, _s.aiCenter, _s.px15, _s.pt15].join(' ')}
|
||||
>
|
||||
|
||||
<div classNames={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div classNames={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<Text weight='bold'>
|
||||
© 2020
|
||||
</Text>
|
||||
@ -142,8 +142,8 @@ export default class GlobalFooter extends React.PureComponent {
|
||||
</div>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.aiCenter, _s.mlAuto].join(' ')}
|
||||
classNamesXS={[_s._, _s.aiCenter, _s.py15].join(' ')}
|
||||
classNames={[_s.d, _s.aiCenter, _s.mlAuto].join(' ')}
|
||||
classNamesXS={[_s.d, _s.aiCenter, _s.py15].join(' ')}
|
||||
>
|
||||
<Text>
|
||||
Made in USA 🇺🇸
|
||||
@ -181,8 +181,8 @@ class GlobalFooterColumn extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexNormal].join(' ')}
|
||||
classNamesSmall={[_s._, _s.w100PC, _s.aiCenter, _s.mt15, _s.mb5, _s.pt15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
|
||||
classNames={[_s.d, _s.flexNormal].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.w100PC, _s.aiCenter, _s.mt15, _s.mb5, _s.pt15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
|
||||
>
|
||||
<div className={_s.mb10}>
|
||||
<Heading size='h3'>{title}</Heading>
|
||||
|
@ -42,7 +42,7 @@ class GroupCollectionItem extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const navLinkClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
noUnderline: 1,
|
||||
overflowHidden: 1,
|
||||
borderColorSecondary: 1,
|
||||
@ -57,7 +57,7 @@ class GroupCollectionItem extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<NavLink
|
||||
to={`/groups/${group.get('id')}`}
|
||||
className={navLinkClasses}
|
||||
@ -73,12 +73,12 @@ class GroupCollectionItem extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
(!coverSrc || coverMissing) && (isMember || isAdmin) &&
|
||||
<div className={[_s._, _s.h40PX, _s.bgSubtle, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')} />
|
||||
<div className={[_s.d, _s.h40PX, _s.bgSubtle, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')} />
|
||||
}
|
||||
|
||||
{
|
||||
(isMember || isAdmin) &&
|
||||
<div className={[_s._, _s.flexRow, _s.posAbs, _s.top0, _s.right0, _s.pt10, _s.mr10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.posAbs, _s.top0, _s.right0, _s.pt10, _s.mr10].join(' ')}>
|
||||
{
|
||||
isMember &&
|
||||
<Text
|
||||
@ -104,12 +104,12 @@ class GroupCollectionItem extends ImmutablePureComponent {
|
||||
</div>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.px10, _s.my10].join(' ')}>
|
||||
<div className={[_s.d, _s.px10, _s.my10].join(' ')}>
|
||||
<Text color='primary' size='medium' weight='bold'>
|
||||
{group.get('title')}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.mt5, _s.mb5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.mt5, _s.mb5].join(' ')}>
|
||||
<Text color='secondary' size='small'>
|
||||
{shortNumberFormat(group.get('member_count'))}
|
||||
|
||||
|
@ -97,25 +97,25 @@ class GroupHeader extends ImmutablePureComponent {
|
||||
// {group.get('archived') && <Icon id='lock' title={intl.formatMessage(messages.group_archived)} />}
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.z1, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.z1, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<Responsive max={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary].join(' ')}>
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
|
||||
{
|
||||
coverSrc && !coverSrcMissing &&
|
||||
<Image className={_s.h200PX} src={coverSrc} alt={title} />
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.w100PC, _s.px15, _s.mt10, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.px15, _s.mt10, _s.py10].join(' ')}>
|
||||
{children}
|
||||
</div>
|
||||
|
||||
{
|
||||
!!me &&
|
||||
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter, _s.mt5, _s.pb15, _s.pt5, _s.h100PC, _s.borderBottom1PX, _s.borderColorSecondary, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter, _s.mt5, _s.pb15, _s.pt5, _s.h100PC, _s.borderBottom1PX, _s.borderColorSecondary, _s.px15].join(' ')}>
|
||||
{
|
||||
!!actionButtonTitle &&
|
||||
<Button
|
||||
@ -140,7 +140,7 @@ class GroupHeader extends ImmutablePureComponent {
|
||||
</div>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.h100PC, _s.mt5, _s.pt10, _s.pb5, _s.mb5, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.h100PC, _s.mt5, _s.pt10, _s.pb5, _s.mb5, _s.px10].join(' ')}>
|
||||
|
||||
<Pills pills={tabs} />
|
||||
|
||||
@ -152,20 +152,20 @@ class GroupHeader extends ImmutablePureComponent {
|
||||
|
||||
{ /** desktop */}
|
||||
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary, _s.bottomLeftRadiusSmall, _s.bottomRightRadiusSmall].join(' ')}>
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary, _s.bottomLeftRadiusSmall, _s.bottomRightRadiusSmall].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
|
||||
{
|
||||
coverSrc && !coverSrcMissing &&
|
||||
<Image className={_s.h350PX} src={coverSrc} alt={title} />
|
||||
}
|
||||
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.py10, _s.px10].join(' ')}>
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.py10, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
<Icon id='group' size='28px' />
|
||||
<div className={[_s._, _s.ml7, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s.d, _s.ml7, _s.flexNormal].join(' ')}>
|
||||
<Heading>
|
||||
{title}
|
||||
</Heading>
|
||||
@ -179,15 +179,15 @@ class GroupHeader extends ImmutablePureComponent {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className={[_s._, _s.h53PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.h100PC, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.h53PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.h100PC, _s.px10].join(' ')}>
|
||||
|
||||
<TabBar tabs={tabs} isLarge />
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.h100PC, _s.mlAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.h100PC, _s.mlAuto].join(' ')}>
|
||||
{
|
||||
!!me &&
|
||||
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<Button
|
||||
iconSize='18px'
|
||||
color='brand'
|
||||
|
@ -56,7 +56,7 @@ class GroupListItem extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
overflowHidden: 1,
|
||||
bgSubtle_onHover: 1,
|
||||
borderColorSecondary: 1,
|
||||
@ -67,7 +67,7 @@ class GroupListItem extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
const containerLinkClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
flexRow: 1,
|
||||
noUnderline: 1,
|
||||
w100PC: 1,
|
||||
@ -98,7 +98,7 @@ class GroupListItem extends ImmutablePureComponent {
|
||||
/>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.px10, _s.mt5, _s.flexShrink1].join(' ')}>
|
||||
<div className={[_s.d, _s.px10, _s.mt5, _s.flexShrink1].join(' ')}>
|
||||
<Text color='brand' weight='bold'>
|
||||
{group.get('title')}
|
||||
</Text>
|
||||
@ -113,7 +113,7 @@ class GroupListItem extends ImmutablePureComponent {
|
||||
</Wrapper>
|
||||
{
|
||||
isAddable &&
|
||||
<div className={[_s._, _s.jcCenter, _s.flexGrow1].join(' ')}>
|
||||
<div className={[_s.d, _s.jcCenter, _s.flexGrow1].join(' ')}>
|
||||
{
|
||||
relationships &&
|
||||
<Button
|
||||
|
@ -19,9 +19,9 @@ class HashtagItem extends ImmutablePureComponent {
|
||||
return (
|
||||
<NavLink
|
||||
to={`/tags/${hashtag.get('name')}`}
|
||||
className={[_s._, _s.noUnderline, _s.bgSubtle_onHover, _s.px15, _s.py5].join(' ')}
|
||||
className={[_s.d, _s.noUnderline, _s.bgSubtle_onHover, _s.px15, _s.py5].join(' ')}
|
||||
>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div>
|
||||
<Text color='brand' size='medium' weight='bold' className={[_s.py2, _s.lineHeight15].join(' ')}>
|
||||
#{hashtag.get('name')}
|
||||
|
@ -36,7 +36,7 @@ class Heading extends React.PureComponent {
|
||||
|
||||
// Each size has it's own custom style
|
||||
const classes = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
text: 1,
|
||||
textAlignCenter: isCentered,
|
||||
|
||||
|
@ -28,7 +28,7 @@ class Image extends React.PureComponent {
|
||||
const { error } = this.state
|
||||
|
||||
const classes = cx(className, {
|
||||
_: 1,
|
||||
d: 1,
|
||||
objectFitCover: !!src && fit === 'cover',
|
||||
bgSecondary: !src,
|
||||
})
|
||||
|
@ -142,7 +142,7 @@ class ImageLoader extends React.PureComponent {
|
||||
// }
|
||||
|
||||
const className = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
w100PC: 1,
|
||||
h100PC: 1,
|
||||
// 'image-loader--loading': loading,
|
||||
@ -154,7 +154,7 @@ class ImageLoader extends React.PureComponent {
|
||||
<LoadingBar loading={loading ? 1 : 0} className='loading-bar' style={{ width: this.state.width || width }} />
|
||||
{loading ? (
|
||||
<canvas
|
||||
className={[_s._, _s.objectFitCover].join(' ')}
|
||||
className={[_s.d, _s.objectFitCover].join(' ')}
|
||||
ref={this.setCanvasRef}
|
||||
width={width}
|
||||
height={height}
|
||||
|
@ -34,7 +34,7 @@ class Input extends React.PureComponent {
|
||||
} = this.props
|
||||
|
||||
const inputClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
text: 1,
|
||||
outlineNone: 1,
|
||||
lineHeight125: !small,
|
||||
@ -65,13 +65,13 @@ class Input extends React.PureComponent {
|
||||
<React.Fragment>
|
||||
{
|
||||
!!title && !hideLabel &&
|
||||
<div className={[_s._, _s.mb10, _s.pl15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb10, _s.pl15].join(' ')}>
|
||||
<Text htmlFor={id} size='small' weight='medium' color='secondary' tagName='label'>
|
||||
{title}
|
||||
</Text>
|
||||
</div>
|
||||
}
|
||||
<div className={[_s._, _s.flexGrow1, _s.bgPrimary, _s.border1PX, _s.borderColorSecondary, _s.flexRow, _s.circle, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexGrow1, _s.bgPrimary, _s.border1PX, _s.borderColorSecondary, _s.flexRow, _s.circle, _s.aiCenter].join(' ')}>
|
||||
{
|
||||
!!prependIcon &&
|
||||
<Icon id={prependIcon} size='16px' className={[_s.cPrimary, _s.ml15, _s.mr5].join(' ')} />
|
||||
|
@ -72,14 +72,14 @@ class LinkFooter extends React.PureComponent {
|
||||
]
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px10: !noPadding,
|
||||
mb15: 1,
|
||||
})
|
||||
|
||||
return (
|
||||
<div className={containerClasses}>
|
||||
<nav aria-label='Footer' role='navigation' className={[_s._, _s.flexWrap, _s.flexRow].join(' ')}>
|
||||
<nav aria-label='Footer' role='navigation' className={[_s.d, _s.flexWrap, _s.flexRow].join(' ')}>
|
||||
{
|
||||
linkFooterItems.map((linkFooterItem, i) => {
|
||||
if (linkFooterItem.requiresUser && !me) return null
|
||||
|
@ -35,7 +35,7 @@ class ListItem extends React.PureComponent {
|
||||
|
||||
if (!title) {
|
||||
return (
|
||||
<div className={[_s._, _s.bgSecondary, _s.w100PC, _s.h4PX].join(' ')} />
|
||||
<div className={[_s.d, _s.bgSecondary, _s.w100PC, _s.h4PX].join(' ')} />
|
||||
)
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ class ListItem extends React.PureComponent {
|
||||
const showActive = isActive !== undefined
|
||||
|
||||
const containerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
cursorPointer: 1,
|
||||
noUnderline: 1,
|
||||
px15: !small,
|
||||
@ -81,7 +81,7 @@ class ListItem extends React.PureComponent {
|
||||
})
|
||||
|
||||
const textContainerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
pr5: 1,
|
||||
maxW100PC42PX: !hideArrow || showActive,
|
||||
})
|
||||
|
@ -20,7 +20,7 @@ class LoadMore extends React.PureComponent {
|
||||
if (!visible || disabled) return null
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.py15, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.py15, _s.px10].join(' ')}>
|
||||
<Button
|
||||
isBlock
|
||||
radiusSmall
|
||||
|
@ -15,19 +15,19 @@ class LoggedOutNavigationBar extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}
|
||||
classNamesXS={[_s._, _s.z4, _s.minH98PX, _s.w100PC].join(' ')}
|
||||
classNames={[_s.d, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}
|
||||
classNamesXS={[_s.d, _s.z4, _s.minH98PX, _s.w100PC].join(' ')}
|
||||
>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
|
||||
classNamesXS={[_s._, _s.minH98PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
|
||||
classNames={[_s.d, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
|
||||
classNamesXS={[_s.d, _s.minH98PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.w1255PX, _s.flexRow, _s.flexWrap, _s.h100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.w1255PX, _s.flexRow, _s.flexWrap, _s.h100PC].join(' ')}>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.aiCenter, _s.jcCenter, _s.flexRow, _s.flexGrow1, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR].join(' ')}
|
||||
classNamesXS={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w100PC].join(' ')}
|
||||
classNames={[_s.d, _s.aiCenter, _s.jcCenter, _s.flexRow, _s.flexGrow1, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR].join(' ')}
|
||||
classNamesXS={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w100PC].join(' ')}
|
||||
>
|
||||
|
||||
<Button
|
||||
@ -41,7 +41,7 @@ class LoggedOutNavigationBar extends React.PureComponent {
|
||||
{
|
||||
isProfile &&
|
||||
<ResponsiveComponent min={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={[_s._, _s.flexRow, _s.mr15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mr15].join(' ')}>
|
||||
<NavigationBarButton title='Home' icon='home' href='/home' />
|
||||
<NavigationBarButton title='Explore' icon='explore' to='/explore' />
|
||||
<NavigationBarButton title='News' icon='news' to='/news' />
|
||||
@ -49,15 +49,15 @@ class LoggedOutNavigationBar extends React.PureComponent {
|
||||
</ResponsiveComponent>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.flexGrow1, _s.pr10, _s.mrAuto, _s.maxW640PX].join(' ')}>
|
||||
<div className={[_s.d, _s.flexGrow1, _s.pr10, _s.mrAuto, _s.maxW640PX].join(' ')}>
|
||||
<Search isInNav />
|
||||
</div>
|
||||
|
||||
</ResponsiveClassesComponent>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexRow, _s.py5, _s.px10, _s.w330PX, _s.mlAuto].join(' ')}
|
||||
classNamesXS={[_s._, _s.flexRow, _s.pb5, _s.px10, _s.w100PC].join(' ')}
|
||||
classNames={[_s.d, _s.flexRow, _s.py5, _s.px10, _s.w330PX, _s.mlAuto].join(' ')}
|
||||
classNamesXS={[_s.d, _s.flexRow, _s.pb5, _s.px10, _s.w100PC].join(' ')}
|
||||
>
|
||||
|
||||
<Button
|
||||
|
@ -65,21 +65,21 @@ class Sidebar extends React.PureComponent {
|
||||
]
|
||||
|
||||
return (
|
||||
<header role='banner' className={[_s._, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
|
||||
<div className={[_s._, _s.w240PX].join(' ')}>
|
||||
<div className={[_s._, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}>
|
||||
<div className={[_s._, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<header role='banner' className={[_s.d, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
|
||||
<div className={[_s.d, _s.w240PX].join(' ')}>
|
||||
<div className={[_s.d, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}>
|
||||
<div className={[_s.d, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
{
|
||||
!!title &&
|
||||
<div className={[_s._, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
|
||||
<Heading size='h1'>
|
||||
{title}
|
||||
</Heading>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<nav aria-label='Primary' role='navigation' className={[_s._, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<nav aria-label='Primary' role='navigation' className={[_s.d, _s.w100PC, _s.mb15].join(' ')}>
|
||||
<SidebarSectionTitle>{intl.formatMessage(messages.menu)}</SidebarSectionTitle>
|
||||
{
|
||||
menuItems.map((menuItem, i) => {
|
||||
|
@ -130,9 +130,9 @@ class Item extends ImmutablePureComponent {
|
||||
|
||||
if (attachment.get('type') === 'unknown') {
|
||||
return (
|
||||
<div className={[_s._, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, borderRadius, width: `${width}%` }}>
|
||||
<a className={[_s._, _s.heigh100PC, _s.w100PC, _s.cursorPointer].join(' ')} href={attachment.get('remote_url')} target='_blank' rel='noreferrer noopener'>
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s._, _s.heigh100PC, _s.w100PC].join(' ')} />
|
||||
<div className={[_s.d, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, borderRadius, width: `${width}%` }}>
|
||||
<a className={[_s.d, _s.heigh100PC, _s.w100PC, _s.cursorPointer].join(' ')} href={attachment.get('remote_url')} target='_blank' rel='noreferrer noopener'>
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s.d, _s.heigh100PC, _s.w100PC].join(' ')} />
|
||||
</a>
|
||||
</div>
|
||||
)
|
||||
@ -155,7 +155,7 @@ class Item extends ImmutablePureComponent {
|
||||
|
||||
thumbnail = (
|
||||
<a
|
||||
className={[_s._, _s.overflowHidden, _s.h100PC, _s.w100PC, _s.cursorPointer].join(' ')}
|
||||
className={[_s.d, _s.overflowHidden, _s.h100PC, _s.w100PC, _s.cursorPointer].join(' ')}
|
||||
href={attachment.get('remote_url') || originalUrl}
|
||||
onClick={this.handleClick}
|
||||
target='_blank'
|
||||
@ -178,9 +178,9 @@ class Item extends ImmutablePureComponent {
|
||||
const autoPlay = !isIOS() && autoPlayGif !== false;
|
||||
|
||||
thumbnail = (
|
||||
<div className={[_s._, _s.overflowHidden, _s.heigh100PC, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.overflowHidden, _s.heigh100PC, _s.w100PC].join(' ')}>
|
||||
<video
|
||||
className={[_s._, _s.cursorPointer, _s.objectFitCover, _s.w100PC, _s.h100PC, _s.z1].join(' ')}
|
||||
className={[_s.d, _s.cursorPointer, _s.objectFitCover, _s.w100PC, _s.h100PC, _s.z1].join(' ')}
|
||||
aria-label={attachment.get('description')}
|
||||
title={attachment.get('description')}
|
||||
role='application'
|
||||
@ -196,7 +196,7 @@ class Item extends ImmutablePureComponent {
|
||||
playsInline
|
||||
/>
|
||||
|
||||
<div className={[_s._, _s.posAbs, _s.z2, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr10, _s.mb10, _s.bottom0, _s.right0].join(' ')}>
|
||||
<div className={[_s.d, _s.posAbs, _s.z2, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr10, _s.mb10, _s.bottom0, _s.right0].join(' ')}>
|
||||
<Text size='extraSmall' color='white' weight='medium'>GIF</Text>
|
||||
</div>
|
||||
</div>
|
||||
@ -207,7 +207,7 @@ class Item extends ImmutablePureComponent {
|
||||
<div className={[_s.defeault, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, width: `${width}%` }}>
|
||||
{
|
||||
!visible && !this.state.loaded &&
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s._, _s.heigh100PC, _s.w100PC].join(' ')} />
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s.d, _s.heigh100PC, _s.w100PC].join(' ')} />
|
||||
}
|
||||
{visible && thumbnail}
|
||||
</div>
|
||||
@ -515,7 +515,7 @@ class MediaGallery extends React.PureComponent {
|
||||
))
|
||||
|
||||
const containerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
displayBlock: 1,
|
||||
overflowHidden: 1,
|
||||
borderColorSecondary: size === 1 && visible,
|
||||
@ -538,7 +538,7 @@ class MediaGallery extends React.PureComponent {
|
||||
|
||||
{
|
||||
visible &&
|
||||
<div className={[_s._, _s.displayBlock, _s.w100PC, _s.h100PC, _s.overflowHidden].join(' ')}>
|
||||
<div className={[_s.d, _s.displayBlock, _s.w100PC, _s.h100PC, _s.overflowHidden].join(' ')}>
|
||||
{children}
|
||||
</div>
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const containerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
posAbs: 1,
|
||||
top0: 1,
|
||||
h100PC: 1,
|
||||
@ -87,7 +87,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
const linkClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
w100PC: 1,
|
||||
h100PC: 1,
|
||||
overflowHidden: 1,
|
||||
@ -98,7 +98,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
const statusUrl = `/${account.getIn(['acct'])}/posts/${status.get('id')}`;
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.w25PC, _s.pt25PC].join(' ')}>
|
||||
<div className={[_s.d, _s.w25PC, _s.pt25PC].join(' ')}>
|
||||
<div className={containerClasses}>
|
||||
<NavLink
|
||||
to={statusUrl}
|
||||
@ -111,7 +111,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
height='100%'
|
||||
width='100%'
|
||||
ref={this.setCanvasRef}
|
||||
className={[_s._, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
|
||||
className={[_s.d, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
|
||||
/>
|
||||
}
|
||||
|
||||
@ -127,7 +127,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
/>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.aiCenter, _s.jcCenter, _s.h100PC, _s.w100PC, _s.z3, _s.posAbs].join(' ')}>
|
||||
<div className={[_s.d, _s.aiCenter, _s.jcCenter, _s.h100PC, _s.w100PC, _s.z3, _s.posAbs].join(' ')}>
|
||||
{
|
||||
!visible &&
|
||||
<Icon
|
||||
@ -139,7 +139,7 @@ class MediaItem extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
!!badge &&
|
||||
<div className={[_s._, _s.posAbs, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr5, _s.mt5, _s.mb5, _s.bottom0, _s.right0].join(' ')}>
|
||||
<div className={[_s.d, _s.posAbs, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr5, _s.mt5, _s.mb5, _s.bottom0, _s.right0].join(' ')}>
|
||||
<Text size='extraSmall' color='white'>
|
||||
{badge}
|
||||
</Text>
|
||||
|
@ -40,7 +40,7 @@ class BoostModal extends ImmutablePureComponent {
|
||||
onClose={onClose}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.px15, _s.py10, _s.mt5].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10, _s.mt5].join(' ')}>
|
||||
<StatusContainer
|
||||
contextType='boost-modal'
|
||||
id={status.get('id')}
|
||||
@ -48,11 +48,11 @@ class BoostModal extends ImmutablePureComponent {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.jcCenter, _s.px15, _s.mt5, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.jcCenter, _s.px15, _s.mt5, _s.mb15].join(' ')}>
|
||||
<Text align='center'>
|
||||
{intl.formatMessage(messages.combo)}
|
||||
</Text>
|
||||
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.my10, _s.pt15, _s.pb5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.my10, _s.pt15, _s.pb5].join(' ')}>
|
||||
<Button onClick={this.handleRepost} buttonRef={this.setRef}>
|
||||
<Text color='inherit' className={_s.px15}>
|
||||
{intl.formatMessage(buttonText)}
|
||||
|
@ -31,7 +31,7 @@ class CommunityTimelineSettingsModal extends ImmutablePureComponent {
|
||||
title={intl.formatMessage(messages.title)}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.pb10].join(' ')}>
|
||||
<div className={[_s.d, _s.pb10].join(' ')}>
|
||||
<SettingSwitch
|
||||
prefix='community_timeline'
|
||||
settings={settings}
|
||||
|
@ -37,19 +37,19 @@ class ConfirmationModal extends React.PureComponent {
|
||||
return (
|
||||
<div className={_s.w330PX}>
|
||||
<Block>
|
||||
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
|
||||
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
|
||||
|
||||
<Heading size='h1' isCentered>
|
||||
{title}
|
||||
</Heading>
|
||||
|
||||
<div className={[_s._, _s.mt10].join(' ')}>
|
||||
<div className={[_s.d, _s.mt10].join(' ')}>
|
||||
<Text align='center' color='secondary'>
|
||||
{message}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.mt10, _s.pt10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mt10, _s.pt10].join(' ')}>
|
||||
<Button
|
||||
backgroundColor='tertiary'
|
||||
color='primary'
|
||||
|
@ -51,19 +51,19 @@ class DisplayOptionsModal extends ImmutablePureComponent {
|
||||
title={intl.formatMessage(messages.title)}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb15].join(' ')}>
|
||||
<Text align='center' color='secondary' size='medium'>
|
||||
{intl.formatMessage(messages.message)}
|
||||
</Text>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb15].join(' ')}>
|
||||
<Text weight='bold' size='small' color='secondary'>
|
||||
Font Size
|
||||
</Text>
|
||||
<div className={[_s._, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s._, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '12px'}}>
|
||||
<div className={[_s.d, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s.d, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '12px'}}>
|
||||
Aa
|
||||
</span>
|
||||
<input
|
||||
@ -75,18 +75,18 @@ class DisplayOptionsModal extends ImmutablePureComponent {
|
||||
onChange={this.handleOnFontSizeChange}
|
||||
className={[_s.flexGrow1, _s.outlineNone, _s.ml15, _s.mr15].join(' ')}
|
||||
/>
|
||||
<span className={[_s._, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '18px'}}>
|
||||
<span className={[_s.d, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '18px'}}>
|
||||
Aa
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb15].join(' ')}>
|
||||
<Text weight='bold' size='small' color='secondary'>
|
||||
Rounded
|
||||
</Text>
|
||||
<div className={[_s._, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
|
||||
<div className={[_s.d, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
|
||||
<SettingSwitch
|
||||
prefix='displayOptions'
|
||||
settings={displayOptionsSettings}
|
||||
@ -105,11 +105,11 @@ class DisplayOptionsModal extends ImmutablePureComponent {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.mb10].join(' ')}>
|
||||
<div className={[_s.d, _s.mb10].join(' ')}>
|
||||
<Text weight='bold' size='small' color='secondary'>
|
||||
Theme
|
||||
</Text>
|
||||
<div className={[_s._, _s.radiusSmall, _s.flexRow, _s.mt10, _s.py10, _s.bgTertiary].join(' ')}>
|
||||
<div className={[_s.d, _s.radiusSmall, _s.flexRow, _s.mt10, _s.py10, _s.bgTertiary].join(' ')}>
|
||||
|
||||
<ThemeBlock
|
||||
title='Light'
|
||||
@ -186,9 +186,9 @@ class ThemeBlock extends React.PureComponent {
|
||||
const id = `theme-${value}`
|
||||
|
||||
return (
|
||||
<label className={[_s._, _s.px10, _s.flexGrow1].join(' ')} htmlFor={id}>
|
||||
<label className={[_s.d, _s.px10, _s.flexGrow1].join(' ')} htmlFor={id}>
|
||||
<div
|
||||
className={[_s._, _s.borderBottom6PX, _s.aiCenter, _s.flexRow, _s.py10, _s.px15, _s.radiusSmall].join(' ')}
|
||||
className={[_s.d, _s.borderBottom6PX, _s.aiCenter, _s.flexRow, _s.py10, _s.px15, _s.radiusSmall].join(' ')}
|
||||
style={style}
|
||||
>
|
||||
<input
|
||||
|
@ -115,9 +115,9 @@ class EditProfileModal extends ImmutablePureComponent {
|
||||
const isVerified = account.get('is_verified')
|
||||
|
||||
return (
|
||||
<div style={{ width: '440px' }} className={[_s._, _s.modal].join(' ')}>
|
||||
<div style={{ width: '440px' }} className={[_s.d, _s.modal].join(' ')}>
|
||||
<Block>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<Button
|
||||
backgroundColor='none'
|
||||
title={intl.formatMessage(messages.close)}
|
||||
@ -138,8 +138,8 @@ class EditProfileModal extends ImmutablePureComponent {
|
||||
{intl.formatMessage(messages.save)}
|
||||
</Button>
|
||||
</div>
|
||||
<div className={[_s._, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s._, _s.w100PC, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.aiCenter].join(' ')}>
|
||||
<FileInput
|
||||
width='440px'
|
||||
height='180px'
|
||||
@ -147,7 +147,7 @@ class EditProfileModal extends ImmutablePureComponent {
|
||||
onChange={this.handleCoverPhotoChange}
|
||||
file={headerSrc}
|
||||
/>
|
||||
<div className={[_s._, _s.mtNeg50PX, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.mtNeg50PX, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<FileInput
|
||||
width='132px'
|
||||
height='132px'
|
||||
@ -157,7 +157,7 @@ class EditProfileModal extends ImmutablePureComponent {
|
||||
onChange={this.handleProfilePhotoChange}
|
||||
/>
|
||||
</div>
|
||||
<div className={[_s._, _s.py5, _s.px15, _s.mt5, _s.mb15, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.py5, _s.px15, _s.mt5, _s.mb15, _s.w100PC].join(' ')}>
|
||||
{
|
||||
!isVerified &&
|
||||
<React.Fragment>
|
||||
@ -182,7 +182,7 @@ class EditProfileModal extends ImmutablePureComponent {
|
||||
|
||||
<Divider isInvisible />
|
||||
|
||||
<div className={[_s._, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.px10].join(' ')}>
|
||||
<Switch
|
||||
label='Private account'
|
||||
checked={locked}
|
||||
|
@ -55,12 +55,12 @@ class EmbedModal extends ImmutablePureComponent {
|
||||
title={intl.formatMessage(messages.embed)}
|
||||
onClose={onClose}
|
||||
>
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<Text className={_s.my10}>
|
||||
{intl.formatMessage(messages.instructions)}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.mb10].join(' ')}>
|
||||
<div className={[_s.d, _s.mb10].join(' ')}>
|
||||
<Input
|
||||
readOnly
|
||||
type='text'
|
||||
@ -76,9 +76,9 @@ class EmbedModal extends ImmutablePureComponent {
|
||||
{intl.formatMessage(messages.preview)}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.w100PC, _s.bgSubtle, _s.h220PX, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.bgSubtle, _s.h220PX, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<iframe
|
||||
className={[_s._, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
|
||||
className={[_s.d, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
|
||||
frameBorder='0'
|
||||
ref={this.setIframeRef}
|
||||
sandbox='allow-same-origin'
|
||||
|
@ -55,8 +55,8 @@ class GifPickerModal extends React.PureComponent {
|
||||
return (
|
||||
<div style={{ width: '560px' }}>
|
||||
<Block>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<div className={[_s._, _s.flexGrow1, _s.mr5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexGrow1, _s.mr5].join(' ')}>
|
||||
<Input
|
||||
onChange={this.onChange}
|
||||
value={searchText}
|
||||
@ -74,7 +74,7 @@ class GifPickerModal extends React.PureComponent {
|
||||
iconSize='10px'
|
||||
/>
|
||||
</div>
|
||||
<div className={[_s._, _s.minH50VH, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s.d, _s.minH50VH, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
|
||||
{
|
||||
error &&
|
||||
<ColumnIndicator type='error' />
|
||||
@ -86,7 +86,7 @@ class GifPickerModal extends React.PureComponent {
|
||||
|
||||
{
|
||||
(results.length > 0 || categories.length > 0) &&
|
||||
<div className={[_s._, _s.w100PC, _s.h100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.h100PC].join(' ')}>
|
||||
{
|
||||
results.length === 0 && categories.length > 0 &&
|
||||
<GifCategoriesCollection categories={categories} handleSelectCategory={this.handleSelectCategory} />
|
||||
@ -119,13 +119,13 @@ class GifResultsCollectionColumn extends React.PureComponent {
|
||||
const { results } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s.d, _s.flexNormal].join(' ')}>
|
||||
{
|
||||
results.map((result, i) => (
|
||||
<button
|
||||
key={`gif-result-item-${i}`}
|
||||
onClick={() => this.onClick(result)}
|
||||
className={[_s._, _s.outlineNone, _s.bgTransparent, _s.cursorPointer, _s.px2, _s.py2].join(' ')}
|
||||
className={[_s.d, _s.outlineNone, _s.bgTransparent, _s.cursorPointer, _s.px2, _s.py2].join(' ')}
|
||||
>
|
||||
<Image
|
||||
height={result.media[0].tinygif.dims[1]}
|
||||
@ -155,7 +155,7 @@ class GifResultsCollection extends React.PureComponent {
|
||||
const columnIndex = 10
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.h100PC, _s.flexRow, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.h100PC, _s.flexRow, _s.w100PC].join(' ')}>
|
||||
<GifResultsCollectionColumn
|
||||
results={results.slice(0, columnIndex)}
|
||||
handleSelectGifResult={handleSelectGifResult}
|
||||
@ -187,20 +187,20 @@ class GifCategoriesCollection extends React.PureComponent {
|
||||
const { categories } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.h100PC, _s.w100PC, _s.flexRow, _s.flexWrap].join(' ')}>
|
||||
<div className={[_s.d, _s.h100PC, _s.w100PC, _s.flexRow, _s.flexWrap].join(' ')}>
|
||||
{
|
||||
categories.map((category, i) => (
|
||||
<button
|
||||
key={`gif-category-${i}`}
|
||||
onClick={() => this.onClick(category.searchterm)}
|
||||
className={[_s._, _s.outlineNone, _s.bgTransparent, _s.px2, _s.py2, _s.w50PC].join(' ')}
|
||||
className={[_s.d, _s.outlineNone, _s.bgTransparent, _s.px2, _s.py2, _s.w50PC].join(' ')}
|
||||
>
|
||||
<div className={[_s._, _s.cursorPointer].join(' ')}>
|
||||
<div className={[_s.d, _s.cursorPointer].join(' ')}>
|
||||
<Image
|
||||
height={150}
|
||||
src={category.image}
|
||||
/>
|
||||
<div className={[_s._, _s.posAbs, _s.videoPlayerControlsBackground, _s.right0, _s.bottom0, _s.left0, _s.py10, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.posAbs, _s.videoPlayerControlsBackground, _s.right0, _s.bottom0, _s.left0, _s.py10, _s.px10].join(' ')}>
|
||||
<Text color='white' weight='bold' size='extraLarge'>
|
||||
{category.searchterm}
|
||||
</Text>
|
||||
|
@ -20,7 +20,7 @@ class HomeTimelineSettingsModal extends ImmutablePureComponent {
|
||||
{intl.formatMessage(messages.benefits)}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.my10].join(' ')}>
|
||||
<div className={[_s.d, _s.my10].join(' ')}>
|
||||
<Text>• Schedule Posts</Text>
|
||||
<Text>• Get Verified</Text>
|
||||
<Text>• Create Groups</Text>
|
||||
|
@ -28,7 +28,7 @@ class HashtagTimelineSettingsModal extends ImmutablePureComponent {
|
||||
onClose={onClose}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.pb10].join(' ')}>
|
||||
<div className={[_s.d, _s.pb10].join(' ')}>
|
||||
<SettingSwitch
|
||||
prefix='community_timeline'
|
||||
settings={settings}
|
||||
|
@ -26,7 +26,7 @@ class HomeTimelineSettingsModal extends ImmutablePureComponent {
|
||||
onClose={onClose}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.pb10].join(' ')}>
|
||||
<div className={[_s.d, _s.pb10].join(' ')}>
|
||||
{
|
||||
/*
|
||||
<SettingSwitch
|
||||
|
@ -16,7 +16,7 @@ class HotkeysModal extends ImmutablePureComponent {
|
||||
title={intl.formatMessage(messages.heading)}
|
||||
onClose={onClose}
|
||||
>
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -42,12 +42,12 @@ class ListAddUserModal extends ImmutablePureComponent {
|
||||
title={title}
|
||||
onClose={onClose}
|
||||
>
|
||||
<div className={[_s._, _s.boxShadowNone].join(' ')}>
|
||||
<div className={[_s.d, _s.boxShadowNone].join(' ')}>
|
||||
<div>
|
||||
{
|
||||
lists && lists.map((list) => {
|
||||
return (
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.py10, _s.px15, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.py10, _s.px15, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')}>
|
||||
<Text color='primary' size='large' className={[_s.overflowHidden, _s.flexNormal, _s.pr5, _s.textOverflowEllipsis].join(' ')}>
|
||||
{list.get('title')}
|
||||
</Text>
|
||||
|
@ -26,7 +26,7 @@ class ListTimelineSettingsModal extends ImmutablePureComponent {
|
||||
onClose={onClose}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.pb10].join(' ')}>
|
||||
<div className={[_s.d, _s.pb10].join(' ')}>
|
||||
<SettingSwitch
|
||||
prefix='list_timeline'
|
||||
settings={settings}
|
||||
|
@ -5,8 +5,8 @@ import ColumnIndicator from '../column_indicator'
|
||||
const LoadingModal = () => (
|
||||
<div className={_s.w330PX}>
|
||||
<Block>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<ColumnIndicator type='loading' />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -173,14 +173,14 @@ class MediaModal extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const navigationClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
displayNone: navigationHidden,
|
||||
})
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div
|
||||
className={[_s._, _s.posAbs, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
|
||||
className={[_s.d, _s.posAbs, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
|
||||
role='presentation'
|
||||
onClick={onClose}
|
||||
>
|
||||
@ -254,8 +254,8 @@ class MediaModal extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
media.size > 1 &&
|
||||
<div className={[_s._, _s.posAbs, _s.bottom0, _s.mb15].join(' ')}>
|
||||
<div className={[_s._, _s.saveAreaInsetMB, _s.bgBlackOpaque, _s.circle, _s.py10, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.posAbs, _s.bottom0, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.saveAreaInsetMB, _s.bgBlackOpaque, _s.circle, _s.py10, _s.px15].join(' ')}>
|
||||
<Pagination
|
||||
count={media.size}
|
||||
activeIndex={index}
|
||||
|
@ -109,7 +109,7 @@ class ModalBase extends React.PureComponent {
|
||||
const visible = !!children
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
z4: 1,
|
||||
h100PC: visible,
|
||||
w100PC: visible,
|
||||
@ -117,7 +117,7 @@ class ModalBase extends React.PureComponent {
|
||||
})
|
||||
|
||||
const dialogClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
posFixed: 1,
|
||||
aiCenter: 1,
|
||||
jcCenter: !isXS || isCenteredXS,
|
||||
@ -138,7 +138,7 @@ class ModalBase extends React.PureComponent {
|
||||
<React.Fragment>
|
||||
<div
|
||||
role='presentation'
|
||||
className={[_s._, _s.bgBlackOpaque, _s.posFixed, _s.z3, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
|
||||
className={[_s.d, _s.bgBlackOpaque, _s.posFixed, _s.z3, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
|
||||
/>
|
||||
<div
|
||||
ref={this.setDialog}
|
||||
|
@ -26,7 +26,7 @@ class ModalLayout extends React.PureComponent {
|
||||
} = this.props
|
||||
|
||||
const childrenContainerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
maxH80VH: 1,
|
||||
overflowYScroll: 1,
|
||||
px15: !noPadding,
|
||||
@ -34,9 +34,9 @@ class ModalLayout extends React.PureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<div style={{width: `${width}px`}} className={[_s._, _s.modal].join(' ')}>
|
||||
<div style={{width: `${width}px`}} className={[_s.d, _s.modal].join(' ')}>
|
||||
<Block>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<Heading size='h2'>
|
||||
{title}
|
||||
</Heading>
|
||||
|
@ -25,8 +25,8 @@ class ProUpgradeModal extends ImmutablePureComponent {
|
||||
const imgSuffix = (theme === 'light' || !theme) ? 'light' : 'dark'
|
||||
|
||||
const title = (
|
||||
<span className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s._, _s.mr2].join(' ')}>
|
||||
<span className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s.d, _s.mr2].join(' ')}>
|
||||
Upgrade to Gab
|
||||
</span>
|
||||
<span className={[_s.bgPro, _s.cBlack, _s.radiusSmall, _s.px5, _s.py5].join(' ')}>PRO</span>
|
||||
@ -46,7 +46,7 @@ class ProUpgradeModal extends ImmutablePureComponent {
|
||||
{intl.formatMessage(messages.benefits)}
|
||||
</Text>
|
||||
|
||||
<div className={[_s._, _s.my10].join(' ')}>
|
||||
<div className={[_s.d, _s.my10].join(' ')}>
|
||||
<Image
|
||||
src={`/headers/pro-features-${imgSuffix}.png`}
|
||||
width='100%'
|
||||
@ -56,7 +56,7 @@ class ProUpgradeModal extends ImmutablePureComponent {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.py10].join(' ')}>
|
||||
<Button
|
||||
isOutline
|
||||
color='brand'
|
||||
|
@ -63,12 +63,12 @@ class ReportModal extends ImmutablePureComponent {
|
||||
>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexRow].join(' ')}
|
||||
classNamesSmall={[_s._, _s.flexColumnReverse].join(' ')}
|
||||
classNames={[_s.d, _s.flexRow].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.flexColumnReverse].join(' ')}
|
||||
>
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w50PC, _s.py10, _s.px15, _s.borderRight1PX, _s.borderColorSecondary].join(' ')}
|
||||
classNamesSmall={[_s._, _s.w100PC, _s.py10, _s.px15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
|
||||
classNames={[_s.d, _s.w50PC, _s.py10, _s.px15, _s.borderRight1PX, _s.borderColorSecondary].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.w100PC, _s.py10, _s.px15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
|
||||
>
|
||||
<Text color='secondary' size='small'>
|
||||
{intl.formatMessage(messages.hint)}
|
||||
@ -95,10 +95,10 @@ class ReportModal extends ImmutablePureComponent {
|
||||
</ResponsiveClassesComponent>
|
||||
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.w50PC, _s.maxH80VH].join(' ')}
|
||||
classNamesSmall={[_s._, _s.w100PC, _s.h260PX].join(' ')}
|
||||
classNames={[_s.d, _s.w50PC, _s.maxH80VH].join(' ')}
|
||||
classNamesSmall={[_s.d, _s.w100PC, _s.h260PX].join(' ')}
|
||||
>
|
||||
<div className={[_s._, _s.h100PC, _s.overflowYScroll, _s.pr15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.h100PC, _s.overflowYScroll, _s.pr15, _s.py10].join(' ')}>
|
||||
{
|
||||
statusIds.map(statusId => (
|
||||
<StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />
|
||||
|
@ -32,14 +32,14 @@ class StatusRevisionsModal extends ImmutablePureComponent {
|
||||
width={480}
|
||||
onClose={onClose}
|
||||
>
|
||||
<div className={[_s._]}>
|
||||
<div className={[_s.d]}>
|
||||
{
|
||||
revisions.map((revision, i) => {
|
||||
const isFirst = i === 0
|
||||
const isLast = i === revisions.size - 1
|
||||
|
||||
const containerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
pt5: 1,
|
||||
pb10: 1,
|
||||
mt5: !isFirst,
|
||||
@ -49,12 +49,12 @@ class StatusRevisionsModal extends ImmutablePureComponent {
|
||||
|
||||
return (
|
||||
<div key={`status-revision-${i}`} className={containerClasses}>
|
||||
<div className={[_s._, _s.pb5].join(' ')}>
|
||||
<div className={[_s.d, _s.pb5].join(' ')}>
|
||||
<Text size='medium'>
|
||||
{revision.get('text')}
|
||||
</Text>
|
||||
</div>
|
||||
<div className={[_s._]}>
|
||||
<div className={[_s.d]}>
|
||||
<Text size='small' color='secondary'>
|
||||
Edited on <RelativeTimestamp timestamp={revision.get('created_at')} />
|
||||
</Text>
|
||||
|
@ -18,8 +18,8 @@ class UnauthorizedModal extends ImmutablePureComponent {
|
||||
onClose={onClose}
|
||||
width={480}
|
||||
>
|
||||
<div className={[_s._, _s.mt15, _s.mb15, _s.px15, _s.pb15].join(' ')}>
|
||||
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
|
||||
<div className={[_s.d, _s.mt15, _s.mb15, _s.px15, _s.pb15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
|
||||
<Text className={[_s.px15, _s.py15, _s.mb15]} size='medium' weight='medium' align='center'>
|
||||
{intl.formatMessage(messages.text)}
|
||||
</Text>
|
||||
|
@ -45,17 +45,17 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
} = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s._, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
<div className={[_s.d, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
|
||||
|
||||
<div className={[_s._, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.flexRow, _s.w1255PX].join(' ')}>
|
||||
<div className={[_s.d, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.flexRow, _s.w1255PX].join(' ')}>
|
||||
|
||||
{ /** Default */}
|
||||
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
|
||||
|
||||
<div className={[_s._, _s.flexRow].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow].join(' ')}>
|
||||
|
||||
<h1 className={[_s._, _s.mr15].join(' ')}>
|
||||
<h1 className={[_s.d, _s.mr15].join(' ')}>
|
||||
<Button
|
||||
to='/'
|
||||
isText
|
||||
@ -63,7 +63,7 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
aria-label='Gab'
|
||||
color='none'
|
||||
backgroundColor='none'
|
||||
className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
|
||||
className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
|
||||
>
|
||||
<Icon id='logo' className={_s.fillNavigationBrand} />
|
||||
</Button>
|
||||
@ -71,28 +71,28 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
!noSearch &&
|
||||
<div className={[_s._, _s.w340PX, _s.mr10].join(' ')}>
|
||||
<div className={[_s.d, _s.w340PX, _s.mr10].join(' ')}>
|
||||
<Search isInNav />
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.mlAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.mlAuto].join(' ')}>
|
||||
{
|
||||
!noActions &&
|
||||
<div className={[_s._, _s.h53PX, _s.pl15, _s.flexRow, _s.aiCenter, _s.jcSpaceBetween].join(' ')}>
|
||||
<div className={[_s.d, _s.h53PX, _s.pl15, _s.flexRow, _s.aiCenter, _s.jcSpaceBetween].join(' ')}>
|
||||
|
||||
<NavigationBarButton title='Home' icon='home' to='/home' />
|
||||
<NavigationBarButton title='Explore' icon='explore' to='/explore' />
|
||||
<NavigationBarButton title='News' icon='news' to='/news' />
|
||||
|
||||
<div className={[_s._, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
|
||||
<div className={[_s.d, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
|
||||
|
||||
<NavigationBarButton attrTitle='Notifications' icon='notifications' to='/notifications' />
|
||||
<NavigationBarButton attrTitle='Settings' icon='cog' href='/settings/preferences' />
|
||||
|
||||
<div className={[_s._, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
|
||||
<div className={[_s.d, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
|
||||
|
||||
{
|
||||
!!account &&
|
||||
@ -100,7 +100,7 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
ref={this.setAvatarNode}
|
||||
title={account.get('display_name')}
|
||||
onClick={this.handleOnOpenNavSettingsPopover}
|
||||
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s._, _s.jcCenter, _s.ml15].join(' ')}
|
||||
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s.d, _s.jcCenter, _s.ml15].join(' ')}
|
||||
>
|
||||
<Avatar account={account} size={32} noHover />
|
||||
</button>
|
||||
@ -113,13 +113,13 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
|
||||
{ /** Mobile */}
|
||||
<Responsive max={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={[_s._, _s.w84PX, _s.aiStart, _s.pl10].join(' ')}>
|
||||
<div className={[_s.d, _s.w84PX, _s.aiStart, _s.pl10].join(' ')}>
|
||||
{
|
||||
!!account && !showBackBtn && !noActions &&
|
||||
<button
|
||||
title={account.get('display_name')}
|
||||
onClick={onOpenSidebar}
|
||||
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s._, _s.jcCenter].join(' ')}
|
||||
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s.d, _s.jcCenter].join(' ')}
|
||||
>
|
||||
<Avatar account={account} size={32} noHover />
|
||||
</button>
|
||||
@ -135,7 +135,7 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
}
|
||||
{
|
||||
noActions &&
|
||||
<h1 className={[_s._, _s.mr15].join(' ')}>
|
||||
<h1 className={[_s.d, _s.mr15].join(' ')}>
|
||||
<Button
|
||||
to='/'
|
||||
isText
|
||||
@ -143,7 +143,7 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
aria-label='Gab'
|
||||
color='none'
|
||||
backgroundColor='none'
|
||||
className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
|
||||
className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
|
||||
>
|
||||
<Icon id='logo' className={_s.fillNavigationBrand} />
|
||||
</Button>
|
||||
@ -151,7 +151,7 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
}
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.h53PX, _s.jcCenter, _s.mlAuto, _s.mrAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.h53PX, _s.jcCenter, _s.mlAuto, _s.mrAuto].join(' ')}>
|
||||
<Heading size='h1'>
|
||||
<span className={_s.colorNavigation}>
|
||||
{title}
|
||||
@ -159,8 +159,8 @@ class NavigationBar extends ImmutablePureComponent {
|
||||
</Heading>
|
||||
</div>
|
||||
|
||||
<div className={[_s._, _s.w84PX, _s.pr15].join(' ')}>
|
||||
<div className={[_s._, _s.bgTransparent, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.mlAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.w84PX, _s.pr15].join(' ')}>
|
||||
<div className={[_s.d, _s.bgTransparent, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.mlAuto].join(' ')}>
|
||||
{
|
||||
actions && actions.map((action, i) => (
|
||||
<Button
|
||||
|
@ -19,7 +19,7 @@ class NavigationBarButton extends React.PureComponent {
|
||||
const active = false
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
h53PX: 1,
|
||||
flexRow: 1,
|
||||
aiCenter: 1,
|
||||
|
@ -91,7 +91,7 @@ class Notification extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px10: 1,
|
||||
cursorPointer: 1,
|
||||
bgSubtle_onHover: !isUnread,
|
||||
@ -104,15 +104,15 @@ class Notification extends ImmutablePureComponent {
|
||||
tabIndex='0'
|
||||
aria-label={`${message} ${createdAt}`}
|
||||
>
|
||||
<div className={[_s._, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.my10, _s.py10, _s.px10].join(' ')}>
|
||||
<div className={[_s.d, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.my10, _s.py10, _s.px10].join(' ')}>
|
||||
|
||||
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
|
||||
<Icon id={icon} size='20px' className={[_s.cPrimary, _s.minW20PX, _s.mt5, _s.mr15].join(' ')} />
|
||||
</Responsive>
|
||||
|
||||
<div className={[_s._, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.flexWrap].join(' ')}>
|
||||
<div className={[_s.d, _s.flexNormal].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.flexWrap].join(' ')}>
|
||||
{
|
||||
accounts && accounts.map((account, i) => (
|
||||
<NavLink
|
||||
@ -125,8 +125,8 @@ class Notification extends ImmutablePureComponent {
|
||||
))
|
||||
}
|
||||
</div>
|
||||
<div className={[_s._, _s.pt5].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiEnd].join(' ')}>
|
||||
<div className={[_s.d, _s.pt5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiEnd].join(' ')}>
|
||||
<div className={_s.text}>
|
||||
{
|
||||
accounts && accounts.slice(0, 1).map((account, i) => (
|
||||
@ -151,7 +151,7 @@ class Notification extends ImmutablePureComponent {
|
||||
</div>
|
||||
{
|
||||
!!statusId &&
|
||||
<div className={[_s._, _s.pt10, _s.mt5].join(' ')}>
|
||||
<div className={[_s.d, _s.pt10, _s.mt5].join(' ')}>
|
||||
<StatusContainer
|
||||
contextType='notification'
|
||||
id={statusId}
|
||||
|
@ -23,13 +23,13 @@ class Pagination extends React.PureComponent {
|
||||
if (isNaN(count)) return
|
||||
|
||||
return (
|
||||
<ul className={[_s._, _s.flexRow, _s.listStyleNone].join(' ')}>
|
||||
<ul className={[_s.d, _s.flexRow, _s.listStyleNone].join(' ')}>
|
||||
{
|
||||
Array.apply(null, {
|
||||
length: count
|
||||
}).map((_, i) => {
|
||||
const btnClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
w10PX: 1,
|
||||
h10PX: 1,
|
||||
outlineNone: 1,
|
||||
@ -43,7 +43,7 @@ class Pagination extends React.PureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<li className={[_s._, _s.px5].join(' ')} key={`pagination-${i}`}>
|
||||
<li className={[_s.d, _s.px5].join(' ')} key={`pagination-${i}`}>
|
||||
<button
|
||||
tabIndex='0'
|
||||
className={btnClasses}
|
||||
|
@ -71,7 +71,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
|
||||
|
||||
if (noPanel) {
|
||||
return (
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
{
|
||||
!!group &&
|
||||
<React.Fragment>
|
||||
@ -87,7 +87,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
|
||||
<Text className={[_s.mt10, _s.py2].join(' ')} color='secondary' size='small' align='center'>
|
||||
{group.get('description')}
|
||||
</Text>
|
||||
<div className={[_s._, _s.mt10, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.mt10, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<Text color='secondary' size='small' align='center'>
|
||||
<Icon
|
||||
id={isPrivate ? 'lock-filled' : 'globe'}
|
||||
@ -190,7 +190,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
|
||||
<React.Fragment>
|
||||
<Divider isSmall />
|
||||
<GroupInfoPanelRow title={intl.formatMessage(messages.tags)} icon='shop'>
|
||||
<div className={[_s._, _s.flexRow, _s.jcEnd, _s.flexWrap, _s.pl5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.jcEnd, _s.flexWrap, _s.pl5].join(' ')}>
|
||||
{
|
||||
tags.map((tag) => (
|
||||
<div className={[_s.mr5, _s.mb5].join(' ')}>
|
||||
@ -223,8 +223,8 @@ class GroupInfoPanelRow extends React.PureComponent {
|
||||
const { icon, title } = this.props
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.flexRow, _s.py2].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.py2].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.jcCenter].join(' ')}>
|
||||
<Icon id={icon} size='16px' />
|
||||
<Text weight='bold' size='medium' className={_s.ml10}>
|
||||
{title}
|
||||
|
@ -47,9 +47,9 @@ class ListDetailsPanel extends ImmutablePureComponent {
|
||||
}
|
||||
{
|
||||
title && createdAt &&
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<Text weight='medium'>
|
||||
{title}
|
||||
</Text>
|
||||
@ -57,7 +57,7 @@ class ListDetailsPanel extends ImmutablePureComponent {
|
||||
|
||||
<Divider isSmall />
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<Icon id='calendar' size='12px' className={_s.cSecondary} />
|
||||
<Text
|
||||
size='small'
|
||||
|
@ -85,7 +85,7 @@ class ListsPanel extends ImmutablePureComponent {
|
||||
footerButtonTo={count > maxCount ? '/lists' : undefined}
|
||||
noPadding
|
||||
>
|
||||
<div className={[_s._, _s.boxShadowNone].join(' ')}>
|
||||
<div className={[_s.d, _s.boxShadowNone].join(' ')}>
|
||||
<List
|
||||
scrollKey='lists_sidebar_panel'
|
||||
items={listItems}
|
||||
|
@ -70,7 +70,7 @@ class MediaGalleryPanel extends ImmutablePureComponent {
|
||||
headerButtonTitle={!!account ? intl.formatMessage(messages.show_all) : undefined}
|
||||
headerButtonTo={!!account ? `/${account.get('acct')}/media` : undefined}
|
||||
>
|
||||
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.px10, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.px10, _s.py10].join(' ')}>
|
||||
{
|
||||
!!account && attachments.size > 0 &&
|
||||
attachments.slice(0, 16).map((attachment, i) => (
|
||||
@ -84,7 +84,7 @@ class MediaGalleryPanel extends ImmutablePureComponent {
|
||||
}
|
||||
{
|
||||
!account || (attachments.size === 0 && isLoading) &&
|
||||
<div className={[_s._, _s.w100PC].join(' ')}>
|
||||
<div className={[_s.d, _s.w100PC].join(' ')}>
|
||||
<MediaGalleryPanelPlaceholder />
|
||||
</div>
|
||||
}
|
||||
|
@ -37,18 +37,18 @@ export default class PanelLayout extends React.PureComponent {
|
||||
} = this.props
|
||||
|
||||
return (
|
||||
<aside className={[_s._, _s.mb15].join(' ')}>
|
||||
<aside className={[_s.d, _s.mb15].join(' ')}>
|
||||
<Block>
|
||||
{
|
||||
(title || subtitle) &&
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<Heading size='h2'>
|
||||
{title}
|
||||
</Heading>
|
||||
{
|
||||
(!!headerButtonTitle && (!!headerButtonAction || !!headerButtonTo)) &&
|
||||
<div className={[_s._, _s.mlAuto].join(' ')}>
|
||||
<div className={[_s.d, _s.mlAuto].join(' ')}>
|
||||
<Button
|
||||
isText
|
||||
backgroundColor='none'
|
||||
@ -74,7 +74,7 @@ export default class PanelLayout extends React.PureComponent {
|
||||
|
||||
{
|
||||
!noPadding &&
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
{children}
|
||||
</div>
|
||||
}
|
||||
@ -85,7 +85,7 @@ export default class PanelLayout extends React.PureComponent {
|
||||
|
||||
{
|
||||
(!!footerButtonTitle && (!!footerButtonAction || !!footerButtonTo || !!footerButtonHref)) &&
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<Button
|
||||
isText
|
||||
color='none'
|
||||
|
@ -27,8 +27,8 @@ class ProPanel extends React.PureComponent {
|
||||
if (isPro) return null
|
||||
|
||||
const title = (
|
||||
<span className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s._, _s.mr2].join(' ')}>
|
||||
<span className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
|
||||
<span className={[_s.d, _s.mr2].join(' ')}>
|
||||
Upgrade to Gab
|
||||
</span>
|
||||
<span className={[_s.bgPro, _s.cBlack, _s.radiusSmall, _s.px5, _s.py5].join(' ')}>PRO</span>
|
||||
@ -41,7 +41,7 @@ class ProPanel extends React.PureComponent {
|
||||
subtitle={intl.formatMessage(messages.text)}
|
||||
>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.pb5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.pb5].join(' ')}>
|
||||
<Button
|
||||
isOutline
|
||||
color='brand'
|
||||
|
@ -58,7 +58,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
|
||||
|
||||
return (
|
||||
<Wrapper title={intl.formatMessage(messages.title)}>
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
{
|
||||
hasNote &&
|
||||
<React.Fragment>
|
||||
@ -67,7 +67,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
|
||||
</React.Fragment>
|
||||
}
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<Icon id='calendar' size='12px' className={_s.cSecondary} />
|
||||
<Text
|
||||
size='small'
|
||||
@ -86,7 +86,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
|
||||
hasBadges &&
|
||||
<React.Fragment>
|
||||
<Divider isSmall />
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
{
|
||||
isPro &&
|
||||
<div className={[_s.mr5, _s.radiusSmall, _s.bgPro, _s.py2, _s.px5].join(' ')}>
|
||||
@ -111,12 +111,12 @@ class ProfileInfoPanel extends ImmutablePureComponent {
|
||||
|
||||
{
|
||||
fields.size > 0 &&
|
||||
<div className={[_s._]}>
|
||||
<div className={[_s.d]}>
|
||||
{
|
||||
fields.map((pair, i) => (
|
||||
<React.Fragment>
|
||||
<Divider isSmall />
|
||||
<dl className={[_s._, _s.flexRow, _s.aiCenter].join(' ')} key={`profile-field-${i}`}>
|
||||
<dl className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')} key={`profile-field-${i}`}>
|
||||
<dt
|
||||
className={[_s.text, _s.dangerousContent, _s.pr5].join(' ')}
|
||||
dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }}
|
||||
|
@ -46,8 +46,8 @@ class ProfileStatsPanel extends ImmutablePureComponent {
|
||||
{
|
||||
!!account &&
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexRow].join(' ')}
|
||||
classNamesXS={[_s._, _s.flexRow, _s.mt15, _s.pt10].join(' ')}
|
||||
classNames={[_s.d, _s.flexRow].join(' ')}
|
||||
classNamesXS={[_s.d, _s.flexRow, _s.mt15, _s.pt10].join(' ')}
|
||||
>
|
||||
<UserStat
|
||||
title={intl.formatMessage(messages.gabs)}
|
||||
|
@ -74,7 +74,7 @@ class ShopPanel extends React.PureComponent {
|
||||
footerButtonTitle={intl.formatMessage(messages.shop_now)}
|
||||
footerButtonHref={URL_DISSENTER_SHOP}
|
||||
>
|
||||
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.pl5, _s.pt5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.pl5, _s.pt5].join(' ')}>
|
||||
{
|
||||
items.map((block, i) => (
|
||||
<ShopItem
|
||||
|
@ -28,7 +28,7 @@ class SignUpLogInPanel extends React.PureComponent {
|
||||
if (me) return null
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
radiusSmall: 1,
|
||||
overflowHidden: 1,
|
||||
bgPrimary: 1,
|
||||
@ -40,11 +40,11 @@ class SignUpLogInPanel extends React.PureComponent {
|
||||
})
|
||||
|
||||
return (
|
||||
<aside className={[_s._, _s.mb15].join(' ')}>
|
||||
<aside className={[_s.d, _s.mb15].join(' ')}>
|
||||
<div className={containerClasses}>
|
||||
<div className={[_s._]}>
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s._].join(' ')}>
|
||||
<div className={[_s.d]}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d].join(' ')}>
|
||||
<Text color='primary' size='extraExtraLarge' weight='bold' align='center' tag='h2'>
|
||||
{intl.formatMessage(messages.title)}
|
||||
</Text>
|
||||
@ -57,8 +57,8 @@ class SignUpLogInPanel extends React.PureComponent {
|
||||
|
||||
{
|
||||
!isXS &&
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s._, _s.pb5].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.pb5].join(' ')}>
|
||||
<Button
|
||||
isOutline
|
||||
color='white'
|
||||
|
@ -31,7 +31,7 @@ class SignUpPanel extends React.PureComponent {
|
||||
title={intl.formatMessage(messages.title)}
|
||||
subtitle={intl.formatMessage(messages.subtitle)}
|
||||
>
|
||||
<div className={[_s._, _s.flexRow, _s.pb5].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.pb5].join(' ')}>
|
||||
<Button
|
||||
isOutline
|
||||
color='brand'
|
||||
|
@ -56,7 +56,7 @@ class StatusPromotionPanel extends ImmutablePureComponent {
|
||||
const { status } = this.props
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
pb10: !!status ? status.get('media_attachments').size === 0 : false,
|
||||
})
|
||||
|
||||
@ -67,23 +67,23 @@ class StatusPromotionPanel extends ImmutablePureComponent {
|
||||
}
|
||||
{
|
||||
!!status &&
|
||||
<div className={_s._}>
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s._, _s.flexRow, _s.mt5].join(' ')}>
|
||||
<div className={_s.d}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.mt5].join(' ')}>
|
||||
|
||||
<NavLink
|
||||
to={`/${status.getIn(['account', 'acct'])}`}
|
||||
title={status.getIn(['account', 'acct'])}
|
||||
className={[_s._, _s.mr10].join(' ')}
|
||||
className={[_s.d, _s.mr10].join(' ')}
|
||||
>
|
||||
<Avatar account={status.get('account')} size={28} />
|
||||
</NavLink>
|
||||
|
||||
<div className={[_s._, _s.aiStart, _s.flexGrow1, _s.mt5].join(' ')}>
|
||||
<div className={[_s.d, _s.aiStart, _s.flexGrow1, _s.mt5].join(' ')}>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.w100PC, _s.aiStart].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.w100PC, _s.aiStart].join(' ')}>
|
||||
<NavLink
|
||||
className={[_s._, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
|
||||
className={[_s.d, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
|
||||
to={`/${status.getIn(['account', 'acct'])}`}
|
||||
title={status.getIn(['account', 'acct'])}
|
||||
>
|
||||
|
@ -91,7 +91,7 @@ class UserPanel extends ImmutablePureComponent {
|
||||
return (
|
||||
<PanelLayout noPadding>
|
||||
<div
|
||||
className={[_s._, _s.h122PX].join(' ')}
|
||||
className={[_s.d, _s.h122PX].join(' ')}
|
||||
onMouseEnter={this.handleOnMouseEnter}
|
||||
onMouseLeave={this.handleOnMouseLeave}
|
||||
>
|
||||
@ -112,18 +112,18 @@ class UserPanel extends ImmutablePureComponent {
|
||||
</div>
|
||||
|
||||
<NavLink
|
||||
className={[_s._, _s.flexRow, _s.py10, _s.px15, _s.noUnderline].join(' ')}
|
||||
className={[_s.d, _s.flexRow, _s.py10, _s.px15, _s.noUnderline].join(' ')}
|
||||
to={`/${acct}`}
|
||||
>
|
||||
<div className={[_s._, _s.mtNeg32PX, _s.circle, _s.borderColorPrimary, _s.border6PX].join(' ')}>
|
||||
<div className={[_s.d, _s.mtNeg32PX, _s.circle, _s.borderColorPrimary, _s.border6PX].join(' ')}>
|
||||
<Avatar account={account} size={62} noHover />
|
||||
</div>
|
||||
<div className={[_s._, _s.ml15].join(' ')}>
|
||||
<div className={[_s.d, _s.ml15].join(' ')}>
|
||||
<DisplayName account={account} isMultiline noRelationship noHover />
|
||||
</div>
|
||||
</NavLink>
|
||||
|
||||
<div className={[_s._, _s.mb15, _s.mt5, _s.flexRow, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.mb15, _s.mt5, _s.flexRow, _s.px15].join(' ')}>
|
||||
<UserStat
|
||||
to={`/${acct}`}
|
||||
title={intl.formatMessage(messages.gabs)}
|
||||
|
@ -76,7 +76,7 @@ class VerifiedAccountsPanel extends ImmutablePureComponent {
|
||||
// footerButtonTitle={intl.formatMessage(messages.show_more)}
|
||||
// footerButtonTo='/explore'
|
||||
>
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
{
|
||||
suggestions.map(accountId => (
|
||||
<Account
|
||||
|
@ -88,7 +88,7 @@ class WhoToFollowPanel extends ImmutablePureComponent {
|
||||
footerButtonTitle={intl.formatMessage(messages.show_more)}
|
||||
footerButtonTo='/explore'
|
||||
>
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
{
|
||||
arr.map((accountId) => (
|
||||
<Child
|
||||
|
@ -46,7 +46,7 @@ class PillItem extends React.PureComponent {
|
||||
const active = isActive || (to === location.pathname && !location.search) || isCurrent
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
noUnderline: 1,
|
||||
text: 1,
|
||||
aiCenter: 1,
|
||||
@ -63,7 +63,7 @@ class PillItem extends React.PureComponent {
|
||||
})
|
||||
|
||||
const textParentClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
h100PC: 1,
|
||||
aiCenter: 1,
|
||||
jcCenter: 1,
|
||||
|
@ -14,8 +14,8 @@ class Pills extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<ResponsiveClassesComponent
|
||||
classNames={[_s._, _s.flexWrap, _s.px5, _s.flexRow].join(' ')}
|
||||
classNamesXS={[_s._, _s.overflowYHidden, _s.overflowXScroll, _s.noScrollbar, _s.pl10, _s.pr15, _s.flexRow].join(' ')}
|
||||
classNames={[_s.d, _s.flexWrap, _s.px5, _s.flexRow].join(' ')}
|
||||
classNamesXS={[_s.d, _s.overflowYHidden, _s.overflowXScroll, _s.noScrollbar, _s.pl10, _s.pr15, _s.flexRow].join(' ')}
|
||||
>
|
||||
{
|
||||
!!pills &&
|
||||
|
@ -10,7 +10,7 @@ class AccountPlaceholder extends React.PureComponent {
|
||||
const { isLast, isSmall } = this.props
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py7: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
|
@ -8,7 +8,7 @@ export default class CommentPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py10: 1,
|
||||
})
|
||||
|
@ -10,7 +10,7 @@ class GroupListItemPlaceholder extends React.PureComponent {
|
||||
const { isLast } = this.props
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py7: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
|
@ -11,7 +11,7 @@ class ListItemPlaceholder extends React.PureComponent {
|
||||
const { isLast } = this.props
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py15: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
@ -19,7 +19,7 @@ class ListItemPlaceholder extends React.PureComponent {
|
||||
})
|
||||
|
||||
const classesXS = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py7: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
|
@ -6,7 +6,7 @@ export default class MediaGalleryPanelPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<PlaceholderLayout viewBox='0 0 334 164'>
|
||||
<rect x='0' y='0' rx='4' ry='4' width='76' height='76' />
|
||||
<rect x='86' y='0' rx='4' ry='4' width='76' height='76' />
|
||||
|
@ -6,7 +6,7 @@ export default class MediaGalleryPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className={[_s._, _s.px5, _s.py5].join(' ')}>
|
||||
<div className={[_s.d, _s.px5, _s.py5].join(' ')}>
|
||||
<PlaceholderLayout viewBox='0 0 400 196'>
|
||||
<rect x='0' y='0' rx='0' ry='0' width='96' height='96' />
|
||||
<rect x='100' y='0' rx='0' ry='0' width='96' height='96' />
|
||||
|
@ -14,7 +14,7 @@ class NotificationPlaceholder extends React.PureComponent {
|
||||
const { isLast } = this.props
|
||||
|
||||
const classes = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py15: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
@ -22,7 +22,7 @@ class NotificationPlaceholder extends React.PureComponent {
|
||||
})
|
||||
|
||||
const classesXS = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
py15: 1,
|
||||
borderColorSecondary: !isLast,
|
||||
@ -37,7 +37,7 @@ class NotificationPlaceholder extends React.PureComponent {
|
||||
<React.Fragment>
|
||||
<ResponsiveComponent min={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={classes}>
|
||||
<div className={[_s._, _s.py2, _s.px2].join(' ')}>
|
||||
<div className={[_s.d, _s.py2, _s.px2].join(' ')}>
|
||||
<PlaceholderLayout viewBox='0 0 400 170'>
|
||||
<rect x='24' y='34' rx='4' ry='4' width={width2} height='8' />
|
||||
<rect x={left} y='34' rx='4' ry='4' width='12' height='8' />
|
||||
@ -61,7 +61,7 @@ class NotificationPlaceholder extends React.PureComponent {
|
||||
</ResponsiveComponent>
|
||||
<ResponsiveComponent max={BREAKPOINT_EXTRA_SMALL}>
|
||||
<div className={classesXS}>
|
||||
<div className={[_s._, _s.py2, _s.px2].join(' ')}>
|
||||
<div className={[_s.d, _s.py2, _s.px2].join(' ')}>
|
||||
<PlaceholderLayout viewBox='0 0 380 200'>
|
||||
<circle cx='20' cy='20' r='20' />
|
||||
<rect x='0' y='54' rx='5' ry='5' width={width1} height='10' />
|
||||
|
@ -6,7 +6,7 @@ export default class ProfileHeaderXSPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className={[_s._, _s.px10, _s.py10].join(' ')}>
|
||||
<div className={[_s.d, _s.px10, _s.py10].join(' ')}>
|
||||
<PlaceholderLayout viewBox='0 0 400 660'>
|
||||
<rect x='0' y='0' rx='0' ry='0' width='400' height='202' />
|
||||
<circle cx='200' cy='200' r='54' />
|
||||
|
@ -6,7 +6,7 @@ export default class ProfileInfoPanelPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<PlaceholderLayout viewBox='0 0 340 108'>
|
||||
<rect x='0' y='0' rx='4' ry='4' width='330' height='8' />
|
||||
<rect x='0' y='18' rx='4' ry='4' width='314' height='8' />
|
||||
|
@ -6,7 +6,7 @@ export default class ProfileStatsPanelPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className={_s._}>
|
||||
<div className={_s.d}>
|
||||
<PlaceholderLayout viewBox='0 0 178 20'>
|
||||
<rect x='2' y='2' rx='4' ry='4' width='24' height='6' />
|
||||
<rect x='2' y='12' rx='4' ry='4' width='38' height='6' />
|
||||
|
@ -12,7 +12,7 @@ export default class StatusPlaceholder extends React.PureComponent {
|
||||
|
||||
render() {
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
px15: 1,
|
||||
mt5: 1,
|
||||
mb15: 1,
|
||||
@ -23,7 +23,7 @@ export default class StatusPlaceholder extends React.PureComponent {
|
||||
})
|
||||
|
||||
const containerClassesXS = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
bgPrimary: 1,
|
||||
boxShadowBlock: 1,
|
||||
borderTop1PX: 1,
|
||||
|
@ -14,7 +14,7 @@ export default class TrendsItemPlaceholder extends React.PureComponent {
|
||||
const subtitle3Width = getRandomInt(120, 225)
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.px15, _s.py10, _s.pb5, _s.mb5].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10, _s.pb5, _s.mb5].join(' ')}>
|
||||
<PlaceholderLayout viewBox='0 0 340 138'>
|
||||
<rect x='0' y='0' rx='3' ry='3' width={title1Width} height='12' />
|
||||
<rect x='0' y='23' rx='3' ry='3' width={title2Width} height='12' />
|
||||
|
@ -71,7 +71,7 @@ class Poll extends ImmutablePureComponent {
|
||||
}
|
||||
|
||||
const chartClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
posAbs: 1,
|
||||
top0: 1,
|
||||
left0: 1,
|
||||
@ -89,7 +89,7 @@ class Poll extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
const listItemClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
flexRow: 1,
|
||||
py10: showResults,
|
||||
mb10: 1,
|
||||
@ -102,7 +102,7 @@ class Poll extends ImmutablePureComponent {
|
||||
})
|
||||
|
||||
const textContainerClasses = cx({
|
||||
_: 1,
|
||||
d: 1,
|
||||
w100PC: 1,
|
||||
px15: 1,
|
||||
py10: !showResults,
|
||||
@ -138,7 +138,7 @@ class Poll extends ImmutablePureComponent {
|
||||
checked={active}
|
||||
onChange={this.handleOptionChange}
|
||||
disabled={disabled}
|
||||
className={[_s._, _s.mr10].join(' ')}
|
||||
className={[_s.d, _s.mr10].join(' ')}
|
||||
/>
|
||||
}
|
||||
|
||||
@ -176,14 +176,14 @@ class Poll extends ImmutablePureComponent {
|
||||
const disabled = this.props.disabled || Object.entries(this.state.selected).every(item => !item)
|
||||
|
||||
return (
|
||||
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
|
||||
<ul className={[_s._, _s.listStyleNone].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
|
||||
<ul className={[_s.d, _s.listStyleNone].join(' ')}>
|
||||
{
|
||||
poll.get('options').map((option, i) => this.renderOption(option, i))
|
||||
}
|
||||
</ul>
|
||||
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
|
||||
{
|
||||
!showResults && me &&
|
||||
<Button
|
||||
|
@ -73,7 +73,7 @@ class DatePickerPopover extends React.PureComponent {
|
||||
isXS={isXS}
|
||||
onClose={this.handleOnClosePopover}
|
||||
>
|
||||
<div className={[_s._, _s.bgSubtle].join(' ')}>
|
||||
<div className={[_s.d, _s.bgSubtle].join(' ')}>
|
||||
<DatePicker
|
||||
inline
|
||||
target={this}
|
||||
@ -102,7 +102,7 @@ class DatePickerPopover extends React.PureComponent {
|
||||
</div>
|
||||
{
|
||||
date &&
|
||||
<div className={[_s._, _s.aiCenter, _s.flexRow, _s.px10, _s.py10, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<div className={[_s.d, _s.aiCenter, _s.flexRow, _s.px10, _s.py10, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
|
||||
<Text size='extraSmall' color='secondary'>
|
||||
<FormattedMessage id='scheduled_for_datetime' defaultMessage='Scheduled for {datetime}' values={{
|
||||
datetime: moment.utc(date).format('lll'),
|
||||
|
@ -19,8 +19,8 @@ export default class ErrorPopover extends React.PureComponent {
|
||||
isXS={isXS}
|
||||
onClose={this.props.onClose}
|
||||
>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<ColumnIndicator type='error' message='Error loading popover' />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -19,8 +19,8 @@ export default class LoadingPopover extends React.PureComponent {
|
||||
isXS={isXS}
|
||||
onClose={this.props.onClose}
|
||||
>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
|
||||
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
|
||||
<ColumnIndicator type='loading' />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -130,7 +130,7 @@ class PopoverBase extends ImmutablePureComponent {
|
||||
} = this.props
|
||||
|
||||
const containerClasses = CX({
|
||||
_: 1,
|
||||
d: 1,
|
||||
z4: 1,
|
||||
boxShadowPopover: visible,
|
||||
displayNone: !visible,
|
||||
|
@ -33,17 +33,17 @@ export default class PopoverLayout extends React.PureComponent {
|
||||
|
||||
if (isXS) {
|
||||
return (
|
||||
<div className={[_s._, _s.modal, _s.px10, _s.pb10].join(' ')}>
|
||||
<div className={[_s._, _s.bgPrimary, _s.radiusSmall, _s.overflowHidden, _s.mb10].join(' ')}>
|
||||
<div className={[_s.d, _s.modal, _s.px10, _s.pb10].join(' ')}>
|
||||
<div className={[_s.d, _s.bgPrimary, _s.radiusSmall, _s.overflowHidden, _s.mb10].join(' ')}>
|
||||
{
|
||||
!!title &&
|
||||
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
|
||||
<Heading size='2'>
|
||||
{title}
|
||||
</Heading>
|
||||
</div>
|
||||
}
|
||||
<div className={[_s._, _s.maxH80VH, _s.radiusSmall, _s.overflowYScroll].join(' ')}>
|
||||
<div className={[_s.d, _s.maxH80VH, _s.radiusSmall, _s.overflowYScroll].join(' ')}>
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user