chore: get shortcut by name and workspace name

This commit is contained in:
Steven
2022-09-14 22:49:45 +08:00
parent ee801af742
commit 5a79304153
9 changed files with 170 additions and 39 deletions

View File

@@ -0,0 +1,43 @@
import { useEffect, useState } from "react";
import { useParams } from "react-router-dom";
import Header from "../components/Header";
import { getShortcutWithNameAndWorkspaceName } from "../helpers/api";
import useLoading from "../hooks/useLoading";
interface State {
errMessage?: string;
}
const ShortcutRedirector: React.FC = () => {
const params = useParams();
const [state, setState] = useState<State>();
const loadingState = useLoading();
useEffect(() => {
const workspaceName = params.workspaceName || "";
const shortcutName = params.shortcutName || "";
getShortcutWithNameAndWorkspaceName(workspaceName, shortcutName)
.then(({ data: { data: shortcut } }) => {
if (shortcut) {
window.location.href = shortcut.link;
}
})
.catch((err) => {
setState({
errMessage: err?.message || "Not found",
});
loadingState.setFinish();
});
}, []);
return loadingState.isLoading ? null : (
<div className="w-full h-full flex flex-col justify-start items-start">
<Header />
<div className="w-full pt-24 text-center font-mono text-xl">
<p>{state?.errMessage}</p>
</div>
</div>
);
};
export default ShortcutRedirector;