1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-24 17:51:14 +02:00
unleash.unleash/frontend/src/component/menu/Footer/Footer.tsx
Nuno Góis 4167a60588
feat: biome lint frontend (#4903)
Follows up on https://github.com/Unleash/unleash/pull/4853 to add Biome
to the frontend as well.


![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65)

Added a few `biome-ignore` to speed up the process but we may want to
check and fix them in the future.
2023-10-02 13:25:46 +01:00

367 lines
19 KiB
TypeScript

/* eslint-disable react/jsx-no-target-blank */
import { VFC } from 'react';
import { List, ListItem, ListItemText, Grid, styled } from '@mui/material';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
import { ApiDetails } from './ApiDetails/ApiDetails';
import { FooterTitle } from './FooterTitle';
import { focusable } from 'themes/themeStyles';
const StyledFooter = styled('footer')(({ theme }) => ({
padding: theme.spacing(4, 8),
width: '100%',
flexGrow: 1,
zIndex: 100,
backgroundColor: theme.palette.background.paper,
}));
const StyledList = styled(List)({
padding: 0,
margin: 0,
});
const StyledListItem = styled(ListItem)(({ theme }) => ({
padding: 0,
margin: 0,
'& a': {
...focusable(theme),
textDecoration: 'none',
color: theme.palette.text.primary,
'&:hover': {
textDecoration: 'underline',
},
},
}));
export const Footer: VFC = () => {
const { uiConfig } = useUiConfig();
return (
<StyledFooter>
<Grid
container
justifyContent='center'
spacing={10}
style={{ marginBottom: 0 }}
>
<Grid item md={4} xs={12}>
<ApiDetails uiConfig={uiConfig} />
</Grid>
<Grid item xs={12} md='auto'>
<Grid container spacing={7} direction='row'>
<Grid item>
<section title='Unleash SDK'>
<FooterTitle>Server SDKs</FooterTitle>
<StyledList dense>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/node'
target='_blank'
rel='noreferrer'
>
Node.js
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/java'
target='_blank'
rel='noreferrer'
>
Java
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/go'
target='_blank'
rel='noreferrer'
>
Go
</a>
}
/>
</StyledListItem>{' '}
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/rust'
target='_blank'
rel='noreferrer'
>
Rust
</a>
}
/>
</StyledListItem>{' '}
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/ruby'
target='_blank'
rel='noreferrer'
>
Ruby
</a>
}
/>
</StyledListItem>{' '}
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/python'
target='_blank'
rel='noreferrer'
>
Python
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/dotnet'
target='_blank'
rel='noreferrer'
>
.NET
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/php'
target='_blank'
rel='noreferrer'
>
PHP
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks'
target='_blank'
rel='noreferrer'
>
All SDKs
</a>
}
/>
</StyledListItem>
</StyledList>
</section>
</Grid>
<Grid item>
<section title='Unleash SDK'>
<FooterTitle>Frontend SDKs</FooterTitle>
<StyledList dense>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/unleash-proxy'
target='_blank'
rel='noreferrer'
>
Unleash Proxy
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/javascript-browser'
target='_blank'
rel='noreferrer'
>
JavaScript
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/react'
target='_blank'
rel='noreferrer'
>
React
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/next-js'
target='_blank'
rel='noreferrer'
>
Next.js
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/vue'
target='_blank'
rel='noreferrer'
>
Vue
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/ios-proxy'
target='_blank'
rel='noreferrer'
>
iOS
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/android-proxy'
target='_blank'
rel='noreferrer'
>
Android
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://docs.getunleash.io/reference/sdks/flutter'
target='_blank'
rel='noreferrer'
>
Flutter
</a>
}
/>
</StyledListItem>
</StyledList>
</section>
</Grid>
<Grid item>
<section>
<FooterTitle>About</FooterTitle>
<StyledList dense>
<StyledListItem>
<ListItemText
primary={
<a
href='https://www.getunleash.io/'
target='_blank'
rel='noreferrer'
>
getunleash.io
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://twitter.com/getunleash'
target='_blank'
rel='noreferrer'
>
Twitter
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://www.linkedin.com/company/getunleash'
target='_blank'
rel='noreferrer'
>
LinkedIn
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://github.com/Unleash/unleash'
target='_blank'
rel='noreferrer'
>
GitHub
</a>
}
/>
</StyledListItem>
<StyledListItem>
<ListItemText
primary={
<a
href='https://slack.unleash.run'
target='_blank'
rel='noreferrer'
>
Slack Community
</a>
}
/>
</StyledListItem>
</StyledList>
</section>
</Grid>
</Grid>
</Grid>
</Grid>
</StyledFooter>
);
};
export default Footer;