* Status WIP * feat: Status * fix: Status tests * feat: status redirect * chore: Status tests * chore: Status tests * feat: Status tests * chore: Status playwright tests * fix: PR feedback, mostly Vue and copyright dates * fix: Status model migration tidy up * chore: Status - one migration * feat: status on doc/html pages * chore: Resetting Status migration * chore: removing unused FieldError * fix: Update Status test to remove 'by' * chore: fixing API test to exclude 'status' * chore: fixing status_page test * feat: Site Status PR feedback. URL coverage debugging * Adding ietf.status to Tastypie omitted apps * feat: Site Status PR feedback * chore: correct copyright year on newly created files * chore: repair merge damage * chore: repair more merge damage * fix: reconcile the api init refactor with ignoring apps --------- Co-authored-by: Matthew Holloway <Matthew Holloway> Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
45 lines
964 B
Vue
45 lines
964 B
Vue
<template lang="pug">
|
|
n-theme
|
|
n-notification-provider
|
|
n-message-provider
|
|
component(:is='currentComponent', :component-id='props.componentId')
|
|
</template>
|
|
|
|
<script setup>
|
|
import { defineAsyncComponent, markRaw, onMounted, ref } from 'vue'
|
|
import { NMessageProvider, NNotificationProvider } from 'naive-ui'
|
|
|
|
import NTheme from './components/n-theme.vue'
|
|
|
|
// COMPONENTS
|
|
|
|
const availableComponents = {
|
|
ChatLog: defineAsyncComponent(() => import('./components/ChatLog.vue')),
|
|
Polls: defineAsyncComponent(() => import('./components/Polls.vue')),
|
|
Status: defineAsyncComponent(() => import('./components/Status.vue'))
|
|
}
|
|
|
|
// PROPS
|
|
|
|
const props = defineProps({
|
|
componentName: {
|
|
type: String,
|
|
default: null
|
|
},
|
|
componentId: {
|
|
type: String,
|
|
default: null
|
|
}
|
|
})
|
|
|
|
// STATE
|
|
|
|
const currentComponent = ref(null)
|
|
|
|
// MOUNTED
|
|
|
|
onMounted(() => {
|
|
currentComponent.value = markRaw(availableComponents[props.componentName] || null)
|
|
})
|
|
</script>
|