Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f0e6fa7
feat: start of team settings page
dennisvankekem Mar 14, 2025
684f543
feat: keyvalue extension and premission table
dennisvankekem Mar 17, 2025
bb193e8
feat: added validator
dennisvankekem Mar 18, 2025
3fe1057
feat: backported redux logic
dennisvankekem Mar 18, 2025
8dff7e2
feat: new api setup
dennisvankekem Mar 21, 2025
6315810
Merge branch 'main' into APL-540
dennisvankekem Mar 21, 2025
48e7c04
feat: static forms team settings pt.2
dennisvankekem Mar 27, 2025
adcbb70
fix: temp solution for test
dennisvankekem Mar 31, 2025
25c9109
Merge branch 'main' into APL-540
dennisvankekem Mar 31, 2025
4304f10
fix: crud, quota and policy fixes
dennisvankekem Apr 1, 2025
277e2b0
fix: minor bugs
dennisvankekem Apr 2, 2025
2da5c28
fix: altered colors
dennisvankekem Apr 3, 2025
6bc642f
fix: removed ts-nocheck
dennisvankekem Apr 3, 2025
ad42c75
fix: delete button fix + minor delete modal styling tweaks
dennisvankekem Apr 4, 2025
a59c0ce
fix: additional disabled fields
dennisvankekem Apr 9, 2025
32495a6
Merge branch 'main' into APL-540
dennisvankekem Apr 9, 2025
ff2f760
fix: teams alert bug
dennisvankekem Apr 9, 2025
ec4df3d
fix: reverted resourceQuota while keeping ui
dennisvankekem Apr 14, 2025
2f24baf
fix: overview id to name
dennisvankekem Apr 14, 2025
0a0f7c2
Merge remote-tracking branch 'origin/main' into APL-540
dennisvankekem Apr 15, 2025
689af39
fix: textfield input props order
ferruhcihan Apr 15, 2025
722911e
feat: readonly page for non admins
dennisvankekem Apr 16, 2025
977122c
fix: Capital letter in Information banner
dennisvankekem Apr 16, 2025
6243074
fix: team name disabled override prevention
dennisvankekem Apr 16, 2025
76b9272
fix: team name disabled
dennisvankekem Apr 16, 2025
0694e33
fix: removed comma
dennisvankekem Apr 16, 2025
1aa4006
fix: styling changes
dennisvankekem Apr 17, 2025
ebd0175
fix: api reverted
dennisvankekem Apr 17, 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
2 changes: 1 addition & 1 deletion public/i18n/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"Cluster": "Cluster",
"Cluster_plural": "Clusters",
"Clusters": "Clusters",
"DELETE_RESOURCE": "Delete {{resourceName}} {{resourceType}}",
"DELETE_RESOURCE": "Delete {{resourceName}} {{resourceType}}?",
"DELETE_RESOURCE_CONFIRMATION": "Type the name of the {{resourceType}} (\"{{resourceName}}\") to confirm.",
"DRONE_MESSAGE": "Drone <1>build {{id}}</1> <strong>{{status}}</strong> for commit <6>{{sha}}</6> at {{datetime}}.",
"Dashboard": "Dashboard",
Expand Down
3 changes: 3 additions & 0 deletions public/logos/email_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions public/logos/opsGenie_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions public/logos/slack_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions public/logos/teams_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import Service from 'pages/Service'
import Services from 'pages/Services'
import Setting from 'pages/Setting'
import SettingsOverview from 'pages/SettingsOverview'
import Team from 'pages/Team'
import Teams from 'pages/Teams'
import Team from 'pages/teams/create-edit'
import Teams from 'pages/teams/overview'
import Policies from 'pages/Policies'
import SessionProvider from 'providers/Session'
import ThemeProvider from 'theme'
Expand Down
77 changes: 77 additions & 0 deletions src/components/AdvancedSettings.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import React, { useState } from 'react'
import { styled } from '@mui/material/styles'
import { Accordion, AccordionDetails, AccordionSummary } from '@mui/material'
import { KeyboardArrowRight } from '@mui/icons-material'
import { Typography } from './Typography'

const StyledTitle = styled(Typography)(({ theme }) => ({
marginTop: 0,
color: theme.palette.cl.text.title,
}))

const StyledDescription = styled(Typography)(({ theme }) => ({
color: theme.palette.cl.text.subTitle,
}))

const StyledAccordion = styled(Accordion)(({ theme }) => ({
backgroundColor: 'transparent',
boxShadow: 'none !important',
margin: '0px !important',
'&:before': {
display: 'none', // Remove the default border above the accordion
},
}))

const StyledAccordionDetails = styled(AccordionDetails)(({ theme }) => ({
backgroundColor: 'transparent',
boxShadow: 'none',
marginTop: '0px',
padding: 0,
'&:before': {
display: 'none', // Remove the default border above the accordion
},
}))

