mirror of
https://github.com/outbackdingo/openapi-ui.git
synced 2026-01-27 18:19:50 +00:00
Merge pull request #56 from PRO-Robotech/feature/dev
fix reqs for namespaces-mode
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
16
src/hooks/useNavSelectorClusters.ts
Normal file
16
src/hooks/useNavSelectorClusters.ts
Normal 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 }
|
||||
}
|
||||
Reference in New Issue
Block a user