mirror of
https://github.com/Qortal/qortal-mobile.git
synced 2025-04-24 20:07:52 +00:00
cases
This commit is contained in:
parent
8afc3789c9
commit
797da47763
@ -6,6 +6,8 @@ import {
|
|||||||
getLTCBalance,
|
getLTCBalance,
|
||||||
getNameInfo,
|
getNameInfo,
|
||||||
getUserInfo,
|
getUserInfo,
|
||||||
|
inviteToGroup,
|
||||||
|
saveTempPublish,
|
||||||
sendCoin,
|
sendCoin,
|
||||||
walletVersion,
|
walletVersion,
|
||||||
} from "./background";
|
} from "./background";
|
||||||
@ -230,4 +232,58 @@ export async function balanceCase(request, event) {
|
|||||||
event.origin
|
event.origin
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function inviteToGroupCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { groupId, qortalAddress, inviteTime } = request.payload;
|
||||||
|
const response = await inviteToGroup({groupId, qortalAddress, inviteTime});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "inviteToGroup",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "inviteToGroup",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function saveTempPublishCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { data, key } = request.payload;
|
||||||
|
const response = await saveTempPublish({data, key});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "saveTempPublish",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "saveTempPublish",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ import { validateAddress } from "./utils/validateAddress";
|
|||||||
import { Sha256 } from "asmcrypto.js";
|
import { Sha256 } from "asmcrypto.js";
|
||||||
import { TradeBotRespondMultipleRequest } from "./transactions/TradeBotRespondMultipleRequest";
|
import { TradeBotRespondMultipleRequest } from "./transactions/TradeBotRespondMultipleRequest";
|
||||||
import { RESOURCE_TYPE_NUMBER_GROUP_CHAT_REACTIONS } from "./constants/resourceTypes";
|
import { RESOURCE_TYPE_NUMBER_GROUP_CHAT_REACTIONS } from "./constants/resourceTypes";
|
||||||
import { balanceCase, decryptWalletCase, getWalletInfoCase, ltcBalanceCase, nameCase, sendCoinCase, userInfoCase, validApiCase, versionCase } from './background-cases';
|
import { balanceCase, decryptWalletCase, getWalletInfoCase, inviteToGroupCase, ltcBalanceCase, nameCase, saveTempPublishCase, sendCoinCase, userInfoCase, validApiCase, versionCase } from './background-cases';
|
||||||
|
|
||||||
export function cleanUrl(url) {
|
export function cleanUrl(url) {
|
||||||
return url?.replace(/^(https?:\/\/)?(www\.)?/, '');
|
return url?.replace(/^(https?:\/\/)?(www\.)?/, '');
|
||||||
@ -2274,7 +2274,7 @@ async function createGroup({
|
|||||||
throw new Error("Transaction was not able to be processed");
|
throw new Error("Transaction was not able to be processed");
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
async function inviteToGroup({ groupId, qortalAddress, inviteTime }) {
|
export async function inviteToGroup({ groupId, qortalAddress, inviteTime }) {
|
||||||
const address = await getNameOrAddress(qortalAddress);
|
const address = await getNameOrAddress(qortalAddress);
|
||||||
if (!address) throw new Error("Cannot find user");
|
if (!address) throw new Error("Cannot find user");
|
||||||
const lastReference = await getLastRef();
|
const lastReference = await getLastRef();
|
||||||
@ -2616,7 +2616,7 @@ async function getTempPublish() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveTempPublish({ data, key }) {
|
export async function saveTempPublish({ data, key }) {
|
||||||
const existingTemp = await getTempPublish();
|
const existingTemp = await getTempPublish();
|
||||||
const wallet = await getSaveWallet();
|
const wallet = await getSaveWallet();
|
||||||
const address = wallet.address0;
|
const address = wallet.address0;
|
||||||
@ -2870,10 +2870,15 @@ function setupMessageListener() {
|
|||||||
case "ltcBalance":
|
case "ltcBalance":
|
||||||
ltcBalanceCase(request, event)
|
ltcBalanceCase(request, event)
|
||||||
break;
|
break;
|
||||||
case "sendCoin":
|
case "sendCoin":
|
||||||
sendCoinCase(request, event)
|
sendCoinCase(request, event)
|
||||||
break;
|
break;
|
||||||
|
case "inviteToGroup":
|
||||||
|
inviteToGroupCase(request, event)
|
||||||
|
break;
|
||||||
|
case "saveTempPublish":
|
||||||
|
saveTempPublishCase(request, event)
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.error("Unknown action:", request.action);
|
console.error("Unknown action:", request.action);
|
||||||
}
|
}
|
||||||
|
@ -48,22 +48,21 @@ export const requestQueuePublishedAccouncements = new RequestQueueWithPromise(
|
|||||||
|
|
||||||
export const saveTempPublish = async ({ data, key }: any) => {
|
export const saveTempPublish = async ({ data, key }: any) => {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("saveTempPublish", {
|
||||||
{
|
data,
|
||||||
action: "saveTempPublish",
|
key,
|
||||||
payload: {
|
})
|
||||||
data,
|
.then((response) => {
|
||||||
key,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
res(response);
|
res(response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
rej(error.message || "An error occurred");
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,17 +26,12 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => {
|
|||||||
setIsLoadingInvite(true)
|
setIsLoadingInvite(true)
|
||||||
if (!expiryTime || !value) return;
|
if (!expiryTime || !value) return;
|
||||||
new Promise((res, rej) => {
|
new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("inviteToGroup", {
|
||||||
{
|
groupId,
|
||||||
action: "inviteToGroup",
|
qortalAddress: value,
|
||||||
payload: {
|
inviteTime: +expiryTime,
|
||||||
groupId,
|
})
|
||||||
qortalAddress: value,
|
.then((response) => {
|
||||||
inviteTime: +expiryTime,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
@ -44,9 +39,9 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => {
|
|||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
res(response);
|
res(response);
|
||||||
|
|
||||||
setValue("");
|
setValue("");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "error",
|
type: "error",
|
||||||
@ -54,8 +49,16 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => {
|
|||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error?.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} catch (error) {} finally {
|
} catch (error) {} finally {
|
||||||
setIsLoadingInvite(false)
|
setIsLoadingInvite(false)
|
||||||
|
@ -76,40 +76,54 @@ export const ListOfJoinRequests = ({ groupId, setInfoSnack, setOpenSnack, show }
|
|||||||
})
|
})
|
||||||
setIsLoadingAccept(true)
|
setIsLoadingAccept(true)
|
||||||
await new Promise((res, rej)=> {
|
await new Promise((res, rej)=> {
|
||||||
chrome?.runtime?.sendMessage({ action: "inviteToGroup", payload: {
|
window.sendMessage("inviteToGroup", {
|
||||||
groupId,
|
groupId,
|
||||||
qortalAddress: address,
|
qortalAddress: address,
|
||||||
inviteTime: 10800,
|
inviteTime: 10800,
|
||||||
}}, (response) => {
|
})
|
||||||
|
.then((response) => {
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setIsLoadingAccept(false)
|
setIsLoadingAccept(false);
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
message: "Successfully accepted join request. It may take a couple of minutes for the changes to propagate",
|
message: "Successfully accepted join request. It may take a couple of minutes for the changes to propagate",
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
handlePopoverClose();
|
handlePopoverClose();
|
||||||
res(response)
|
res(response);
|
||||||
setTxList((prev)=> [{
|
|
||||||
...response,
|
setTxList((prev) => [
|
||||||
type: 'join-request-accept',
|
{
|
||||||
label: `Accepted join request: awaiting confirmation`,
|
...response,
|
||||||
labelDone: `User successfully joined!`,
|
type: 'join-request-accept',
|
||||||
done: false,
|
label: `Accepted join request: awaiting confirmation`,
|
||||||
groupId,
|
labelDone: `User successfully joined!`,
|
||||||
qortalAddress: address
|
done: false,
|
||||||
|
groupId,
|
||||||
}, ...prev])
|
qortalAddress: address,
|
||||||
return
|
},
|
||||||
|
...prev,
|
||||||
|
]);
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "error",
|
type: "error",
|
||||||
message: response?.error,
|
message: response?.error,
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error)
|
rej(response.error);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error?.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user