Merge pull request #56 from PRO-Robotech/feature/dev

fix reqs for namespaces-mode
This commit is contained in:
typescreep
2025-07-17 14:44:44 +03:00
committed by GitHub
3 changed files with 21 additions and 12 deletions

View File

@@ -10,19 +10,13 @@ type TSidebarProps = {
}
export const Sidebar: FC<TSidebarProps> = ({ inside, sidebar }) => {
const { projectName, clusterName, namespace, syntheticProject } = useParams()
const { clusterName } = useParams()
const { token } = theme.useToken()
const possibleProject = syntheticProject && namespace ? syntheticProject : namespace
return (
<Styled.BackgroundContainer $borderRadius={token.borderRadius} $borderColor={token.colorBorder}>
<Styled.ClusterSelectorContainer>
{inside ? (
<SelectorInside clusterName={clusterName} />
) : (
<Selector clusterName={clusterName} projectName={projectName || possibleProject} />
)}
{inside ? <SelectorInside clusterName={clusterName} /> : <Selector clusterName={clusterName} />}
</Styled.ClusterSelectorContainer>
{sidebar}
</Styled.BackgroundContainer>

View File

@@ -2,22 +2,21 @@ import React, { FC, useState } from 'react'
import { useNavigate } from 'react-router-dom'
import { useSelector } from 'react-redux'
import { RootState } from 'store/store'
import { useNavSelector } from 'hooks/useNavSelector'
import { useNavSelectorClusters } from 'hooks/useNavSelectorClusters'
import { useMountEffect } from 'hooks/useMountEffect'
import { EntrySelect } from 'components/atoms'
type TSelectorProps = {
clusterName?: string
projectName?: string
}
export const Selector: FC<TSelectorProps> = ({ clusterName, projectName }) => {
export const Selector: FC<TSelectorProps> = ({ clusterName }) => {
const navigate = useNavigate()
const baseprefix = useSelector((state: RootState) => state.baseprefix.baseprefix)
const [selectedClusterName, setSelectedClusterName] = useState(clusterName)
const { clustersInSidebar } = useNavSelector(selectedClusterName, projectName)
const { clustersInSidebar } = useNavSelectorClusters()
const handleClusterChange = (value?: string) => {
if (value) {

View File

@@ -0,0 +1,16 @@
import { TClusterList } from '@prorobotech/openapi-k8s-toolkit'
import { useSelector } from 'react-redux'
import { RootState } from 'store/store'
const mappedClusterToOptionInSidebar = ({ name }: TClusterList[number]): { value: string; label: string } => ({
value: name,
label: name,
})
export const useNavSelectorClusters = () => {
const clusterList = useSelector((state: RootState) => state.clusterList.clusterList)
const clustersInSidebar = clusterList ? clusterList.map(mappedClusterToOptionInSidebar) : []
return { clustersInSidebar }
}