dioxus_clerk/components/
redirect.rs1use crate::options::RedirectOptions;
2use dioxus::prelude::*;
3
4#[component]
21pub fn RedirectToSignIn(
22 #[props(into)]
24 force_redirect_url: Option<String>,
25 #[props(into)]
27 fallback_redirect_url: Option<String>,
28 #[props(into)]
30 sign_up_force_redirect_url: Option<String>,
31 #[props(into)]
33 sign_up_fallback_redirect_url: Option<String>,
34 #[props(default = RedirectOptions::from_value(serde_json::Value::Null), into)]
39 options: RedirectOptions,
40) -> Element {
41 let options = options
42 .maybe_force_redirect_url(force_redirect_url)
43 .maybe_fallback_redirect_url(fallback_redirect_url)
44 .maybe_sign_up_force_redirect_url(sign_up_force_redirect_url)
45 .maybe_sign_up_fallback_redirect_url(sign_up_fallback_redirect_url)
46 .into_value();
47
48 #[cfg(clerk_client)]
49 crate::lifecycle::use_redirect_to_sign_in(options.clone());
50 #[cfg(not(clerk_client))]
51 let _ = &options;
52 rsx! {}
53}
54
55#[component]
57pub fn RedirectToSignUp(
58 #[props(into)]
60 force_redirect_url: Option<String>,
61 #[props(into)]
63 fallback_redirect_url: Option<String>,
64 #[props(into)]
66 sign_in_force_redirect_url: Option<String>,
67 #[props(into)]
69 sign_in_fallback_redirect_url: Option<String>,
70 #[props(default = RedirectOptions::from_value(serde_json::Value::Null), into)]
75 options: RedirectOptions,
76) -> Element {
77 let options = options
78 .maybe_force_redirect_url(force_redirect_url)
79 .maybe_fallback_redirect_url(fallback_redirect_url)
80 .maybe_sign_in_force_redirect_url(sign_in_force_redirect_url)
81 .maybe_sign_in_fallback_redirect_url(sign_in_fallback_redirect_url)
82 .into_value();
83
84 #[cfg(clerk_client)]
85 crate::lifecycle::use_redirect_to_sign_up(options.clone());
86 #[cfg(not(clerk_client))]
87 let _ = &options;
88 rsx! {}
89}