diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt
index c516c8d..a0e80e4 100644
--- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt
+++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/CreateProjectActivity.kt
@@ -1,13 +1,34 @@
package com.campusaula.edbole.kanban_clone_android.ui
+import android.content.Intent
import android.os.Bundle
+import android.util.Log
+import android.widget.AutoCompleteTextView
+import android.widget.Button
+import android.widget.MultiAutoCompleteTextView
+import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.lifecycle.lifecycleScope
import com.campusaula.edbole.kanban_clone_android.R
+import com.campusaula.edbole.kanban_clone_android.kanban.ProjectCreate
+import com.campusaula.edbole.kanban_clone_android.network.ApiService
+import com.campusaula.edbole.kanban_clone_android.network.RetrofitInstance
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import kotlinx.coroutines.launch
+
class CreateProjectActivity : AppCompatActivity() {
+
+ private lateinit var api: ApiService
+
+ private lateinit var returnActionButton : FloatingActionButton
+ private lateinit var newProjectName : AutoCompleteTextView
+ private lateinit var newProjectDescription : AutoCompleteTextView
+ private lateinit var newProjectCreateButton : Button
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
@@ -17,5 +38,51 @@ class CreateProjectActivity : AppCompatActivity() {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
+
+ api = RetrofitInstance.getRetrofit(applicationContext).create(ApiService::class.java)
+
+ returnActionButton = findViewById(R.id.returnActionButton)
+ returnActionButton.setOnClickListener { finish() }
+
+ newProjectName = findViewById(R.id.newProjectName)
+ newProjectDescription = findViewById(R.id.newProjectDescription)
+
+ newProjectCreateButton = findViewById(R.id.newProjectCreateButton)
+ newProjectCreateButton.setOnClickListener {
+ val projectName = newProjectName.text.toString()
+ val projectDescription = newProjectDescription.text.toString()
+
+ if (projectName.isEmpty() || projectDescription.isEmpty()) {
+ Toast
+ .makeText(this, "Please fill in all fields", Toast.LENGTH_SHORT)
+ .show()
+ return@setOnClickListener
+ }
+
+ lifecycleScope.launch {
+
+ val projectCreate : ProjectCreate = ProjectCreate(projectName, projectDescription)
+ val response = api.createProject(projectCreate)
+
+ if (response.isSuccessful){
+ Toast
+ .makeText(this@CreateProjectActivity, "Project created successfully", Toast.LENGTH_SHORT)
+ .show()
+ Log.d("CreateProjectActivity", "Created project: ${response.body()}")
+ startActivity(Intent(this@CreateProjectActivity, MainActivity::class.java))
+ } else {
+ Log.e("CreateProjectActivity", "Error creating project: ${response.code()} - ${response.message()}")
+ Toast
+ .makeText(this@CreateProjectActivity, "Error creating project", Toast.LENGTH_SHORT)
+ .show()
+ }
+
+ }
+
+ }
+
+
+
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt
index 5790ade..3cb0662 100644
--- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt
+++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt
@@ -1,14 +1,17 @@
package com.campusaula.edbole.kanban_clone_android.ui
+import android.content.Intent
import android.health.connect.datatypes.units.Percentage
import android.os.Bundle
import android.util.Log
+import android.widget.Button
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
+import androidx.recyclerview.widget.RecyclerView
import com.campusaula.edbole.kanban_clone_android.R
import com.campusaula.edbole.kanban_clone_android.kanban.Project
import com.campusaula.edbole.kanban_clone_android.kanban.Task
@@ -22,10 +25,17 @@ class ProjectDetailActivity : AppCompatActivity() {
private lateinit var api: ApiService
+ private lateinit var returnActionButton: FloatingActionButton
+ private lateinit var addTaskButton: Button
+ private lateinit var addCollaboratorButton: Button
+
+ private lateinit var collaboratorListRecycler: RecyclerView
+// private lateinit var collaboratorListAdapter: CollaboratorListAdapter
+
private lateinit var projectTitleText : TextView
private lateinit var projectDescriptionText : TextView
private lateinit var completedPercentageText: TextView
- private lateinit var returnActionButton: FloatingActionButton
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -36,14 +46,36 @@ class ProjectDetailActivity : AppCompatActivity() {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
+
+
api = RetrofitInstance.getRetrofit(applicationContext).create(ApiService::class.java)
+ val projectId = intent.getIntExtra("project_id", -1)
+
projectTitleText = findViewById(R.id.projectTitleText)
projectDescriptionText = findViewById(R.id.projectDescriptionText)
completedPercentageText = findViewById(R.id.completedPercentageText)
+
returnActionButton = findViewById(R.id.returnActionButton)
returnActionButton.setOnClickListener { finish() }
- val projectId : Int = intent.getIntExtra("project_id", -1)
+ addTaskButton = findViewById(R.id.addTaskButton)
+// addTaskButton.setOnClickListener {
+// val intent: Intent = Intent(this, CreateTaskActivity::class.java)
+// intent.putExtra("project_id", projectId)
+// startActivity(intent)
+// }
+
+ addCollaboratorButton = findViewById(R.id.addCollaboratorButton)
+// addCollaboratorButton.setOnClickListener {
+// val intent: Intent = Intent(this, AddCollaboratorActivity::class.java)
+// intent.putExtra("project_id", projectId)
+// startActivity(intent)
+// }
+
+ collaboratorListRecycler = findViewById(R.id.collaboratorListRecycler)
+// collaboratorListAdapter =
+ collaboratorListRecycler.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this)
+
if (projectId > 0) {
Log.d("ProjectDetailActivity", "Received project ID: $projectId")
@@ -83,10 +115,13 @@ class ProjectDetailActivity : AppCompatActivity() {
finish()
}
}
- } else {
+ }
+ else {
Log.e("ProjectDetailActivity", "No project ID found in intent")
finish()
}
+
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt
index 53856b0..062b84b 100644
--- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt
+++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt
@@ -33,12 +33,12 @@ class ProjectItemAdapter(
override fun getItemCount(): Int = items.size
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- private val nameTv: TextView = itemView.findViewById(R.id.projectName)
- private val descTv: TextView = itemView.findViewById(R.id.projectDescription)
+ private val nameTextView: TextView = itemView.findViewById(R.id.projectName)
+ private val descriptionTextView: TextView = itemView.findViewById(R.id.projectDescription)
fun bind(project: Project) {
- nameTv.text = project.id.toString() + " " + project.name
- descTv.text = project.description
+ nameTextView.text = project.name
+ descriptionTextView.text = project.description
}
}
}
diff --git a/app/src/main/res/layout/activity_create_project.xml b/app/src/main/res/layout/activity_create_project.xml
index 68de28d..e833cd0 100644
--- a/app/src/main/res/layout/activity_create_project.xml
+++ b/app/src/main/res/layout/activity_create_project.xml
@@ -7,4 +7,89 @@
android:layout_height="match_parent"
tools:context=".ui.CreateProjectActivity">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_project_detail.xml b/app/src/main/res/layout/activity_project_detail.xml
index 4b45b8c..c1987be 100644
--- a/app/src/main/res/layout/activity_project_detail.xml
+++ b/app/src/main/res/layout/activity_project_detail.xml
@@ -38,19 +38,96 @@
android:id="@+id/completedPercentageText"
app:layout_constraintTop_toBottomOf="@+id/projectTitleText"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintEnd_toEndOf="parent"
android:paddingRight="12dp"
- android:paddingLeft="12dp" />
+ android:paddingLeft="12dp"
+ android:layout_marginTop="16dp"
+ android:textSize="18dp" />
+ android:padding="12dp"
+ android:gravity="start|top" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file