[Glitch] Fix the hot key (j, k) does not function correctly when there is a pinned toot in account timeline.
Port 23106844a1
to glitch-soc
This commit is contained in:
parent
64f74da493
commit
bc3be9ac5b
2 changed files with 22 additions and 8 deletions
|
@ -253,12 +253,12 @@ export default class Status extends ImmutablePureComponent {
|
|||
this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);
|
||||
}
|
||||
|
||||
handleHotkeyMoveUp = () => {
|
||||
this.props.onMoveUp(this.props.containerId || this.props.id);
|
||||
handleHotkeyMoveUp = e => {
|
||||
this.props.onMoveUp(this.props.containerId || this.props.id, e.target.getAttribute('data-featured'));
|
||||
}
|
||||
|
||||
handleHotkeyMoveDown = () => {
|
||||
this.props.onMoveDown(this.props.containerId || this.props.id);
|
||||
handleHotkeyMoveDown = e => {
|
||||
this.props.onMoveDown(this.props.containerId || this.props.id, e.target.getAttribute('data-featured'));
|
||||
}
|
||||
|
||||
handleRef = c => {
|
||||
|
@ -292,6 +292,7 @@ export default class Status extends ImmutablePureComponent {
|
|||
onOpenMedia,
|
||||
notification,
|
||||
hidden,
|
||||
featured,
|
||||
...other
|
||||
} = this.props;
|
||||
const { isExpanded } = this.state;
|
||||
|
@ -426,6 +427,7 @@ export default class Status extends ImmutablePureComponent {
|
|||
{...selectorAttribs}
|
||||
ref={handleRef}
|
||||
tabIndex='0'
|
||||
data-featured={featured ? 'true' : null}
|
||||
>
|
||||
<header className='status__info'>
|
||||
<span>
|
||||
|
|
|
@ -28,13 +28,25 @@ export default class StatusList extends ImmutablePureComponent {
|
|||
trackScroll: true,
|
||||
};
|
||||
|
||||
handleMoveUp = id => {
|
||||
const elementIndex = this.props.statusIds.indexOf(id) - 1;
|
||||
getFeaturedStatusCount = () => {
|
||||
return this.props.featuredStatusIds ? this.props.featuredStatusIds.size : 0;
|
||||
}
|
||||
|
||||
getCurrentStatusIndex = (id, featured) => {
|
||||
if (featured) {
|
||||
return this.props.featuredStatusIds.indexOf(id);
|
||||
} else {
|
||||
return this.props.statusIds.indexOf(id) + this.getFeaturedStatusCount();
|
||||
}
|
||||
}
|
||||
|
||||
handleMoveUp = (id, featured) => {
|
||||
const elementIndex = this.getCurrentStatusIndex(id, featured) - 1;
|
||||
this._selectChild(elementIndex);
|
||||
}
|
||||
|
||||
handleMoveDown = id => {
|
||||
const elementIndex = this.props.statusIds.indexOf(id) + 1;
|
||||
handleMoveDown = (id, featured) => {
|
||||
const elementIndex = this.getCurrentStatusIndex(id, featured) + 1;
|
||||
this._selectChild(elementIndex);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue