Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨Feat : Mypage #48

Merged
merged 2 commits into from
Mar 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading