<template>
    <section id="content">
        <div id="content-header">
            <router-link to="/maintenanceVisits" class="button" id="maintenanceVisits-button"
                @click="defaultMasterChecklistPage">
                <h1 :class="[darkMode ? 'h1-darkmode' : 'h1-lightmode']" id="page-name">Maintenance visits</h1>
            </router-link>
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            &nbsp;
            <router-link to="/productionOrders" class="button" id="productionOrders-button">
                <h1 :class="[darkMode ? 'h1-darkmode' : 'h1-lightmode']" id="active-page-name"
                    @click="defaultMasterChecklistPage()">Production orders</h1>
            </router-link>
        </div>
        <div id="content-body">
            <CustomerSearch v-if="onTemplatelist || onCustomerTemplatelist"/>
            <ProductionOrdersTemplateTable v-if="onTemplatelist"/>
            <ProductionOrdersTemplateTableNoCustomer v-if="onCustomerTemplatelist"/>
            <ProductionOrdersTemplate v-if="onTemplate"/>
            <TemplateChecklist v-if="onTemplate"/>
            <TemplateSearch v-if="onInstancelist"/>
            <ProductionOrdersInstanceTable v-if="onInstancelist"/>
            <ProductionOrdersInstance v-if="onInstance"/>
            <InstanceChecklist v-if="onInstance"/>
        </div>
    </section>
</template>
    
    
<script setup>
import { ref } from 'vue';

import CustomerSearch from "../components/CustomerSearch.vue";
import ProductionOrdersTemplateTable from "../components/server/ProductionOrdersTemplateTable.vue";
import ProductionOrdersTemplateTableNoCustomer from "../components/server/ProductionOrdersTemplateTableNoCustomer.vue";
import ProductionOrdersTemplate from "../components/server/ProductionOrdersTemplate.vue";
import TemplateChecklist from "../components/server/TemplateChecklist.vue";
import TemplateSearch from "../components/TemplateSearch.vue";
import ProductionOrdersInstanceTable from "../components/server/ProductionOrdersInstanceTable.vue";
import ProductionOrdersInstance from "../components/server/ProductionOrdersInstance.vue";
import InstanceChecklist from "../components/server/InstanceChecklist.vue";
import { useStore } from 'vuex';
import { computed } from 'vue';

const store = useStore();
const onTemplatelist = computed(() => store.state.onTemplatelist);
const onCustomerTemplatelist = computed(() => store.state.onCustomerTemplatelist);
const onTemplate = computed(() => store.state.onTemplate);
const onInstancelist = computed(() => store.state.onInstancelist);
const onInstance = computed(() => store.state.onInstance);

definePageMeta({
    layout: 'default'
})

const darkMode = ref(true)

const defaultMasterChecklistPage = () => {
    store.commit('resetStore');
    store.commit('changeToTemplatelist')
}
</script>
  
<script>
export default {
    name: "ProductionOrdersPage",
}
</script>     
      
      
<style scoped>
* {
    box-sizing: border-box;
}


#content {
    display: flex;
    flex-direction: column;
    float: left;
    justify-content: stretch;
    align-items: stretch;
    width: 100%;
    flex-grow: 1;
    gap: 0.625rem;
    padding: 0 1.25rem;
}

#content-header {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 3.125rem;
}

#page-name {
    letter-spacing: 5%;
    font: 400 1.5rem/125% Overpass, -apple-system, Roboto, Helvetica,
        sans-serif;
}

#active-page-name {
    letter-spacing: 5%;
    font: 400 1.5rem/125% Overpass, -apple-system, Roboto, Helvetica,
        sans-serif;
    text-decoration: underline;
}

.button {
    text-decoration: none;
}

.h1-darkmode {
    color: #fff;
}

.h1-lightmode {
    color: #000;
}

#content-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 1.25rem;
    margin-bottom: 0.625rem;
    border-radius: 0.625rem;
}
</style>