Add function for converting special characters

This commit is contained in:
Greg Shuflin 2021-09-15 03:59:06 -07:00
parent a574747d96
commit 024b4c11fa
1 changed files with 19 additions and 22 deletions

View File

@ -103,6 +103,19 @@ const Results = (props: ResultsProps) => {
);
};
const convertSearchBoxShorthand = (input: string, conlang: Conlang): string => {
if (conlang === Conlang.Saimiar) {
return input
.replaceAll(/ee/g, "ê")
.replaceAll(/oo/g, "ô")
.replaceAll(/o'/g, "ø")
.replaceAll(/c'/g, "ç")
.replaceAll(/n'/g, "ŋ");
}
return input;
};
const App = (_props) => {
const defaultConlang = window.sessionStorage.getItem("conlang") as Conlang || Conlang.Saimiar;
const [searchResults, setSearchResults] = useState(null);
@ -117,33 +130,17 @@ const App = (_props) => {
window.sessionStorage.setItem("conlang", conlang);
};
const searchConlang = (_evt) => {
const searchTerm = searchBoxInput;
if (searchTerm === "") {
setSearchResults(null);
setSearchTerm(null);
setDirection(null);
return;
}
searchEntry(searchTerm, conlang, SearchDirection.ToEnglish, (json) => {
setSearchResults(json);
setSearchTerm(searchTerm);
setDirection(SearchDirection.ToEnglish);
});
};
const searchEng = (_evt) => {
const searchTerm = searchBoxInput;
const handleSearch = (direction: SearchDirection) => {
const searchTerm = convertSearchBoxShorthand(searchBoxInput, conlang);
if (searchTerm === "") {
setSearchResults(null);
setSearchTerm(null);
setDirection(null);
} else {
searchEntry(searchTerm, conlang, SearchDirection.ToConlang, (json) => {
searchEntry(searchTerm, conlang, direction, (json) => {
setSearchResults(json);
setSearchTerm(searchTerm);
setDirection(SearchDirection.ToConlang);
setDirection(direction);
});
}
};
@ -181,8 +178,8 @@ const App = (_props) => {
</div>
<br/>
{ langSelectDropdown }
<button onClick={ searchConlang } className="searchButton">{renderConlang(conlang)}</button>
<button onClick={ searchEng } className="searchButton">English</button>
<button onClick={ () => handleSearch(SearchDirection.ToEnglish) } className="searchButton">{renderConlang(conlang)}</button>
<button onClick={ () => handleSearch(SearchDirection.ToConlang) } className="searchButton">English</button>
<button onClick={ showPasswordBox } className="searchButton">Password</button>
</div>
<Results