summaryrefslogtreecommitdiff
path: root/packages/frontend/src/widgets/WidgetTimeline.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/widgets/WidgetTimeline.vue')
-rw-r--r--packages/frontend/src/widgets/WidgetTimeline.vue27
1 files changed, 26 insertions, 1 deletions
diff --git a/packages/frontend/src/widgets/WidgetTimeline.vue b/packages/frontend/src/widgets/WidgetTimeline.vue
index f8e1af5e66..0f6f25b0a9 100644
--- a/packages/frontend/src/widgets/WidgetTimeline.vue
+++ b/packages/frontend/src/widgets/WidgetTimeline.vue
@@ -15,7 +15,14 @@
</button>
</template>
- <div>
+ <div v-if="(((widgetProps.src === 'local' || widgetProps.src === 'social') && !isLocalTimelineAvailable) || (widgetProps.src === 'global' && !isGlobalTimelineAvailable))" :class="$style.disabled">
+ <p :class="$style.disabledTitle">
+ <i class="ti ti-minus"></i>
+ {{ i18n.ts._disabledTimeline.title }}
+ </p>
+ <p :class="$style.disabledDescription">{{ i18n.ts._disabledTimeline.description }}</p>
+ </div>
+ <div v-else>
<MkTimeline :key="widgetProps.src === 'list' ? `list:${widgetProps.list.id}` : widgetProps.src === 'antenna' ? `antenna:${widgetProps.antenna.id}` : widgetProps.src" :src="widgetProps.src" :list="widgetProps.list ? widgetProps.list.id : null" :antenna="widgetProps.antenna ? widgetProps.antenna.id : null"/>
</div>
</MkContainer>
@@ -29,8 +36,12 @@ import * as os from '@/os';
import MkContainer from '@/components/MkContainer.vue';
import MkTimeline from '@/components/MkTimeline.vue';
import { i18n } from '@/i18n';
+import { $i } from '@/account';
+import { instance } from '@/instance';
const name = 'timeline';
+const isLocalTimelineAvailable = (($i == null && instance.policies.ltlAvailable) || ($i != null && $i.policies.ltlAvailable));
+const isGlobalTimelineAvailable = (($i == null && instance.policies.gtlAvailable) || ($i != null && $i.policies.gtlAvailable));
const widgetPropsDef = {
showHeader: {
@@ -128,3 +139,17 @@ defineExpose<WidgetComponentExpose>({
id: props.widget ? props.widget.id : null,
});
</script>
+
+<style lang="scss" module>
+.disabled {
+ text-align: center;
+}
+
+.disabledTitle {
+ margin: 16px;
+}
+
+.disabledDescription {
+ font-size: 90%;
+}
+</style>