Skip to content

Commit

Permalink
Merge pull request #48 from nbCamp-24-02-19/mypage
Browse files Browse the repository at this point in the history
✨Feat : Mypage
  • Loading branch information
Guri999 authored Mar 6, 2024
2 parents 0f7c353 + a144db4 commit 112a1c1
Show file tree
Hide file tree
Showing 29 changed files with 628 additions and 249 deletions.
9 changes: 6 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" >
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
Expand All @@ -21,7 +21,10 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.CoLink"
tools:targetApi="31" >
tools:targetApi="31">
<activity
android:name=".ui.userdetail.UserDetailActivity"
android:exported="false" />
<activity
android:name=".ui.recommend.RecommendUserActivity"
android:exported="false" />
Expand Down Expand Up @@ -54,7 +57,7 @@
<activity
android:name=".ui.main.MainActivity"
android:exported="true"
android:label="@string/app_name" >
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
37 changes: 23 additions & 14 deletions app/src/main/java/com/seven/colink/ui/mypage/MyPageFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class MyPageFragment : Fragment() {
privacypolicy()
SkilRecyclerView()
PostRecyclerView()
settingClick()
//settingClick()
setLogout()

//스킬 추가
Expand All @@ -76,7 +76,7 @@ class MyPageFragment : Fragment() {
}
//스킬 삭제
skiladapter.skilLongClick = object : MyPageSkilAdapter.SkilLongClick{
override fun onLongClick(language: String, position: Int) {
override fun onLongClick(language: Any, position: Int) {
val ad = AlertDialog.Builder(context)
ad.setTitle("삭제")
ad.setMessage("정말로 삭제하시겠습니까?")
Expand All @@ -91,6 +91,7 @@ class MyPageFragment : Fragment() {
}


//파이어베이스 유저 정보 연결 & 스킬 연결
viewModel.userDetails.observe(viewLifecycleOwner) { userDetails ->
if (userDetails!= null) {
// Update UI with user details
Expand All @@ -109,6 +110,7 @@ class MyPageFragment : Fragment() {
Log.d("Tag", "${userDetails.skill}")
}

//파이어베이스 유저 등록글
viewModel.userPost.observe(viewLifecycleOwner) { it ->
it?.map{post ->
if (post.grouptype == GroupType.PROJECT){
Expand All @@ -128,6 +130,8 @@ class MyPageFragment : Fragment() {
return binding.root
}



private fun updateUI(user: MyPageUserModel) {
// Update your views with user information
binding.tvMypageName.text = user.name
Expand All @@ -142,6 +146,9 @@ class MyPageFragment : Fragment() {
}
binding.tvMypageAboutMe.text = user.info

val uri = Uri.parse(user.profile.toString())
binding.ivMypageProfile.setImageURI(uri)

val level = user.level
val levelicon: Drawable = DrawableCompat.wrap(binding.ivMypageLevel.drawable)
if (level == 1){
Expand Down Expand Up @@ -204,20 +211,22 @@ class MyPageFragment : Fragment() {
}
}

private fun settingClick(){
binding.ivMypageSetting.setOnClickListener {
val myPageEditDetailFragment = LayoutInflater.from(context).inflate(R.layout.fragment_my_page_edit_detail, null)
val myBuilder = AlertDialog.Builder(context)
.setView(myPageEditDetailFragment)
val mAlertDialog = myBuilder.show()

val mypageBackButton = myPageEditDetailFragment.findViewById<ImageView>(R.id.iv_mypage_detail_back)

mypageBackButton.setOnClickListener {
mAlertDialog.dismiss()
}
}
}
// private fun settingClick(){
// binding.ivMypageSetting.setOnClickListener {
// val myPageEditDetailFragment = LayoutInflater.from(context).inflate(R.layout.fragment_my_page_edit_detail, null)
// val myBuilder = AlertDialog.Builder(context)
// .setView(myPageEditDetailFragment)
// val mAlertDialog = myBuilder.show()
//
// val mypageBackButton = myPageEditDetailFragment.findViewById<ImageView>(R.id.iv_mypage_detail_back)
//
// mypageBackButton.setOnClickListener {
// mAlertDialog.dismiss()
// }
// }
// }



Expand Down
117 changes: 0 additions & 117 deletions app/src/main/java/com/seven/colink/ui/mypage/MyPageSkilItemManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -142,123 +142,6 @@ object MyPageSkilItemManager {
}
}

fun addItem2(language: String){
var icon = R.drawable.ic_kotlin
when(language){
"Adobe Photoshop" -> {
icon = R.drawable.ic_ps
}
"Adobe Illustrator" ->{
icon = R.drawable.ic_ai
}
"Adobe XD" ->{
icon = R.drawable.ic_xd
}
"Bash" ->{
icon = R.drawable.ic_bash
}
"Blender" ->{
icon = R.drawable.ic_blender
}
"C" ->{
icon = R.drawable.ic_c
}
"C#" ->{
icon = R.drawable.ic_csharp
}
"C++" ->{
icon = R.drawable.ic_cplus
}
"CorelDRAW" ->{
icon = R.drawable.ic_coreldraw
}
"Figma" ->{
icon = R.drawable.ic_figma
}
"Go" ->{
icon = R.drawable.ic_go
}
"Groovy" ->{
icon = R.drawable.ic_groovy
}
"HTML" ->{
icon = R.drawable.ic_html
}
"Java" ->{
icon = R.drawable.ic_java
}
"JavaScript" ->{
icon = R.drawable.ic_javascript
}
"Kubernetes" ->{
icon = R.drawable.ic_kubernetes
}
"Lua" ->{
icon = R.drawable.ic_lua
}
"MATLAB" ->{
icon = R.drawable.ic_matlab
}
"Maya" ->{
icon = R.drawable.ic_maya
}
"Objective-C" ->{
icon = R.drawable.ic_objectivec
}
"PHP" ->{
icon = R.drawable.ic_php
}
"PowerShell" ->{
icon = R.drawable.ic_powershell
}
"Python" ->{
icon = R.drawable.ic_python
}
"R" ->{
icon = R.drawable.ic_r
}
"Ruby" ->{
icon = R.drawable.ic_ruby
}
"Rust" ->{
icon = R.drawable.ic_rust
}
"SAS" ->{
icon = R.drawable.ic_sas
}
"Shell" ->{
icon = R.drawable.ic_shell
}
"Sketch" ->{
icon = R.drawable.ic_sketch
}
"SQL" ->{
icon = R.drawable.ic_sql
}
"Substance Designer/Painter" ->{
icon = R.drawable.ic_substance
}
"Swift" ->{
icon = R.drawable.ic_swift
}
"TypeScript" ->{
icon = R.drawable.ic_ts
}
"Dart" ->{
icon = R.drawable.ic_dart
}
"VBA" ->{
icon = R.drawable.ic_vba
}
"기타(etc)" ->{
icon = R.drawable.ic_etc
}

}
skilMyPageItem = skilMyPageItem + MyPageItem.skilItems(skilMyPageItem.size+1,language,icon)
}
fun removeItem(language: String){
skilMyPageItem = skilMyPageItem.filter { it.language != language }
}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.seven.colink.ui.mypage

import android.util.Log
import android.widget.Toast
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
Expand Down Expand Up @@ -71,13 +70,14 @@ class MyPageViewModel @Inject constructor(
}
}

fun removeSkill(skill: String){
fun removeSkill(skill: Any){

viewModelScope.launch {
val currentUser = authRepository.getCurrentUser().message
val userDetailsResult = userRepository.getUserDetails(currentUser)
userDetailsResult.onSuccess { user ->
val updatedSkills = user?.skill?.filter { it != skill }
Log.d("Tag", "updateSkills = ${updatedSkills}")
val updatedUser = user?.copy(skill = updatedSkills)
updatedUser?.let {
userRepository.registerUser(it)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class MyPagePostAdapter(var mItems: List<MyPostItem>) : RecyclerView.Adapter<Rec
is MyPostItem.MyPageStudyItem ->{
(holder as StudyViewHolder).holderStudying.text = item.studying
if (holder.holderStudying.text == "참여중"){
holder.holderStudying.setBackgroundResource(R.drawable.bg_mypage_ing_study)
holder.holderStudying.setBackgroundResource(R.drawable.bg_mypage_ing_blue)
}
holder.studyname.text = item.studyName
holder.studytime.text = item.studyTime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,9 @@ import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.seven.colink.databinding.ItemSignUpSkillBinding
import com.seven.colink.databinding.MypageRecyclerviewItemSkilitemBinding
import com.seven.colink.ui.mypage.MyPageItem
import com.seven.colink.ui.mypage.MyPageSkilItemManager
import com.seven.colink.ui.mypage.MyPostItem
import com.seven.colink.ui.sign.signup.adater.SignUpProfileAdapter
import com.seven.colink.ui.sign.signup.type.SignUpProfileViewType
import okhttp3.internal.notify

class MyPageSkilAdapter(var mItems: List<MyPageItem>): RecyclerView.Adapter<ViewHolder>() {

Expand All @@ -21,7 +16,7 @@ class MyPageSkilAdapter(var mItems: List<MyPageItem>): RecyclerView.Adapter<View
}

interface SkilLongClick{
fun onLongClick(language: String, position: Int)
fun onLongClick(language: Any, position: Int)
}

interface PlusClick{
Expand Down Expand Up @@ -57,10 +52,10 @@ class MyPageSkilAdapter(var mItems: List<MyPageItem>): RecyclerView.Adapter<View
notifyDataSetChanged()
}

fun addItem(myPageItem: MyPageItem.skilItems){
mItems + MyPageSkilItemManager.addItem2(myPageItem.language)
notifyDataSetChanged()
}
// fun addItem(myPageItem: MyPageItem.skilItems){
// mItems + MyPageSkilItemManager.addItem2(myPageItem.language)
// notifyDataSetChanged()
// }

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = mItems[position]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.seven.colink.ui.post

import android.content.Context
import com.seven.colink.databinding.ItemPostCommentBinding
import com.seven.colink.databinding.ItemPostCommentSendBinding
import com.seven.colink.databinding.ItemPostCommentTitleBinding
import com.seven.colink.ui.post.content.adapter.PostContentListAdapter
import com.seven.colink.ui.post.content.model.PostContentItem

class PostCommentCountViewHolder(
private val context: Context,
private val binding: ItemPostCommentTitleBinding
): PostContentListAdapter.PostViewHolder(binding.root) {

override fun onBind(item: PostContentItem) {
val commentCount = binding.tvPostCommentCount
}

}

class PostCommentViewHolder(
private val context: Context,
private val binding: ItemPostCommentBinding
): PostContentListAdapter.PostViewHolder(binding.root) {

override fun onBind(item: PostContentItem) {
val commentName = binding.tvPostCommentName
val commentTime = binding.tvPostCommentTime
val comment = binding.tvPostComment
}

}

class PostCommentSendViewHolder(
private val context: Context,
private val binding: ItemPostCommentSendBinding
): PostContentListAdapter.PostViewHolder(binding.root) {

override fun onBind(item: PostContentItem) {
val sendEdit = binding.etPostCommentSend
val sendClick = binding.btnPostCommentSend
}

}
Loading

0 comments on commit 112a1c1

Please sign in to comment.