click to show toot thread
This commit is contained in:
parent
473ddfaa85
commit
08c19691a9
|
@ -1,6 +1,7 @@
|
||||||
<article class="status-article {{getClasses(originalStatus, timelineType, isStatusInOwnThread)}}"
|
<article class="status-article {{getClasses(originalStatus, timelineType, isStatusInOwnThread)}}"
|
||||||
tabindex="0"
|
tabindex="0" on:click="onClickOrKeydown(event)" on:keydown="onClickOrKeydown(event)"
|
||||||
aria-posinset="{{index}}" aria-setsize="{{length}}"
|
aria-posinset="{{index}}" aria-setsize="{{length}}"
|
||||||
|
aria-label="Status by {{originalStatus.account.display_name || originalStatus.account.username}}"
|
||||||
on:recalculateHeight>
|
on:recalculateHeight>
|
||||||
{{#if (notification && (notification.type === 'reblog' || notification.type === 'favourite')) || status.reblog}}
|
{{#if (notification && (notification.type === 'reblog' || notification.type === 'favourite')) || status.reblog}}
|
||||||
<StatusHeader :notification :status :isStatusInNotification />
|
<StatusHeader :notification :status :isStatusInNotification />
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.status-article {
|
.status-article {
|
||||||
|
cursor: pointer;
|
||||||
max-width: calc(100vw - 40px);
|
max-width: calc(100vw - 40px);
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
@ -84,6 +86,7 @@
|
||||||
import StatusSpoiler from './StatusSpoiler.html'
|
import StatusSpoiler from './StatusSpoiler.html'
|
||||||
import { store } from '../../_store/store'
|
import { store } from '../../_store/store'
|
||||||
import identity from 'lodash/identity'
|
import identity from 'lodash/identity'
|
||||||
|
import { goto } from 'sapper/runtime.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -108,6 +111,24 @@
|
||||||
].filter(identity).join(' ')
|
].filter(identity).join(' ')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
onClickOrKeydown(e) {
|
||||||
|
let { type, keyCode } = e
|
||||||
|
let { localName, parentElement } = e.target
|
||||||
|
|
||||||
|
if ((type === 'click' || (type === 'keydown' && keyCode === 13)) &&
|
||||||
|
localName !== 'a' &&
|
||||||
|
localName !== 'button' &&
|
||||||
|
parentElement.localName !== 'a' &&
|
||||||
|
parentElement.localName !== 'button' &&
|
||||||
|
parentElement.parentElement.localName !== 'a' &&
|
||||||
|
parentElement.parentElement.localName !== 'button') {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
goto(`/statuses/${this.get('statusId')}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
originalStatus: (status) => status.reblog ? status.reblog : status,
|
originalStatus: (status) => status.reblog ? status.reblog : status,
|
||||||
statusId: (originalStatus) => originalStatus.id,
|
statusId: (originalStatus) => originalStatus.id,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<a class="status-relative-date {{isStatusInNotification ? 'status-in-notification' : '' }}"
|
<a class="status-relative-date {{isStatusInNotification ? 'status-in-notification' : '' }}"
|
||||||
href="/statuses/{{status.id}}">
|
href="/statuses/{{status.id}}">
|
||||||
<time datetime={{createdAtDate}} title="{{relativeDate}}">{{relativeDate}}</time>
|
<time datetime={{createdAtDate}} title="{{relativeDate}}" aria-label="{{relativeDate}} – click to show thread">{{relativeDate}}</time>
|
||||||
</a>
|
</a>
|
||||||
<style>
|
<style>
|
||||||
.status-relative-date {
|
.status-relative-date {
|
||||||
|
|
Loading…
Reference in a new issue