| @@ -11,7 +11,7 @@ | |||||
| top: 0px; | top: 0px; | ||||
| width: 100%; | width: 100%; | ||||
| z-index: 9999; | z-index: 9999; | ||||
| border-bottom: 3px solid #0C489E; | |||||
| border-bottom: 3px solid #1976d2; | |||||
| min-height: 77px; | min-height: 77px; | ||||
| } | } | ||||
| @@ -112,7 +112,7 @@ | |||||
| #navbar div li a:hover, | #navbar div li a:hover, | ||||
| #navbar div li button.navTrigger:hover{ | #navbar div li button.navTrigger:hover{ | ||||
| color: #0C489E; | |||||
| color: #1976d2; | |||||
| } | } | ||||
| #navbar div li a:hover::after, | #navbar div li a:hover::after, | ||||
| @@ -122,7 +122,7 @@ | |||||
| content: ""; | content: ""; | ||||
| width: 80%; | width: 80%; | ||||
| height: 3px; | height: 3px; | ||||
| background:#0C489E; | |||||
| background:#1976d2; | |||||
| position: absolute; | position: absolute; | ||||
| bottom: -5px; | bottom: -5px; | ||||
| left: 20px; | left: 20px; | ||||
| @@ -166,7 +166,7 @@ | |||||
| #navbar a:focus-visible, | #navbar a:focus-visible, | ||||
| #navbar button.navTrigger:focus-visible{ | #navbar button.navTrigger:focus-visible{ | ||||
| outline: 3px solid #0C489E; | |||||
| outline: 3px solid #1976d2; | |||||
| outline-offset: 2px; | outline-offset: 2px; | ||||
| border-radius: 10px; | border-radius: 10px; | ||||
| } | } | ||||
| @@ -234,7 +234,7 @@ | |||||
| text-decoration: none; | text-decoration: none; | ||||
| font-size: 1.1rem; | font-size: 1.1rem; | ||||
| font-weight: 600; | font-weight: 600; | ||||
| color: #0C489E; | |||||
| color: #1976d2; | |||||
| transition: 0.3s ease-in-out; | transition: 0.3s ease-in-out; | ||||
| text-align: center; | text-align: center; | ||||
| } | } | ||||
| @@ -242,7 +242,7 @@ | |||||
| text-decoration: none; | text-decoration: none; | ||||
| font-size: 1.1rem; | font-size: 1.1rem; | ||||
| font-weight: 600; | font-weight: 600; | ||||
| color: #0C489E; | |||||
| color: #1976d2; | |||||
| transition: 0.3s ease-in-out; | transition: 0.3s ease-in-out; | ||||
| text-align: center; | text-align: center; | ||||
| } | } | ||||
| @@ -284,7 +284,7 @@ | |||||
| transition: 0.3s ease-in-out; | transition: 0.3s ease-in-out; | ||||
| } | } | ||||
| #sidebar li a:hover{ | #sidebar li a:hover{ | ||||
| color: #0C489E; | |||||
| color: #1976d2; | |||||
| } | } | ||||
| #sidebar div li ul{ | #sidebar div li ul{ | ||||
| background: white; | background: white; | ||||
| @@ -344,12 +344,12 @@ | |||||
| /* Hover / focus */ | /* Hover / focus */ | ||||
| #sidebar li > a:hover, | #sidebar li > a:hover, | ||||
| #sidebar li > button.navTrigger:hover{ | #sidebar li > button.navTrigger:hover{ | ||||
| color: #0C489E; | |||||
| color: #1976d2; | |||||
| } | } | ||||
| #sidebar li > a:focus-visible, | #sidebar li > a:focus-visible, | ||||
| #sidebar li > button.navTrigger:focus-visible{ | #sidebar li > button.navTrigger:focus-visible{ | ||||
| outline: 3px solid #0C489E; | |||||
| outline: 3px solid #1976d2; | |||||
| outline-offset: 2px; | outline-offset: 2px; | ||||
| border-radius: 10px; | border-radius: 10px; | ||||
| } | } | ||||
| @@ -72,7 +72,7 @@ a:active { | |||||
| [role="link"], | [role="link"], | ||||
| [tabindex]:not([tabindex="-1"]) | [tabindex]:not([tabindex="-1"]) | ||||
| ):focus-visible { | ):focus-visible { | ||||
| outline: 3px solid #0C489E; | |||||
| outline: 3px solid #1976d2; | |||||
| outline-offset: 2px; | outline-offset: 2px; | ||||
| border-radius: 4px; | border-radius: 4px; | ||||
| } | } | ||||
| @@ -95,9 +95,9 @@ a:active { | |||||
| /* ===== MUI DataGrid keyboard focus (WCAG 2.4.7 / 2.4.11) ===== */ | /* ===== MUI DataGrid keyboard focus (WCAG 2.4.7 / 2.4.11) ===== */ | ||||
| .MuiDataGrid-columnHeader:focus-visible, | .MuiDataGrid-columnHeader:focus-visible, | ||||
| .MuiDataGrid-cell:focus-visible { | .MuiDataGrid-cell:focus-visible { | ||||
| outline: 3px solid #0C489E; | |||||
| outline: 3px solid #1976d2; | |||||
| outline-offset: -2px; | outline-offset: -2px; | ||||
| box-shadow: 0 0 0 3px rgba(12, 72, 158, 0.25); | |||||
| box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.25); | |||||
| } | } | ||||
| /* Contained buttons only */ | /* Contained buttons only */ | ||||
| @@ -122,7 +122,7 @@ a:active { | |||||
| /* ===== Outlined button focus ===== */ | /* ===== Outlined button focus ===== */ | ||||
| .MuiButton-outlined:focus-visible { | .MuiButton-outlined:focus-visible { | ||||
| outline: 3px solid #0C489E; | |||||
| outline: 3px solid #1976d2; | |||||
| outline-offset: 2px; | outline-offset: 2px; | ||||
| } | } | ||||
| @@ -34,7 +34,7 @@ const LogoSection = ({ sx, to }) => { | |||||
| ...sx, | ...sx, | ||||
| /* ✅ WCAG 2.4.7 focus indicator */ | /* ✅ WCAG 2.4.7 focus indicator */ | ||||
| '&:focus-visible': { | '&:focus-visible': { | ||||
| outline: '3px solid #0C489E', | |||||
| outline: '3px solid #1976d2', | |||||
| outlineOffset: '2px', | outlineOffset: '2px', | ||||
| borderRadius: '6px' | borderRadius: '6px' | ||||
| } | } | ||||
| @@ -42,7 +42,7 @@ const LogoSection = ({ sx, to }) => { | |||||
| > | > | ||||
| <Stack direction="column" justifyContent="center" alignItems="center" > | <Stack direction="column" justifyContent="center" alignItems="center" > | ||||
| <Logo /> | <Logo /> | ||||
| <span style={{ color: checkSysEnv()!=''?'red':'#0C489E'}} id="systemTitle">PNSPS</span> | |||||
| <span style={{ color: checkSysEnv()!=''?'red':'#1976d2'}} id="systemTitle">PNSPS</span> | |||||
| </Stack> | </Stack> | ||||
| </ButtonBase> | </ButtonBase> | ||||
| @@ -30,7 +30,7 @@ const LogoSection = ({ sx, to }) => { | |||||
| /* WCAG 2.4.7 – visible keyboard focus */ | /* WCAG 2.4.7 – visible keyboard focus */ | ||||
| '&:focus-visible': { | '&:focus-visible': { | ||||
| outline: '3px solid #0C489E', | |||||
| outline: '3px solid #1976d2', | |||||
| outlineOffset: '2px', | outlineOffset: '2px', | ||||
| borderRadius: '6px' | borderRadius: '6px' | ||||
| } | } | ||||
| @@ -64,7 +64,8 @@ const LocaleSelector = () => { | |||||
| }} | }} | ||||
| aria-label={intl.formatMessage({id: 'openLanguage'})} | aria-label={intl.formatMessage({id: 'openLanguage'})} | ||||
| ref={anchorRef} | ref={anchorRef} | ||||
| aria-controls={open ? 'profile-grow' : undefined} | |||||
| aria-controls={open ? 'locale-selector-menu' : undefined} | |||||
| aria-expanded={open} | |||||
| aria-haspopup="true" | aria-haspopup="true" | ||||
| onClick={handleToggle} | onClick={handleToggle} | ||||
| > | > | ||||
| @@ -103,6 +104,7 @@ const LocaleSelector = () => { | |||||
| > | > | ||||
| <ClickAwayListener onClickAway={handleClose}> | <ClickAwayListener onClickAway={handleClose}> | ||||
| <List | <List | ||||
| id="locale-selector-menu" | |||||
| component="nav" | component="nav" | ||||
| > | > | ||||
| <ListItem disablePadding> | <ListItem disablePadding> | ||||
| @@ -77,7 +77,7 @@ const Notification = () => { | |||||
| /* ✅ WCAG 2.4.7 focus indicator */ | /* ✅ WCAG 2.4.7 focus indicator */ | ||||
| '&:focus-visible': { | '&:focus-visible': { | ||||
| outline: '3px solid #0C489E', | |||||
| outline: '3px solid #1976d2', | |||||
| outlineOffset: '2px', | outlineOffset: '2px', | ||||
| borderRadius: '6px' | borderRadius: '6px' | ||||
| } | } | ||||
| @@ -775,7 +775,7 @@ function Header(props) { | |||||
| <Stack id="sidebar" direction="column" justifyContent="center" alignItems="center" sx={{ textAlign: "center", width: "300px" }}> | <Stack id="sidebar" direction="column" justifyContent="center" alignItems="center" sx={{ textAlign: "center", width: "300px" }}> | ||||
| <Box sx={{ mr: 2, mt: 1, display: { md: "none" } }}> | <Box sx={{ mr: 2, mt: 1, display: { md: "none" } }}> | ||||
| <MobileLogo /> | <MobileLogo /> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#0C489E" }} id="mobileTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#1976d2" }} id="mobileTitle"> | |||||
| PNSPS | PNSPS | ||||
| </span> | </span> | ||||
| </Box> | </Box> | ||||
| @@ -794,7 +794,7 @@ function Header(props) { | |||||
| <Stack id="sidebar" direction="column" justifyContent="center" alignItems="center" onClick={handleDrawerToggle} sx={{ textAlign: "center" }}> | <Stack id="sidebar" direction="column" justifyContent="center" alignItems="center" onClick={handleDrawerToggle} sx={{ textAlign: "center" }}> | ||||
| <Box sx={{ mr: 2, mt: 1, display: { md: "none" } }}> | <Box sx={{ mr: 2, mt: 1, display: { md: "none" } }}> | ||||
| <MobileLogo /> | <MobileLogo /> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#0C489E" }} id="mobileTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#1976d2" }} id="mobileTitle"> | |||||
| PNSPS | PNSPS | ||||
| </span> | </span> | ||||
| </Box> | </Box> | ||||
| @@ -826,13 +826,13 @@ function Header(props) { | |||||
| onClick={handleDrawerToggle} | onClick={handleDrawerToggle} | ||||
| sx={{ mr: 2, display: { md: "none" } }} | sx={{ mr: 2, display: { md: "none" } }} | ||||
| > | > | ||||
| <MenuIcon style={{ color: "#0C489E" }} /> | |||||
| <MenuIcon style={{ color: "#1976d2" }} /> | |||||
| </IconButton> | </IconButton> | ||||
| <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | ||||
| <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | ||||
| <MobileLogo /> | <MobileLogo /> | ||||
| <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#0C489E" }} id="mobileTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#1976d2" }} id="mobileTitle"> | |||||
| PNSPS | PNSPS | ||||
| </span> | </span> | ||||
| </Stack> | </Stack> | ||||
| @@ -848,7 +848,7 @@ function Header(props) { | |||||
| <Stack direction="row" justifyContent="flex-start" alignItems="center"> | <Stack direction="row" justifyContent="flex-start" alignItems="center"> | ||||
| <Logo /> | <Logo /> | ||||
| <Stack justifyContent="flex-start" alignItems="center"> | <Stack justifyContent="flex-start" alignItems="center"> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "#B00020" : "#0C489E" }} id="systemTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "#B00020" : "#1976d2" }} id="systemTitle"> | |||||
| <FormattedMessage id="PNSPS" /> | <FormattedMessage id="PNSPS" /> | ||||
| </span> | </span> | ||||
| </Stack> | </Stack> | ||||
| @@ -863,14 +863,14 @@ function Header(props) { | |||||
| onClick={handleDrawerToggle} | onClick={handleDrawerToggle} | ||||
| sx={{ mr: 2, display: { md: "none" } }} | sx={{ mr: 2, display: { md: "none" } }} | ||||
| > | > | ||||
| <MenuIcon style={{ color: "#0C489E" }} /> | |||||
| <MenuIcon style={{ color: "#1976d2" }} /> | |||||
| </IconButton> | </IconButton> | ||||
| <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | ||||
| <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | ||||
| <MobileLogo /> | <MobileLogo /> | ||||
| <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#0C489E" }} id="mobileTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#1976d2" }} id="mobileTitle"> | |||||
| <FormattedMessage id="PNSPS" /> | <FormattedMessage id="PNSPS" /> | ||||
| </span> | </span> | ||||
| </Stack> | </Stack> | ||||
| @@ -946,14 +946,14 @@ function Header(props) { | |||||
| onClick={handleDrawerToggle} | onClick={handleDrawerToggle} | ||||
| sx={{ mr: 2, display: { md: "none" } }} | sx={{ mr: 2, display: { md: "none" } }} | ||||
| > | > | ||||
| <MenuIcon style={{ color: "#0C489E" }} /> | |||||
| <MenuIcon style={{ color: "#1976d2" }} /> | |||||
| </IconButton> | </IconButton> | ||||
| <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | <Box sx={{ flexGrow: 1, mr: 2, display: { sm: "block", md: "none" } }}> | ||||
| <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | <Stack direction="row" justifyContent="space-between" alignItems="center" width="100%"> | ||||
| <MobileLogo /> | <MobileLogo /> | ||||
| <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | <Stack justifyContent="flex-start" alignItems="flex-start" width="100%" ml={2}> | ||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#0C489E" }} id="mobileTitle"> | |||||
| <span style={{ color: checkSysEnv() !== "" ? "red" : "#1976d2" }} id="mobileTitle"> | |||||
| <FormattedMessage id="PNSPS" /> | <FormattedMessage id="PNSPS" /> | ||||
| </span> | </span> | ||||
| </Stack> | </Stack> | ||||
| @@ -67,7 +67,7 @@ const MainLayout = () => { | |||||
| {/* <Breadcrumbs navigation={navigation} title /> */} | {/* <Breadcrumbs navigation={navigation} title /> */} | ||||
| <Outlet /> | <Outlet /> | ||||
| </Box> | </Box> | ||||
| <Box sx={{borderTop: "3px solid #0C489E"}}> | |||||
| <Box sx={{borderTop: "3px solid #1976d2"}}> | |||||
| <Footer/> | <Footer/> | ||||
| </Box> | </Box> | ||||
| </Box> | </Box> | ||||
| @@ -72,7 +72,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Announcement</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Announcement</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -75,7 +75,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography component="h1" ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}><FormattedMessage id="announcement" /></Typography> | |||||
| <Typography component="h1" ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}><FormattedMessage id="announcement" /></Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -61,7 +61,7 @@ const AuditLogPage = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Audit Log</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Audit Log</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -68,7 +68,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| Create Demand Note | Create Demand Note | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -68,7 +68,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| Export for GDN (Non Creditor) | Export for GDN (Non Creditor) | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -27,6 +27,7 @@ import { PNSPS_BUTTON_THEME } from "themes/buttonConst"; | |||||
| import { ThemeProvider } from "@emotion/react"; | import { ThemeProvider } from "@emotion/react"; | ||||
| import { isGrantedAny } from "auth/utils"; | import { isGrantedAny } from "auth/utils"; | ||||
| import { useIntl } from "react-intl"; | import { useIntl } from "react-intl"; | ||||
| import { PRIMARY_CONTAINED_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
| export default function SearchDemandNote({ applySearch, searchCriteria, applyGridOnReady }) { | export default function SearchDemandNote({ applySearch, searchCriteria, applyGridOnReady }) { | ||||
| @@ -334,6 +335,7 @@ export default function SearchDemandNote({ applySearch, searchCriteria, applyGri | |||||
| <Button | <Button | ||||
| component="span" | component="span" | ||||
| variant="contained" | variant="contained" | ||||
| sx={PRIMARY_CONTAINED_BUTTON_SX} | |||||
| > | > | ||||
| Attach DN | Attach DN | ||||
| </Button> | </Button> | ||||
| @@ -93,7 +93,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| Demand Note | Demand Note | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -208,7 +208,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| GFMIS Generate XML | GFMIS Generate XML | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -87,7 +87,7 @@ const JVMDefault = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="space-between" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="space-between" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| System Background Status | System Background Status | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -18,6 +18,7 @@ const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/Loa | |||||
| import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | ||||
| import { FormattedMessage } from "react-intl"; | import { FormattedMessage } from "react-intl"; | ||||
| import usePageTitle from 'components/usePageTitle'; | import usePageTitle from 'components/usePageTitle'; | ||||
| import { PRIMARY_CONTAINED_BUTTON_SX } from 'themes/colorConst'; | |||||
| const BackgroundHead = { | const BackgroundHead = { | ||||
| backgroundImage: `url(${titleBackgroundImg})`, | backgroundImage: `url(${titleBackgroundImg})`, | ||||
| @@ -100,7 +101,7 @@ const Index = () => { | |||||
| component="span" | component="span" | ||||
| variant="contained" | variant="contained" | ||||
| size="large" | size="large" | ||||
| sx={{ m: 4 }} | |||||
| sx={{ m: 4, ...PRIMARY_CONTAINED_BUTTON_SX }} | |||||
| onClick={() => { | onClick={() => { | ||||
| navigate(-1); | navigate(-1); | ||||
| }} | }} | ||||
| @@ -72,7 +72,7 @@ const OrganizationSearchPage = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>View Organisation</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>View Organisation</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -71,7 +71,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| Online Payment Record | Online Payment Record | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -79,7 +79,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Create Proof</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Create Proof</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -718,9 +718,9 @@ const FormPanel = ({ formData }) => { | |||||
| disabled={(actionValue == false && isOverReviseDeadline()) || isSubmitting} | disabled={(actionValue == false && isOverReviseDeadline()) || isSubmitting} | ||||
| aria-label={intl.formatMessage({ id: 'submitReply' })} | aria-label={intl.formatMessage({ id: 'submitReply' })} | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| {isSubmitting ? <FormattedMessage id="loading" /> : <FormattedMessage id="submitReply" />} | {isSubmitting ? <FormattedMessage id="loading" /> : <FormattedMessage id="submitReply" />} | ||||
| @@ -86,7 +86,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Proof</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Proof</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -33,6 +33,7 @@ import { ThemeProvider } from "@emotion/react"; | |||||
| import { FormattedMessage, useIntl } from "react-intl"; | import { FormattedMessage, useIntl } from "react-intl"; | ||||
| import { useState, useEffect, useRef } from 'react'; | import { useState, useEffect, useRef } from 'react'; | ||||
| import { checkPaymentSuspension } from "utils/Utils"; | import { checkPaymentSuspension } from "utils/Utils"; | ||||
| import { PRIMARY_CONTAINED_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
| @@ -545,8 +546,9 @@ const PublicNoticeApplyForm = ({ loadedData, _selections, gazetteIssueList }) => | |||||
| <Button | <Button | ||||
| aria-label={intl.formatMessage({ id: 'uploadFileBtn' })} | aria-label={intl.formatMessage({ id: 'uploadFileBtn' })} | ||||
| component="span" | component="span" | ||||
| variant="outlined" | |||||
| variant="contained" | |||||
| size="large" | size="large" | ||||
| sx={PRIMARY_CONTAINED_BUTTON_SX} | |||||
| >{attachment ? intl.formatMessage({ id: 'uploadFileBtn' }) : intl.formatMessage({ id: 'reUpload' })}</Button> | >{attachment ? intl.formatMessage({ id: 'uploadFileBtn' }) : intl.formatMessage({ id: 'reUpload' })}</Button> | ||||
| </label> | </label> | ||||
| </Grid> | </Grid> | ||||
| @@ -749,9 +749,9 @@ const ApplicationDetailCard = ( | |||||
| sx={{ | sx={{ | ||||
| textTransform: 'capitalize', | textTransform: 'capitalize', | ||||
| alignItems: 'end', | alignItems: 'end', | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| <DownloadIcon /> | <DownloadIcon /> | ||||
| @@ -239,9 +239,9 @@ const ApplicationDetailCard = ( | |||||
| startIcon={<CloseIcon />} | startIcon={<CloseIcon />} | ||||
| aria-label={intl.formatMessage({ id: 'cancelApp' })} | aria-label={intl.formatMessage({ id: 'cancelApp' })} | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| <FormattedMessage id="cancelApp" /> | <FormattedMessage id="cancelApp" /> | ||||
| @@ -665,9 +665,9 @@ const ApplicationDetailCard = ( | |||||
| <Button | <Button | ||||
| sx={{ | sx={{ | ||||
| ml: 3, | ml: 3, | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| variant="contained" | variant="contained" | ||||
| onClick={onDownloadClick()} | onClick={onDownloadClick()} | ||||
| @@ -34,6 +34,7 @@ import ForwardIcon from '@mui/icons-material/Forward'; | |||||
| import { notifyActionSuccess } from "utils/CommonFunction"; | import { notifyActionSuccess } from "utils/CommonFunction"; | ||||
| import { FormattedMessage, useIntl } from "react-intl"; | import { FormattedMessage, useIntl } from "react-intl"; | ||||
| import usePageTitle from "components/usePageTitle"; | import usePageTitle from "components/usePageTitle"; | ||||
| import { PRIMARY_OUTLINED_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| Body - DEFAULT ||============================== // | // ==============================|| Body - DEFAULT ||============================== // | ||||
| const DashboardDefault = () => { | const DashboardDefault = () => { | ||||
| @@ -190,7 +191,7 @@ const DashboardDefault = () => { | |||||
| <Button | <Button | ||||
| aria-label={intl.formatMessage({ id: 'back' })} | aria-label={intl.formatMessage({ id: 'back' })} | ||||
| title={intl.formatMessage({ id: 'back' })} | title={intl.formatMessage({ id: 'back' })} | ||||
| sx={{ ml: 0, mt: 2.5 }} style={{ border: '2px solid' }} | |||||
| sx={{ ml: 0, mt: 2.5, borderWidth: '2px', ...PRIMARY_OUTLINED_BUTTON_SX }} | |||||
| variant="outlined" onClick={() => { navigate("/publicNotice") }} | variant="outlined" onClick={() => { navigate("/publicNotice") }} | ||||
| > | > | ||||
| <ForwardIcon style={{ height: 30, width: 50, transform: "rotate(180deg)" }} /> | <ForwardIcon style={{ height: 30, width: 50, transform: "rotate(180deg)" }} /> | ||||
| @@ -15,6 +15,7 @@ import { | |||||
| import {useTheme} from "@emotion/react"; | import {useTheme} from "@emotion/react"; | ||||
| import {getStatusIntl,getModeIntl } from "utils/statusUtils/PublicNoteStatusUtils"; | import {getStatusIntl,getModeIntl } from "utils/statusUtils/PublicNoteStatusUtils"; | ||||
| import {FormattedMessage, useIntl} from "react-intl"; | import {FormattedMessage, useIntl} from "react-intl"; | ||||
| import { PRIMARY_TEXT_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
| @@ -106,7 +107,7 @@ export default function BaseGrid({setCount, url}) { | |||||
| renderHeader: renderHeaderWithAria, | renderHeader: renderHeaderWithAria, | ||||
| cellClassName: 'actions', | cellClassName: 'actions', | ||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| return <Button aria-label={intl.formatMessage({id: 'viewDetail'})} onClick={handleDetailClick(params)}> | |||||
| return <Button aria-label={intl.formatMessage({id: 'viewDetail'})} onClick={handleDetailClick(params)} sx={PRIMARY_TEXT_BUTTON_SX}> | |||||
| <FormattedMessage id="viewDetail"/> | <FormattedMessage id="viewDetail"/> | ||||
| </Button>; | </Button>; | ||||
| }, | }, | ||||
| @@ -29,6 +29,7 @@ import { | |||||
| import { ThemeProvider, useTheme } from "@emotion/react"; | import { ThemeProvider, useTheme } from "@emotion/react"; | ||||
| import { PNSPS_BUTTON_THEME } from "../../../themes/buttonConst"; | import { PNSPS_BUTTON_THEME } from "../../../themes/buttonConst"; | ||||
| import { FormattedMessage, useIntl } from "react-intl"; | import { FormattedMessage, useIntl } from "react-intl"; | ||||
| import { PRIMARY_TEXT_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
| export default function SubmittedTab({ setCount, url }) { | export default function SubmittedTab({ setCount, url }) { | ||||
| @@ -309,7 +310,7 @@ export default function SubmittedTab({ setCount, url }) { | |||||
| renderHeader: renderHeaderWithAria, | renderHeader: renderHeaderWithAria, | ||||
| cellClassName: 'actions', | cellClassName: 'actions', | ||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| return <Button aria-label={intl.formatMessage({ id: 'viewDetail' })} onClick={handleDetailClick(params)}> | |||||
| return <Button aria-label={intl.formatMessage({ id: 'viewDetail' })} onClick={handleDetailClick(params)} sx={PRIMARY_TEXT_BUTTON_SX}> | |||||
| <FormattedMessage id="viewDetail" /> | <FormattedMessage id="viewDetail" /> | ||||
| </Button>; | </Button>; | ||||
| }, | }, | ||||
| @@ -17,6 +17,7 @@ import {getModeIntl } from "utils/statusUtils/PublicNoteStatusUtils"; | |||||
| import { useTheme } from "@emotion/react"; | import { useTheme } from "@emotion/react"; | ||||
| import { FormattedMessage, useIntl } from "react-intl"; | import { FormattedMessage, useIntl } from "react-intl"; | ||||
| import * as React from 'react'; | import * as React from 'react'; | ||||
| import { PRIMARY_TEXT_BUTTON_SX } from "themes/colorConst"; | |||||
| // ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
| export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady, applySearch }) { | export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady, applySearch }) { | ||||
| @@ -139,6 +140,7 @@ export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnRea | |||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| return <Button onClick={handleDetailClick(params)} | return <Button onClick={handleDetailClick(params)} | ||||
| aria-label={intl.formatMessage({ id: 'viewDetail' })} | aria-label={intl.formatMessage({ id: 'viewDetail' })} | ||||
| sx={PRIMARY_TEXT_BUTTON_SX} | |||||
| > | > | ||||
| <FormattedMessage id="viewDetail" /> | <FormattedMessage id="viewDetail" /> | ||||
| </Button>; | </Button>; | ||||
| @@ -84,7 +84,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Application</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Application</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -84,7 +84,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Mark Payment</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Mark Payment</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -125,7 +125,7 @@ const Index = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| Recon Report | Recon Report | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -74,7 +74,7 @@ const ReportSearchPage = () => { | |||||
| <Grid item xs={12} mb={2}> | <Grid item xs={12} mb={2}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Gazette Notice Full List</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Gazette Notice Full List</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -74,7 +74,7 @@ const ReportSearchPage = () => { | |||||
| <Grid item xs={12} mb={2}> | <Grid item xs={12} mb={2}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>Summary of Gazette Notice</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>Summary of Gazette Notice</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -14,6 +14,7 @@ import { notifyActionError } from 'utils/CommonFunction'; | |||||
| import { FormattedMessage, useIntl } from "react-intl"; | import { FormattedMessage, useIntl } from "react-intl"; | ||||
| import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | ||||
| import { PRIMARY_OUTLINED_BUTTON_SX } from 'themes/colorConst'; | |||||
| // ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
| @@ -168,6 +169,7 @@ const Index = () => { | |||||
| component="span" | component="span" | ||||
| variant="outlined" | variant="outlined" | ||||
| size="large" | size="large" | ||||
| sx={PRIMARY_OUTLINED_BUTTON_SX} | |||||
| >Import DR Excel</Button> | >Import DR Excel</Button> | ||||
| </label> | </label> | ||||
| </Grid> | </Grid> | ||||
| @@ -199,6 +201,7 @@ const Index = () => { | |||||
| component="span" | component="span" | ||||
| variant="outlined" | variant="outlined" | ||||
| size="large" | size="large" | ||||
| sx={PRIMARY_OUTLINED_BUTTON_SX} | |||||
| >Import Offline Mode Application</Button> | >Import Offline Mode Application</Button> | ||||
| </label> | </label> | ||||
| </Grid> | </Grid> | ||||
| @@ -242,7 +242,7 @@ const UserMaintainPage = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>{isNewRecord ? "Create GLD User" : "Maintain GLD User"}</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>{isNewRecord ? "Create GLD User" : "Maintain GLD User"}</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -53,7 +53,14 @@ const ManageOrgUserPage = () => { | |||||
| '& .MuiDataGrid-footerContainer': { | '& .MuiDataGrid-footerContainer': { | ||||
| border: 1, | border: 1, | ||||
| borderColor: "#EEE" | borderColor: "#EEE" | ||||
| } | |||||
| }, | |||||
| "& .MuiDataGrid-columnHeaderTitle": { | |||||
| whiteSpace: "normal", | |||||
| lineHeight: "normal" | |||||
| }, | |||||
| "& .MuiDataGrid-columnHeader": { | |||||
| height: "unset !important" | |||||
| }, | |||||
| } | } | ||||
| const [_searchCriteria, set_searchCriteria] = React.useState({}); | const [_searchCriteria, set_searchCriteria] = React.useState({}); | ||||
| @@ -78,9 +85,9 @@ const ManageOrgUserPage = () => { | |||||
| }); | }); | ||||
| } | } | ||||
| /** DataGrid `headerName` must be a string; use `renderHeader` for styled markup. */ | |||||
| const renderStyledHeader = (params) => ( | |||||
| <Typography variant="h5">{params.colDef.headerName}</Typography> | |||||
| /** Match /proof/search grid column header styling (inherits MuiDataGrid columnHeader color). */ | |||||
| const renderHeaderWithAria = (params) => ( | |||||
| <span aria-label={params.colDef.headerName}>{params.colDef.headerName}</span> | |||||
| ); | ); | ||||
| function getStatus(params) { | function getStatus(params) { | ||||
| @@ -127,7 +134,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'username', | id: 'username', | ||||
| field: 'username', | field: 'username', | ||||
| headerName: intl.formatMessage({ id: 'loginName' }), | headerName: intl.formatMessage({ id: 'loginName' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| @@ -136,7 +143,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'contactPerson', | id: 'contactPerson', | ||||
| field: 'contactPerson', | field: 'contactPerson', | ||||
| headerName: intl.formatMessage({ id: 'userName' }), | headerName: intl.formatMessage({ id: 'userName' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| @@ -145,7 +152,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'contactTel', | id: 'contactTel', | ||||
| field: 'contactTel', | field: 'contactTel', | ||||
| headerName: intl.formatMessage({ id: 'userContactNumber' }), | headerName: intl.formatMessage({ id: 'userContactNumber' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| valueGetter: (params) => { | valueGetter: (params) => { | ||||
| @@ -157,7 +164,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'emailBus', | id: 'emailBus', | ||||
| field: 'emailBus', | field: 'emailBus', | ||||
| headerName: intl.formatMessage({ id: 'userContactEmail' }), | headerName: intl.formatMessage({ id: 'userContactEmail' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| }, | }, | ||||
| @@ -165,7 +172,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'lastLogin', | id: 'lastLogin', | ||||
| field: 'lastLogin', | field: 'lastLogin', | ||||
| headerName: intl.formatMessage({ id: 'lastLoginDate' }), | headerName: intl.formatMessage({ id: 'lastLoginDate' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| valueGetter: (params) => { | valueGetter: (params) => { | ||||
| @@ -176,7 +183,7 @@ const ManageOrgUserPage = () => { | |||||
| id: 'lastApply', | id: 'lastApply', | ||||
| field: 'lastApply', | field: 'lastApply', | ||||
| headerName: intl.formatMessage({ id: 'lastSubmissionDate' }), | headerName: intl.formatMessage({ id: 'lastSubmissionDate' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| valueGetter: () => { | valueGetter: () => { | ||||
| @@ -186,7 +193,7 @@ const ManageOrgUserPage = () => { | |||||
| { | { | ||||
| field: 'actions', | field: 'actions', | ||||
| headerName: intl.formatMessage({ id: 'status' }), | headerName: intl.formatMessage({ id: 'status' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| cellClassName: 'actions', | cellClassName: 'actions', | ||||
| @@ -199,7 +206,7 @@ const ManageOrgUserPage = () => { | |||||
| field: 'primaryUser', | field: 'primaryUser', | ||||
| type: 'bool', | type: 'bool', | ||||
| headerName: intl.formatMessage({ id: 'primary' }), | headerName: intl.formatMessage({ id: 'primary' }), | ||||
| renderHeader: renderStyledHeader, | |||||
| renderHeader: renderHeaderWithAria, | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| @@ -92,7 +92,7 @@ const UserSettingPage = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>View GLD User</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>View GLD User</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -64,7 +64,7 @@ const UserSearchPage_Individual = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| View Individual User | View Individual User | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -68,7 +68,7 @@ const UserSearchPage_Organization = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>View Organisation User</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>View Organisation User</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -143,7 +143,7 @@ const AuthWrapper = ({ children }) => { | |||||
| width: { xs: '95vw', md: 900 }, | width: { xs: '95vw', md: 900 }, | ||||
| maxWidth: '95vw', | maxWidth: '95vw', | ||||
| boxShadow: 10, | boxShadow: 10, | ||||
| border: '1px solid #0c489e' | |||||
| border: '1px solid #1976d2' | |||||
| } | } | ||||
| }} | }} | ||||
| > | > | ||||
| @@ -63,8 +63,8 @@ const BusRegister = () => { | |||||
| /* Completed */ | /* Completed */ | ||||
| "& .Mui-completed": { | "& .Mui-completed": { | ||||
| "&.MuiStepIcon-root": { color: "#0C489E", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#0C489E" } | |||||
| "&.MuiStepIcon-root": { color: "#1976d2", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#1976d2" } | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -176,7 +176,7 @@ const BusRegister = () => { | |||||
| activeStep === 2 | activeStep === 2 | ||||
| ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ||||
| : allStepsCompleted() | : allStepsCompleted() | ||||
| ? { "& .MuiSvgIcon-root": { color: "#0C489E", fontSize: "2rem" } } | |||||
| ? { "& .MuiSvgIcon-root": { color: "#1976d2", fontSize: "2rem" } } | |||||
| : { color: "rgba(0,0,0,0.6)" } | : { color: "rgba(0,0,0,0.6)" } | ||||
| } | } | ||||
| icon={<VisibilityIcon />} | icon={<VisibilityIcon />} | ||||
| @@ -46,8 +46,8 @@ const AuthWrapper = Loadable(lazy(() => import('./AuthWrapperCustom'))); | |||||
| /* Completed */ | /* Completed */ | ||||
| "& .Mui-completed": { | "& .Mui-completed": { | ||||
| "&.MuiStepIcon-root": { color: "#0C489E", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#0C489E" } | |||||
| "&.MuiStepIcon-root": { color: "#1976d2", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#1976d2" } | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -174,7 +174,7 @@ const Register = () => { | |||||
| activeStep === 2 | activeStep === 2 | ||||
| ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ||||
| : allStepsCompleted() | : allStepsCompleted() | ||||
| ? { "& .MuiSvgIcon-root": { color: "#0C489E", fontSize: "2rem" } } | |||||
| ? { "& .MuiSvgIcon-root": { color: "#1976d2", fontSize: "2rem" } } | |||||
| : { color: "rgba(0,0,0,0.6)" } | : { color: "rgba(0,0,0,0.6)" } | ||||
| } | } | ||||
| icon={<VisibilityIcon />} | icon={<VisibilityIcon />} | ||||
| @@ -67,8 +67,8 @@ const Register = () => { | |||||
| /* Completed */ | /* Completed */ | ||||
| "& .Mui-completed": { | "& .Mui-completed": { | ||||
| "&.MuiStepIcon-root": { color: "#0C489E", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#0C489E" } | |||||
| "&.MuiStepIcon-root": { color: "#1976d2", fontSize: "2rem" }, // use your strong blue | |||||
| "& .MuiStepConnector-line": { borderColor: "#1976d2" } | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -182,7 +182,7 @@ const Register = () => { | |||||
| activeStep === 2 | activeStep === 2 | ||||
| ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ? { "& .MuiSvgIcon-root": { color: "warning.main", fontSize: "2rem" } } | ||||
| : allStepsCompleted() | : allStepsCompleted() | ||||
| ? { "& .MuiSvgIcon-root": { color: "#0C489E", fontSize: "2rem" } } | |||||
| ? { "& .MuiSvgIcon-root": { color: "#1976d2", fontSize: "2rem" } } | |||||
| : { color: "rgba(0,0,0,0.6)" } | : { color: "rgba(0,0,0,0.6)" } | ||||
| } | } | ||||
| icon={<VisibilityIcon />} | icon={<VisibilityIcon />} | ||||
| @@ -142,14 +142,14 @@ const RegisterCustom = () => { | |||||
| href="/registerFrom" | href="/registerFrom" | ||||
| variant="contained" | variant="contained" | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| border: '1px solid #0C489E', | |||||
| border: '1px solid #1976d2', | |||||
| boxShadow: 'none', | boxShadow: 'none', | ||||
| '&:hover': { | '&:hover': { | ||||
| backgroundColor: '#093A7A', | |||||
| backgroundColor: '#1565c0', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| border: '1px solid #093A7A', | |||||
| border: '1px solid #1565c0', | |||||
| boxShadow: 'none', | boxShadow: 'none', | ||||
| }, | }, | ||||
| }} | }} | ||||
| @@ -172,14 +172,14 @@ const RegisterCustom = () => { | |||||
| variant="contained" | variant="contained" | ||||
| sx={{ | sx={{ | ||||
| mt: 0.5, | mt: 0.5, | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| border: '1px solid #0C489E', | |||||
| border: '1px solid #1976d2', | |||||
| boxShadow: 'none', | boxShadow: 'none', | ||||
| '&:hover': { | '&:hover': { | ||||
| backgroundColor: '#093A7A', | |||||
| backgroundColor: '#1565c0', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| border: '1px solid #093A7A', | |||||
| border: '1px solid #1565c0', | |||||
| boxShadow: 'none', | boxShadow: 'none', | ||||
| }, | }, | ||||
| }} | }} | ||||
| @@ -369,9 +369,9 @@ const AuthLoginCustom = () => { | |||||
| <Button disableElevation disabled={isButtonDisabled} | <Button disableElevation disabled={isButtonDisabled} | ||||
| fullWidth size="large" type="submit" variant="contained" color="primary" | fullWidth size="large" type="submit" variant="contained" color="primary" | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: "#0C489E", | |||||
| backgroundColor: "#1976d2", | |||||
| color: "#FFFFFF", | color: "#FFFFFF", | ||||
| "&:hover": { backgroundColor: "#093A7A" }, | |||||
| "&:hover": { backgroundColor: "#1565c0" }, | |||||
| "&.Mui-disabled": { | "&.Mui-disabled": { | ||||
| background: "#bbdefb", | background: "#bbdefb", | ||||
| color: "#fff", | color: "#fff", | ||||
| @@ -1602,7 +1602,7 @@ const BusCustomFormWizard = (props) => { | |||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Grid container> | <Grid container> | ||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Typography variant="h6" height="100%" sx={{ textAlign: "left", /*overflow: "scroll",*/ borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#0C489E" }}> | |||||
| <Typography variant="h6" height="100%" sx={{ textAlign: "left", /*overflow: "scroll",*/ borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#1976d2" }}> | |||||
| <div style={{padding: 12}} dangerouslySetInnerHTML={{__html: intl.formatMessage({id: "termsAndCon"})}} /> | <div style={{padding: 12}} dangerouslySetInnerHTML={{__html: intl.formatMessage({id: "termsAndCon"})}} /> | ||||
| </Typography> | </Typography> | ||||
| </Grid> | </Grid> | ||||
| @@ -1709,9 +1709,9 @@ const BusCustomFormWizard = (props) => { | |||||
| onClick={playCaptchaAudio} | onClick={playCaptchaAudio} | ||||
| aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| <FormattedMessage id="captchaPlayAudio" /> | <FormattedMessage id="captchaPlayAudio" /> | ||||
| @@ -1930,7 +1930,7 @@ const CustomFormWizard = (props) => { | |||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Grid container> | <Grid container> | ||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Typography variant="h6" height="100%" sx={{ textAlign: "left", /*overflow: "scroll",*/ borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#0C489E" }}> | |||||
| <Typography variant="h6" height="100%" sx={{ textAlign: "left", /*overflow: "scroll",*/ borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#1976d2" }}> | |||||
| <div style={{padding: 12}} dangerouslySetInnerHTML={{__html: intl.formatMessage({id: "termsAndCon"})}} /> | <div style={{padding: 12}} dangerouslySetInnerHTML={{__html: intl.formatMessage({id: "termsAndCon"})}} /> | ||||
| </Typography> | </Typography> | ||||
| </Grid> | </Grid> | ||||
| @@ -2037,9 +2037,9 @@ const CustomFormWizard = (props) => { | |||||
| onClick={playCaptchaAudio} | onClick={playCaptchaAudio} | ||||
| aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| <FormattedMessage id="captchaPlayAudio" /> | <FormattedMessage id="captchaPlayAudio" /> | ||||
| @@ -1031,7 +1031,7 @@ const CustomFormWizard = (props) => { | |||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Grid container> | <Grid container> | ||||
| <Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
| <Typography variant="h5" sx={{ textAlign: "left", borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#0C489E" }}> | |||||
| <Typography variant="h5" sx={{ textAlign: "left", borderRadius: "inherit", borderStyle: "solid", borderWidth: "1px", borderColor: "#1976d2" }}> | |||||
| <div style={{ padding: 12 }} dangerouslySetInnerHTML={{ __html: intl.formatMessage({ id: "termsAndCon" }) }} /> | <div style={{ padding: 12 }} dangerouslySetInnerHTML={{ __html: intl.formatMessage({ id: "termsAndCon" }) }} /> | ||||
| </Typography> | </Typography> | ||||
| @@ -1123,9 +1123,9 @@ const CustomFormWizard = (props) => { | |||||
| onClick={playCaptchaAudio} | onClick={playCaptchaAudio} | ||||
| aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | aria-label={intl.formatMessage({ id: "captchaPlayAudio" })} | ||||
| sx={{ | sx={{ | ||||
| backgroundColor: '#0C489E', | |||||
| backgroundColor: '#1976d2', | |||||
| color: '#FFFFFF', | color: '#FFFFFF', | ||||
| '&:hover': { backgroundColor: '#093A7A' }, | |||||
| '&:hover': { backgroundColor: '#1565c0' }, | |||||
| }} | }} | ||||
| > | > | ||||
| <FormattedMessage id="captchaPlayAudio" /> | <FormattedMessage id="captchaPlayAudio" /> | ||||
| @@ -45,7 +45,7 @@ const DashboardDefault = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| {getWelcomeMsg()}, {userData.fullenName} | {getWelcomeMsg()}, {userData.fullenName} | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -191,9 +191,9 @@ const DashboardDefault = () => { | |||||
| p: 4, | p: 4, | ||||
| justifyContent: "flex-start", | justifyContent: "flex-start", | ||||
| backgroundColor: "#e1edfc", | backgroundColor: "#e1edfc", | ||||
| border: "0px solid #0C489E", // DARKER border (3:1+) | |||||
| border: "0px solid #1976d2", // DARKER border (3:1+) | |||||
| borderRadius: "10px", | borderRadius: "10px", | ||||
| color: "#0C489E", // icon + default text color | |||||
| color: "#1976d2", // icon + default text color | |||||
| "&:hover": { | "&:hover": { | ||||
| backgroundColor: "#d6e6fb" | backgroundColor: "#d6e6fb" | ||||
| } | } | ||||
| @@ -202,7 +202,7 @@ const DashboardDefault = () => { | |||||
| <Stack direction="row" spacing={2}> | <Stack direction="row" spacing={2}> | ||||
| <AdsClickRoundedIcon /> | <AdsClickRoundedIcon /> | ||||
| <Stack direction="column" alignItems="flex-start"> | <Stack direction="column" alignItems="flex-start"> | ||||
| <Typography component="h2" variant="h4" sx={{ color: "#0C489E" }}> | |||||
| <Typography component="h2" variant="h4" sx={{ color: "#1976d2" }}> | |||||
| <FormattedMessage id="submitApplication" /> | <FormattedMessage id="submitApplication" /> | ||||
| </Typography> | </Typography> | ||||
| <Typography sx={{ color: "#1A1A1A" }}> | <Typography sx={{ color: "#1A1A1A" }}> | ||||
| @@ -220,7 +220,7 @@ const DashboardDefault = () => { | |||||
| aria-label={intl.formatMessage({ id: 'viewAllAnnouncement' })} | aria-label={intl.formatMessage({ id: 'viewAllAnnouncement' })} | ||||
| onClick={() => { navigate("/announcement/search"); }} | onClick={() => { navigate("/announcement/search"); }} | ||||
| sx={{ | sx={{ | ||||
| color: '#0C489E', | |||||
| color: '#1976d2', | |||||
| textTransform: 'none', | textTransform: 'none', | ||||
| textDecoration: 'underline', | textDecoration: 'underline', | ||||
| '&:hover': { textDecoration: 'underline' } | '&:hover': { textDecoration: 'underline' } | ||||
| @@ -245,7 +245,7 @@ const DashboardDefault = () => { | |||||
| aria-label={intl.formatMessage({ id: 'viewAllSystemMessage' })} | aria-label={intl.formatMessage({ id: 'viewAllSystemMessage' })} | ||||
| onClick={() => { navigate("/msg/search"); }} | onClick={() => { navigate("/msg/search"); }} | ||||
| sx={{ | sx={{ | ||||
| color: '#0C489E', | |||||
| color: '#1976d2', | |||||
| textTransform: 'none', | textTransform: 'none', | ||||
| textDecoration: 'underline', | textDecoration: 'underline', | ||||
| '&:hover': { | '&:hover': { | ||||
| @@ -23,7 +23,7 @@ const BackgroundHead = { | |||||
| height: "auto", | height: "auto", | ||||
| backgroundSize: "contain", | backgroundSize: "contain", | ||||
| backgroundRepeat: "no-repeat", | backgroundRepeat: "no-repeat", | ||||
| backgroundColor: "#0C489E", | |||||
| backgroundColor: "#1976d2", | |||||
| backgroundPosition: "right", | backgroundPosition: "right", | ||||
| }; | }; | ||||
| @@ -226,7 +226,7 @@ const UserMaintainPage = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}>{isNewRecord ? "Create User Group" : "Maintain User Group"}</Typography> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}>{isNewRecord ? "Create User Group" : "Maintain User Group"}</Typography> | |||||
| </Stack> | </Stack> | ||||
| </div> | </div> | ||||
| </Grid> | </Grid> | ||||
| @@ -72,7 +72,7 @@ const UserGroupSearchPanel = () => { | |||||
| <Grid item xs={12}> | <Grid item xs={12}> | ||||
| <div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
| <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #0C489E" }}> | |||||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ "textShadow": "0px 0px 25px #1976d2" }}> | |||||
| View User Group | View User Group | ||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| @@ -69,6 +69,9 @@ export const PNSPS_BUTTON_THEME = createTheme({ | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiButton: { | MuiButton: { | ||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| /* ----------------------------- | /* ----------------------------- | ||||
| Icon alignment | Icon alignment | ||||
| @@ -93,17 +96,24 @@ export const PNSPS_BUTTON_THEME = createTheme({ | |||||
| '@media (min-width: 1280px)': { minWidth: '9vw' }, | '@media (min-width: 1280px)': { minWidth: '9vw' }, | ||||
| textTransform: 'none', | textTransform: 'none', | ||||
| alignItems: 'normal', | alignItems: 'normal', | ||||
| '&:active': { | |||||
| boxShadow: 'none', | |||||
| transform: 'none', | |||||
| }, | |||||
| }, | }, | ||||
| /* ----------------------------- | /* ----------------------------- | ||||
| Remove default contained elevation / blue focus | Remove default contained elevation / blue focus | ||||
| ------------------------------ */ | ------------------------------ */ | ||||
| contained: { | |||||
| contained: ({ theme, ownerState }) => ({ | |||||
| boxShadow: 'none', | boxShadow: 'none', | ||||
| '&:hover': { boxShadow: 'none' }, | '&:hover': { boxShadow: 'none' }, | ||||
| '&:active': { boxShadow: 'none' }, | |||||
| '&.Mui-focusVisible': { boxShadow: 'none' }, | |||||
| '&:active': { | |||||
| backgroundColor: theme.palette[ownerState.color]?.main ?? theme.palette.primary.main, | |||||
| boxShadow: 'none', | |||||
| }, | }, | ||||
| '&.Mui-focusVisible': { boxShadow: 'none' }, | |||||
| }), | |||||
| /* ----------------------------- | /* ----------------------------- | ||||
| RESET / CANCEL (contained + cancel) | RESET / CANCEL (contained + cancel) | ||||
| @@ -123,7 +133,7 @@ export const PNSPS_BUTTON_THEME = createTheme({ | |||||
| }, | }, | ||||
| '&:active': { | '&:active': { | ||||
| backgroundColor: '#4A4A4A', | |||||
| backgroundColor: '#616161', | |||||
| boxShadow: 'none !important', | boxShadow: 'none !important', | ||||
| }, | }, | ||||
| @@ -145,10 +155,20 @@ export const PNSPS_BUTTON_THEME = createTheme({ | |||||
| backgroundColor: 'transparent', | backgroundColor: 'transparent', | ||||
| }, | }, | ||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| '&.Mui-focusVisible': { | '&.Mui-focusVisible': { | ||||
| boxShadow: '0 0 0 3px rgba(66,66,66,0.4)', | boxShadow: '0 0 0 3px rgba(66,66,66,0.4)', | ||||
| }, | }, | ||||
| }, | }, | ||||
| outlined: { | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| }, | |||||
| }, | }, | ||||
| }, | }, | ||||
| } | } | ||||
| @@ -215,6 +235,9 @@ export const PNSPS_LONG_BUTTON_THEME = createTheme({ | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiButton: { | MuiButton: { | ||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| startIcon:{ | startIcon:{ | ||||
| display: 'flex', | display: 'flex', | ||||
| @@ -240,6 +263,24 @@ export const PNSPS_LONG_BUTTON_THEME = createTheme({ | |||||
| }, | }, | ||||
| textTransform: "none", | textTransform: "none", | ||||
| alignItems: 'normal', | alignItems: 'normal', | ||||
| '&:active': { | |||||
| boxShadow: 'none', | |||||
| transform: 'none', | |||||
| }, | |||||
| }, | |||||
| contained: ({ theme, ownerState }) => ({ | |||||
| boxShadow: 'none', | |||||
| '&:hover': { boxShadow: 'none' }, | |||||
| '&:active': { | |||||
| backgroundColor: theme.palette[ownerState.color]?.main ?? theme.palette.primary.main, | |||||
| boxShadow: 'none', | |||||
| }, | |||||
| '&.Mui-focusVisible': { boxShadow: 'none' }, | |||||
| }), | |||||
| outlined: { | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| }, | }, | ||||
| }, | }, | ||||
| }, | }, | ||||
| @@ -49,6 +49,40 @@ export const GENERAL_BORDER_COLOR ='#e6ebf1'; | |||||
| export const GENERAL_TEXT_COLOR ='#262626'; | export const GENERAL_TEXT_COLOR ='#262626'; | ||||
| /** Page header bar background (gazette banner strip). */ | |||||
| export const HEADER_BACKGROUND_COLOR = '#0C489E'; | |||||
| /** MUI default primary — used by applyPublicNotice contained button (PNSPS_LONG_BUTTON_THEME). WCAG AA: 3:1+ for UI components on white. */ | |||||
| export const CONTAINED_PRIMARY_BLUE = '#1976d2'; | |||||
| /** Validation error text/border — matches FormHelperText in styles.css (e.g. "Please enter password"). WCAG AA on white. */ | |||||
| export const VALIDATION_ERROR_COLOR = '#B00020'; | |||||
| export const PRIMARY_CONTAINED_BUTTON_SX = { | |||||
| backgroundColor: CONTAINED_PRIMARY_BLUE, | |||||
| color: '#FFFFFF', | |||||
| '&:hover': { | |||||
| backgroundColor: '#1565c0', | |||||
| }, | |||||
| }; | |||||
| export const PRIMARY_OUTLINED_BUTTON_SX = { | |||||
| color: CONTAINED_PRIMARY_BLUE, | |||||
| borderColor: CONTAINED_PRIMARY_BLUE, | |||||
| '&:hover': { | |||||
| borderColor: CONTAINED_PRIMARY_BLUE, | |||||
| backgroundColor: 'rgba(25, 118, 210, 0.08)', | |||||
| }, | |||||
| }; | |||||
| export const PRIMARY_TEXT_BUTTON_SX = { | |||||
| color: CONTAINED_PRIMARY_BLUE, | |||||
| fontWeight: 600, | |||||
| '&:hover': { | |||||
| backgroundColor: 'rgba(25, 118, 210, 0.08)', | |||||
| }, | |||||
| }; | |||||
| export const formTheme = createTheme({ | export const formTheme = createTheme({ | ||||
| components: { | components: { | ||||
| MuiFormLabel: { | MuiFormLabel: { | ||||
| @@ -10,17 +10,29 @@ export default function Button(theme) { | |||||
| return { | return { | ||||
| MuiButton: { | MuiButton: { | ||||
| defaultProps: { | defaultProps: { | ||||
| disableElevation: true | |||||
| disableElevation: true, | |||||
| disableRipple: true | |||||
| }, | }, | ||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| fontWeight: 400 | |||||
| }, | |||||
| contained: { | |||||
| ...disabledStyle | |||||
| fontWeight: 400, | |||||
| '&:active': { | |||||
| boxShadow: 'none', | |||||
| transform: 'none' | |||||
| } | |||||
| }, | }, | ||||
| contained: ({ theme: muiTheme, ownerState }) => ({ | |||||
| ...disabledStyle, | |||||
| '&:active': { | |||||
| backgroundColor: muiTheme.palette[ownerState.color]?.main ?? muiTheme.palette.primary.main, | |||||
| boxShadow: 'none' | |||||
| } | |||||
| }), | |||||
| outlined: { | outlined: { | ||||
| ...disabledStyle | |||||
| ...disabledStyle, | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent' | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,14 +1,31 @@ | |||||
| // ==============================|| OVERRIDES - CHECKBOX ||============================== // | // ==============================|| OVERRIDES - CHECKBOX ||============================== // | ||||
| import { CONTAINED_PRIMARY_BLUE } from '../colorConst'; | |||||
| export default function Checkbox(theme) { | export default function Checkbox(theme) { | ||||
| const checkboxSize = "2rem" | const checkboxSize = "2rem" | ||||
| return { | return { | ||||
| MuiCheckbox: { | MuiCheckbox: { | ||||
| defaultProps: { | |||||
| disableRipple: true | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| color: theme.palette.secondary[300], | color: theme.palette.secondary[300], | ||||
| '&:hover': { | |||||
| backgroundColor: 'transparent' | |||||
| }, | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent' | |||||
| }, | |||||
| '&.Mui-checked': { | |||||
| color: CONTAINED_PRIMARY_BLUE | |||||
| }, | |||||
| '&.Mui-focusVisible': { | |||||
| boxShadow: '0 0 0 3px rgba(25, 118, 210, 0.35)' | |||||
| }, | |||||
| svg: { | svg: { | ||||
| width: checkboxSize, | width: checkboxSize, | ||||
| height: checkboxSize, | height: checkboxSize, | ||||
| @@ -1,11 +1,22 @@ | |||||
| // ==============================|| OVERRIDES - INPUT LABEL ||============================== // | // ==============================|| OVERRIDES - INPUT LABEL ||============================== // | ||||
| import { CONTAINED_PRIMARY_BLUE, VALIDATION_ERROR_COLOR } from '../colorConst'; | |||||
| export default function InputLabel(theme) { | export default function InputLabel(theme) { | ||||
| return { | return { | ||||
| MuiInputLabel: { | MuiInputLabel: { | ||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| color: theme.palette.grey[600] | |||||
| color: theme.palette.grey[600], | |||||
| '&.Mui-focused:not(.Mui-error)': { | |||||
| color: CONTAINED_PRIMARY_BLUE | |||||
| }, | |||||
| '&.Mui-error': { | |||||
| color: VALIDATION_ERROR_COLOR | |||||
| }, | |||||
| '&.Mui-focused.Mui-error': { | |||||
| color: VALIDATION_ERROR_COLOR | |||||
| } | |||||
| }, | }, | ||||
| outlined: { | outlined: { | ||||
| lineHeight: '0.8em', | lineHeight: '0.8em', | ||||
| @@ -1,5 +1,6 @@ | |||||
| // material-ui | // material-ui | ||||
| import { alpha } from '@mui/material/styles'; | import { alpha } from '@mui/material/styles'; | ||||
| import { CONTAINED_PRIMARY_BLUE, VALIDATION_ERROR_COLOR } from '../colorConst'; | |||||
| // ==============================|| OVERRIDES - OUTLINED INPUT ||============================== // | // ==============================|| OVERRIDES - OUTLINED INPUT ||============================== // | ||||
| @@ -18,22 +19,25 @@ export default function OutlinedInput(theme) { | |||||
| fontWeight: 600, | fontWeight: 600, | ||||
| lineHeight: 1.57, | lineHeight: 1.57, | ||||
| '&:hover .MuiOutlinedInput-notchedOutline': { | '&:hover .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.primary.light | |||||
| borderColor: theme.palette.grey[400] | |||||
| }, | }, | ||||
| '&.Mui-focused': { | |||||
| boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}`, | |||||
| '&.Mui-focused:not(.Mui-error)': { | |||||
| boxShadow: `0 0 0 2px ${alpha(CONTAINED_PRIMARY_BLUE, 0.2)}`, | |||||
| '& .MuiOutlinedInput-notchedOutline': { | '& .MuiOutlinedInput-notchedOutline': { | ||||
| border: `1px solid ${theme.palette.primary.light}` | |||||
| border: `1px solid ${CONTAINED_PRIMARY_BLUE}` | |||||
| } | } | ||||
| }, | }, | ||||
| '&.Mui-error .MuiOutlinedInput-notchedOutline': { | |||||
| borderColor: VALIDATION_ERROR_COLOR | |||||
| }, | |||||
| '&.Mui-error': { | '&.Mui-error': { | ||||
| '&:hover .MuiOutlinedInput-notchedOutline': { | '&:hover .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.error.light | |||||
| borderColor: VALIDATION_ERROR_COLOR | |||||
| }, | }, | ||||
| '&.Mui-focused': { | '&.Mui-focused': { | ||||
| boxShadow: `0 0 0 2px ${alpha(theme.palette.error.main, 0.2)}`, | |||||
| boxShadow: `0 0 0 2px ${alpha(VALIDATION_ERROR_COLOR, 0.2)}`, | |||||
| '& .MuiOutlinedInput-notchedOutline': { | '& .MuiOutlinedInput-notchedOutline': { | ||||
| border: `1px solid ${theme.palette.error.light}` | |||||
| border: `3px solid ${VALIDATION_ERROR_COLOR}` | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,30 @@ | |||||
| // ==============================|| OVERRIDES - RADIO ||============================== // | |||||
| import { CONTAINED_PRIMARY_BLUE } from '../colorConst'; | |||||
| export default function Radio() { | |||||
| return { | |||||
| MuiRadio: { | |||||
| defaultProps: { | |||||
| disableRipple: true | |||||
| }, | |||||
| styleOverrides: { | |||||
| root: { | |||||
| color: '#595959', | |||||
| '&:hover': { | |||||
| backgroundColor: 'transparent' | |||||
| }, | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent' | |||||
| }, | |||||
| '&.Mui-checked': { | |||||
| color: CONTAINED_PRIMARY_BLUE | |||||
| }, | |||||
| '&.Mui-focusVisible': { | |||||
| boxShadow: '0 0 0 3px rgba(25, 118, 210, 0.35)' | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| }; | |||||
| } | |||||
| @@ -3,12 +3,21 @@ | |||||
| export default function Tab(theme) { | export default function Tab(theme) { | ||||
| return { | return { | ||||
| MuiTab: { | MuiTab: { | ||||
| defaultProps: { | |||||
| disableRipple: true | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| minHeight: 46, | minHeight: 46, | ||||
| color: theme.palette.text.primary, | color: theme.palette.text.primary, | ||||
| fontSize: "1.2rem", | fontSize: "1.2rem", | ||||
| fontWeight: 600 | |||||
| fontWeight: 600, | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent' | |||||
| }, | |||||
| '&:active:not(.Mui-selected)': { | |||||
| color: theme.palette.text.primary | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -13,6 +13,7 @@ import LinearProgress from './LinearProgress'; | |||||
| import Link from './Link'; | import Link from './Link'; | ||||
| import ListItemIcon from './ListItemIcon'; | import ListItemIcon from './ListItemIcon'; | ||||
| import OutlinedInput from './OutlinedInput'; | import OutlinedInput from './OutlinedInput'; | ||||
| import Radio from './Radio'; | |||||
| import Tab from './Tab'; | import Tab from './Tab'; | ||||
| import TableCell from './TableCell'; | import TableCell from './TableCell'; | ||||
| import Tabs from './Tabs'; | import Tabs from './Tabs'; | ||||
| @@ -40,6 +41,7 @@ export default function ComponentsOverrides(theme) { | |||||
| Link(), | Link(), | ||||
| ListItemIcon(), | ListItemIcon(), | ||||
| OutlinedInput(theme), | OutlinedInput(theme), | ||||
| Radio(), | |||||
| Tab(theme), | Tab(theme), | ||||
| TableCell(theme), | TableCell(theme), | ||||
| Tabs(), | Tabs(), | ||||
| @@ -1,8 +1,7 @@ | |||||
| import {createTheme} from "@mui/material"; | import {createTheme} from "@mui/material"; | ||||
| import Palette from "./palette"; | import Palette from "./palette"; | ||||
| import Typography from "./typography"; | import Typography from "./typography"; | ||||
| import {alpha} from "@mui/material/styles"; | |||||
| import {GENERAL_TABLE_BOARDER_COLOR, TABLE_HEADER_TEXT_COLOR} from "./colorConst"; | |||||
| import {GENERAL_TABLE_BOARDER_COLOR, TABLE_HEADER_TEXT_COLOR, CONTAINED_PRIMARY_BLUE, VALIDATION_ERROR_COLOR} from "./colorConst"; | |||||
| const FONT_SIZE = '1.1rem'; | const FONT_SIZE = '1.1rem'; | ||||
| const TABLE_FONT_SIZE = '1.0rem'; | const TABLE_FONT_SIZE = '1.0rem'; | ||||
| const HELPER_FONT_SIZE = '0.9rem'; | const HELPER_FONT_SIZE = '0.9rem'; | ||||
| @@ -44,18 +43,34 @@ export const PNSPS_THEME = createTheme({ | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiButton: { | MuiButton: { | ||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| root: ({ ownerState }) => ({ | root: ({ ownerState }) => ({ | ||||
| ...(ownerState.color === "cancel" && { | ...(ownerState.color === "cancel" && { | ||||
| borderColor: "#9E9E9E", | borderColor: "#9E9E9E", | ||||
| }), | }), | ||||
| '&:active': { | |||||
| boxShadow: 'none', | |||||
| transform: 'none', | |||||
| }, | |||||
| }), | }), | ||||
| contained: ({ ownerState }) => ({ | |||||
| contained: ({ theme, ownerState }) => ({ | |||||
| ...(ownerState.color === "cancel" && { | ...(ownerState.color === "cancel" && { | ||||
| border: "2px solid #9E9E9E", | border: "2px solid #9E9E9E", | ||||
| boxShadow: "none", | boxShadow: "none", | ||||
| }), | }), | ||||
| '&:active': { | |||||
| backgroundColor: theme.palette[ownerState.color]?.main ?? theme.palette.primary.main, | |||||
| boxShadow: 'none', | |||||
| }, | |||||
| }), | }), | ||||
| outlined: { | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| }, | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiInputAdornment: { | MuiInputAdornment: { | ||||
| @@ -131,6 +146,15 @@ export const PNSPS_THEME = createTheme({ | |||||
| root: { | root: { | ||||
| color: 'rgba(0, 0, 0, 0.8)', | color: 'rgba(0, 0, 0, 0.8)', | ||||
| fontSize: '1.15rem', | fontSize: '1.15rem', | ||||
| '&.Mui-focused': { | |||||
| color: CONTAINED_PRIMARY_BLUE, | |||||
| }, | |||||
| '&.Mui-error': { | |||||
| color: VALIDATION_ERROR_COLOR, | |||||
| }, | |||||
| '&.Mui-focused.Mui-error': { | |||||
| color: VALIDATION_ERROR_COLOR, | |||||
| }, | |||||
| }, | }, | ||||
| }, | }, | ||||
| }, | }, | ||||
| @@ -220,7 +244,7 @@ export const PNSPS_THEME = createTheme({ | |||||
| }, | }, | ||||
| '&.Mui-focused .MuiOutlinedInput-notchedOutline': { | '&.Mui-focused .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.primary.main, | |||||
| borderColor: CONTAINED_PRIMARY_BLUE, | |||||
| borderWidth: 3, // thick focus indicator | borderWidth: 3, // thick focus indicator | ||||
| }, | }, | ||||
| @@ -232,16 +256,16 @@ export const PNSPS_THEME = createTheme({ | |||||
| padding: '5.5px 6px 5.5px 10px', // 7.5-2, 8-2, 7.5-2, 12-2 | padding: '5.5px 6px 5.5px 10px', // 7.5-2, 8-2, 7.5-2, 12-2 | ||||
| }, | }, | ||||
| /* Error state */ | |||||
| /* Error state — same red as FormHelperText (#B00020) */ | |||||
| '&.Mui-error .MuiOutlinedInput-notchedOutline': { | '&.Mui-error .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.error.main, | |||||
| borderColor: VALIDATION_ERROR_COLOR, | |||||
| borderWidth: 1, | borderWidth: 1, | ||||
| }, | }, | ||||
| '&.Mui-error:hover .MuiOutlinedInput-notchedOutline': { | '&.Mui-error:hover .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.error.main, | |||||
| borderColor: VALIDATION_ERROR_COLOR, | |||||
| }, | }, | ||||
| '&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline': { | '&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline': { | ||||
| borderColor: theme.palette.error.main, | |||||
| borderColor: VALIDATION_ERROR_COLOR, | |||||
| borderWidth: 3, | borderWidth: 3, | ||||
| }, | }, | ||||
| @@ -262,6 +286,9 @@ export const PNSPS_THEME = createTheme({ | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiCheckbox: { | MuiCheckbox: { | ||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| /* Default (unchecked) state — darker */ | /* Default (unchecked) state — darker */ | ||||
| @@ -272,14 +299,44 @@ export const PNSPS_THEME = createTheme({ | |||||
| backgroundColor: 'transparent', | backgroundColor: 'transparent', | ||||
| }, | }, | ||||
| /* Checked state */ | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| /* Checked state — same blue as applyPublicNotice button */ | |||||
| '&.Mui-checked': { | '&.Mui-checked': { | ||||
| color: theme.palette.primary.main, | |||||
| color: CONTAINED_PRIMARY_BLUE, | |||||
| }, | }, | ||||
| /* Focus-visible */ | /* Focus-visible */ | ||||
| '&.Mui-focusVisible': { | '&.Mui-focusVisible': { | ||||
| boxShadow: `0 0 0 3px ${alpha(theme.palette.primary.main, 0.35)}`, | |||||
| boxShadow: '0 0 0 3px rgba(25, 118, 210, 0.35)', | |||||
| }, | |||||
| }, | |||||
| }, | |||||
| }, | |||||
| MuiRadio: { | |||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | |||||
| root: { | |||||
| color: '#595959', | |||||
| '&:hover': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| '&.Mui-checked': { | |||||
| color: CONTAINED_PRIMARY_BLUE, | |||||
| }, | |||||
| '&.Mui-focusVisible': { | |||||
| boxShadow: '0 0 0 3px rgba(25, 118, 210, 0.35)', | |||||
| }, | }, | ||||
| }, | }, | ||||
| }, | }, | ||||
| @@ -416,6 +473,9 @@ export const PNSPS_THEME = createTheme({ | |||||
| }, | }, | ||||
| }, | }, | ||||
| MuiTab: { | MuiTab: { | ||||
| defaultProps: { | |||||
| disableRipple: true, | |||||
| }, | |||||
| styleOverrides: { | styleOverrides: { | ||||
| root: { | root: { | ||||
| fontSize: TABLE_FONT_SIZE, // ✅ unchanged | fontSize: TABLE_FONT_SIZE, // ✅ unchanged | ||||
| @@ -435,6 +495,14 @@ export const PNSPS_THEME = createTheme({ | |||||
| color: '#1565C0', | color: '#1565C0', | ||||
| }, | }, | ||||
| '&:active': { | |||||
| backgroundColor: 'transparent', | |||||
| }, | |||||
| '&:active:not(.Mui-selected)': { | |||||
| color: '#424242', | |||||
| }, | |||||
| // ✅ Keyboard TAB focus (visible & accessible) | // ✅ Keyboard TAB focus (visible & accessible) | ||||
| '&.Mui-focusVisible': { | '&.Mui-focusVisible': { | ||||
| outline: '3px solid rgba(21, 101, 192, 0.55)', | outline: '3px solid rgba(21, 101, 192, 0.55)', | ||||
| @@ -54,7 +54,7 @@ export function getStatusByTextEng(status, creditor) { | |||||
| case "submitted": | case "submitted": | ||||
| return getStatusTag({ color: "#8F7200", text: "Submitted" }) // was #F1C40F | return getStatusTag({ color: "#8F7200", text: "Submitted" }) // was #F1C40F | ||||
| case "reviewed": | case "reviewed": | ||||
| return getStatusTag({ color: "#0C489E", text: "Reviewed" }) // unchanged | |||||
| return getStatusTag({ color: "#1976d2", text: "Reviewed" }) // unchanged | |||||
| case "confirmed": | case "confirmed": | ||||
| if (creditor) | if (creditor) | ||||
| return getStatusTag({ color: "#217CBA", text: "Pending Publish" }) // was #3498DB | return getStatusTag({ color: "#217CBA", text: "Pending Publish" }) // was #3498DB | ||||