@retinalabsllc/zairusjs 21.1.3 → 21.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +42 -43
- package/dist/index.mjs +42 -43
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3388,6 +3388,7 @@ var ManagedDocument = ({
|
|
|
3388
3388
|
var import_react55 = __toESM(require("react"));
|
|
3389
3389
|
var import_react56 = require("@hugeicons/react");
|
|
3390
3390
|
var import_core_free_icons20 = require("@hugeicons/core-free-icons");
|
|
3391
|
+
var import_react_hot_toast10 = __toESM(require("react-hot-toast"));
|
|
3391
3392
|
var TextInput2 = ({
|
|
3392
3393
|
label,
|
|
3393
3394
|
value,
|
|
@@ -3464,11 +3465,9 @@ var ManagedContactBlock = ({
|
|
|
3464
3465
|
}) => {
|
|
3465
3466
|
const [formData, setFormData] = (0, import_react55.useState)({ name: "", email: "", title: "", phone: "", message: "" });
|
|
3466
3467
|
const [status, setStatus] = (0, import_react55.useState)("idle");
|
|
3467
|
-
const [responseMessage, setResponseMessage] = (0, import_react55.useState)("");
|
|
3468
3468
|
const handleSubmit = async (e) => {
|
|
3469
3469
|
e.preventDefault();
|
|
3470
3470
|
setStatus("loading");
|
|
3471
|
-
setResponseMessage("");
|
|
3472
3471
|
try {
|
|
3473
3472
|
const res = await fetch("/api/contact", {
|
|
3474
3473
|
method: "POST",
|
|
@@ -3478,15 +3477,15 @@ var ManagedContactBlock = ({
|
|
|
3478
3477
|
const data = await res.json();
|
|
3479
3478
|
if (res.ok) {
|
|
3480
3479
|
setStatus("success");
|
|
3481
|
-
|
|
3480
|
+
import_react_hot_toast10.default.success(data.message || "Message sent successfully!");
|
|
3482
3481
|
setFormData({ name: "", email: "", title: "", phone: "", message: "" });
|
|
3483
3482
|
} else {
|
|
3484
3483
|
setStatus("error");
|
|
3485
|
-
|
|
3484
|
+
import_react_hot_toast10.default.error(data.error || "Failed to send message.");
|
|
3486
3485
|
}
|
|
3487
3486
|
} catch (error) {
|
|
3488
3487
|
setStatus("error");
|
|
3489
|
-
|
|
3488
|
+
import_react_hot_toast10.default.error("An unexpected error occurred. Please try again.");
|
|
3490
3489
|
}
|
|
3491
3490
|
};
|
|
3492
3491
|
return /* @__PURE__ */ import_react55.default.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react55.default.createElement(
|
|
@@ -3570,7 +3569,7 @@ var ManagedContactBlock = ({
|
|
|
3570
3569
|
onChange: (val) => setFormData({ ...formData, message: val }),
|
|
3571
3570
|
disabled: status === "loading"
|
|
3572
3571
|
}
|
|
3573
|
-
),
|
|
3572
|
+
), /* @__PURE__ */ import_react55.default.createElement("div", { className: "pt-4" }, /* @__PURE__ */ import_react55.default.createElement(
|
|
3574
3573
|
ThreeDActionButton2,
|
|
3575
3574
|
{
|
|
3576
3575
|
type: "submit",
|
|
@@ -4273,7 +4272,7 @@ var UniversalVerificationPage = ({
|
|
|
4273
4272
|
// src/components/UniversalRewardPage.tsx
|
|
4274
4273
|
var import_react73 = __toESM(require("react"));
|
|
4275
4274
|
var import_axios = __toESM(require("axios"));
|
|
4276
|
-
var
|
|
4275
|
+
var import_react_hot_toast11 = __toESM(require("react-hot-toast"));
|
|
4277
4276
|
var import_react_confetti = __toESM(require("react-confetti"));
|
|
4278
4277
|
var import_react_use = require("react-use");
|
|
4279
4278
|
var import_react74 = require("@hugeicons/react");
|
|
@@ -4324,7 +4323,7 @@ var UniversalRewardPage = ({
|
|
|
4324
4323
|
const res = await import_axios.default.post(selectedReward.endpoint, selectedReward.config);
|
|
4325
4324
|
if (res.data.success) {
|
|
4326
4325
|
setShowConfetti(true);
|
|
4327
|
-
|
|
4326
|
+
import_react_hot_toast11.default.success(res.data.message || "Reward claimed successfully!");
|
|
4328
4327
|
setSelectedReward(null);
|
|
4329
4328
|
onRefresh();
|
|
4330
4329
|
setTimeout(() => {
|
|
@@ -4332,7 +4331,7 @@ var UniversalRewardPage = ({
|
|
|
4332
4331
|
}, 6e3);
|
|
4333
4332
|
}
|
|
4334
4333
|
} catch (error) {
|
|
4335
|
-
|
|
4334
|
+
import_react_hot_toast11.default.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
|
|
4336
4335
|
} finally {
|
|
4337
4336
|
setIsClaiming(false);
|
|
4338
4337
|
}
|
|
@@ -4382,7 +4381,7 @@ var UniversalRewardPage = ({
|
|
|
4382
4381
|
|
|
4383
4382
|
// src/components/UniversalReferralPage.tsx
|
|
4384
4383
|
var import_react75 = __toESM(require("react"));
|
|
4385
|
-
var
|
|
4384
|
+
var import_react_hot_toast12 = __toESM(require("react-hot-toast"));
|
|
4386
4385
|
var import_react76 = require("@hugeicons/react");
|
|
4387
4386
|
var import_core_free_icons27 = require("@hugeicons/core-free-icons");
|
|
4388
4387
|
var PageSpinner5 = () => /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
|
|
@@ -4411,9 +4410,9 @@ var UniversalReferralPage = ({
|
|
|
4411
4410
|
if (!referralCode) return;
|
|
4412
4411
|
try {
|
|
4413
4412
|
await navigator.clipboard.writeText(referralCode);
|
|
4414
|
-
|
|
4413
|
+
import_react_hot_toast12.default.success("Referral code copied!");
|
|
4415
4414
|
} catch {
|
|
4416
|
-
|
|
4415
|
+
import_react_hot_toast12.default.error("Failed to copy code.");
|
|
4417
4416
|
}
|
|
4418
4417
|
};
|
|
4419
4418
|
const AvatarLogo2 = ({ src, alt, name, sizeClass = "w-10 h-10" }) => {
|
|
@@ -4718,7 +4717,7 @@ var PinDialerBottomSheet = ({
|
|
|
4718
4717
|
|
|
4719
4718
|
// src/components/UniversalBuyCryptoPage.tsx
|
|
4720
4719
|
var import_react81 = __toESM(require("react"));
|
|
4721
|
-
var
|
|
4720
|
+
var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
|
|
4722
4721
|
var import_react82 = require("@hugeicons/react");
|
|
4723
4722
|
var import_core_free_icons30 = require("@hugeicons/core-free-icons");
|
|
4724
4723
|
var CircularLogo = ({ src, alt, fallbackText }) => {
|
|
@@ -4841,7 +4840,7 @@ var UniversalBuyCryptoPage = ({
|
|
|
4841
4840
|
if (result.ratePerToken) setRateDisplay(result.ratePerToken);
|
|
4842
4841
|
if (result.rateKey) setCurrentRateKey(result.rateKey);
|
|
4843
4842
|
} catch {
|
|
4844
|
-
|
|
4843
|
+
import_react_hot_toast13.default.error("Failed to calculate live rate.");
|
|
4845
4844
|
} finally {
|
|
4846
4845
|
setIsCalculating(false);
|
|
4847
4846
|
}
|
|
@@ -4872,11 +4871,11 @@ var UniversalBuyCryptoPage = ({
|
|
|
4872
4871
|
const handleCheckout = async () => {
|
|
4873
4872
|
const numFiat = parseFloat(fiatAmount) || 0;
|
|
4874
4873
|
const numCrypto = parseFloat(cryptoAmount) || 0;
|
|
4875
|
-
if (numFiat <= 0 || numCrypto <= 0) return
|
|
4874
|
+
if (numFiat <= 0 || numCrypto <= 0) return import_react_hot_toast13.default.error("Please enter a valid amount.");
|
|
4876
4875
|
if (selectedNetwork.minimumWithdrawal && numCrypto < selectedNetwork.minimumWithdrawal) {
|
|
4877
|
-
return
|
|
4876
|
+
return import_react_hot_toast13.default.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
|
|
4878
4877
|
}
|
|
4879
|
-
if (!recipientAddress.trim() || !isAddressValid) return
|
|
4878
|
+
if (!recipientAddress.trim() || !isAddressValid) return import_react_hot_toast13.default.error("Please enter a valid wallet address.");
|
|
4880
4879
|
if (onSubmitCheckout) {
|
|
4881
4880
|
setIsSubmitting(true);
|
|
4882
4881
|
try {
|
|
@@ -5075,7 +5074,7 @@ var UniversalHuddlesPage = ({
|
|
|
5075
5074
|
// src/components/UniversalMembersPage.tsx
|
|
5076
5075
|
var import_react85 = __toESM(require("react"));
|
|
5077
5076
|
var import_react86 = require("@hugeicons/react");
|
|
5078
|
-
var
|
|
5077
|
+
var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
|
|
5079
5078
|
var import_core_free_icons32 = require("@hugeicons/core-free-icons");
|
|
5080
5079
|
var MemberAvatar2 = ({ src, status }) => {
|
|
5081
5080
|
const [loaded, setLoaded] = (0, import_react85.useState)(false);
|
|
@@ -5170,11 +5169,11 @@ var UniversalMembersPage = ({
|
|
|
5170
5169
|
setIsRemoving(true);
|
|
5171
5170
|
try {
|
|
5172
5171
|
await onRemoveMember(memberToRemove.id);
|
|
5173
|
-
|
|
5172
|
+
import_react_hot_toast14.default.success("Member removed successfully.");
|
|
5174
5173
|
setExpandedId(null);
|
|
5175
5174
|
setMemberToRemove(null);
|
|
5176
5175
|
} catch (error) {
|
|
5177
|
-
|
|
5176
|
+
import_react_hot_toast14.default.error("Failed to remove member.");
|
|
5178
5177
|
} finally {
|
|
5179
5178
|
setIsRemoving(false);
|
|
5180
5179
|
}
|
|
@@ -5188,7 +5187,7 @@ var UniversalMembersPage = ({
|
|
|
5188
5187
|
setInviteEmail("");
|
|
5189
5188
|
setIsInviteMode(false);
|
|
5190
5189
|
} catch (error) {
|
|
5191
|
-
|
|
5190
|
+
import_react_hot_toast14.default.error(error.message || "Failed to send invitation.");
|
|
5192
5191
|
} finally {
|
|
5193
5192
|
setIsInviting(false);
|
|
5194
5193
|
}
|
|
@@ -5335,7 +5334,7 @@ var UniversalMembersPage = ({
|
|
|
5335
5334
|
var import_react87 = __toESM(require("react"));
|
|
5336
5335
|
var import_navigation6 = require("next/navigation");
|
|
5337
5336
|
var import_react88 = require("@hugeicons/react");
|
|
5338
|
-
var
|
|
5337
|
+
var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
|
|
5339
5338
|
var import_core_free_icons33 = require("@hugeicons/core-free-icons");
|
|
5340
5339
|
var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
|
|
5341
5340
|
const [loaded, setLoaded] = (0, import_react87.useState)(false);
|
|
@@ -5390,7 +5389,7 @@ var UniversalHome2 = ({
|
|
|
5390
5389
|
await onResolveInvite(selectedNotif, resolution);
|
|
5391
5390
|
window.location.reload();
|
|
5392
5391
|
} catch (error) {
|
|
5393
|
-
|
|
5392
|
+
import_react_hot_toast15.default.error("Failed to process invitation");
|
|
5394
5393
|
setIsResolving(false);
|
|
5395
5394
|
}
|
|
5396
5395
|
};
|
|
@@ -5399,7 +5398,7 @@ var UniversalHome2 = ({
|
|
|
5399
5398
|
try {
|
|
5400
5399
|
if (onLogout) await onLogout();
|
|
5401
5400
|
} catch (e) {
|
|
5402
|
-
|
|
5401
|
+
import_react_hot_toast15.default.error("Failed to log out cleanly.");
|
|
5403
5402
|
} finally {
|
|
5404
5403
|
setIsLoggingOut(false);
|
|
5405
5404
|
setShowLogoutConfirm(false);
|
|
@@ -5552,7 +5551,7 @@ var UniversalHome2 = ({
|
|
|
5552
5551
|
|
|
5553
5552
|
// src/components/UniversalSettings.tsx
|
|
5554
5553
|
var import_react89 = __toESM(require("react"));
|
|
5555
|
-
var
|
|
5554
|
+
var import_react_hot_toast16 = __toESM(require("react-hot-toast"));
|
|
5556
5555
|
var import_react90 = require("@hugeicons/react");
|
|
5557
5556
|
var import_core_free_icons34 = require("@hugeicons/core-free-icons");
|
|
5558
5557
|
var MemberAvatar3 = ({ src, status, sizeClass = "w-10 h-10" }) => {
|
|
@@ -5685,13 +5684,13 @@ var UniversalSettings = ({
|
|
|
5685
5684
|
const file = e.target.files?.[0];
|
|
5686
5685
|
if (!file) return;
|
|
5687
5686
|
if (file.size > 1024 * 1024) {
|
|
5688
|
-
|
|
5687
|
+
import_react_hot_toast16.default.error("Image size must be less than 1MB.");
|
|
5689
5688
|
e.target.value = "";
|
|
5690
5689
|
return;
|
|
5691
5690
|
}
|
|
5692
5691
|
const validTypes = ["image/jpeg", "image/jpg", "image/png"];
|
|
5693
5692
|
if (!validTypes.includes(file.type)) {
|
|
5694
|
-
|
|
5693
|
+
import_react_hot_toast16.default.error("Only PNG and JPEG images are allowed.");
|
|
5695
5694
|
e.target.value = "";
|
|
5696
5695
|
return;
|
|
5697
5696
|
}
|
|
@@ -5726,11 +5725,11 @@ var UniversalSettings = ({
|
|
|
5726
5725
|
setIsRemoving(true);
|
|
5727
5726
|
try {
|
|
5728
5727
|
await onRemoveMember(memberToRemove.userId);
|
|
5729
|
-
|
|
5728
|
+
import_react_hot_toast16.default.success("Member removed successfully.");
|
|
5730
5729
|
setExpandedId(null);
|
|
5731
5730
|
setMemberToRemove(null);
|
|
5732
5731
|
} catch (error) {
|
|
5733
|
-
|
|
5732
|
+
import_react_hot_toast16.default.error(error.message || "Failed to remove member.");
|
|
5734
5733
|
} finally {
|
|
5735
5734
|
setIsRemoving(false);
|
|
5736
5735
|
}
|
|
@@ -5744,7 +5743,7 @@ var UniversalSettings = ({
|
|
|
5744
5743
|
setInviteEmail("");
|
|
5745
5744
|
setIsInviteMode(false);
|
|
5746
5745
|
} catch (error) {
|
|
5747
|
-
|
|
5746
|
+
import_react_hot_toast16.default.error(error.message || "Failed to send invitation.");
|
|
5748
5747
|
} finally {
|
|
5749
5748
|
setIsInviting(false);
|
|
5750
5749
|
}
|
|
@@ -5792,7 +5791,7 @@ var UniversalSettings = ({
|
|
|
5792
5791
|
const handleSaveOrganization = async (e) => {
|
|
5793
5792
|
e.preventDefault();
|
|
5794
5793
|
if (isSavingOrg || isCheckingSlug || !canManage || !onSaveOrganization) return;
|
|
5795
|
-
if (orgSlug !== initialOrgSlug && slugAvailable === false) return
|
|
5794
|
+
if (orgSlug !== initialOrgSlug && slugAvailable === false) return import_react_hot_toast16.default.error("Address handle unavailable.");
|
|
5796
5795
|
setIsSavingOrg(true);
|
|
5797
5796
|
try {
|
|
5798
5797
|
let finalAvatarUrl = orgAvatarUrl;
|
|
@@ -5805,7 +5804,7 @@ var UniversalSettings = ({
|
|
|
5805
5804
|
setOrgAvatarUrl(finalAvatarUrl);
|
|
5806
5805
|
}
|
|
5807
5806
|
} catch (err) {
|
|
5808
|
-
|
|
5807
|
+
import_react_hot_toast16.default.error("Failed to securely upload workspace avatar.");
|
|
5809
5808
|
setIsSavingOrg(false);
|
|
5810
5809
|
setIsUploadingOrgAvatar(false);
|
|
5811
5810
|
return;
|
|
@@ -5814,10 +5813,10 @@ var UniversalSettings = ({
|
|
|
5814
5813
|
setIsUploadingOrgAvatar(false);
|
|
5815
5814
|
}
|
|
5816
5815
|
const res = await onSaveOrganization({ name: orgName, slug: orgSlug, avatarUrl: finalAvatarUrl });
|
|
5817
|
-
if (res.success)
|
|
5818
|
-
else
|
|
5816
|
+
if (res.success) import_react_hot_toast16.default.success("Workspace updated successfully.");
|
|
5817
|
+
else import_react_hot_toast16.default.error(res.error || "Failed to update workspace.");
|
|
5819
5818
|
} catch (error) {
|
|
5820
|
-
|
|
5819
|
+
import_react_hot_toast16.default.error("Service unavailable.");
|
|
5821
5820
|
} finally {
|
|
5822
5821
|
setIsSavingOrg(false);
|
|
5823
5822
|
setIsUploadingOrgAvatar(false);
|
|
@@ -5838,7 +5837,7 @@ var UniversalSettings = ({
|
|
|
5838
5837
|
setAvatarUrl(finalAvatarUrl);
|
|
5839
5838
|
}
|
|
5840
5839
|
} catch (err) {
|
|
5841
|
-
|
|
5840
|
+
import_react_hot_toast16.default.error("Failed to securely upload profile avatar.");
|
|
5842
5841
|
setIsSavingProfile(false);
|
|
5843
5842
|
setIsUploadingUserAvatar(false);
|
|
5844
5843
|
return;
|
|
@@ -5847,10 +5846,10 @@ var UniversalSettings = ({
|
|
|
5847
5846
|
setIsUploadingUserAvatar(false);
|
|
5848
5847
|
}
|
|
5849
5848
|
const res = await onSaveProfile({ firstName, lastName, jobTitle, description, avatarUrl: finalAvatarUrl });
|
|
5850
|
-
if (res.success)
|
|
5851
|
-
else
|
|
5849
|
+
if (res.success) import_react_hot_toast16.default.success("Identity updated successfully.");
|
|
5850
|
+
else import_react_hot_toast16.default.error(res.error || "Failed to update identity.");
|
|
5852
5851
|
} catch (error) {
|
|
5853
|
-
|
|
5852
|
+
import_react_hot_toast16.default.error("Service unavailable.");
|
|
5854
5853
|
} finally {
|
|
5855
5854
|
setIsSavingProfile(false);
|
|
5856
5855
|
setIsUploadingUserAvatar(false);
|
|
@@ -5917,7 +5916,7 @@ var UniversalSettings = ({
|
|
|
5917
5916
|
|
|
5918
5917
|
// src/components/UniversalCreateHuddle.tsx
|
|
5919
5918
|
var import_react91 = __toESM(require("react"));
|
|
5920
|
-
var
|
|
5919
|
+
var import_react_hot_toast17 = __toESM(require("react-hot-toast"));
|
|
5921
5920
|
var import_react92 = require("@hugeicons/react");
|
|
5922
5921
|
var import_core_free_icons35 = require("@hugeicons/core-free-icons");
|
|
5923
5922
|
var MemberAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
|
|
@@ -6008,8 +6007,8 @@ var UniversalCreateHuddle = ({
|
|
|
6008
6007
|
e.preventDefault();
|
|
6009
6008
|
if (!canManage) return;
|
|
6010
6009
|
const cleanTitle = title.trim();
|
|
6011
|
-
if (cleanTitle.length < 2) return
|
|
6012
|
-
if (isPrivate && selectedParticipants.size === 0) return
|
|
6010
|
+
if (cleanTitle.length < 2) return import_react_hot_toast17.default.error("Please enter a valid huddle name.");
|
|
6011
|
+
if (isPrivate && selectedParticipants.size === 0) return import_react_hot_toast17.default.error("Private huddles require at least one participant.");
|
|
6013
6012
|
setIsSubmitting(true);
|
|
6014
6013
|
try {
|
|
6015
6014
|
await onCreateSubmit({
|
|
@@ -6020,7 +6019,7 @@ var UniversalCreateHuddle = ({
|
|
|
6020
6019
|
participantIds: isPrivate ? Array.from(selectedParticipants) : []
|
|
6021
6020
|
});
|
|
6022
6021
|
} catch (error) {
|
|
6023
|
-
|
|
6022
|
+
import_react_hot_toast17.default.error(error.message || "Failed to schedule huddle.");
|
|
6024
6023
|
setIsSubmitting(false);
|
|
6025
6024
|
}
|
|
6026
6025
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -3387,6 +3387,7 @@ var ManagedDocument = ({
|
|
|
3387
3387
|
import React32, { useState as useState24 } from "react";
|
|
3388
3388
|
import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
|
|
3389
3389
|
import { Loading03Icon as Loading03Icon14 } from "@hugeicons/core-free-icons";
|
|
3390
|
+
import toast9 from "react-hot-toast";
|
|
3390
3391
|
var TextInput2 = ({
|
|
3391
3392
|
label,
|
|
3392
3393
|
value,
|
|
@@ -3463,11 +3464,9 @@ var ManagedContactBlock = ({
|
|
|
3463
3464
|
}) => {
|
|
3464
3465
|
const [formData, setFormData] = useState24({ name: "", email: "", title: "", phone: "", message: "" });
|
|
3465
3466
|
const [status, setStatus] = useState24("idle");
|
|
3466
|
-
const [responseMessage, setResponseMessage] = useState24("");
|
|
3467
3467
|
const handleSubmit = async (e) => {
|
|
3468
3468
|
e.preventDefault();
|
|
3469
3469
|
setStatus("loading");
|
|
3470
|
-
setResponseMessage("");
|
|
3471
3470
|
try {
|
|
3472
3471
|
const res = await fetch("/api/contact", {
|
|
3473
3472
|
method: "POST",
|
|
@@ -3477,15 +3476,15 @@ var ManagedContactBlock = ({
|
|
|
3477
3476
|
const data = await res.json();
|
|
3478
3477
|
if (res.ok) {
|
|
3479
3478
|
setStatus("success");
|
|
3480
|
-
|
|
3479
|
+
toast9.success(data.message || "Message sent successfully!");
|
|
3481
3480
|
setFormData({ name: "", email: "", title: "", phone: "", message: "" });
|
|
3482
3481
|
} else {
|
|
3483
3482
|
setStatus("error");
|
|
3484
|
-
|
|
3483
|
+
toast9.error(data.error || "Failed to send message.");
|
|
3485
3484
|
}
|
|
3486
3485
|
} catch (error) {
|
|
3487
3486
|
setStatus("error");
|
|
3488
|
-
|
|
3487
|
+
toast9.error("An unexpected error occurred. Please try again.");
|
|
3489
3488
|
}
|
|
3490
3489
|
};
|
|
3491
3490
|
return /* @__PURE__ */ React32.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React32.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React32.createElement(
|
|
@@ -3569,7 +3568,7 @@ var ManagedContactBlock = ({
|
|
|
3569
3568
|
onChange: (val) => setFormData({ ...formData, message: val }),
|
|
3570
3569
|
disabled: status === "loading"
|
|
3571
3570
|
}
|
|
3572
|
-
),
|
|
3571
|
+
), /* @__PURE__ */ React32.createElement("div", { className: "pt-4" }, /* @__PURE__ */ React32.createElement(
|
|
3573
3572
|
ThreeDActionButton2,
|
|
3574
3573
|
{
|
|
3575
3574
|
type: "submit",
|
|
@@ -4281,7 +4280,7 @@ var UniversalVerificationPage = ({
|
|
|
4281
4280
|
// src/components/UniversalRewardPage.tsx
|
|
4282
4281
|
import React44, { useState as useState30 } from "react";
|
|
4283
4282
|
import axios from "axios";
|
|
4284
|
-
import
|
|
4283
|
+
import toast10 from "react-hot-toast";
|
|
4285
4284
|
import Confetti from "react-confetti";
|
|
4286
4285
|
import { useWindowSize } from "react-use";
|
|
4287
4286
|
import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
|
|
@@ -4336,7 +4335,7 @@ var UniversalRewardPage = ({
|
|
|
4336
4335
|
const res = await axios.post(selectedReward.endpoint, selectedReward.config);
|
|
4337
4336
|
if (res.data.success) {
|
|
4338
4337
|
setShowConfetti(true);
|
|
4339
|
-
|
|
4338
|
+
toast10.success(res.data.message || "Reward claimed successfully!");
|
|
4340
4339
|
setSelectedReward(null);
|
|
4341
4340
|
onRefresh();
|
|
4342
4341
|
setTimeout(() => {
|
|
@@ -4344,7 +4343,7 @@ var UniversalRewardPage = ({
|
|
|
4344
4343
|
}, 6e3);
|
|
4345
4344
|
}
|
|
4346
4345
|
} catch (error) {
|
|
4347
|
-
|
|
4346
|
+
toast10.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
|
|
4348
4347
|
} finally {
|
|
4349
4348
|
setIsClaiming(false);
|
|
4350
4349
|
}
|
|
@@ -4394,7 +4393,7 @@ var UniversalRewardPage = ({
|
|
|
4394
4393
|
|
|
4395
4394
|
// src/components/UniversalReferralPage.tsx
|
|
4396
4395
|
import React45, { useState as useState31 } from "react";
|
|
4397
|
-
import
|
|
4396
|
+
import toast11 from "react-hot-toast";
|
|
4398
4397
|
import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
|
|
4399
4398
|
import {
|
|
4400
4399
|
ArrowLeft01Icon as ArrowLeft01Icon12,
|
|
@@ -4428,9 +4427,9 @@ var UniversalReferralPage = ({
|
|
|
4428
4427
|
if (!referralCode) return;
|
|
4429
4428
|
try {
|
|
4430
4429
|
await navigator.clipboard.writeText(referralCode);
|
|
4431
|
-
|
|
4430
|
+
toast11.success("Referral code copied!");
|
|
4432
4431
|
} catch {
|
|
4433
|
-
|
|
4432
|
+
toast11.error("Failed to copy code.");
|
|
4434
4433
|
}
|
|
4435
4434
|
};
|
|
4436
4435
|
const AvatarLogo2 = ({ src, alt, name, sizeClass = "w-10 h-10" }) => {
|
|
@@ -4739,7 +4738,7 @@ var PinDialerBottomSheet = ({
|
|
|
4739
4738
|
|
|
4740
4739
|
// src/components/UniversalBuyCryptoPage.tsx
|
|
4741
4740
|
import React48, { useState as useState34, useEffect as useEffect18, useRef as useRef12, useCallback } from "react";
|
|
4742
|
-
import
|
|
4741
|
+
import toast12 from "react-hot-toast";
|
|
4743
4742
|
import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
|
|
4744
4743
|
import {
|
|
4745
4744
|
ArrowLeft01Icon as ArrowLeft01Icon14,
|
|
@@ -4865,7 +4864,7 @@ var UniversalBuyCryptoPage = ({
|
|
|
4865
4864
|
if (result.ratePerToken) setRateDisplay(result.ratePerToken);
|
|
4866
4865
|
if (result.rateKey) setCurrentRateKey(result.rateKey);
|
|
4867
4866
|
} catch {
|
|
4868
|
-
|
|
4867
|
+
toast12.error("Failed to calculate live rate.");
|
|
4869
4868
|
} finally {
|
|
4870
4869
|
setIsCalculating(false);
|
|
4871
4870
|
}
|
|
@@ -4896,11 +4895,11 @@ var UniversalBuyCryptoPage = ({
|
|
|
4896
4895
|
const handleCheckout = async () => {
|
|
4897
4896
|
const numFiat = parseFloat(fiatAmount) || 0;
|
|
4898
4897
|
const numCrypto = parseFloat(cryptoAmount) || 0;
|
|
4899
|
-
if (numFiat <= 0 || numCrypto <= 0) return
|
|
4898
|
+
if (numFiat <= 0 || numCrypto <= 0) return toast12.error("Please enter a valid amount.");
|
|
4900
4899
|
if (selectedNetwork.minimumWithdrawal && numCrypto < selectedNetwork.minimumWithdrawal) {
|
|
4901
|
-
return
|
|
4900
|
+
return toast12.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
|
|
4902
4901
|
}
|
|
4903
|
-
if (!recipientAddress.trim() || !isAddressValid) return
|
|
4902
|
+
if (!recipientAddress.trim() || !isAddressValid) return toast12.error("Please enter a valid wallet address.");
|
|
4904
4903
|
if (onSubmitCheckout) {
|
|
4905
4904
|
setIsSubmitting(true);
|
|
4906
4905
|
try {
|
|
@@ -5103,7 +5102,7 @@ var UniversalHuddlesPage = ({
|
|
|
5103
5102
|
// src/components/UniversalMembersPage.tsx
|
|
5104
5103
|
import React50, { useState as useState35, useEffect as useEffect19, useRef as useRef13 } from "react";
|
|
5105
5104
|
import { HugeiconsIcon as HugeiconsIcon36 } from "@hugeicons/react";
|
|
5106
|
-
import
|
|
5105
|
+
import toast13 from "react-hot-toast";
|
|
5107
5106
|
import {
|
|
5108
5107
|
ArrowLeft01Icon as ArrowLeft01Icon16,
|
|
5109
5108
|
ArrowRight01Icon as ArrowRight01Icon11,
|
|
@@ -5205,11 +5204,11 @@ var UniversalMembersPage = ({
|
|
|
5205
5204
|
setIsRemoving(true);
|
|
5206
5205
|
try {
|
|
5207
5206
|
await onRemoveMember(memberToRemove.id);
|
|
5208
|
-
|
|
5207
|
+
toast13.success("Member removed successfully.");
|
|
5209
5208
|
setExpandedId(null);
|
|
5210
5209
|
setMemberToRemove(null);
|
|
5211
5210
|
} catch (error) {
|
|
5212
|
-
|
|
5211
|
+
toast13.error("Failed to remove member.");
|
|
5213
5212
|
} finally {
|
|
5214
5213
|
setIsRemoving(false);
|
|
5215
5214
|
}
|
|
@@ -5223,7 +5222,7 @@ var UniversalMembersPage = ({
|
|
|
5223
5222
|
setInviteEmail("");
|
|
5224
5223
|
setIsInviteMode(false);
|
|
5225
5224
|
} catch (error) {
|
|
5226
|
-
|
|
5225
|
+
toast13.error(error.message || "Failed to send invitation.");
|
|
5227
5226
|
} finally {
|
|
5228
5227
|
setIsInviting(false);
|
|
5229
5228
|
}
|
|
@@ -5370,7 +5369,7 @@ var UniversalMembersPage = ({
|
|
|
5370
5369
|
import React51, { useState as useState36 } from "react";
|
|
5371
5370
|
import { useRouter as useRouter3 } from "next/navigation";
|
|
5372
5371
|
import { HugeiconsIcon as HugeiconsIcon37 } from "@hugeicons/react";
|
|
5373
|
-
import
|
|
5372
|
+
import toast14 from "react-hot-toast";
|
|
5374
5373
|
import {
|
|
5375
5374
|
Loading03Icon as Loading03Icon25,
|
|
5376
5375
|
Notification01Icon as Notification01Icon2,
|
|
@@ -5434,7 +5433,7 @@ var UniversalHome2 = ({
|
|
|
5434
5433
|
await onResolveInvite(selectedNotif, resolution);
|
|
5435
5434
|
window.location.reload();
|
|
5436
5435
|
} catch (error) {
|
|
5437
|
-
|
|
5436
|
+
toast14.error("Failed to process invitation");
|
|
5438
5437
|
setIsResolving(false);
|
|
5439
5438
|
}
|
|
5440
5439
|
};
|
|
@@ -5443,7 +5442,7 @@ var UniversalHome2 = ({
|
|
|
5443
5442
|
try {
|
|
5444
5443
|
if (onLogout) await onLogout();
|
|
5445
5444
|
} catch (e) {
|
|
5446
|
-
|
|
5445
|
+
toast14.error("Failed to log out cleanly.");
|
|
5447
5446
|
} finally {
|
|
5448
5447
|
setIsLoggingOut(false);
|
|
5449
5448
|
setShowLogoutConfirm(false);
|
|
@@ -5596,7 +5595,7 @@ var UniversalHome2 = ({
|
|
|
5596
5595
|
|
|
5597
5596
|
// src/components/UniversalSettings.tsx
|
|
5598
5597
|
import React52, { useState as useState37, useEffect as useEffect20, useRef as useRef14 } from "react";
|
|
5599
|
-
import
|
|
5598
|
+
import toast15 from "react-hot-toast";
|
|
5600
5599
|
import { HugeiconsIcon as HugeiconsIcon38 } from "@hugeicons/react";
|
|
5601
5600
|
import {
|
|
5602
5601
|
ArrowLeft01Icon as ArrowLeft01Icon18,
|
|
@@ -5740,13 +5739,13 @@ var UniversalSettings = ({
|
|
|
5740
5739
|
const file = e.target.files?.[0];
|
|
5741
5740
|
if (!file) return;
|
|
5742
5741
|
if (file.size > 1024 * 1024) {
|
|
5743
|
-
|
|
5742
|
+
toast15.error("Image size must be less than 1MB.");
|
|
5744
5743
|
e.target.value = "";
|
|
5745
5744
|
return;
|
|
5746
5745
|
}
|
|
5747
5746
|
const validTypes = ["image/jpeg", "image/jpg", "image/png"];
|
|
5748
5747
|
if (!validTypes.includes(file.type)) {
|
|
5749
|
-
|
|
5748
|
+
toast15.error("Only PNG and JPEG images are allowed.");
|
|
5750
5749
|
e.target.value = "";
|
|
5751
5750
|
return;
|
|
5752
5751
|
}
|
|
@@ -5781,11 +5780,11 @@ var UniversalSettings = ({
|
|
|
5781
5780
|
setIsRemoving(true);
|
|
5782
5781
|
try {
|
|
5783
5782
|
await onRemoveMember(memberToRemove.userId);
|
|
5784
|
-
|
|
5783
|
+
toast15.success("Member removed successfully.");
|
|
5785
5784
|
setExpandedId(null);
|
|
5786
5785
|
setMemberToRemove(null);
|
|
5787
5786
|
} catch (error) {
|
|
5788
|
-
|
|
5787
|
+
toast15.error(error.message || "Failed to remove member.");
|
|
5789
5788
|
} finally {
|
|
5790
5789
|
setIsRemoving(false);
|
|
5791
5790
|
}
|
|
@@ -5799,7 +5798,7 @@ var UniversalSettings = ({
|
|
|
5799
5798
|
setInviteEmail("");
|
|
5800
5799
|
setIsInviteMode(false);
|
|
5801
5800
|
} catch (error) {
|
|
5802
|
-
|
|
5801
|
+
toast15.error(error.message || "Failed to send invitation.");
|
|
5803
5802
|
} finally {
|
|
5804
5803
|
setIsInviting(false);
|
|
5805
5804
|
}
|
|
@@ -5847,7 +5846,7 @@ var UniversalSettings = ({
|
|
|
5847
5846
|
const handleSaveOrganization = async (e) => {
|
|
5848
5847
|
e.preventDefault();
|
|
5849
5848
|
if (isSavingOrg || isCheckingSlug || !canManage || !onSaveOrganization) return;
|
|
5850
|
-
if (orgSlug !== initialOrgSlug && slugAvailable === false) return
|
|
5849
|
+
if (orgSlug !== initialOrgSlug && slugAvailable === false) return toast15.error("Address handle unavailable.");
|
|
5851
5850
|
setIsSavingOrg(true);
|
|
5852
5851
|
try {
|
|
5853
5852
|
let finalAvatarUrl = orgAvatarUrl;
|
|
@@ -5860,7 +5859,7 @@ var UniversalSettings = ({
|
|
|
5860
5859
|
setOrgAvatarUrl(finalAvatarUrl);
|
|
5861
5860
|
}
|
|
5862
5861
|
} catch (err) {
|
|
5863
|
-
|
|
5862
|
+
toast15.error("Failed to securely upload workspace avatar.");
|
|
5864
5863
|
setIsSavingOrg(false);
|
|
5865
5864
|
setIsUploadingOrgAvatar(false);
|
|
5866
5865
|
return;
|
|
@@ -5869,10 +5868,10 @@ var UniversalSettings = ({
|
|
|
5869
5868
|
setIsUploadingOrgAvatar(false);
|
|
5870
5869
|
}
|
|
5871
5870
|
const res = await onSaveOrganization({ name: orgName, slug: orgSlug, avatarUrl: finalAvatarUrl });
|
|
5872
|
-
if (res.success)
|
|
5873
|
-
else
|
|
5871
|
+
if (res.success) toast15.success("Workspace updated successfully.");
|
|
5872
|
+
else toast15.error(res.error || "Failed to update workspace.");
|
|
5874
5873
|
} catch (error) {
|
|
5875
|
-
|
|
5874
|
+
toast15.error("Service unavailable.");
|
|
5876
5875
|
} finally {
|
|
5877
5876
|
setIsSavingOrg(false);
|
|
5878
5877
|
setIsUploadingOrgAvatar(false);
|
|
@@ -5893,7 +5892,7 @@ var UniversalSettings = ({
|
|
|
5893
5892
|
setAvatarUrl(finalAvatarUrl);
|
|
5894
5893
|
}
|
|
5895
5894
|
} catch (err) {
|
|
5896
|
-
|
|
5895
|
+
toast15.error("Failed to securely upload profile avatar.");
|
|
5897
5896
|
setIsSavingProfile(false);
|
|
5898
5897
|
setIsUploadingUserAvatar(false);
|
|
5899
5898
|
return;
|
|
@@ -5902,10 +5901,10 @@ var UniversalSettings = ({
|
|
|
5902
5901
|
setIsUploadingUserAvatar(false);
|
|
5903
5902
|
}
|
|
5904
5903
|
const res = await onSaveProfile({ firstName, lastName, jobTitle, description, avatarUrl: finalAvatarUrl });
|
|
5905
|
-
if (res.success)
|
|
5906
|
-
else
|
|
5904
|
+
if (res.success) toast15.success("Identity updated successfully.");
|
|
5905
|
+
else toast15.error(res.error || "Failed to update identity.");
|
|
5907
5906
|
} catch (error) {
|
|
5908
|
-
|
|
5907
|
+
toast15.error("Service unavailable.");
|
|
5909
5908
|
} finally {
|
|
5910
5909
|
setIsSavingProfile(false);
|
|
5911
5910
|
setIsUploadingUserAvatar(false);
|
|
@@ -5972,7 +5971,7 @@ var UniversalSettings = ({
|
|
|
5972
5971
|
|
|
5973
5972
|
// src/components/UniversalCreateHuddle.tsx
|
|
5974
5973
|
import React53, { useState as useState38, useEffect as useEffect21, useRef as useRef15 } from "react";
|
|
5975
|
-
import
|
|
5974
|
+
import toast16 from "react-hot-toast";
|
|
5976
5975
|
import { HugeiconsIcon as HugeiconsIcon39 } from "@hugeicons/react";
|
|
5977
5976
|
import {
|
|
5978
5977
|
ArrowLeft01Icon as ArrowLeft01Icon19,
|
|
@@ -6073,8 +6072,8 @@ var UniversalCreateHuddle = ({
|
|
|
6073
6072
|
e.preventDefault();
|
|
6074
6073
|
if (!canManage) return;
|
|
6075
6074
|
const cleanTitle = title.trim();
|
|
6076
|
-
if (cleanTitle.length < 2) return
|
|
6077
|
-
if (isPrivate && selectedParticipants.size === 0) return
|
|
6075
|
+
if (cleanTitle.length < 2) return toast16.error("Please enter a valid huddle name.");
|
|
6076
|
+
if (isPrivate && selectedParticipants.size === 0) return toast16.error("Private huddles require at least one participant.");
|
|
6078
6077
|
setIsSubmitting(true);
|
|
6079
6078
|
try {
|
|
6080
6079
|
await onCreateSubmit({
|
|
@@ -6085,7 +6084,7 @@ var UniversalCreateHuddle = ({
|
|
|
6085
6084
|
participantIds: isPrivate ? Array.from(selectedParticipants) : []
|
|
6086
6085
|
});
|
|
6087
6086
|
} catch (error) {
|
|
6088
|
-
|
|
6087
|
+
toast16.error(error.message || "Failed to schedule huddle.");
|
|
6089
6088
|
setIsSubmitting(false);
|
|
6090
6089
|
}
|
|
6091
6090
|
};
|