-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathfull_stack_python.py
121 lines (97 loc) · 2.62 KB
/
full_stack_python.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
"""Welcome to Reflex! This file outlines the steps to create a basic app."""
import reflex as rx
import reflex_local_auth
from rxconfig import config
from .ui.base import base_page
from .auth.pages import (
my_login_page,
my_register_page,
my_logout_page
)
from .auth.state import SessionState
from .articles.detail import article_detail_page
from .articles.list import article_public_list_page, article_public_list_component
from .articles.state import ArticlePublicState
from . import blog, contact, navigation, pages
def index() -> rx.Component:
return base_page(
rx.cond(SessionState.is_authenticated,
pages.dashboard_component(),
pages.landing_component(),
)
)
app = rx.App(
theme=rx.theme(
appearance="dark",
has_background=True,
panel_background="solid",
scaling="90%",
radius="medium",
accent_color="sky"
)
)
app.add_page(index,
on_load=ArticlePublicState.load_posts
)
# reflex_local_auth pages
app.add_page(
my_login_page,
route=reflex_local_auth.routes.LOGIN_ROUTE,
title="Login",
)
app.add_page(
my_register_page,
route=reflex_local_auth.routes.REGISTER_ROUTE,
title="Register",
)
app.add_page(
my_logout_page,
route=navigation.routes.LOGOUT_ROUTE,
title="Logout",
)
# my pages
app.add_page(pages.about_page,
route=navigation.routes.ABOUT_US_ROUTE)
app.add_page(
pages.protected_page,
route="/protected/",
on_load=SessionState.on_load
)
app.add_page(
article_public_list_page,
route=navigation.routes.ARTICLE_LIST_ROUTE,
on_load=ArticlePublicState.load_posts
)
app.add_page(
article_detail_page,
route=f"{navigation.routes.ARTICLE_LIST_ROUTE}/[post_id]",
on_load=ArticlePublicState.get_post_detail
)
app.add_page(
blog.blog_post_list_page,
route=navigation.routes.BLOG_POSTS_ROUTE,
on_load=blog.BlogPostState.load_posts
)
app.add_page(
blog.blog_post_add_page,
route=navigation.routes.BLOG_POST_ADD_ROUTE
)
app.add_page(
blog.blog_post_detail_page,
route="/blog/[blog_id]",
on_load=blog.BlogPostState.get_post_detail
)
app.add_page(
blog.blog_post_edit_page,
route="/blog/[blog_id]/edit",
on_load=blog.BlogPostState.get_post_detail
)
app.add_page(contact.contact_page,
route=navigation.routes.CONTACT_US_ROUTE)
app.add_page(
contact.contact_entries_list_page,
route=navigation.routes.CONTACT_ENTRIES_ROUTE,
on_load=contact.ContactState.list_entries
)
app.add_page(pages.pricing_page,
route=navigation.routes.PRICING_ROUTE)