-
Notifications
You must be signed in to change notification settings - Fork 27
feat(cluster): add views #2253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cluster): add views #2253
Conversation
|
Qovery can create a Preview Environment for this PR.
This comment has been generated from Qovery AI 🤖.
|
…tion route structure and navigation components
dece540 to
f6dc4ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on January 22
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| }, [state?.hasShell]) | ||
| }, [searchParams]) | ||
|
|
||
| console.log('open', open) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug console.log accidentally left in production code
A console.log('open', open) statement appears to be debugging code that was accidentally left in the ClusterTerminalProvider component. This will log to the browser console on every render of any component using this provider, which is inappropriate for production code.
...le-v5/src/routes/_authenticated/organization/$organizationId/cluster/$clusterId/overview.tsx
Show resolved
Hide resolved
| setOpen(true) | ||
| } | ||
| }, [state?.hasShell]) | ||
| }, [searchParams]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Terminal state persists in URL causing unwanted reopens
The hasShell search parameter is added to the URL when opening the cluster terminal but is never cleared afterward. Unlike the show-self-managed-guide parameter which is explicitly deleted after processing, hasShell persists indefinitely. This causes the terminal to auto-open on page refresh and when the URL is shared. The old implementation using state (navigation state) was ephemeral and didn't persist, but the new search params approach stores state in the URL without cleanup.
Additional Locations (1)
| } | ||
| return () => (bool ? closeModal() : undefined) | ||
| }, [searchParams, setSearchParams, cluster.kubernetes, closeModal]) | ||
| }, [searchParams, location.search, location.pathname, cluster.kubernetes, closeModal, openInstallationGuideModal]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ON_PREMISE clusters show wrong modal type via URL
When the show-self-managed-guide URL parameter triggers the installation guide modal, it only checks cluster.kubernetes === 'SELF_MANAGED' but ignores cluster.cloud_provider. For ON_PREMISE clusters, clicking the button correctly passes { type: 'ON_PREMISE' }, but the useEffect always calls openInstallationGuideModal() without arguments, defaulting to type='MANAGED'. This causes ON_PREMISE clusters to display incorrect installation instructions (YAML download instead of CLI-based setup guide) when opened via URL parameter.
* feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests
* feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests
* feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests
* Add new tokens with tailwind alias config * Add toggle theme and new app console-v5 * feat(navigation): add general layout (#2110) * feat: add navbar and init layout * feat: start breadcrumb and update all popover and dropdown menu colors * feat(new-nav): add basis for routing (#2206) feat: add basis for routing --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * Update Dockerfile and package.json for console-v5 (#2225) Update Dockerfile and package.json for console-v5 build and preview commands * fix(new-nav): update router and its layouts (#2227) feat: add login route * feat(organization-overview): add webflow changelog section (#2230) * Init organization overview * Add webflow libraries * feat(new-nav): add authentication (#2232) * feat: add basis for authentication * chore: rename orgId to organizationId * fix: glitch when switching routes * impr: cleaning up auth-redirect component * fix: import statements * impr(new-nav): add logout button and better redirection (#2237) impr: add logout button and better redirection * feat(organization-overview): changelog, links + draft project and prod sections (#2238) feat(organization-overview): add first part of sections * fix(new-nav): auth context (#2239) * feat(organization-overview): start production health cluster (#2242) * feat(navigation): add general layout (#2110) * feat: add navbar and init layout * feat: start breadcrumb and update all popover and dropdown menu colors * feat(new-nav): add basis for routing (#2206) feat: add basis for routing --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * feat(organization-overview): first part production health cluster * fix(routes): routeTree.gen.ts * Add feedback * Remove useless file --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * feat(badge): update token (#2245) * feat(cluster): starting views (#2249) * feat(cluster-card): token * feat(organization-navigation): implement dynamic navigation context and refactor organization route * feat(routes): add audit logs and cluster settings routes, update breadcrumbs for cluster navigation * refactor(routes): remove pathname state from links in environment and service components (tanstack not compatible) * feat(cluster): add overview (#2253) * feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests * feat(sidebar): add new component for navigation (#2259) * feat(sidebar): add new component deprecated navigation-left * feat(sidebar): add new component * feat(cluster-logs): add new view (#2260) * feat(cluster-logs): init new row with token * feat(routes): update route tree and add layout configuration - Refactored route imports in `routeTree.gen.ts` to include new routes and improve organization. - Introduced `route-layout-config.ts` to manage layout options for routes. - Enhanced `OrganizationRoute` to conditionally apply full-width layout based on route context. - Updated `ClusterLogs` component to include scrolling behavior and improved layout handling. - Added new components for cluster log rows and headers with associated tests. * fix(cluster-logs): adjust scroll behavior and layout improvements - Updated scroll behavior to include additional padding for better visibility of logs. - Enhanced layout structure by modifying the component hierarchy for improved responsiveness. - Adjusted styling for the log header and container to ensure consistent appearance across different states. * fix(tokens): update callout & progress-bar components * feat(cluster): add general settings (#2264) * feat(cluster): add general settings * refactor(routes): update route tree and improve organization of authenticated routes - Refactored route imports in `routeTree.gen.ts` to include new routes for login and organization settings. - Enhanced `ClusterGeneralSettingsForm` component by separating it from the main route component for better readability and maintainability. - Updated form handling logic to simplify the submission process and improve user experience. * feat(cluster): add credentials settings (#2268) * feat(cluster): add credentials settings - Added a new form for managing cluster credentials in the `credentials.tsx` file, improving user interaction with cloud provider credentials. - Updated the `general.tsx` file to enhance the layout and user experience of the general settings form. - Refactored the `route.tsx` file to improve the sidebar layout and ensure consistent styling. - Enhanced the `ClusterCredentialsSettingsFeature` to utilize the correct `useParams` hook for better parameter handling. * feat(cluster-settings): enhance sidebar links based on cluster type - Introduced dynamic sidebar links in the settings route based on the cluster's cloud provider and Kubernetes management type. - Added a new link for EKS Anywhere configuration when applicable. - Refactored the sidebar link structure for improved readability and maintainability. - Integrated feature flag for EKS Anywhere to conditionally display relevant settings. * refactor(link): update link styles and improve consistency - Modified link component styles to enhance visual consistency across the application. - Updated color classes for better alignment with design standards. - Adjusted snapshot tests to reflect the new styling changes. * refactor(routes): update route imports and enhance organization - Refactored route imports in `routeTree.gen.ts` to include additional routes for login and organization settings. - Improved the structure and readability of the route definitions. - Updated the link component styles to include a gap between items for better visual consistency. * fix(sticky): ensure dropdown overlays above sticky header (#2269) * fix(sticky): ensure dropdown overlays above sticky header * feat(z-index): introduce z-index variables and apply them across modal and header components - Added z-index variables for header, dropdown, overlay, modal, tooltip, and toast in main.scss. - Updated tailwind-workspace-preset.js to include new z-index values. - Refactored modal and header components to utilize the new z-index variables for improved layering and visibility. * feat(sidebar): implement keyboard navigation for focusable elements - Added keyboard navigation support in the Sidebar component to allow users to navigate through focusable elements using ArrowUp and ArrowDown keys. - Refactored the SidebarRoot component to include a handleKeyDown function that manages focus based on keyboard input. * refactor(breadcrumbs): reorder class names for consistency and improve z-index usage * feat(cluster): add danger-zone settings (#2272) * feat(cluster): add danger-zone settings * refactor(header): adjust z-index for dropdown menu and header layout * feat(cluster): add resources settings (#2271) * feat(new-nav): add onboarding views * feat(new-nav): add plans and project onboarding views * feat: add accept-invite route * post-review fixes * impr: post-review fixes * fix: post-review fixes part 1 * impr: move accept-invite to onboarding lib * impr: get rid of the onboarding pages * fix: accept-invitation page * impr: remove useless chargebee utility functions * impr: update tokens * fix: add missing redirection after logging in with a brand new account --------- Co-authored-by: RemiBonnet <bonnet.rem@gmail.com>
* feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests
* Add new tokens with tailwind alias config * Add toggle theme and new app console-v5 * feat(navigation): add general layout (#2110) * feat: add navbar and init layout * feat: start breadcrumb and update all popover and dropdown menu colors * feat(new-nav): add basis for routing (#2206) feat: add basis for routing --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * Update Dockerfile and package.json for console-v5 (#2225) Update Dockerfile and package.json for console-v5 build and preview commands * fix(new-nav): update router and its layouts (#2227) feat: add login route * feat(organization-overview): add webflow changelog section (#2230) * Init organization overview * Add webflow libraries * feat(new-nav): add authentication (#2232) * feat: add basis for authentication * chore: rename orgId to organizationId * fix: glitch when switching routes * impr: cleaning up auth-redirect component * fix: import statements * impr(new-nav): add logout button and better redirection (#2237) impr: add logout button and better redirection * feat(organization-overview): changelog, links + draft project and prod sections (#2238) feat(organization-overview): add first part of sections * fix(new-nav): auth context (#2239) * feat(organization-overview): start production health cluster (#2242) * feat(navigation): add general layout (#2110) * feat: add navbar and init layout * feat: start breadcrumb and update all popover and dropdown menu colors * feat(new-nav): add basis for routing (#2206) feat: add basis for routing --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * feat(organization-overview): first part production health cluster * fix(routes): routeTree.gen.ts * Add feedback * Remove useless file --------- Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com> * feat(badge): update token (#2245) * feat(cluster): starting views (#2249) * feat(cluster-card): token * feat(organization-navigation): implement dynamic navigation context and refactor organization route * feat(routes): add audit logs and cluster settings routes, update breadcrumbs for cluster navigation * refactor(routes): remove pathname state from links in environment and service components (tanstack not compatible) * feat(cluster): add overview (#2253) * feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components * fix(cluster-overview): card colors * fix(cluster-overview): table colors * fix(cluster-setup-modal): update text colors and improve layout consistency * fix(cluster-access-modal): add new token * fix(cluster): update token overview * Enhance layout consistency in cluster overview components * fix: some tests * feat(sidebar): add new component for navigation (#2259) * feat(sidebar): add new component deprecated navigation-left * feat(sidebar): add new component * feat(cluster-logs): add new view (#2260) * feat(cluster-logs): init new row with token * feat(routes): update route tree and add layout configuration - Refactored route imports in `routeTree.gen.ts` to include new routes and improve organization. - Introduced `route-layout-config.ts` to manage layout options for routes. - Enhanced `OrganizationRoute` to conditionally apply full-width layout based on route context. - Updated `ClusterLogs` component to include scrolling behavior and improved layout handling. - Added new components for cluster log rows and headers with associated tests. * fix(cluster-logs): adjust scroll behavior and layout improvements - Updated scroll behavior to include additional padding for better visibility of logs. - Enhanced layout structure by modifying the component hierarchy for improved responsiveness. - Adjusted styling for the log header and container to ensure consistent appearance across different states. * fix(tokens): update callout & progress-bar components * feat(cluster): add general settings (#2264) * feat(cluster): add general settings * refactor(routes): update route tree and improve organization of authenticated routes - Refactored route imports in `routeTree.gen.ts` to include new routes for login and organization settings. - Enhanced `ClusterGeneralSettingsForm` component by separating it from the main route component for better readability and maintainability. - Updated form handling logic to simplify the submission process and improve user experience. * feat(cluster): add credentials settings (#2268) * feat(cluster): add credentials settings - Added a new form for managing cluster credentials in the `credentials.tsx` file, improving user interaction with cloud provider credentials. - Updated the `general.tsx` file to enhance the layout and user experience of the general settings form. - Refactored the `route.tsx` file to improve the sidebar layout and ensure consistent styling. - Enhanced the `ClusterCredentialsSettingsFeature` to utilize the correct `useParams` hook for better parameter handling. * feat(cluster-settings): enhance sidebar links based on cluster type - Introduced dynamic sidebar links in the settings route based on the cluster's cloud provider and Kubernetes management type. - Added a new link for EKS Anywhere configuration when applicable. - Refactored the sidebar link structure for improved readability and maintainability. - Integrated feature flag for EKS Anywhere to conditionally display relevant settings. * refactor(link): update link styles and improve consistency - Modified link component styles to enhance visual consistency across the application. - Updated color classes for better alignment with design standards. - Adjusted snapshot tests to reflect the new styling changes. * refactor(routes): update route imports and enhance organization - Refactored route imports in `routeTree.gen.ts` to include additional routes for login and organization settings. - Improved the structure and readability of the route definitions. - Updated the link component styles to include a gap between items for better visual consistency. * fix(sticky): ensure dropdown overlays above sticky header (#2269) * fix(sticky): ensure dropdown overlays above sticky header * feat(z-index): introduce z-index variables and apply them across modal and header components - Added z-index variables for header, dropdown, overlay, modal, tooltip, and toast in main.scss. - Updated tailwind-workspace-preset.js to include new z-index values. - Refactored modal and header components to utilize the new z-index variables for improved layering and visibility. * feat(sidebar): implement keyboard navigation for focusable elements - Added keyboard navigation support in the Sidebar component to allow users to navigate through focusable elements using ArrowUp and ArrowDown keys. - Refactored the SidebarRoot component to include a handleKeyDown function that manages focus based on keyboard input. * refactor(breadcrumbs): reorder class names for consistency and improve z-index usage * feat(cluster): add danger-zone settings (#2272) * feat(cluster): add danger-zone settings * refactor(header): adjust z-index for dropdown menu and header layout * feat(cluster): add resources settings (#2271) * feat(new-nav): add onboarding views * feat(new-nav): add plans and project onboarding views * feat: add accept-invite route * post-review fixes * impr: post-review fixes * fix: post-review fixes part 1 * impr: move accept-invite to onboarding lib * impr: get rid of the onboarding pages * fix: accept-invitation page * impr: remove useless chargebee utility functions * impr: update tokens * fix: add missing redirection after logging in with a brand new account --------- Co-authored-by: RemiBonnet <bonnet.rem@gmail.com>
Summary
Add cluster overview and routing for other cluster routes
Screenshots / Recordings
Testing
yarn testoryarn test -u(if you need to regenerate snapshots)yarn formatyarn lintPR Checklist
.cursor/rules)feat(service): add new Terraform service) - required for semantic-releaseNote
Cluster navigation & routing
cluster-logsroute and replaces monolithicsettingswith subroutes:general,credentials,resources,image-registry,danger-zone,advanced-settings(withsettings/index redirect)routeTree.gen.tsand cluster navbar to include "Cluster Logs"Cluster overview page
cluster/$clusterId/overviewwith metrics cards (ClusterCardNodeUsage,ClusterCardResources,ClusterCardSetup), node/nodepool tables, terminal integration, redeploy banner, and sockets for live status/metricsRouter & link refactor
paramssupport to sharedLink, and updates mocks/tests accordinglyData & UI enhancements
clusters.listServicesquery +useServicesClusterand shows service count in production cardClusterNeedRedeployFlag; broad UI token/class updates for neutral/brand/warning/positive states; minor icon fixTests & config
webflowlibrariesWritten by Cursor Bugbot for commit de5ba78. This will update automatically on new commits. Configure here.