These cards are meant to be generic and can show an unlimited amount of related context about a communication.
32 lines
860 B
Vue
32 lines
860 B
Vue
<template>
|
|
<CardEmail v-if="isEmail()" :emailURI="resource.uri" />
|
|
<CardPublicReport
|
|
v-if="isPublicReport()"
|
|
:reportURI="resource.uri"
|
|
@viewImage="doViewImage"
|
|
/>
|
|
<CardText v-if="isText()" :textURI="resource.uri" />
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { ResourceStub } from "@/type/api";
|
|
import CardEmail from "@/components/CardEmail.vue";
|
|
import CardPublicReport from "@/components/CardPublicReport.vue";
|
|
import CardText from "@/components/CardText.vue";
|
|
|
|
interface Props {
|
|
resource: ResourceStub;
|
|
}
|
|
const props = defineProps<Props>();
|
|
function isEmail(): boolean {
|
|
return props.resource.type == "email";
|
|
}
|
|
function isPublicReport(): boolean {
|
|
return props.resource.type.startsWith("publicreport.");
|
|
}
|
|
function isText(): boolean {
|
|
return props.resource.type == "text";
|
|
}
|
|
function doViewImage() {
|
|
console.log("doViewImage");
|
|
}
|
|
</script>
|