repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
Projectflow
stars
latest
clone command
git clone gitlawb://did:key:z6Mkfh4Y...QBEi/projectflowgit clone gitlawb://did:key:z6Mkfh4Y.../projectflowb3cded1async from playground22h ago| #1 | import { useStore } from "./application/stores"; |
| #2 | import { useKeyboardShortcuts } from "./application/hooks/useKeyboardShortcuts"; |
| #3 | import { useTheme } from "./application/hooks/useTheme"; |
| #4 | import { Layout } from "./presentation/layout"; |
| #5 | import { LoginPage } from "./presentation/auth"; |
| #6 | import { Dashboard } from "./presentation/dashboard"; |
| #7 | import { ProjectsView } from "./presentation/projects"; |
| #8 | import { Board } from "./presentation/board"; |
| #9 | import { IssueDetail } from "./presentation/issue-detail"; |
| #10 | import { SprintsView } from "./presentation/sprints"; |
| #11 | import { BacklogView } from "./presentation/backlog"; |
| #12 | import { AnalyticsView } from "./presentation/analytics"; |
| #13 | import { MembersView } from "./presentation/members"; |
| #14 | import { SettingsView } from "./presentation/settings"; |
| #15 | import { CommandPalette } from "./presentation/search"; |
| #16 | |
| #17 | export default function App() { |
| #18 | const { isAuthenticated, activeView, currentIssue } = useStore(); |
| #19 | |
| #20 | useKeyboardShortcuts(); |
| #21 | useTheme(); |
| #22 | |
| #23 | if (!isAuthenticated) { |
| #24 | return <LoginPage />; |
| #25 | } |
| #26 | |
| #27 | const renderView = () => { |
| #28 | switch (activeView) { |
| #29 | case "dashboard": |
| #30 | return <Dashboard />; |
| #31 | case "projects": |
| #32 | return <ProjectsView />; |
| #33 | case "board": |
| #34 | return <Board />; |
| #35 | case "backlog": |
| #36 | return <BacklogView />; |
| #37 | case "sprints": |
| #38 | return <SprintsView />; |
| #39 | case "analytics": |
| #40 | return <AnalyticsView />; |
| #41 | case "members": |
| #42 | return <MembersView />; |
| #43 | case "settings": |
| #44 | return <SettingsView />; |
| #45 | default: |
| #46 | return <Dashboard />; |
| #47 | } |
| #48 | }; |
| #49 | |
| #50 | return ( |
| #51 | <> |
| #52 | <Layout>{renderView()}</Layout> |
| #53 | {currentIssue && <IssueDetail />} |
| #54 | <CommandPalette /> |
| #55 | </> |
| #56 | ); |
| #57 | } |
| #58 |