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"> + + + + + + + + + + + + +