M3 redesign: search/discover

This commit is contained in:
Grishka
2023-06-24 22:56:55 +03:00
parent c9e467ac2f
commit e1db5f15ca
40 changed files with 1300 additions and 774 deletions

View File

@@ -2,6 +2,7 @@ package org.joinmastodon.android.model;
import org.joinmastodon.android.api.ObjectValidationException;
import org.joinmastodon.android.api.RequiredField;
import org.joinmastodon.android.model.viewmodel.AccountViewModel;
public class SearchResult extends BaseModel implements DisplayItemsParent{
public Account account;

View File

@@ -0,0 +1,19 @@
package org.joinmastodon.android.model.viewmodel;
import android.text.TextUtils;
import org.joinmastodon.android.model.Card;
import me.grishka.appkit.imageloader.requests.ImageLoaderRequest;
import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
import me.grishka.appkit.utils.V;
public class CardViewModel{
public final Card card;
public final ImageLoaderRequest imageRequest;
public CardViewModel(Card card, int width, int height){
this.card=card;
this.imageRequest=TextUtils.isEmpty(card.image) ? null : new UrlImageLoaderRequest(card.image, V.dp(width), V.dp(height));
}
}

View File

@@ -0,0 +1,24 @@
package org.joinmastodon.android.model.viewmodel;
import android.content.Context;
import org.joinmastodon.android.R;
import org.joinmastodon.android.model.Hashtag;
import org.joinmastodon.android.model.SearchResult;
public class SearchResultViewModel{
public SearchResult result;
public AccountViewModel account;
public ListItem<Hashtag> hashtagItem;
public SearchResultViewModel(SearchResult result, String accountID, boolean isRecents){
this.result=result;
switch(result.type){
case ACCOUNT -> account=new AccountViewModel(result.account, accountID);
case HASHTAG -> {
hashtagItem=new ListItem<>((isRecents ? "#" : "")+result.hashtag.name, null, isRecents ? R.drawable.ic_history_24px : R.drawable.ic_tag_24px, null, result.hashtag);
hashtagItem.isEnabled=true;
}
}
}
}