Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
eee488e
feat: create initial Page component with null return
Nov 24, 2025
5e47958
feat: create Page component with null return
Nov 24, 2025
f0ff9d5
feat: refactor imports for Runtime components to align with new direc…
Nov 24, 2025
3f324a6
feat: update import path for UsersPage to reflect new directory struc…
Nov 24, 2025
ee0de9a
feat: update import path for PersonalProjectsView and rename related …
Nov 24, 2025
9874311
feat: update import paths and rename related files for organization s…
Nov 24, 2025
6e760f3
feat: rename RuntimeSettingPage to RuntimeSettingsPage and PersonalPr…
Nov 24, 2025
4960fe5
feat: remove unused IconFolder import from ApplicationTabView
Nov 24, 2025
8d2c85f
feat: add fragments for Organization and User in Namespace.graphql
Nov 24, 2025
084a2e4
feat: implement NamespaceTabView component and update Page to render it
Nov 24, 2025
b54e5c0
feat: enhance NamespaceTabView with organization settings tab and ser…
Nov 24, 2025
e5847c1
feat: enhance MemberService and RuntimeService to filter members and …
Nov 24, 2025
4630d3b
feat: optimize MemberService and RuntimeService to return cached valu…
Nov 24, 2025
e778bc1
feat: remove redundant check for cached values in MemberService and R…
Nov 24, 2025
3325bad
feat: refactor MemberService to remove redundant member fetching logi…
Nov 24, 2025
63ca185
feat: refactor Page component to use named export and remove unnecess…
Nov 24, 2025
51a23a9
feat: add NamespaceOverviewSideView component for managing projects a…
Nov 24, 2025
f5362ca
feat: add NamespaceProjectsPage component to integrate project and ov…
Nov 24, 2025
4b4210b
feat: add NamespaceProjectsView component for displaying and managing…
Nov 24, 2025
258aae7
feat: update NamespaceTabView to reorder useParams and add TODO for l…
Nov 24, 2025
b1e124b
feat: enhance OrganizationsView to navigate to namespace on organizat…
Nov 24, 2025
31d3b6a
feat: implement Page component to render NamespaceProjectsPage
Nov 24, 2025
142d30d
feat: update logo image source in default.tsx
Nov 25, 2025
9e8477d
feat: replace GradientButton with Button and minimize DRuntimeList in…
Nov 25, 2025
8a8d6cd
feat: simplify runtime query parameters in Runtime.service.ts
Nov 25, 2025
2529837
feat: update logo image source in UserLoginPage.tsx
Nov 25, 2025
6fe4a4f
feat: update logo
Nov 25, 2025
bbf6534
feat: enhance button label with PRO badge in NamespaceOverviewSideView
Nov 25, 2025
a231d6b
feat: add user tooltip with username and email in NamespaceOverviewSi…
Nov 25, 2025
b0adfca
feat: update @code0-tech/pictor dependency to version 0.0.0-mvp.22
Nov 25, 2025
891c1d1
feat: add link to personal workspace in user menu
Nov 25, 2025
53f1072
feat: add NamespaceOverviewLeftView component for user and organizati…
Nov 25, 2025
2997121
feat: add NamespaceOverviewPage component for displaying namespace de…
Nov 25, 2025
6b36454
feat: rename NamespaceOverviewSideView to NamespaceOverviewRightView …
Nov 25, 2025
092a433
feat: add NamespaceProjectsCreatePage component for creating new proj…
Nov 25, 2025
7376225
feat: simplify NamespaceProjectsPage by removing layout and side view
Nov 25, 2025
d41420d
feat: update project creation link to include namespace ID
Nov 25, 2025
deccd28
feat: add project count badge to NamespaceTabView
Nov 25, 2025
781199b
feat: update organization selection to use namespace ID for routing
Nov 25, 2025
348c295
feat: create main page component to render NamespaceProjectsCreatePage
Nov 25, 2025
779652a
feat: render NamespaceProjectsPage in main page component
Nov 25, 2025
b93dfc6
feat: replace NamespaceProjectsPage with NamespaceOverviewPage in mai…
Nov 25, 2025
cd04b89
remove: PersonalProjectCreatePage.tsx
Nov 25, 2025
c3a0535
feat: update personal project creation link to use namespace ID
Nov 25, 2025
1c1a54f
feat: filter projects by namespace ID and optimize query handling
Nov 25, 2025
bd19360
feat: enhance user profile display in NamespaceOverviewLeftView
Nov 25, 2025
94937d7
feat: add role service to application layout context provider
Nov 27, 2025
5a5bac5
feat: add MembersPage component to render MembersView
Nov 27, 2025
467101b
feat: add MembersView component to display and manage namespace members
Nov 27, 2025
737ddc9
feat: integrate MembersPage component into main page
Nov 27, 2025
2c50da0
feat: render RolesPage component in main page
Nov 27, 2025
6b004f5
feat: add ProjectId fragment for NamespaceProject
Nov 27, 2025
eede67c
feat: add Role fragment for NamespaceRole with project assignments an…
Nov 27, 2025
d2823ff
feat: add RoleId fragment for NamespaceRole
Nov 27, 2025
9723e30
feat: implement RoleService for managing namespace roles and querying
Nov 27, 2025
3fde5cc
feat: add Roles query for fetching roles in a namespace
Nov 27, 2025
29c076b
feat: create RolesPage component to display roles
Nov 27, 2025
1f5e166
feat: add RolesView component for displaying roles in a namespace
Nov 27, 2025
f81211b
feat: add mutation for assigning roles to a namespace member
Nov 28, 2025
74523ae
feat: add BasicMember fragment for namespace member details
Nov 28, 2025
51b94af
feat: add mutation for deleting a namespace member
Nov 28, 2025
9a9dd01
feat: implement member role assignment mutation in MemberService
Nov 28, 2025
fe229d1
feat: integrate role assignment functionality in MembersView
Nov 28, 2025
95f7be6
feat: add role and member count badges in NamespaceTabView
Nov 28, 2025
7bf04db
feat: pass namespace ID to DRuntimeList for improved routing
Nov 28, 2025
021ed4f
feat: update deleteMember mutation to use BasicMember fragment
Nov 28, 2025
4e1e443
feat: implement member deletion functionality in MemberService
Nov 28, 2025
b93c3f1
feat: add member removal functionality in MembersView
Nov 28, 2025
507e9c5
feat: add RuntimeSettingsPage component to page
Nov 28, 2025
5848253
feat: add RuntimeCreatePage component to page
Nov 28, 2025
7cb78a4
feat: render RuntimesPage component in Page
Nov 28, 2025
bd0e6af
feat: enhance RuntimeCreatePage to support namespace-specific runtimes
Nov 28, 2025
81c9569
feat: update RuntimeSettingsPage to handle namespace-specific routing
Nov 28, 2025
7104dd7
feat: update RuntimesPage to support namespace-specific runtime creat…
Nov 28, 2025
6563575
feat: update ApplicationTabView to display count of unassigned runtimes
Nov 28, 2025
b14238b
feat: update NamespaceTabView to display count of runtimes for the se…
Nov 28, 2025
e11af99
feat: logo
Dec 2, 2025
4c7b0b0
feat: update logo image and adjust size in default.tsx
Dec 2, 2025
57f50d3
feat: update banner image in layout.tsx
Dec 2, 2025
2974aef
feat: add "use client" directive to layout.tsx
Dec 2, 2025
96a8ce0
feat: remove TODO comment regarding query handling in Member.service.ts
Dec 2, 2025
ef66d34
feat: add MemberAddPage component for adding new members
Dec 2, 2025
3f064f9
feat: update link text and destination for adding new members in Memb…
Dec 2, 2025
3b44256
feat: wrap "Invite user" button in a link to the member addition page
Dec 2, 2025
aa1464d
feat: update link destination for "Go back to projects" button in Nam…
Dec 2, 2025
8ce6aee
feat: add OrganizationSettingsPage component for managing organizatio…
Dec 2, 2025
854a011
feat: create Page component to render MemberAddPage
Dec 2, 2025
9976fd1
feat: create Page component with initial structure
Dec 2, 2025
8a1af5e
feat: create initial Page component with empty render
Dec 2, 2025
2d3b577
feat: enable client-side rendering for Page component
Dec 2, 2025
38e0639
feat: add RoleCreatePage component for creating roles
Dec 2, 2025
175165a
feat: add RoleSettingsPage component for managing role settings
Dec 2, 2025
2a50f8b
fix: update logo image source in UserEmailVerificationPage
Dec 2, 2025
761e160
fix: update logo image source in UserForgotPasswordPage
Dec 2, 2025
8251f80
fix: update logo image source in UserLoginPage
Dec 2, 2025
3b4db82
fix: update logo image source in UserRegistrationPage
Dec 2, 2025
ab00822
fix: update logo image source in UserResetPasswordPage
Dec 2, 2025
afacf14
fix: update logo image sources in default and layout components
Dec 2, 2025
6989b8d
fix: update role navigation and settings in RolesView and RuntimeSett…
Dec 2, 2025
11cf752
fix: update tab triggers and labels in ApplicationSettingsPage and Ru…
Dec 2, 2025
9a4cc0f
fix: replace Link components with router.push for navigation in Appli…
Dec 2, 2025
9a00015
fix: change link text decoration color to transparent in global styles
Dec 2, 2025
07f6787
fix: add Spacing component to layout for improved spacing
Dec 2, 2025
405fe38
fix: replace Link components with router.push for navigation in Names…
Dec 2, 2025
8a8e088
fix: remove Spacing component from layout for cleaner design
Dec 2, 2025
9acf70d
fix: update footer layout for improved responsiveness and design
Dec 3, 2025
b059168
feat: implement OrganizationSettingsPage with tabs for organization m…
Dec 3, 2025
9d0411b
feat: add RoleSettingsPage component to main page
Dec 3, 2025
899d4d8
feat: integrate RoleCreatePage into main page
Dec 3, 2025
42b5632
feat: render OrganizationSettingsPage in main page
Dec 3, 2025
8a62670
feat: add RoleCreatePage component for creating new roles
Dec 3, 2025
909fabe
feat: add RoleSettingsPage component as a placeholder
Dec 3, 2025
84f687d
feat: clean up imports in RuntimeSettingsPage component
Dec 3, 2025
dc7f0f4
feat: enhance layout in UserLoginPage with spacing and flex display
Dec 3, 2025
597e2d6
feat: update NamespaceOverviewRightView layout with improved button s…
Dec 5, 2025
e4f438e
feat: enhance OrganizationSettingsPage with usage and upgrade views
Dec 5, 2025
fc61808
feat: add OrganizationUpgradeView component for team plan upgrades
Dec 5, 2025
012d838
feat: update @code0-tech/pictor and @code0-tech/sagittarius-graphql-t…
Dec 5, 2025
61b8ac9
feat: implement RoleSettingsPage with permissions management and proj…
Dec 5, 2025
25cefd6
feat: add UsageView component for displaying runtime usage information
Dec 5, 2025
09faa98
feat: add OrganizationDeleteView component for permanent organization…
Dec 5, 2025
d723866
feat: add OrganizationDeleteView to OrganizationSettingsPage for orga…
Dec 5, 2025
a1f0199
feat: add OrganizationDeleteView to OrganizationSettingsPage for gene…
Dec 5, 2025
eca72ab
feat: add organizationUpdate method to OrganizationService for updati…
Dec 5, 2025
1881d98
feat: add updateOrganization mutation for updating organization details
Dec 5, 2025
ee81bee
feat: implement organization update functionality in OrganizationGene…
Dec 5, 2025
3c3c077
feat: replace OrganizationDeleteView with OrganizationGeneralSettings…
Dec 5, 2025
d5b6376
feat: add import statement for Organization fragment in deleteOrganiz…
Dec 5, 2025
7b265c8
feat: add deleteOrganization mutation to OrganizationService for dele…
Dec 5, 2025
aefb4f9
feat: remove deleteById method from OrganizationService
Dec 5, 2025
71c9ac4
feat: implement organization deletion functionality in OrganizationDe…
Dec 5, 2025
2fce446
feat: add User query for fetching user details by username
Dec 6, 2025
fceddd7
feat: add user query for fetching user details by username and update…
Dec 6, 2025
e4a796a
feat: rename User query to Users for consistency in naming
Dec 6, 2025
260efb0
feat: add mutation for inviting a member to a namespace
Dec 6, 2025
91a2c76
feat: implement member invitation functionality in MemberService
Dec 6, 2025
f66a6bf
feat: add user invitation form with validation in MemberAddPage
Dec 6, 2025
c0dcb3b
feat: add RoleBasic fragment for NamespaceRole with user abilities
Dec 6, 2025
7a79dd0
feat: add createRole mutation for managing namespace roles
Dec 6, 2025
a2a0de2
feat: remove unused user session and user service references from run…
Dec 6, 2025
489b34a
feat: add User.byId query to fetch user details using UserBasic fragment
Dec 6, 2025
43748b3
feat: add getById method to UserService for fetching user details by ID
Dec 6, 2025
3156ea6
feat: add roleAssignAbilities mutation and implementation in RoleService
Dec 6, 2025
d117e4c
feat: enhance RoleSettingsPage with permission templates and dynamic …
Dec 6, 2025
abc21bb
feat: update RoleSettingsPage with improved permission template selec…
Dec 7, 2025
af7e5dd
feat: add roleAssignProjects mutation and implement project assignmen…
Dec 7, 2025
643dbf4
feat: remove search input fields from various views for cleaner UI
Dec 7, 2025
edc7eed
feat: remove search input field from RuntimesPage for cleaner UI
Dec 7, 2025
8c03840
feat: enhance MemberAddPage with user filtering and improved form han…
Dec 7, 2025
15c537c
feat: simplify initial form values in MemberAddPage for improved clarity
Dec 7, 2025
97f3bc9
feat: update @code0-tech/pictor to version 0.0.0-mvp.25 and add peer …
Dec 7, 2025
172db96
feat: update @code0-tech/pictor to version 0.0.0-mvp.26
Dec 7, 2025
b1fa563
feat: enhance RuntimesPage with user session handling and access control
Dec 7, 2025
08f577d
feat: add TODOs for user abilities checks in various pages within nam…
Dec 7, 2025
43703ee
feat: enhance error handling in layout with GraphQLFormattedError sup…
Dec 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 82 additions & 35 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"dependencies": {
"@apollo/client": "^4.0.9",
"@code0-tech/pictor": "^0.0.0-mvp.21",
"@code0-tech/pictor": "^0.0.0-mvp.26",
"graphql": "^16.12.0",
"graphql-tag": "^2.12.6",
"next": "16.0.7",
Expand Down
Binary file added public/CodeZero_Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/CodeZero_Logo_MVP.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 21 additions & 9 deletions src/app/(auth)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,28 @@ export default function AuthLayout({children}: Readonly<{ children: React.ReactN
</Container>
</ContextStoreProvider>
<div style={{
position: "fixed",
bottom: "1.3rem",
right: "1.3rem",
display: "flex",
alignItems: "center",
gap: "1.3rem"
position: "absolute",
width: "100%",
boxSizing: "border-box",
padding: "1.3rem",
bottom: 0,
left: 0
}}>
<Text>All rights reserved &copy; Code0 UG (haftungsbeschränkt)</Text>
<Image src={"/CodeZero_Banner_MVP.png"} alt={"CodeZero Banner"} width={150} height={0}
style={{width: '150px', height: 'auto'}}/>
<Flex justify={"space-between"} align={"end"} style={{gap: "1.3rem"}}>
<Text maw={"25%"} style={{fontSize: "2rem", fontWeight: "600", lineHeight: "1"}} hierarchy={"primary"}
display={"inline-block"}>
Every great idea starts at zero. {" "}
<Text style={{fontSize: "2rem", fontWeight: "600", lineHeight: "1"}}
hierarchy={"tertiary"} display={"inline"}>
Start with CodeZero.
</Text>
</Text>
<Flex align={"center"} style={{gap: "1.3rem"}}>
<Text>All rights reserved &copy; Code0 UG (haftungsbeschränkt)</Text>
<Image src={"/CodeZero_Banner_MVP.png"} alt={"CodeZero Banner"} width={150} height={0}
style={{width: '150px', height: 'auto'}}/>
</Flex>
</Flex>
</div>
</div>
</DFullScreen>
Expand Down
13 changes: 10 additions & 3 deletions src/app/(dashboard)/@bar/default.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
useUserSession
} from "@code0-tech/pictor";
import DUserMenu from "@code0-tech/pictor/dist/components/d-user/DUserMenu";
import {IconBuilding, IconInbox, IconLogout, IconSearch, IconSettings} from "@tabler/icons-react";
import {IconBuilding, IconFolders, IconInbox, IconLogout, IconSearch} from "@tabler/icons-react";
import React from "react";
import Image from "next/image";
import {UserService} from "@edition/user/User.service";
Expand Down Expand Up @@ -46,12 +46,19 @@ const Page = () => {
})
}

