71 lines
2.6 KiB
TypeScript
71 lines
2.6 KiB
TypeScript
/**
|
|
* @license
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
* This file is part of Wolfree.
|
|
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
*/
|
|
|
|
import { useEffect } from "react";
|
|
|
|
const redirectInput = () => {
|
|
useEffect(() => {
|
|
const redirectToInputPage = () => {
|
|
const pathname = window.location.pathname;
|
|
|
|
const isExample = pathname.includes("/example");
|
|
if (!isExample) {
|
|
window.location.href = "/";
|
|
return;
|
|
}
|
|
|
|
const filename = pathname.split("/").pop();
|
|
if (!filename) {
|
|
window.location.href = "/";
|
|
return;
|
|
}
|
|
|
|
const topic = "topic " + filename.replace(/-/g, " ");
|
|
const url = new URL("/input/", window.location.href);
|
|
url.searchParams.set("i", topic);
|
|
window.location.href = url.href;
|
|
};
|
|
|
|
redirectToInputPage();
|
|
}, []); // The effect runs only once on mount
|
|
};
|
|
|
|
export default redirectInput;
|
|
|
|
/*
|
|
* test case:
|
|
*
|
|
* - Passing
|
|
* - elementary-math
|
|
* - Goal: https://www.wolframalpha.com/examples/mathematics/elementary-math
|
|
* - Doesn't work: http://localhost/input?i=elementary+math
|
|
* - Does work: http://localhost/input?i=topic+elementary+math
|
|
* - common-core-math-functions
|
|
* - Goal: https://wc.wolframalpha.com/examples/mathematics/common-core-math/common-core-math-functions
|
|
* - Doesn't work: http://localhost/input?i=common+core+math+functions
|
|
* - Does work: http://localhost/input?i=topic+common+core+math+functions
|
|
*
|
|
* - Failing
|
|
* - continuity
|
|
* - Goal: https://www.wolframalpha.com/examples/mathematics/calculus-and-analysis/continuity
|
|
* - Does not work: http://localhost/input?i=topic+continuity
|
|
* - Does work: (not found yet)
|
|
* - neuroscience
|
|
* - Goal: https://www.wolframalpha.com/examples/science-and-technology/life-sciences/neuroscience
|
|
* - Does not work: http://localhost/input?i=topic+neuroscience
|
|
* - Does work: (not found yet)
|
|
* - molecular-biology
|
|
* - Goal: https://wc.wolframalpha.com/examples/science-and-technology/life-sciences/molecular-biology
|
|
* - Does not work: http://localhost/input?i=topic+molecular+biology
|
|
* - Does work: (not found yet)
|
|
* - personal-finance
|
|
* - Goal: https://www.wolframalpha.com/examples/everyday-life/personal-finance
|
|
* - Does not work: http://localhost/input?i=topic+personal+finance
|
|
* - Does work: (not found yet)
|
|
*
|
|
*/
|