mirror of
https://github.com/snachodog/tok-to-insta-follower-bridge.git
synced 2025-04-23 20:12:22 -06:00
add: document link to error message
This commit is contained in:
parent
ff7225f58f
commit
13a664bad7
@ -85,3 +85,17 @@ export const MATCH_TYPE_LABEL_AND_COLOR = {
|
|||||||
|
|
||||||
export const AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE =
|
export const AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE =
|
||||||
"AuthFactorTokenRequiredError";
|
"AuthFactorTokenRequiredError";
|
||||||
|
|
||||||
|
export const RATE_LIMIT_ERROR_MESSAGE = "Rate limit";
|
||||||
|
|
||||||
|
export const DOCUMENT_LINK = {
|
||||||
|
OTHER_ERROR: "https://www.sky-follower-bridge.dev/troubleshooting.html",
|
||||||
|
LOGIN_ERROR:
|
||||||
|
"https://www.sky-follower-bridge.dev/troubleshooting.html#login-issues",
|
||||||
|
TWO_FACTOR_AUTHENTICATION:
|
||||||
|
"https://www.sky-follower-bridge.dev/troubleshooting.html#two-factor-authentication-required",
|
||||||
|
RATE_LIMIT_ERROR:
|
||||||
|
"https://www.sky-follower-bridge.dev/troubleshooting.html#rate-limit-errors",
|
||||||
|
PAGE_ERROR:
|
||||||
|
"https://www.sky-follower-bridge.dev/troubleshooting.html#page-errors",
|
||||||
|
} as const;
|
||||||
|
@ -7,9 +7,11 @@ import { sendToBackground, sendToContentScript } from "@plasmohq/messaging";
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE,
|
AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE,
|
||||||
|
DOCUMENT_LINK,
|
||||||
MAX_RELOAD_COUNT,
|
MAX_RELOAD_COUNT,
|
||||||
MESSAGE_NAMES,
|
MESSAGE_NAMES,
|
||||||
MESSAGE_TYPE,
|
MESSAGE_TYPE,
|
||||||
|
RATE_LIMIT_ERROR_MESSAGE,
|
||||||
STORAGE_KEYS,
|
STORAGE_KEYS,
|
||||||
TARGET_URLS_REGEX,
|
TARGET_URLS_REGEX,
|
||||||
} from "~lib/constants";
|
} from "~lib/constants";
|
||||||
@ -25,12 +27,13 @@ function IndexPopup() {
|
|||||||
const [message, setMessage] = useState<null | {
|
const [message, setMessage] = useState<null | {
|
||||||
type: (typeof MESSAGE_TYPE)[keyof typeof MESSAGE_TYPE];
|
type: (typeof MESSAGE_TYPE)[keyof typeof MESSAGE_TYPE];
|
||||||
message: string;
|
message: string;
|
||||||
|
documentLink?: string;
|
||||||
}>(null);
|
}>(null);
|
||||||
const isShowErrorMessage = message?.type === MESSAGE_TYPE.ERROR;
|
const isShowErrorMessage = message?.type === MESSAGE_TYPE.ERROR;
|
||||||
const isShowSuccessMessage = message?.type === MESSAGE_TYPE.SUCCESS;
|
const isShowSuccessMessage = message?.type === MESSAGE_TYPE.SUCCESS;
|
||||||
|
|
||||||
const setErrorMessage = (message: string) => {
|
const setErrorMessage = (message: string, documentLink?: string) => {
|
||||||
setMessage({ type: MESSAGE_TYPE.ERROR, message });
|
setMessage({ type: MESSAGE_TYPE.ERROR, message, documentLink });
|
||||||
};
|
};
|
||||||
|
|
||||||
const reloadActiveTab = async () => {
|
const reloadActiveTab = async () => {
|
||||||
@ -101,9 +104,18 @@ function IndexPopup() {
|
|||||||
currentWindow: true,
|
currentWindow: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!currentUrl) {
|
||||||
|
setErrorMessage(
|
||||||
|
"Error: The current URL could not be retrieved. Please check the extension permissions.",
|
||||||
|
DOCUMENT_LINK.OTHER_ERROR,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!Object.values(TARGET_URLS_REGEX).some((r) => r.test(currentUrl))) {
|
if (!Object.values(TARGET_URLS_REGEX).some((r) => r.test(currentUrl))) {
|
||||||
setErrorMessage(
|
setErrorMessage(
|
||||||
"Error: Invalid page. please open the 𝕏 following or blocking or list page.",
|
"Error: Invalid page. please open the 𝕏 following or blocking or list page.",
|
||||||
|
DOCUMENT_LINK.PAGE_ERROR,
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -146,8 +158,10 @@ function IndexPopup() {
|
|||||||
if (error.message.includes(AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE)) {
|
if (error.message.includes(AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE)) {
|
||||||
setIsShowAuthFactorTokenInput(true);
|
setIsShowAuthFactorTokenInput(true);
|
||||||
saveShowAuthFactorTokenInputToStorage(true);
|
saveShowAuthFactorTokenInputToStorage(true);
|
||||||
|
} else if (error.message.includes(RATE_LIMIT_ERROR_MESSAGE)) {
|
||||||
|
setErrorMessage(error.message, DOCUMENT_LINK.RATE_LIMIT_ERROR);
|
||||||
} else {
|
} else {
|
||||||
setErrorMessage(error.message);
|
setErrorMessage(error.message, DOCUMENT_LINK.LOGIN_ERROR);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
await chrome.storage.local.set({
|
await chrome.storage.local.set({
|
||||||
@ -171,6 +185,7 @@ function IndexPopup() {
|
|||||||
} else {
|
} else {
|
||||||
setErrorMessage(
|
setErrorMessage(
|
||||||
"Error: Something went wrong. Please reload the web page and try again.",
|
"Error: Something went wrong. Please reload the web page and try again.",
|
||||||
|
DOCUMENT_LINK.OTHER_ERROR,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -333,7 +348,19 @@ function IndexPopup() {
|
|||||||
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>{message.message}</span>
|
<span>
|
||||||
|
{message.message}
|
||||||
|
{message.documentLink && (
|
||||||
|
<a
|
||||||
|
href={message.documentLink}
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
className="link"
|
||||||
|
>
|
||||||
|
Learn more
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{isShowSuccessMessage && (
|
{isShowSuccessMessage && (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user