const namespaceIndex = currentSession.user?.namespace?.id?.match(/Namespace\/(\d+)$/)?.[1]

return <DUserMenu userId={currentSession.user?.id!!}>
<Link href={"/organizations"}>
<MenuItem>
<IconBuilding size={16}/>Organizations
</MenuItem>
</Link>
<Link href={`/namespace/${namespaceIndex}`}>
<MenuItem>
<IconFolders size={16}/>Personal Workspace
</MenuItem>
</Link>
<MenuSeparator/>
<MenuItem onSelect={userLogout}>
<IconLogout size={16}/>Logout
Expand All @@ -63,8 +70,8 @@ const Page = () => {
<Flex style={{gap: "0.7rem", flexDirection: "column"}} py={0.7} w={"100%"}>
<Flex align={"center"} justify={"space-between"}>
<Flex align={"center"} style={{gap: "1.3rem"}}>
<Image src={"/CodeZero_App_MVP.png"} alt={"CodeZero Banner"} width={160} height={0}
style={{width: '42px', height: 'auto'}}/>
<Image src={"/CodeZero_Logo.png"} alt={"CodeZero Banner"} width={160} height={0}
style={{width: '38px', height: 'auto'}}/>
<Breadcrumb>
<Text>Application</Text>
</Breadcrumb>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
5 changes: 5 additions & 0 deletions src/app/(dashboard)/@tab/namespace/[namespaceId]/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceTabView} from "@edition/dashboard/namespace/NamespaceTabView";

