Make icon marketplace upload work

This commit is contained in:
2026-01-24 00:16:43 -07:00
parent e1cd3f25e2
commit b25d870279
3 changed files with 1108 additions and 69 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -15,8 +15,9 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
[SerializeField] private Button backButton; [SerializeField] private Button backButton;
[SerializeField] private Button uploadButton; [SerializeField] private Button uploadButton;
[SerializeField] private Button selectButton; [SerializeField] private Button selectButton;
[SerializeField] private TMP_InputField birdNameInput; [SerializeField] private TMP_InputField verifyCodeInput;
[SerializeField] private TMP_InputField birdPriceInput; [SerializeField] private TMP_InputField birdPriceInput;
[SerializeField] private TMP_InputField birdNameInput;
[SerializeField] private Image birdImage; [SerializeField] private Image birdImage;
[SerializeField] private GameObject birdImageNone; [SerializeField] private GameObject birdImageNone;
private string birdData = null; private string birdData = null;
@@ -26,14 +27,14 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0)); backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0));
uploadButton.onClick.AddListener(() => uploadButton.onClick.AddListener(() =>
{ {
if (birdNameInput.text.Trim() == string.Empty) if (birdPriceInput.text.Trim() == string.Empty)
{
Tools.UpdateStatusText(statusText, "Bird name can't be empty", Color.red);
}
else if (birdPriceInput.text.Trim() == string.Empty)
{ {
Tools.UpdateStatusText(statusText, "Bird price can't be empty", Color.red); Tools.UpdateStatusText(statusText, "Bird price can't be empty", Color.red);
} }
else if (birdNameInput.text.Trim() == string.Empty)
{
Tools.UpdateStatusText(statusText, "Bird name can't be empty", Color.red);
}
else if (birdData == null) else if (birdData == null)
{ {
Tools.UpdateStatusText(statusText, "You must upload an image", Color.red); Tools.UpdateStatusText(statusText, "You must upload an image", Color.red);
@@ -91,12 +92,12 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
backButton.interactable = false; backButton.interactable = false;
selectButton.interactable = false; selectButton.interactable = false;
WWWForm dataForm = new(); WWWForm dataForm = new();
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession()); dataForm.AddField("verifyCode", verifyCodeInput.text);
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
dataForm.AddField("name", birdNameInput.text);
dataForm.AddField("price", birdPriceInput.text); dataForm.AddField("price", birdPriceInput.text);
dataForm.AddField("filecontent", birdData); dataForm.AddField("name", birdNameInput.text);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/uploadMarketplaceIcon.php", dataForm); dataForm.AddField("fileContent", birdData);
using UnityWebRequest request = UnityWebRequest.Post(Endpoints.ICON_MARKETPLACE_UPLOAD_ENDPOINT, dataForm);
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
@@ -109,52 +110,9 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red); Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = request.downloadHandler.text; var jsonResponse = JObject.Parse(request.downloadHandler.text);
if (response == "-999") if ((bool)jsonResponse["success"]) Reset();
{ Tools.UpdateStatusText(statusText, (string)jsonResponse["message"], (bool)jsonResponse["success"] ? Color.green : Color.red);
uploadButton.interactable = true;
backButton.interactable = true;
selectButton.interactable = true;
Tools.UpdateStatusText(statusText, "Server error while fetching data", Color.red);
return;
}
else if (response == "-998")
{
uploadButton.interactable = true;
backButton.interactable = true;
selectButton.interactable = true;
Tools.UpdateStatusText(statusText, "Client version too outdated to access servers", Color.red);
return;
}
else if (response == "-997")
{
uploadButton.interactable = true;
backButton.interactable = true;
selectButton.interactable = true;
Tools.UpdateStatusText(statusText, "Encryption/decryption issues", Color.red);
return;
}
else if (response == "-996")
{
uploadButton.interactable = true;
backButton.interactable = true;
selectButton.interactable = true;
Tools.UpdateStatusText(statusText, "Can't send requests on self-built instance", Color.red);
return;
}
else
{
var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
Reset();
Tools.UpdateStatusText(statusText, (string)jsonResponse["message"], Color.green);
}
else
{
Tools.UpdateStatusText(statusText, (string)jsonResponse["message"], Color.red);
}
}
uploadButton.interactable = true; uploadButton.interactable = true;
backButton.interactable = true; backButton.interactable = true;
selectButton.interactable = true; selectButton.interactable = true;
@@ -166,8 +124,9 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
birdImageNone.SetActive(true); birdImageNone.SetActive(true);
birdImage.gameObject.SetActive(false); birdImage.gameObject.SetActive(false);
birdData = null; birdData = null;
birdNameInput.text = string.Empty; verifyCodeInput.text = string.Empty;
birdPriceInput.text = string.Empty; birdPriceInput.text = string.Empty;
birdNameInput.text = string.Empty;
statusText.text = string.Empty; statusText.text = string.Empty;
} }
} }

View File

@@ -16,6 +16,7 @@ public class Endpoints
public static readonly string PROFILE_ENDPOINT = BERRYDASH_ENDPOINT + "/profile"; public static readonly string PROFILE_ENDPOINT = BERRYDASH_ENDPOINT + "/profile";
public static readonly string PROFILE_POSTS_ENDPOINT = PROFILE_ENDPOINT + "/posts"; public static readonly string PROFILE_POSTS_ENDPOINT = PROFILE_ENDPOINT + "/posts";
public static readonly string ICON_MARKETPLACE_ENDPOINT = BERRYDASH_ENDPOINT + "/icon-marketplace"; public static readonly string ICON_MARKETPLACE_ENDPOINT = BERRYDASH_ENDPOINT + "/icon-marketplace";
public static readonly string ICON_MARKETPLACE_UPLOAD_ENDPOINT = ICON_MARKETPLACE_ENDPOINT + "/upload";
public static readonly string ACCOUNT_ENDPOINT = BERRYDASH_ENDPOINT + "/account"; public static readonly string ACCOUNT_ENDPOINT = BERRYDASH_ENDPOINT + "/account";
public static readonly string ACCOUNT_LOGIN_ENDPOINT = ACCOUNT_ENDPOINT + "/login"; public static readonly string ACCOUNT_LOGIN_ENDPOINT = ACCOUNT_ENDPOINT + "/login";
public static readonly string ACCOUNT_REGISTER_ENDPOINT = ACCOUNT_ENDPOINT + "/register"; public static readonly string ACCOUNT_REGISTER_ENDPOINT = ACCOUNT_ENDPOINT + "/register";