const StyledAccordionSummary = styled(AccordionSummary)(({ theme }) => ({
padding: '0',
'.MuiAccordionSummary-content': {
margin: '0', // Remove margin between text and icon
},
marginTop: '0px !important',
display: 'inline-flex',
}))

interface Props {
description?: string
title?: string
children?: React.ReactNode
noPaddingTop?: boolean
}

export default function AdvancedSettings(props: Props) {
const { title = 'Advanced Settings', description, children, noPaddingTop } = props
const [expanded, setExpanded] = useState(true)

const handleAccordionChange = () => {
setExpanded((prev) => !prev)
}

return (
<StyledAccordion disableGutters expanded={expanded} onChange={handleAccordionChange}>
<StyledAccordionSummary
expandIcon={<KeyboardArrowRight />}
sx={{
'& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {
transform: 'rotate(90deg)',
},
}}
>
<div>
{title && <StyledTitle variant='subtitle1'>{title}</StyledTitle>}
{description && <StyledDescription>{description}</StyledDescription>}
</div>
</StyledAccordionSummary>
<StyledAccordionDetails>{children}</StyledAccordionDetails>
</StyledAccordion>
)
}
16 changes: 16 additions & 0 deletions src/components/ControlledBox.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Box, { BoxProps } from '@mui/material/Box'
import { styled } from '@mui/material/styles'

interface ControlledBoxProps extends BoxProps {
disabled?: boolean
}

const ControlledBox = styled(Box, {
shouldForwardProp: (prop) => prop !== 'disabled',
})<ControlledBoxProps>(({ disabled }) => ({
opacity: disabled ? 0.5 : 1,
pointerEvents: disabled ? 'none' : 'auto',
cursor: disabled ? 'default' : 'text',
}))

export default ControlledBox
2 changes: 1 addition & 1 deletion src/components/Dashboard.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Box, Card, Grid, Typography, useTheme } from '@mui/material'
import { useSession } from 'providers/Session'
import * as React from 'react'
import { GetTeamApiResponse } from 'redux/otomiApi'
import { makeStyles } from 'tss-react/mui'
import { getDomain } from 'layouts/Shell'
import useSettings from 'hooks/useSettings'
import Link from '@mui/material/Link'
import { Link as RouterLink } from 'react-router-dom'
import { GetTeamApiResponse } from 'redux/otomiApi'
import UpgradeVersion from './UpgradeVersion'

// styles -----------------------------------------------------------
Expand Down
13 changes: 12 additions & 1 deletion src/components/ImgButtonGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ const StyledTypography = styled(Typography)<{ selected: boolean }>(({ theme, sel

interface ImgButtonGroupProps {
title?: string
description?: string
name: string
control: any
value: string
Expand All @@ -38,7 +39,16 @@ interface ImgButtonGroupProps {
disabled?: boolean
}

function ImgButtonGroup({ title, name, control, value, options, onChange, disabled = false }: ImgButtonGroupProps) {
function ImgButtonGroup({
title,
description,
name,
control,
value,
options,
onChange,
disabled = false,
}: ImgButtonGroupProps) {
return (
<Controller
name={name}
Expand All @@ -51,6 +61,7 @@ function ImgButtonGroup({ title, name, control, value, options, onChange, disabl
<Typography variant='h6' sx={{ fontSize: 16, fontWeight: 400 }}>
{title}
</Typography>
{description && <Typography>{description}</Typography>}
</Box>
)}
<Box sx={{ display: 'flex', gap: 1 }}>
Expand Down
17 changes: 10 additions & 7 deletions src/components/InformationBanner.tsx
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
import { Box, Typography, styled, useTheme } from '@mui/material'
import { Box, SxProps, Typography, styled, useTheme } from '@mui/material'
import React from 'react'
import Iconify from './Iconify'

const StyledInfoBanner = styled(Box)({
const StyledInfoBanner = styled(Box)<{ small?: boolean }>(({ theme, small }) => ({
backgroundColor: '#f2f2894d',
padding: '10px',
padding: small ? '5px' : '10px',
border: '1px solid #d4d402',
borderRadius: '8px',
display: 'flex',
alignItems: 'center',
})
maxWidth: small ? '800px' : 'inherit',
}))

interface Props {
message: string
message: string | React.ReactNode
small?: boolean
children?: React.ReactNode
sx?: SxProps
}

export default function InformationBanner({ message, children }: Props) {
export default function InformationBanner({ message, children, small, sx }: Props) {
const theme = useTheme()
return (
<StyledInfoBanner>
<StyledInfoBanner small={small} sx={{ ...sx }}>
<Iconify icon='material-symbols:info' width={40} height={28} color='#c7d030d9' />
<Typography sx={{ color: theme.palette.text.primary }}>{message}</Typography>
{children}
Expand Down
Loading