Skip to content

Commit 0b1310f

Browse files
[Glitch] Keep the status action buttons at their position regardless of the counter size
Port 739ad0e to glitch-soc Co-authored-by: Claire <[email protected]> Signed-off-by: Claire <[email protected]>
1 parent 5716ebf commit 0b1310f

File tree

2 files changed

+48
-23
lines changed

2 files changed

+48
-23
lines changed

app/javascript/flavours/glitch/components/status_action_bar.jsx

+35-23
Original file line numberDiff line numberDiff line change
@@ -315,36 +315,48 @@ class StatusActionBar extends ImmutablePureComponent {
315315
}
316316

317317
const filterButton = this.props.onFilter && (
318-
<IconButton className='status__action-bar-button' title={intl.formatMessage(messages.hide)} icon='eye' iconComponent={VisibilityIcon} onClick={this.handleHideClick} />
318+
<div className='status__action-bar__button-wrapper'>
319+
<IconButton className='status__action-bar-button' title={intl.formatMessage(messages.hide)} icon='eye' iconComponent={VisibilityIcon} onClick={this.handleHideClick} />
320+
</div>
319321
);
320322

321323
return (
322324
<div className='status__action-bar'>
323-
<IconButton
324-
className='status__action-bar-button'
325-
title={replyTitle}
326-
icon={replyIcon}
327-
iconComponent={replyIconComponent}
328-
onClick={this.handleReplyClick}
329-
counter={showReplyCount ? status.get('replies_count') : undefined}
330-
obfuscateCount
331-
/>
332-
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon={reblogIcon} iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />
333-
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
334-
<IconButton className='status__action-bar-button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} />
325+
<div className='status__action-bar__button-wrapper'>
326+
<IconButton
327+
className='status__action-bar-button'
328+
title={replyTitle}
329+
icon={replyIcon}
330+
iconComponent={replyIconComponent}
331+
onClick={this.handleReplyClick}
332+
counter={showReplyCount ? status.get('replies_count') : undefined}
333+
obfuscateCount
334+
/>
335+
</div>
336+
<div className='status__action-bar__button-wrapper'>
337+
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon={reblogIcon} iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />
338+
</div>
339+
<div className='status__action-bar__button-wrapper'>
340+
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
341+
</div>
342+
<div className='status__action-bar__button-wrapper'>
343+
<IconButton className='status__action-bar-button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} />
344+
</div>
335345

336346
{filterButton}
337347

338-
<DropdownMenuContainer
339-
scrollKey={scrollKey}
340-
status={status}
341-
items={menu}
342-
icon='ellipsis-h'
343-
size={18}
344-
iconComponent={MoreHorizIcon}
345-
direction='right'
346-
ariaLabel={intl.formatMessage(messages.more)}
347-
/>
348+
<div className='status__action-bar__button-wrapper'>
349+
<DropdownMenuContainer
350+
scrollKey={scrollKey}
351+
status={status}
352+
items={menu}
353+
icon='ellipsis-h'
354+
size={18}
355+
iconComponent={MoreHorizIcon}
356+
direction='right'
357+
ariaLabel={intl.formatMessage(messages.more)}
358+
/>
359+
</div>
348360

349361
<div className='status__action-bar-spacer' />
350362
<a href={status.get('url')} className='status__relative-time' target='_blank' rel='noopener'>

app/javascript/flavours/glitch/styles/components.scss

+13
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,10 @@
299299
}
300300
}
301301

302+
&--with-counter {
303+
padding-inline-end: 4px;
304+
}
305+
302306
&__counter {
303307
display: block;
304308
width: auto;
@@ -1516,6 +1520,15 @@ body > [data-popper-placement] {
15161520
}
15171521
}
15181522

1523+
&__action-bar__button-wrapper {
1524+
flex-basis: 0;
1525+
flex-grow: 1;
1526+
1527+
&:last-child {
1528+
flex-grow: 0;
1529+
}
1530+
}
1531+
15191532
&--first-in-thread {
15201533
border-top: 1px solid var(--background-border-color);
15211534
}

0 commit comments

Comments
 (0)