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 uploadButton;
[SerializeField] private Button selectButton;
[SerializeField] private TMP_InputField birdNameInput;
[SerializeField] private TMP_InputField verifyCodeInput;
[SerializeField] private TMP_InputField birdPriceInput;
[SerializeField] private TMP_InputField birdNameInput;
[SerializeField] private Image birdImage;
[SerializeField] private GameObject birdImageNone;
private string birdData = null;
@@ -26,14 +27,14 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0));
uploadButton.onClick.AddListener(() =>
{
if (birdNameInput.text.Trim() == string.Empty)
{
Tools.UpdateStatusText(statusText, "Bird name can't be empty", Color.red);
}
else if (birdPriceInput.text.Trim() == string.Empty)
if (birdPriceInput.text.Trim() == string.Empty)
{
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)
{
Tools.UpdateStatusText(statusText, "You must upload an image", Color.red);
@@ -91,12 +92,12 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
backButton.interactable = false;
selectButton.interactable = false;
WWWForm dataForm = new();
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
dataForm.AddField("name", birdNameInput.text);
dataForm.AddField("verifyCode", verifyCodeInput.text);
dataForm.AddField("price", birdPriceInput.text);
dataForm.AddField("filecontent", birdData);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/uploadMarketplaceIcon.php", dataForm);
dataForm.AddField("name", birdNameInput.text);
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("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
@@ -109,52 +110,9 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
Tools.UpdateStatusText(statusText, "Failed to make HTTP request", Color.red);
return;
}
string response = request.downloadHandler.text;
if (response == "-999")
{
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);
}
}
var jsonResponse = JObject.Parse(request.downloadHandler.text);
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;
@@ -166,8 +124,9 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
birdImageNone.SetActive(true);
birdImage.gameObject.SetActive(false);
birdData = null;
birdNameInput.text = string.Empty;
verifyCodeInput.text = string.Empty;
birdPriceInput.text = string.Empty;
birdNameInput.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_POSTS_ENDPOINT = PROFILE_ENDPOINT + "/posts";
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_LOGIN_ENDPOINT = ACCOUNT_ENDPOINT + "/login";
public static readonly string ACCOUNT_REGISTER_ENDPOINT = ACCOUNT_ENDPOINT + "/register";