diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js index 3c7e33060..9a6d75c8a 100644 --- a/src/components/timeline/timeline.js +++ b/src/components/timeline/timeline.js @@ -31,6 +31,7 @@ const Timeline = { embedded: Boolean, inProfile: Boolean, skipPinned: Boolean, + hideEmpty: Boolean, }, data() { return { diff --git a/src/components/timeline/timeline.scss b/src/components/timeline/timeline.scss index 2dd66328d..984129bf4 100644 --- a/src/components/timeline/timeline.scss +++ b/src/components/timeline/timeline.scss @@ -4,6 +4,14 @@ backdrop-filter: none; } + .timeline-placeholder { + background: var(--background); + display: flex; + place-items: center; + place-content: center; + padding: 5em; + } + .alert-badge { font-size: 0.75em; line-height: 1; diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue index 1435bba48..d5397546d 100644 --- a/src/components/timeline/timeline.vue +++ b/src/components/timeline/timeline.vue @@ -94,6 +94,24 @@ collapsable /> +
- {{ $t('timeline.no_statuses') }} -
-
{{ $t('timeline.no_more_statuses') }}
-
+
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue index 9a987cd09..43d91b8e5 100644 --- a/src/components/user_profile/user_profile.vue +++ b/src/components/user_profile/user_profile.vue @@ -30,6 +30,7 @@ :timeline-ref="{ name: 'userPinned', argument: userId }" embedded in-profile + hide-empty /> { const numStatusesBeforeFetch = timeline.statusIds.size - if (bottomedOut.value) return + if (older && bottomedOut.value) return return fetchTimeline(args) .then(({ data: statuses, pagination, timestamp }) => { + // No statuses for timeline, ever. + if (timeline.order.length === 0 && statuses.length === 0) { + bottomedOut.value = true + } if (!older && statuses.length >= 20 && numStatusesBeforeFetch > 0) { useTimelinesStore().requireReload(timeline.name) }