Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit44d6929

Browse files
authored
Merge pull request#257 from barrymun/bug/route-path
[Bug] - The user should always be redirected to the complete URL path
2 parents595186b +dc3a56b commit44d6929

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

‎src/AppRouter.tsx‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ const AppRouter = () => {
99
<Routeelement={<App/>}>
1010
<Routepath="/"element={<SnippetList/>}/>
1111
<Routepath="/:languageName"element={<SnippetList/>}/>
12+
<Route
13+
path="/:languageName/:subLanguageName"
14+
element={<SnippetList/>}
15+
/>
1216
<Route
1317
path="/:languageName/:subLanguageName/:categoryName"
1418
element={<SnippetList/>}

‎src/contexts/AppContext.tsx‎

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ import { useNavigate, useParams } from "react-router-dom";
44
import{useLanguages}from"@hooks/useLanguages";
55
import{AppState,LanguageType,SnippetType}from"@types";
66
import{configureUserSelection}from"@utils/configureUserSelection";
7-
import{defaultLanguage,defaultState}from"@utils/consts";
7+
import{
8+
defaultCategoryName,
9+
defaultLanguage,
10+
defaultSlugifiedSubLanguageName,
11+
defaultState,
12+
}from"@utils/consts";
813
import{slugify}from"@utils/slugify";
914

1015
constAppContext=createContext<AppState>(defaultState);
@@ -46,8 +51,16 @@ export const AppProvider: FC<{ children: React.ReactNode }> = ({
4651
* Set the default language if the language is not found in the URL.
4752
*/
4853
useEffect(()=>{
49-
if(languageName===undefined){
50-
navigate(`/${slugify(defaultLanguage.name)}`,{replace:true});
54+
constresolvedLanguage=languageName||defaultLanguage.name;
55+
constresolvedSubLanguage=
56+
subLanguageName||defaultSlugifiedSubLanguageName;
57+
constresolvedCategory=categoryName||defaultCategoryName;
58+
59+
if(!languageName||!subLanguageName||!categoryName){
60+
navigate(
61+
`/${slugify(resolvedLanguage)}/${slugify(resolvedSubLanguage)}/${slugify(resolvedCategory)}`,
62+
{replace:true}
63+
);
5164
}
5265
// eslint-disable-next-line react-hooks/exhaustive-deps
5366
},[]);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp