From e745dab6cff95309e755f859f47dc01df72e3978 Mon Sep 17 00:00:00 2001
From: FEARmeR <fearmer@gmail.com>
Date: Tue, 23 May 2023 19:13:24 +0100
Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D1=81=D0=BC=D0=B5=D1=82=D0=B8?=
 =?UTF-8?q?=D0=BA=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../LandingPages/Project/AllProjects.vue      |  2 +-
 .../LandingPages/Project/EditProject.vue      | 45 +++++++++++--------
 src/views/LandingPages/Project/Project.vue    | 15 +++----
 3 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/src/views/LandingPages/Project/AllProjects.vue b/src/views/LandingPages/Project/AllProjects.vue
index 570b0d0..de7dbe6 100644
--- a/src/views/LandingPages/Project/AllProjects.vue
+++ b/src/views/LandingPages/Project/AllProjects.vue
@@ -99,7 +99,7 @@ border-radius: 15px;
 .result-grid {
   display: flex;
   flex-wrap: wrap;
-  justify-content: space-between;
+  justify-content: left;
 }
 
 .result-card {
diff --git a/src/views/LandingPages/Project/EditProject.vue b/src/views/LandingPages/Project/EditProject.vue
index 9823c5e..8b0e634 100644
--- a/src/views/LandingPages/Project/EditProject.vue
+++ b/src/views/LandingPages/Project/EditProject.vue
@@ -48,19 +48,6 @@ const onFileChange = (event) => {
 
 
 const updateProject = async () => {
-    // try {
-    //     const headers = { 'Authorization': `Bearer ${token.value}` };
-    //     const data = {
-    //         title: projectData.value.title,
-    //         description: projectData.value.description,
-    //         demo_link: projectData.value.demo_link,
-    //         source_link: projectData.value.source_link,
-    //         tags: projectData.value.tags,
-
-    //     };
-    //     const response = await axios.patch(`http://somebodyhire.me/api/projects/${projectId.value}/`, data, { headers });
-    //     router.push(`/project/${response.data.id}`);
-    // } 
     try {
         const tokenValue = token.value;
         const headers = { 
@@ -94,6 +81,29 @@ const updateProject = async () => {
     }
 };
 
+const deleteProject = async () => {
+    try {
+        const tokenValue = token.value;
+        const headers = { 
+            'Authorization': `Bearer ${tokenValue}`,
+            'Content-Type': 'multipart/form-data',
+            "X-CSRFToken": "{{ csrf_token }}"
+        };
+
+
+        const response = await axios.delete(`http://somebodyhire.me/api/projects/${projectId.value}/`, { headers });
+        router.push('/myprojects');
+
+
+    }
+
+    
+    catch (error) {
+        debugText.value = `Error: ${JSON.stringify(error, null, 2)}`;
+        console.error(error);
+    }
+};
+
 const cancelUpdate = () => {
     router.push('/myprojects');
 };
@@ -107,13 +117,13 @@ onMounted(async() => {
 <template>
     <NavbarDefault />
     <div class="profile-container">
-        <H1> Страница Редактирования Проекта {{ projectId }}</H1>
+
         <div v-if="!isAuthenticated">
             <h1>Вы не авторизованы</h1>
         </div>
         <div v-else>
             <div v-if = "userId == projectData.owner">
-        <h1>User Profile: {{ loggedUserName }}</h1>
+        <h2>Редактирование проекта</h2>
 
         <!-- Окно с результатами обмена для отладки 
         <textarea readonly v-model="debugText"></textarea>
@@ -133,11 +143,10 @@ onMounted(async() => {
         <div>
         <button @click="updateProject" class="btn-submit">Сохранить</button>
         <button @click="cancelUpdate" class="btn-cancel">Отмена</button>
+        <button @click="deleteProject" class="btn-cancel">Удалить</button>
         </div> 
     </div>
-            <div v-else>
-                <h1>Вы не являетесь владельцем проекта</h1>
-            </div>
+
         </div>
     </div>
 </template>
diff --git a/src/views/LandingPages/Project/Project.vue b/src/views/LandingPages/Project/Project.vue
index 320a80e..bcd259d 100644
--- a/src/views/LandingPages/Project/Project.vue
+++ b/src/views/LandingPages/Project/Project.vue
@@ -38,20 +38,17 @@ const getProject = async () => {
 <template>
   <NavbarDefault />
     <div v-if="projectData" class="project-container">
-      <h1 class="project-title">Проект номер: {{ projectData.id }}</h1>
-      <h2 class="project-subtitle">{{ projectData.title }}</h2>
+      <h1 class="subtitle">{{ projectData.title }}</h1>
       <div v-if = "projectData.owner == userId" class="project-owner-note">
         <a :href="`/editproject/${projectData.id}`">Редактирование проекта</a>
       </div>
-      <p class="project-description">{{ projectData.description }}</p>
       <img class="project-image" :src="projectData.featured_image" alt="Featured image">
-      <p> {{ projectData.featured_image }}</p>
-      <p v-if="projectData.demo_link" class="project-demo-link">Demo Link: <a :href="projectData.demo_link">{{ projectData.demo_link }}</a></p>
-      <p v-if="projectData.source_link" class="project-source-link">Source Link: <a :href="projectData.source_link">{{ projectData.source_link }}</a></p>
-      <p class="project-votes">Total Votes: {{ projectData.vote_total }}</p>
+      <p class="project-description">{{ projectData.description }}</p>
+      <p v-if="projectData.demo_link" class="project-demo-link">Demo Link: <a target="_blank" :href="projectData.demo_link">{{ projectData.demo_link }}</a></p>
+      <p v-if="projectData.source_link" class="project-source-link">Source Link: <a target="_blank" :href="projectData.source_link">{{ projectData.source_link }}</a></p>
+      <!-- <p class="project-votes">Total Votes: {{ projectData.vote_total }}</p>
       <p class="project-vote-ratio">Vote Ratio: {{ projectData.vote_ratio }}</p>
       <p class="project-created">Created On: {{ new Date(projectData.created).toLocaleDateString() }}</p>
-      <p class="project-owner-id">Owner ID: {{ projectData.owner }}</p>
       <p class="project-tags">Tags: 
         <span v-for="(tag, index) in projectData.tags" :key="index" class="project-tag">
           {{ tag }}<span v-if="index < projectData.tags.length - 1">, </span>
@@ -66,7 +63,7 @@ const getProject = async () => {
         </select>
       <textarea name="comment" v-model="message" placeholder="Напишите комментарий"></textarea>
       <button>Отправить</button>
-      </div>
+      </div> -->
   </div>
 </template>