Skip to content

Commit

Permalink
change routing
Browse files Browse the repository at this point in the history
  • Loading branch information
mahdi739 committed Jan 9, 2024
1 parent c2cff95 commit 369e8d5
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 74 deletions.
6 changes: 3 additions & 3 deletions dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<link rel="stylesheet" href="https://mahdi739.github.io/leptos_supabase_example/style-3871b346093c6eb2.css">
<title>Document</title>

<link rel="preload" href="https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-ea51b686c7ebc38c_bg.wasm" as="fetch" type="application/wasm" crossorigin="">
<link rel="modulepreload" href="https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-ea51b686c7ebc38c.js"></head>
<link rel="preload" href="https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-740e3cffdf6c2c47_bg.wasm" as="fetch" type="application/wasm" crossorigin="">
<link rel="modulepreload" href="https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-740e3cffdf6c2c47.js"></head>
<body>


<script type="module">import init from 'https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-ea51b686c7ebc38c.js';init('https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-ea51b686c7ebc38c_bg.wasm');</script></body></html>
<script type="module">import init from 'https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-740e3cffdf6c2c47.js';init('https://mahdi739.github.io/leptos_supabase_example/leptos_supabase_example-740e3cffdf6c2c47_bg.wasm');</script></body></html>
Original file line number Diff line number Diff line change
Expand Up @@ -979,35 +979,35 @@ imports.wbg.__wbg_localStorage_8c507fd281456944 = function() { return handleErro
const ret = getObject(arg0).localStorage;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
}, arguments) };
imports.wbg.__wbindgen_closure_wrapper335 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper334 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 103, __wbg_adapter_36);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper343 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper342 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 68, __wbg_adapter_36);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper373 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper372 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 66, __wbg_adapter_41);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper1032 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper1026 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 103, __wbg_adapter_36);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper1034 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper1028 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 103, __wbg_adapter_36);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper2172 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper2165 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 66, __wbg_adapter_41);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper2431 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper2408 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 103, __wbg_adapter_36);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper2826 = function(arg0, arg1, arg2) {
imports.wbg.__wbindgen_closure_wrapper2795 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 66, __wbg_adapter_36);
return addHeapObject(ret);
};
Expand Down Expand Up @@ -1050,7 +1050,7 @@ async function __wbg_init(input) {
if (wasm !== undefined) return wasm;

if (typeof input === 'undefined') {
input = new URL('leptos_supabase_example-ea51b686c7ebc38c_bg.wasm', import.meta.url);
input = new URL('leptos_supabase_example-740e3cffdf6c2c47_bg.wasm', import.meta.url);
}
const imports = __wbg_get_imports();

Expand Down
Binary file not shown.
Binary file not shown.
105 changes: 48 additions & 57 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,75 +23,66 @@ pub fn App() -> impl IntoView {
view! {
<Router>
<Routes>
<Route path="/leptos_supabase_example" view=move || view! { <div>hello <Outlet/></div> }>
<Route
path="/login"
view=move || {
if user.get_untracked().access_token.is_empty() {
view! { <LogIn user=user set_user=set_user/> }
} else {
view! { <Redirect path="/"/> }
}
<Route
path="/leptos_supabase_example/login"
view=move || {
if user.get_untracked().access_token.is_empty() {
view! { <LogIn user=user set_user=set_user/> }
} else {
view! { <Redirect path="/leptos_supabase_example"/> }
}
/>
}
/>

<Route path="/signup" view=SignUp/>
<Route path="/leptos_supabase_example/signup" view=SignUp/>

<Route
path="/redirect"
view=move || {
let new_user = url_hash_to_user(use_location().hash.get());
match new_user {
Some(new_user) => {
if user.get_untracked().uuid != new_user.uuid {
local_storage()
.clear()
.expect("Can't access to local storage");
}
set_user.set(new_user);
view! { <Redirect path="/"/> }
<Route
path="/leptos_supabase_example/redirect"
view=move || {
let new_user = url_hash_to_user(use_location().hash.get());
match new_user {
Some(new_user) => {
if user.get_untracked().uuid != new_user.uuid {
local_storage().clear().expect("Can't access to local storage");
}
/// (Some(access_token), None) => _Never happens! This path is for login from google so both tokens always are provided
_ => view! { <Redirect path="/login"/> },
set_user.set(new_user);
view! { <Redirect path="/leptos_supabase_example"/> }
}
/// (Some(access_token), None) => _Never happens! This path is for login from google so both tokens always are provided
_ => view! { <Redirect path="/leptos_supabase_example/login"/> },
}
/>
}
/>

<Route
path="/"
view=move || {
if user.get_untracked().access_token.is_empty().not() {
view! { <Home user=user set_user=set_user/> }
} else {
view! { <Redirect path="/login"/> }
}
<Route
path="/"
view=move || {
if user.get_untracked().access_token.is_empty().not() {
view! { <Home user=user set_user=set_user/> }
} else {
view! { <Redirect path="/leptos_supabase_example/login"/> }
}
/>
}
/>

<Route
path="/signup/confirmation"
view=move || {
view! {
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);font-size:22px;">
"Please confirm your email from your inbox"
</div>
}
<Route
path="/leptos_supabase_example/signup/confirmation"
view=move || {
view! {
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);font-size:22px;">
"Please confirm your email from your inbox"
</div>
}
/>
}
/>

<Route
path="/*any"
view=move || {
view! {
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);font-size:22px;">
"Page Not Found :("
</div>
}
}
/>
<Route
path="/*any"
view=move || {
view! { <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);font-size:22px;">"Page Not Found :("</div> }
}
/>


</Route>
</Routes>
<div id="toast" class:show=show_toast>
{toast_text}
Expand Down
4 changes: 2 additions & 2 deletions src/components/home.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ pub fn Home(user: Signal<User>, set_user: WriteSignal<User>) -> impl IntoView {
let logout = move || {
local_storage().clear().expect("Can't access to local storage");
set_user.set(User::default());
use_navigate()("/login", Default::default());
use_navigate()("/leptos_supabase_example/login", Default::default());
};
let retry_all_faileds = move || {
spawn_local(async move {
Expand Down Expand Up @@ -341,7 +341,7 @@ pub fn Home(user: Signal<User>, set_user: WriteSignal<User>) -> impl IntoView {
RefreshTokenError::JsonParseError => {}
RefreshTokenError::RefreshTokenExpirationError => {
set_user.set(User::default());
use_navigate()("/login", Default::default())
use_navigate()("/leptos_supabase_example/login", Default::default())
}
RefreshTokenError::UnknownError => {}
},
Expand Down
4 changes: 2 additions & 2 deletions src/components/login.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ pub fn LogIn(user: Signal<User>, set_user: WriteSignal<User>) -> impl IntoView {
.expect("Can't access to local storage");
}
set_user.set(User { access_token, refresh_token, uuid, email });
use_navigate()("/", Default::default());
use_navigate()("/leptos_supabase_example", Default::default());
}
_ => {
toast(String::from("User token is not valid"));
Expand Down Expand Up @@ -121,7 +121,7 @@ pub fn LogIn(user: Signal<User>, set_user: WriteSignal<User>) -> impl IntoView {
class="secondary-button"
value="SignUp"
on:click=move |_| {
use_navigate()("/signup", Default::default());
use_navigate()("/leptos_supabase_example/signup", Default::default());
}
/>

Expand Down
2 changes: 1 addition & 1 deletion src/components/signup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ pub fn SignUp() -> impl IntoView {
class="secondary-button"
value="LogIn"
on:click=move |_| {
use_navigate()("/login", Default::default());
use_navigate()("/leptos_supabase_example/login", Default::default());
}
/>

Expand Down

0 comments on commit 369e8d5

Please sign in to comment.