diff --git a/src/components/kpiCard.vue b/src/components/kpiCard.vue
index 6a036c3f38363224961959407082bb5586d4c3ca..dc5d2d36b5feb61e69aa5907fc49351b42e8d47e 100644
--- a/src/components/kpiCard.vue
+++ b/src/components/kpiCard.vue
@@ -28,7 +28,7 @@ export default {
   },
   methods: {
     detail(){
-      this.$router.push({ name: "KpiManagerDetail", params: { id: this.kpi.id }});
+      this.$router.push({ name: "KpiDetail", params: { id: this.kpi.id }});
     }
   },
 };
diff --git a/src/router/index.js b/src/router/index.js
index c6918968b32be11e48b2566825e5311639c638f5..98a19334aa96ff4db3116bb95cf5cb3467904344 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -11,6 +11,7 @@ import KaryawanEdit from "../views/KaryawanEdit.vue";
 import AdminInsert from "../views/AdminInsert.vue";
 import AdminEdit from "../views/AdminEdit.vue";
 import KpiIndex from "../views/KpiIndex.vue";
+import KpiDetail from "../views/KpiDetail.vue";
 import KpiCreate from "../views/KpiCreate.vue";
 import KpiManagerDetail from "../views/KpiManagerDetail.vue";
 import Test from "../views/Test.vue";
