mirror of
https://github.com/Unleash/unleash.git
synced 2026-02-04 20:10:52 +01:00
Merge 5947852264 into 471c2bc361
This commit is contained in:
commit
74721deff3
@ -1,73 +0,0 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Alert, styled } from '@mui/material';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
import { Typography } from '@mui/material';
|
||||
import type { IProclamationToast } from 'interfaces/uiConfig';
|
||||
|
||||
interface IProclamationProps {
|
||||
toast?: IProclamationToast;
|
||||
}
|
||||
|
||||
const StyledProclamation = styled(Alert)(({ theme }) => ({
|
||||
marginBottom: theme.spacing(2),
|
||||
}));
|
||||
|
||||
const StyledContent = styled(Typography)(({ theme }) => ({
|
||||
maxWidth: '800px',
|
||||
}));
|
||||
|
||||
const StyledLink = styled('a')(({ theme }) => ({
|
||||
display: 'block',
|
||||
marginTop: theme.spacing(1),
|
||||
width: '100px',
|
||||
}));
|
||||
|
||||
const renderProclamation = (id: string) => {
|
||||
if (!id) return false;
|
||||
if (localStorage) {
|
||||
const value = localStorage.getItem(id);
|
||||
if (value) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
const Proclamation = ({ toast }: IProclamationProps) => {
|
||||
const [show, setShow] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setShow(renderProclamation(toast?.id || ''));
|
||||
}, [toast?.id]);
|
||||
|
||||
const onClose = () => {
|
||||
if (localStorage) {
|
||||
localStorage.setItem(toast?.id || '', 'seen');
|
||||
}
|
||||
setShow(false);
|
||||
};
|
||||
|
||||
if (!toast) return null;
|
||||
|
||||
return (
|
||||
<ConditionallyRender
|
||||
condition={show}
|
||||
show={
|
||||
<StyledProclamation severity={toast.severity} onClose={onClose}>
|
||||
<StyledContent variant='body2'>
|
||||
{toast.message}
|
||||
</StyledContent>
|
||||
<StyledLink
|
||||
href={toast.link}
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
View more
|
||||
</StyledLink>
|
||||
</StyledProclamation>
|
||||
}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default Proclamation;
|
||||
@ -2,7 +2,6 @@ import { forwardRef, type ReactNode } from 'react';
|
||||
import { Box, Grid, styled, useMediaQuery, useTheme } from '@mui/material';
|
||||
import Header from 'component/menu/Header/Header';
|
||||
import Footer from 'component/menu/Footer/Footer';
|
||||
import Proclamation from 'component/common/Proclamation/Proclamation';
|
||||
import BreadcrumbNav from 'component/common/BreadcrumbNav/BreadcrumbNav';
|
||||
import textureImage from 'assets/img/texture.png';
|
||||
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||
@ -172,9 +171,6 @@ export const MainLayout = forwardRef<HTMLDivElement, IMainLayoutProps>(
|
||||
ref={ref}
|
||||
>
|
||||
<BreadcrumbNav />
|
||||
<Proclamation
|
||||
toast={uiConfig.toast}
|
||||
/>
|
||||
{children}
|
||||
</MainLayoutContentContainer>
|
||||
</StyledMainLayoutContent>
|
||||
|
||||
@ -27,7 +27,6 @@ export interface IUiConfig {
|
||||
emailEnabled?: boolean;
|
||||
prometheusAPIAvailable: boolean;
|
||||
maintenanceMode?: boolean;
|
||||
toast?: IProclamationToast;
|
||||
frontendApiOrigins?: string[];
|
||||
resourceLimits: ResourceLimitsSchema;
|
||||
oidcConfiguredThroughEnv?: boolean;
|
||||
@ -36,13 +35,6 @@ export interface IUiConfig {
|
||||
unleashContext?: IMutableContext;
|
||||
}
|
||||
|
||||
export interface IProclamationToast {
|
||||
message: string;
|
||||
id: string;
|
||||
severity: 'success' | 'info' | 'warning' | 'error';
|
||||
link: string;
|
||||
}
|
||||
|
||||
export type UiFlags = {
|
||||
P: boolean;
|
||||
RE: boolean;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user