iceshrimp-legacy/packages/client/src/ui/deck/column-core.vue
ThatOneCalculator bdc35a343e
refactor: 🚨 linting fix
2023-07-16 15:32:32 -07:00

82 lines
2.2 KiB
Vue

<template>
<!-- TODO: リファクタの余地がありそう -->
<div v-if="!column">たぶん見えちゃいけないやつ</div>
<XMainColumn
v-else-if="column.type === 'main'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XWidgetsColumn
v-else-if="column.type === 'widgets'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XNotificationsColumn
v-else-if="column.type === 'notifications'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XTlColumn
v-else-if="column.type === 'tl'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XListColumn
v-else-if="column.type === 'list'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XAntennaColumn
v-else-if="column.type === 'antenna'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XMentionsColumn
v-else-if="column.type === 'mentions'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XDirectColumn
v-else-if="column.type === 'direct'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
<XChannelColumn
v-else-if="column.type === 'channel'"
:column="column"
:is-stacked="isStacked"
@parent-focus="emit('parent-focus', $event)"
/>
</template>
<script lang="ts" setup>
import {} from "vue";
import XMainColumn from "./main-column.vue";
import XTlColumn from "./tl-column.vue";
import XAntennaColumn from "./antenna-column.vue";
import XListColumn from "./list-column.vue";
import XNotificationsColumn from "./notifications-column.vue";
import XWidgetsColumn from "./widgets-column.vue";
import XMentionsColumn from "./mentions-column.vue";
import XDirectColumn from "./direct-column.vue";
import XChannelColumn from "./channel-column.vue";
import type { Column } from "./deck-store";
defineProps<{
column?: Column;
isStacked: boolean;
}>();
const emit = defineEmits<{
(ev: "parent-focus", direction: "up" | "down" | "left" | "right"): void;
}>();
</script>