@@ -84,7 +85,13 @@ const routes = [
   {
     path: "/kpi/:id",
     name: "KpiDetail",
-    component: KpiIndex,
+    component: KpiDetail,
+  },
+  {
+    path: "/kpi/:kpiId/responses",
+    name: "KpiResponses",
+    component: ResponseIndex,
+    props: { isManager: false }
   },
   {
     path: "/manager/kpi/create",
@@ -114,7 +121,8 @@ const routes = [
   {
     path: "/manager/kpi/:kpiId/employees/:empId/responses",
     name: "ResponseIndex",
-    component: ResponseIndex
+    component: ResponseIndex,
+    props: { isManager: true }
   },
   {
     path: "/manager/kpi/:kpiId/employees/:empId/responses/:responseId",
diff --git a/src/views/KpiCreate.vue b/src/views/KpiCreate.vue
index 5f251192772e5190a9ecf8b04ee95a75453a97bd..ccc33f29e874a0a604b891fc809378ccb6226422 100644
--- a/src/views/KpiCreate.vue
+++ b/src/views/KpiCreate.vue
@@ -25,7 +25,7 @@
                                     </div>
                                         <div class="mb-3 me-3">
                                         <label for="deskripsiInput" class="text-blue"> Deskripsi </label>
-                                        <input v-model="description" type="text" id="deskripsiInput" class="form-control" required>
+                                        <textarea v-model="description" id="deskripsiInput" class="form-control" required></textarea>
                                     </div>
                                     <div class="mb-3 me-3">
                                         <label for="typeInput" class="text-blue"> Periode </label>
diff --git a/src/views/KpiDetail.vue b/src/views/KpiDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..0b8a8635c773543b8c6f69fd3d5718241580fc15
--- /dev/null
+++ b/src/views/KpiDetail.vue
@@ -0,0 +1,225 @@
+<template>
+    <div class="container-fluid">
+            <div class="row flex-nowrap">
+                <Sidebar></Sidebar>
+                <div class="col ps-md-2 pt-2">
+                    <Header></Header>
+                        <div class="row p-3">
+                            <div class="d-flex flex-row justify-content-start align-items-center illustration" id="back">
+                            <i class="icon ion-chevron-left text-blue" style="font-size: 20px"></i>
+                            <router-link :to="{ path: '/kpi' }" style="text-decoration: none">
+                            <p class="text-blue ms-1">kembali</p>
+                            </router-link>
+                            </div>
+                        </div>
+                        <div class="row p-3">
+                            <div class="col">
+                                <h1 class="text-blue">{{this.kpi.name}}</h1>
+                            </div>
+                            <hr class="my-2 " style="border: 1px solid #6992b4">
+                        </div>
+                        <form autocomplete="off" id="formAdmin">
+                        <div class="row p-3">
+                                <div class="col">
+                                        <div class="mb-3 me-3">
+                                        <label  for="NameInput" class="text-blue"> Nama </label>
+                                        <input v-model="kpi.name" type="text" id="NameInput" class="form-control" readonly>
+                                    </div>
+                                        <div class="mb-3 me-3">
+                                        <label for="deskripsiInput" class="text-blue"> Deskripsi </label>
+                                        <textarea v-model="kpi.description" id="deskripsiInput" class="form-control" readonly></textarea>
+                                    </div>
+                                    <div class="mb-3 me-3">
+                                        <label for="typeInput" class="text-blue"> Periode </label>
+                                        <select
+                                            v-model="kpi.period_type"
+                                            class="form-select"
+                                            aria-label="Default select example"
+                                            id="typeInput"
+                                            disabled>
+                                            <option value="daily" selected>Harian</option>
+                                            <option value="weekly">Mingguan</option>
+                                            <option value="monthly">Bulanan</option>
+                                            <option value="custom">Custom</option>
+                                        </select>
+                                    </div>
+                                    <div v-show="kpi.period_type == 'Custom'" class="mb-3 me-3">
+                                        <label for="deadlineInput" class="text-blue"> Waktu Deadline </label>
+                                        <input v-model="kpi.deadline" type="date" id="deadlineInput" class="form-control" readonly>
+                                    </div>
+                                    <div class="mb-3 me-3">
+                                        <label for="deadlineTimeInput" class="text-blue"> Waktu Deadline </label>
+                                        <input v-model="kpi.deadline_time" type="time" id="deadlineTimeInput" class="form-control" readonly>
+                                    </div>
+                                </div>
+                                <div class="col">
+                                    <div class="mb-3">
+                                        <label for="typeInput" class="text-blue"> Jenis Target </label>
+                                        <select
+                                            v-model="kpi.target_type"
+                                            class="form-select"
+                                            aria-label="Default select example"
+                                            id="typeInput" disabled>
+                                            <option value="number" selected>Angka</option>
+                                            <option value="percentage">Persentase</option>
+                                        </select>
+                                    </div>
+                                    <div class="mb-3">
+                                        <label for="targetInput" class="text-blue"> Target </label>
+                                        <input v-model="kpi.target" type="number" id="tarrgetInput" class="form-control" readonly>
+                                    </div>
+                                    <div class="mb-3">
+                                        <label for="weightInput" class="text-blue"> Bobot </label>
+                                        <input v-model="kpi.weight" type="number" id="weightInput" class="form-control" readonly>
+                                    </div>
+                                    <div class="mb-3">
+                                        <input v-model="kpi.is_score_inverted" class="form-check-input mt-1" type="checkbox" value="" id="CheckDefault" disabled>
+                                        <label class="form-check-label text-blue ms-2" for="CheckDefault">Target Inverted </label>
+                                    </div>
+                                </div>
+                                <router-link :to="{ path: '/user/insert' }" style="text-decoration: none">
+                                <button class="btn float-end">Responses</button>
+                                </router-link>
+                        </div>
+                        </form>
+                        <div class="row p-3">
+                            <h1 class="text-blue">Buat Response</h1>
+                            <hr class="my-2">
+                            <form @submit="insert" autocomplete="off">
+                                <div class="mb-3 me-3">
+                                    <label class="text-blue"> Nilai Aktual </label>
+                                    <input v-model="response.actual" type="number" class="form-control" required>
+                                </div>
+                                <div class="mb-3 me-3">
+                                    <label class="text-blue"> Deskripsi </label>
+                                    <textarea v-model="response.description" class="form-control" required></textarea>
+                                </div>
+                                <div class="mb-3 me-3">
+                                    <label class="text-blue"> Bukti </label>
+                                    <input type="file" accept="image/*" class="form-control" @change="onUpload" required>
+                                </div>
+                                <button type="submit" class="btn p-1" >Simpan</button>
+                            </form>
+                        </div>
+                        
+                </div>
+            </div>
+    </div>
+</template>
+
+<script>
+
+import Header from "../components/header"
+import Sidebar from "../components/sidebar"
+import { HTTP } from '../http-common'
+import 'vue-select/dist/vue-select.css'
+
+
+export default {
+    name: "KpiDetail",
+    components: {
+        Header,
+        Sidebar,
+    },
+    data() {
+        return{
+            kpi : {},
+            kpi_id: "",
+            response : {
+                kpi_id : -1,
+                actual : 0,
+                description : "",
+                status : "pending",
+                date : "",
+                images:[]
+            },
+        }
+    },
+    methods: {
+        getKpi(){
+            //get kpi dengan id kpi_id
+            HTTP.get(`kpis/${this.kpi_id}`).then((res)=>{
+                console.log(res.data.data)
+                this.kpi = res.data.data
+                this.kpi.deadline_time = this.kpi.deadline_time.replace(".", ":")
+            }).catch(()=> alert("Error loading page"))
+        },
+        insert(e){
+            e.preventDefault();
+            
+            let formData = new FormData();
+            formData.append("kpi_id", this.response.kpi_id);
+            formData.append("actual", this.response.actual);
+            formData.append("description", this.response.description);
+            formData.append("status", this.response.status);
+            formData.append("date", this.response.date);
+            formData.append("images[0]", this.response.images[0]);
+            HTTP.post("kpi-responses", formData).then(()=>{
+                alert("Berhasil Membuat Response")
+            }).catch((e)=>{
+                console.log(e.response.data)
+                alert("Gagal Membuat Response")
+                })
+        },
+        onUpload(e){
+            const file = e.target.files[0]
+            this.response.images = []
+            this.response.images.push(file)
+            // this.item.imageUrl = URL.createObjectURL(file)
+        }
+
+
+    },
+    mounted(){
+        this.kpi_id = this.$route.params.id
+        this.response.kpi_id = this.kpi_id
+        let today = new Date;
+        this.response.date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate()
+        this.getKpi()
+    }
+
+}
+</script>
+
+<style scoped>
+* {
+    margin: 0;
+    padding: 0;
+    box-sizing: border-box;
+}
+
+body {
+    min-height: 100vh;
+    background-color: #fff;
+}
+
+#back{
+    cursor: pointer;
+}
+
+.btn-blue {
+  background-color: #6992b4;
+  color: #f1f7fc;
+  border-radius: 8px;
+  margin-right: 5px;
+}
+
+.btn {
+  background-color: #6992b4;
+  color: #f1f7fc;
+  border-radius: 15px;
+  padding: 7px;
+  width: fit-content;
+}
+
+.btn-red {
+  background-color: #f4476b;
+  color: #f1f7fc;
+  border-radius: 8px;
+}
+
+.modal{
+    margin: auto 
+}
+
+</style>
\ No newline at end of file
diff --git a/src/views/KpiManagerDetail.vue b/src/views/KpiManagerDetail.vue
index 06d1e2b1bbdbca291fd6d1c2db79930558fe2974..6c197b0d3c3609c93d949fddb0de3d49ca0be929 100644
--- a/src/views/KpiManagerDetail.vue
+++ b/src/views/KpiManagerDetail.vue
@@ -25,7 +25,7 @@
                                     </div>
                                         <div class="mb-3 me-3">
                                         <label for="deskripsiInput" class="text-blue"> Deskripsi </label>
-                                        <input v-model="kpi.description" type="text" id="deskripsiInput" class="form-control" readonly>
+                                        <textarea v-model="kpi.description" id="deskripsiInput" class="form-control" readonly></textarea>
                                     </div>
                                     <div class="mb-3 me-3">
                                         <label for="typeInput" class="text-blue"> Periode </label>
diff --git a/src/views/ResponseIndex.vue b/src/views/ResponseIndex.vue
index 83a19542bb76cb1e5a1a42badeeffbed19773f8c..3b68d40a51d2e24853afccd8860923bb9c3d1fa8 100644
--- a/src/views/ResponseIndex.vue
+++ b/src/views/ResponseIndex.vue
@@ -121,6 +121,9 @@ export default {
         Sidebar,
         TableR
     },
+    props:{
+        isManager : Boolean
+    },
     data(){
         return{
             filter: "",
@@ -161,6 +164,7 @@ export default {
         this.slug = this.$route.params.empId
         this.kpiId = this.$route.params.kpiId
         this.getEmpId()
+        console.log(this.isManager)
     },
     methods: {
         detailResponse(id){