export default function Page() {
return <NamespaceTabView/>
}
8 changes: 6 additions & 2 deletions src/app/(dashboard)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ import {
DOrganizationView, DRuntimeView,
DUserView,
ReactiveArrayStore,
useUserSession
useUserSession,
DNamespaceRoleView
} from "@code0-tech/pictor";
import {UserService} from "@edition/user/User.service";
import {GraphqlClient} from "@core/util/graphql-client";
Expand All @@ -22,6 +23,8 @@ import {NamespaceService} from "@edition/namespace/Namespace.service";
import {usePersistentReactiveArrayService} from "@/hooks/usePersistentReactiveArrayService";
import {RuntimeService} from "@edition/runtime/Runtime.service";
import {ProjectService} from "@edition/project/Project.service";
import {RoleService} from "@edition/role/Role.service";
import {Spacing} from "@code0-tech/pictor/dist/components/spacing/Spacing";

interface ApplicationLayoutProps {
children: React.ReactNode
Expand All @@ -43,10 +46,11 @@ const ApplicationLayout: React.FC<ApplicationLayoutProps> = ({children, bar, tab
const namespace = usePersistentReactiveArrayService<DNamespaceView, NamespaceService>(`dashboard::namespaces::${currentSession?.id}`, (store: ReactiveArrayStore<DNamespaceView>) => new NamespaceService(graphqlClient, store))
const runtime = usePersistentReactiveArrayService<DRuntimeView, RuntimeService>(`dashboard::global_runtimes::${currentSession?.id}`, (store: ReactiveArrayStore<DRuntimeView>) => new RuntimeService(graphqlClient, store))
const project = usePersistentReactiveArrayService<DNamespaceProjectView, ProjectService>(`dashboard::projects::${currentSession?.id}`, (store: ReactiveArrayStore<DNamespaceProjectView>) => new ProjectService(graphqlClient, store))
const role = usePersistentReactiveArrayService<DNamespaceRoleView, RoleService>(`dashboard::roles::${currentSession?.id}`, (store: ReactiveArrayStore<DNamespaceRoleView>) => new RoleService(graphqlClient, store))

if (currentSession === null) router.push("/login")

return <ContextStoreProvider services={[user, organization, member, namespace, runtime, project]}>
return <ContextStoreProvider services={[user, organization, member, namespace, runtime, project, role]}>
<DLayout style={{zIndex: 0}} topContent={
<>
<div style={{background: "rgba(255,2552,255,.1)", borderBottom: "1px solid rgba(255,2552,255,.1)"}}>
Expand Down
2 changes: 2 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"use client"

import React from "react";
import Link from "next/link";

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use client"

import {MemberAddPage} from "@edition/dashboard/member/MemberAddPage";

export default function Page() {
return <MemberAddPage/>
}
7 changes: 7 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/members/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use client"

import {MembersPage} from "@edition/dashboard/member/MembersPage";

export default function Page() {
return <MembersPage/>
}
10 changes: 7 additions & 3 deletions src/app/(dashboard)/namespace/[namespaceId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
export default function NamespacePage() {
return <>Namespace page (view all projects)</>
}
"use client"

import {NamespaceOverviewPage} from "@edition/dashboard/namespace/NamespaceOverviewPage";

export default function Page() {
return <NamespaceOverviewPage/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceProjectsCreatePage} from "@edition/dashboard/namespace/NamespaceProjectsCreatePage";

export default function Page() {
return <NamespaceProjectsCreatePage/>
}
5 changes: 5 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/projects/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {NamespaceProjectsPage} from "@edition/dashboard/namespace/NamespaceProjectsPage";

export default function Page() {
return <NamespaceProjectsPage/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use client"

import {RoleSettingsPage} from "@edition/dashboard/role/RoleSettingsPage";

export default function Page() {
return <RoleSettingsPage/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use client"

import {RoleCreatePage} from "@edition/dashboard/role/RoleCreatePage";

export default function Page() {
return <RoleCreatePage/>
}
5 changes: 5 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/roles/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {RolesPage} from "@edition/dashboard/role/RolesPage";

export default function Page() {
return <RolesPage/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {RuntimeSettingsPage} from "@edition/dashboard/runtime/RuntimeSettingsPage";

export default function Page() {
return <RuntimeSettingsPage/>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {RuntimeCreatePage} from "@edition/dashboard/runtime/RuntimeCreatePage";

export default function Page() {
return <RuntimeCreatePage/>
}
5 changes: 5 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/runtimes/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {RuntimesPage} from "@edition/dashboard/runtime/RuntimesPage";

export default function Page() {
return <RuntimesPage/>
}
7 changes: 7 additions & 0 deletions src/app/(dashboard)/namespace/[namespaceId]/settings/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use client"

import {OrganizationSettingsPage} from "@edition/dashboard/organization/OrganizationSettingsPage";

export default function Page() {
return <OrganizationSettingsPage/>
}
2 changes: 1 addition & 1 deletion src/app/(dashboard)/organizations/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {OrganizationCreatePage} from "@edition/dashboard/application/OrganizationCreatePage";
import {OrganizationCreatePage} from "@edition/dashboard/organization/OrganizationCreatePage";

export default function Page() {
return <OrganizationCreatePage/>
Expand Down
2 changes: 1 addition & 1 deletion src/app/(dashboard)/organizations/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {OrganizationsPage} from "@edition/dashboard/application/OrganizationsPage";
import {OrganizationsPage} from "@edition/dashboard/organization/OrganizationsPage";

export default function Page() {
return <OrganizationsPage/>
Expand Down
4 changes: 1 addition & 3 deletions src/app/(dashboard)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import React from "react";
import {ApplicationPage} from "@edition/dashboard/application/ApplicationPage";

const Page = () => {
export default function Page() {
return <ApplicationPage/>
}

export default React.memo(Page);
4 changes: 2 additions & 2 deletions src/app/(dashboard)/runtimes/[runtimeId]/settings/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {RuntimeSettingPage} from "@edition/dashboard/application/RuntimeSettingPage";
import {RuntimeSettingsPage} from "@edition/dashboard/runtime/RuntimeSettingsPage";

export default function Page() {
return <RuntimeSettingPage/>
return <RuntimeSettingsPage/>
}
2 changes: 1 addition & 1 deletion src/app/(dashboard)/runtimes/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {RuntimeCreatePage} from "@edition/dashboard/application/RuntimeCreatePage";
import {RuntimeCreatePage} from "@edition/dashboard/runtime/RuntimeCreatePage";

export default function Page() {
return <RuntimeCreatePage/>
Expand Down
2 changes: 1 addition & 1 deletion src/app/(dashboard)/runtimes/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use client"

import {RuntimesPage} from "@edition/dashboard/application/RuntimesPage";
import {RuntimesPage} from "@edition/dashboard/runtime/RuntimesPage";

export default function Page() {
return <RuntimesPage/>
Expand Down
2 changes: 1 addition & 1 deletion src/app/(dashboard)/users/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {UsersPage} from "@edition/dashboard/application/UsersPage";
import {UsersPage} from "@edition/dashboard/user/UsersPage";

export default function Page() {
return <UsersPage/>
Expand Down
2 changes: 1 addition & 1 deletion src/app/global.scss
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ html, body {

a {
text-decoration: none;
text-decoration-color: white !important;
text-decoration-color: transparent !important;

&:hover {
text-decoration: underline;
Expand Down
7 changes: 4 additions & 3 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import {Toaster} from "sonner";
import {Error} from "@code0-tech/sagittarius-graphql-types";
import {toast} from "@code0-tech/pictor";
import {Inter} from 'next/font/google'
import {GraphQLFormattedError} from "graphql/error";

/**
* Load the Inter font with Latin subset and swap display strategy
Expand Down Expand Up @@ -66,8 +67,8 @@ const ErrorCodeDescription: Record<string, string> = {
/**
* Handles error toasts based on error type
*/
const toastHandler = (error: Error) => {
if (error.__typename === "ErrorCode") {
const toastHandler = (error: Error | GraphQLFormattedError) => {
if (error && "errorCode" in error) {
toast({
title: ErrorCodeDescription[(error.errorCode as string)],
color: "error",
Expand All @@ -94,7 +95,7 @@ export default function RootLayout({children}: Readonly<{ children: React.ReactN
*/
const errorLink = new ErrorLink(({error, result, operation, forward}) => {
if (error instanceof CombinedGraphQLErrors) {
error.errors.forEach((error: Error) => {
error.errors.forEach((error: GraphQLFormattedError) => {
toastHandler(error)
})
return
Expand Down
2 changes: 1 addition & 1 deletion src/packages/ce/src/auth/UserEmailVerificationPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const UserEmailVerificationPage: React.FC = () => {
})

return <>
<Image src={"/CodeZero_App_MVP.png"} alt={"CodeZero Logo"}
<Image src={"/CodeZero_Logo.png"} alt={"CodeZero Logo"}
width={40}
height={40}
style={{marginBottom: "1.3rem"}}/>
Expand Down
2 changes: 1 addition & 1 deletion src/packages/ce/src/auth/UserForgotPasswordPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const UserForgotPasswordPage: React.FC = () => {
})

return <>
<Image src={"/CodeZero_App_MVP.png"} alt={"CodeZero Logo"}
<Image src={"/CodeZero_Logo.png"} alt={"CodeZero Logo"}
width={40}
height={40}
style={{marginBottom: "1.3rem"}}/>
Expand Down
7 changes: 4 additions & 3 deletions src/packages/ce/src/auth/UserLoginPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ export const UserLoginPage: React.FC = () => {
})

return <>
<Image src={"/CodeZero_App_MVP.png"} alt={"CodeZero Logo"}
<Spacing spacing={"xl"}/>
<Image src={"/CodeZero_Logo.png"} alt={"CodeZero Logo"}
width={40}
height={40}
style={{marginBottom: "1.3rem"}}/>
Expand Down Expand Up @@ -87,10 +88,10 @@ export const UserLoginPage: React.FC = () => {
Forgot password?
</Text>
</Link>
<Text display={"block"} hierarchy={"tertiary"} size={"md"}>
<Text display={"flex"} hierarchy={"tertiary"} size={"md"}>
Don't have an account yet
<Link href={"/register"}>
<Text ml={0.35} hierarchy={"primary"} size={"md"}>
<Text ml={0.35} hierarchy={"primary"} display={"flex"} size={"md"}>
Sign up
</Text>
</Link>
Expand Down
Loading