Enter to send · Shift+Enter for new line
Enter to send · Shift+Enter for new line ·
/design for visual designEnter to send · Shift+Enter for new line · HTML mockups will have a "Render HTML" button
graph TB
subgraph Entry["Entry Point"]
HTML["index.html"] --> Main["main.tsx"]
Main --> App["App.tsx"]
end
subgraph Providers["Provider Layer"]
App --> Redux["Redux Provider"]
App --> RQ["React Query Provider"]
App --> Persist["PersistGate"]
App --> Router["BrowserRouter"]
App --> ThemeP["Theme Provider"]
end
subgraph Routing["Route Layer"]
Router --> Views["Views.tsx"]
Views --> AppRoute["AppRoute.tsx"]
AppRoute --> BlankLayout["BlankLayout"]
BlankLayout --> LP["LandingPage"]
BlankLayout --> Pages["Pages"]
end
subgraph LandingPageFlow["Landing Page Flow"]
LP --> useGetPageData
LP --> useLoadPageScripts
LP --> usePostPageData
LP --> useFallbackCampaign
LP --> Wrapper["Wrapper.tsx"]
LP --> Form["Form.tsx"]
Wrapper -->|"dynamic import"| LayoutTemplate["Layout Template"]
Form --> DynamicForm["DynamicForm.tsx"]
Form --> FormContext["FormContext"]
end
subgraph LayoutTemplates["Layout Templates - 80+"]
LayoutTemplate --> oshpi
LayoutTemplate --> la_niozo["la-niozo"]
LayoutTemplate --> bnwjf
LayoutTemplate --> liberty["liberty-layout"]
LayoutTemplate --> more["... 76 more"]
end
subgraph FormSystem["Dynamic Form System"]
DynamicForm --> TextFC["TextFormControl"]
DynamicForm --> SelectFC["SelectFormControl"]
DynamicForm --> CheckboxFC["CheckboxGroupFormControl"]
DynamicForm --> RadioFC["RadioGroupFormControl"]
DynamicForm --> TCPAFC["TCPAFormControl"]
DynamicForm --> HiddenFC["HiddenFormControl"]
DynamicForm --> SliderFC["SliderFormControl"]
DynamicForm --> MoreFC["... 8 more controls"]
DynamicForm --> Formik
DynamicForm --> Yup["Yup Validation"]
end
subgraph StateManagement["State Management"]
Redux --> AuthSlice["auth slice"]
Redux --> ThemeSlice["theme slice"]
Redux --> LocaleSlice["locale slice"]
Redux --> BaseSlice["base slice"]
Redux --> LPSlice["landingPage slice"]
Redux --> RTKQuery["RTK Query API"]
end
subgraph Services["Services Layer"]
useGetPageData --> ApiService
usePostPageData --> ApiService
ApiService --> BaseService["BaseService / Axios"]
RTKQuery --> RtkQueryService
RtkQueryService --> BaseService
end
subgraph UIComponents["UI Component Library - 50+"]
Button
Input
Select
Card
Modal
Table
Tabs
end
subgraph Integrations["External Integrations"]
useLoadPageScripts --> Pixels["Tracking Pixels"]
useLoadPageScripts --> GTM["Google Tag Manager"]
LP --> Jornaya
LP --> Sentry
TCPAFC --> TCPAHook["useTCPACompliance"]
end
DynamicForm --> UIComponents
LayoutTemplate --> UIComponents
sequenceDiagram
participant Browser
participant App
participant LandingPage
participant API
participant Layout
participant DynamicForm
participant Redux
Browser->>App: Load URL (/)
App->>LandingPage: Route to LandingPage
LandingPage->>API: useGetPageData - fetch campaign
API-->>LandingPage: lead, next_page, layout_key, fields
LandingPage->>Redux: Store page data
LandingPage->>Layout: Dynamic import layout template
Layout-->>LandingPage: Render layout shell
LandingPage->>DynamicForm: Render fields from API
DynamicForm->>DynamicForm: Map ui_type to Components
DynamicForm-->>Browser: Rendered form
Browser->>DynamicForm: User fills form
DynamicForm->>DynamicForm: Formik validate with Yup
DynamicForm->>LandingPage: onSubmit
LandingPage->>API: usePostPageData - submit lead
API-->>LandingPage: next_page or thank_you or redirect
alt Has next page
LandingPage->>DynamicForm: Render next step fields
else Thank You
LandingPage->>Layout: Render TY page
else Redirect
LandingPage->>Browser: Navigate to external URL
end
graph TD
App --> Theme
Theme --> LayoutComp["Layouts.tsx"]
LayoutComp --> BlankLayout
LayoutComp --> ClassicLayout
LayoutComp --> ModernLayout
LayoutComp --> SimpleLayout
BlankLayout --> Views
Views --> LandingPage
Views --> Pages
LandingPage --> Wrapper
LandingPage --> LPForm["Form"]
LandingPage --> Confirmation
Wrapper --> LT1["oshpi/Layout"]
Wrapper --> LT2["la-niozo/Layout"]
Wrapper --> LT3["bnwjf/Layout"]
Wrapper --> LTN["... 80+ layouts"]
LPForm --> FormContext
LPForm --> DynamicForm
DynamicForm --> FC1["TextFormControl"]
DynamicForm --> FC2["SelectFormControl"]
DynamicForm --> FC3["CheckboxGroupFormControl"]
DynamicForm --> FC4["RadioGroupFormControl"]
DynamicForm --> FC5["TCPAFormControl"]
DynamicForm --> FC6["ConsentFormControl"]
DynamicForm --> FC7["HiddenFormControl"]
DynamicForm --> FC8["DateTimeField"]
DynamicForm --> FC9["SliderFormControl"]
DynamicForm --> FC10["... more"]
graph LR
subgraph Store["Redux Store"]
subgraph Auth["auth"]
User["user: avatar, username, email, authority"]
Session["session: token, authenticated"]
end
subgraph ThemeState["theme"]
ThemeColor["themeColor, mode, direction"]
LayoutState["layout: type, sideNavCollapse"]
NavState["navMode, panelExpand"]
end
subgraph Locale["locale"]
Lang["language: en/es"]
end
subgraph Base["base"]
Common["commonState"]
end
subgraph LandingPageState["landingPage"]
PageData["page, config, isLoading"]
FormData["previousFields, submitButtonText"]
Offers["acceptedOffers"]
end
subgraph RTK["rtkApi"]
Cache["API cache"]
end
end
Loading dependency graph...
1,345
Total Files Analyzed
80+
Layout Templates
50+
UI Components
15+
Form Controls
20+
Custom Hooks
4
Redux Slices
8+
Services
1
Circular Dependencies
⚠ Circular Dependency
store/index.ts
→ store/hook.ts
→ store/rootReducer.ts
→ services/RtkQueryService.ts
→ services/BaseService.ts
→ store/index.ts (circular!)
→ store/hook.ts
→ store/rootReducer.ts
→ services/RtkQueryService.ts
→ services/BaseService.ts
→ store/index.ts (circular!)
Most Imported Files (by dependents)
| # | File | Dependents |
|---|---|---|
| 40 | components/ui/index.ts | |
| 34 | assets/styles/components/index.css | |
| 34 | components/shared/LandingPageLayouts/vvdxj/Layout.tsx | |
| 29 | components/shared/LandingPageLayouts/zdczs/Layout.tsx | |
| 28 | components/shared/LandingPageLayouts/dxxdx/Layout.tsx | |
| 28 | components/shared/LandingPageLayouts/lvmmk/Layout.tsx | |
| 28 | components/shared/index.ts | |
| 19 | components/shared/DynamicForm.tsx |