스팀 앱 - 개발 중: 사용자 히스토리 항목 클릭 (8) 내용 정리: AccountHistoryItemLink 리스트를 정의하기 위한 AccountHistoryItem 클래스의 확장 함수 추가
스팀 앱 - 개발 중: 사용자 히스토리 항목 클릭 (8) 내용 정리: AccountHistoryItemLink 리스트를 정의하기 위한 AccountHistoryItem 클래스의 확장 함수 추가
2024. 08. 27 (화) | Written by @dorian-mobileapp
지난 포스트에서 AccountHistoryItemLink 데이터 클래스를 소개했습니다. 오늘은 AccountHistoryItem 객체의 내용을 활용하여 AccountHistoryItemLink 리스트를 생성하는 방법을 정리합니다.
개별 AccountHistoryItem 객체로부터 AccountHistoryItemLink 리스트 생성
AccountHistoryItem 객체의 type 값이 무엇이냐에 따라 AccountHistoryItemLink 리스트 생성하는 각기 다른 메소드들을 호출합니다.
fun AccountHistoryItem.getLinkList(): List<AccountHistoryItemLink> {
return when (type) {
"author_reward" -> getAuthorRewardLinks()
"comment" -> getCommentLinks()
"comment_benefactor_reward" -> getCommentBenefactorRewardLinks()
"curation_reward" -> getCurationRewardLinks()
"transfer" -> getTransferLinks()
"transfer_to_vesting" -> getTransferToVestingLinks()
"vote" -> getVoteLinks()
else -> listOf()
}
}
AccountHistoryItem.get...Links() 확장 함수들
아래 함수는 저자 보상 항목의 링크 리스트를 생성합니다.
fun AccountHistoryItem.getAuthorRewardLinks(): List<AccountHistoryItemLink> {
val author = content.read("author", "")
val permlink = content.read("permlink", "")
return listOf(
AccountHistoryItemLink("profile", "@${author}", "@${author}"),
AccountHistoryItemLink("post", "@${author}/${permlink}", "@${author}/${permlink}")
)
}
- AccountHistoryItemLink("profile", "@${author}", "@${author}")
- "profile": 클릭시 프로필 화면으로 연결하기 위함입니다.
- "@${author}": 팝업 메뉴의 항목 이름으로 보여지는 것입니다. (예: "@dorian-mobileapp")
- "@${author}": 프로필 화면으로 연결하기 위한 계정입니다.(예: "@dorian-mobileapp")
- AccountHistoryItemLink("post", "@${author}/${permlink}", "@${author}/${permlink}")
- "post": 클릭시 포스트 화면으로 연결하기 위함입니다.
- "@${author}/${permlink}": 팝업 메뉴의 항목 이름으로 보여지는 것입니다. (예: "@dorian-mobileapp/100")
- "@${author}/${permlink}": 포스트 화면으로 연결하기 위한 주소입니다.(예: "@dorian-mobileapp/100")
나머지 get...Links() 메소드들은 편의상 생략합니다. 나중에 GitHub commit 링크를 공유드릴께요.
Layout provided by Steemit Enhancer hommage by ayogom
Posted through the ECblog app (https://blog.etain.club)
안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.
Thank you, friend!


I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
please click it!
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)
The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!
Upvoted! Thank you for supporting witness @jswit.