mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-12-14 23:55:47 -07:00
Standardized Aurora Background Across All Pages via App.jsx
This commit is contained in:
@@ -276,7 +276,7 @@ export default function CredentialList({ isAdmin = false }) {
|
|||||||
|
|
||||||
if (!isAdmin) {
|
if (!isAdmin) {
|
||||||
return (
|
return (
|
||||||
<Paper sx={{ m: 2, p: 3, bgcolor: "#1e1e1e" }}>
|
<Paper sx={{ m: 2, p: 3, bgcolor: "transparent" }}>
|
||||||
<Typography variant="h6" sx={{ color: "#ff8080" }}>
|
<Typography variant="h6" sx={{ color: "#ff8080" }}>
|
||||||
Access denied
|
Access denied
|
||||||
</Typography>
|
</Typography>
|
||||||
@@ -293,7 +293,7 @@ export default function CredentialList({ isAdmin = false }) {
|
|||||||
sx={{
|
sx={{
|
||||||
m: 2,
|
m: 2,
|
||||||
p: 0,
|
p: 0,
|
||||||
bgcolor: "#1e1e1e",
|
bgcolor: "transparent",
|
||||||
fontFamily: gridFontFamily,
|
fontFamily: gridFontFamily,
|
||||||
color: "#f5f7fa",
|
color: "#f5f7fa",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
|
|||||||
const paperSx = {
|
const paperSx = {
|
||||||
m: 2,
|
m: 2,
|
||||||
p: 0,
|
p: 0,
|
||||||
bgcolor: "#1e1e1e",
|
bgcolor: "transparent",
|
||||||
color: "#f5f7fa",
|
color: "#f5f7fa",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
@@ -147,7 +147,7 @@ export default function GithubAPIToken({ isAdmin = false }) {
|
|||||||
|
|
||||||
if (!isAdmin) {
|
if (!isAdmin) {
|
||||||
return (
|
return (
|
||||||
<Paper sx={{ m: 2, p: 3, bgcolor: "#1e1e1e" }}>
|
<Paper sx={{ m: 2, p: 3, bgcolor: "transparent" }}>
|
||||||
<Typography variant="h6" sx={{ color: "#ff8080" }}>
|
<Typography variant="h6" sx={{ color: "#ff8080" }}>
|
||||||
Access denied
|
Access denied
|
||||||
</Typography>
|
</Typography>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import FilterListIcon from "@mui/icons-material/FilterList";
|
|||||||
import { ConfirmDeleteDialog } from "../Dialogs.jsx";
|
import { ConfirmDeleteDialog } from "../Dialogs.jsx";
|
||||||
|
|
||||||
/* ---------- Formatting helpers to keep this page in lockstep with Device_List ---------- */
|
/* ---------- Formatting helpers to keep this page in lockstep with Device_List ---------- */
|
||||||
const tablePaperSx = { m: 2, p: 0, bgcolor: "#1e1e1e" };
|
const tablePaperSx = { m: 2, p: 0, bgcolor: "transparent" };
|
||||||
const tableSx = {
|
const tableSx = {
|
||||||
minWidth: 820,
|
minWidth: 820,
|
||||||
"& th, & td": {
|
"& th, & td": {
|
||||||
|
|||||||
@@ -322,7 +322,8 @@ const defaultColDef = useMemo(
|
|||||||
m: 0,
|
m: 0,
|
||||||
p: 0,
|
p: 0,
|
||||||
minHeight: "100%",
|
minHeight: "100%",
|
||||||
backgroundImage: AURORA_SHELL.background,
|
backgroundImage: "none",
|
||||||
|
backgroundColor: "transparent",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
display: "flex",
|
display: "flex",
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ export default function PageTemplate() {
|
|||||||
sx={{
|
sx={{
|
||||||
m: 0,
|
m: 0,
|
||||||
p: 0,
|
p: 0,
|
||||||
background: AURORA_SHELL.background,
|
background: "transparent",
|
||||||
border: "none",
|
border: "none",
|
||||||
boxShadow: "none",
|
boxShadow: "none",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export default function ServerInfo({ isAdmin = false }) {
|
|||||||
if (!isAdmin) return null;
|
if (!isAdmin) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Paper sx={{ m: 2, p: 0, bgcolor: "#1e1e1e" }} elevation={2}>
|
<Paper sx={{ m: 2, p: 0, bgcolor: "transparent" }} elevation={2}>
|
||||||
<Box sx={{ p: 2 }}>
|
<Box sx={{ p: 2 }}>
|
||||||
<Typography variant="h6" sx={{ color: "#58a6ff", mb: 1 }}>Server Info</Typography>
|
<Typography variant="h6" sx={{ color: "#58a6ff", mb: 1 }}>Server Info</Typography>
|
||||||
<Typography sx={{ color: '#aaa', mb: 1 }}>Basic server information will appear here for informative and debug purposes.</Typography>
|
<Typography sx={{ color: '#aaa', mb: 1 }}>Basic server information will appear here for informative and debug purposes.</Typography>
|
||||||
|
|||||||
@@ -95,6 +95,11 @@ const darkTheme = createTheme({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const APP_AURORA_BACKGROUND =
|
||||||
|
"radial-gradient(120% 120% at 0% 0%, rgba(76, 186, 255, 0.16), transparent 55%), " +
|
||||||
|
"radial-gradient(120% 120% at 100% 0%, rgba(214, 130, 255, 0.18), transparent 60%), " +
|
||||||
|
"linear-gradient(180deg, #040711 0%, #050816 45%, #050816 100%)";
|
||||||
|
|
||||||
const LOCAL_STORAGE_KEY = "borealis_persistent_state";
|
const LOCAL_STORAGE_KEY = "borealis_persistent_state";
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
@@ -1333,7 +1338,19 @@ const LOCAL_STORAGE_KEY = "borealis_persistent_state";
|
|||||||
return (
|
return (
|
||||||
<ThemeProvider theme={darkTheme}>
|
<ThemeProvider theme={darkTheme}>
|
||||||
<CssBaseline />
|
<CssBaseline />
|
||||||
<Box sx={{ width: "100vw", height: "100vh", display: "flex", flexDirection: "column", overflow: "hidden" }}>
|
<Box
|
||||||
|
sx={{
|
||||||
|
width: "100vw",
|
||||||
|
height: "100vh",
|
||||||
|
display: "flex",
|
||||||
|
flexDirection: "column",
|
||||||
|
overflow: "hidden",
|
||||||
|
background: APP_AURORA_BACKGROUND,
|
||||||
|
backgroundRepeat: "no-repeat",
|
||||||
|
backgroundSize: "cover",
|
||||||
|
backgroundColor: "#040711",
|
||||||
|
}}
|
||||||
|
>
|
||||||
{/* Aurora Gradient Header (darker near the logo, brighter to the right) */}
|
{/* Aurora Gradient Header (darker near the logo, brighter to the right) */}
|
||||||
<AppBar
|
<AppBar
|
||||||
position="static"
|
position="static"
|
||||||
@@ -1451,7 +1468,18 @@ const LOCAL_STORAGE_KEY = "borealis_persistent_state";
|
|||||||
</Toolbar>
|
</Toolbar>
|
||||||
</AppBar>
|
</AppBar>
|
||||||
|
|
||||||
<Box sx={{ display: "flex", flexGrow: 1, overflow: "auto", minHeight: 0 }}>
|
<Box
|
||||||
|
sx={{
|
||||||
|
display: "flex",
|
||||||
|
flexGrow: 1,
|
||||||
|
overflow: "auto",
|
||||||
|
minHeight: 0,
|
||||||
|
background: APP_AURORA_BACKGROUND,
|
||||||
|
backgroundRepeat: "no-repeat",
|
||||||
|
backgroundSize: "cover",
|
||||||
|
backgroundColor: "#040711",
|
||||||
|
}}
|
||||||
|
>
|
||||||
<NavigationSidebar currentPage={currentPage} onNavigate={navigateTo} isAdmin={isAdmin} />
|
<NavigationSidebar currentPage={currentPage} onNavigate={navigateTo} isAdmin={isAdmin} />
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
|
|||||||
@@ -588,8 +588,7 @@ export default function AssemblyList({ onOpenWorkflow, onOpenScript, userRole =
|
|||||||
sx={{
|
sx={{
|
||||||
m: 0, // Full-bleed to parent container
|
m: 0, // Full-bleed to parent container
|
||||||
p: 0,
|
p: 0,
|
||||||
background:
|
background: "transparent",
|
||||||
"radial-gradient(120% 120% at 0% 0%, rgba(76, 186, 255, 0.16), transparent 55%), radial-gradient(120% 120% at 100% 0%, rgba(214, 130, 255, 0.18), transparent 60%), #040711",
|
|
||||||
border: "none",
|
border: "none",
|
||||||
boxShadow: "none",
|
boxShadow: "none",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
|
|||||||
@@ -415,7 +415,7 @@ export default function DeviceApprovals() {
|
|||||||
height: "100%",
|
height: "100%",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
||||||
background: MAGIC_UI.shellBg,
|
background: "transparent",
|
||||||
boxShadow: "0 25px 80px rgba(6, 12, 30, 0.8)",
|
boxShadow: "0 25px 80px rgba(6, 12, 30, 0.8)",
|
||||||
overflow: "hidden",
|
overflow: "hidden",
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1510,7 +1510,7 @@ export default function DeviceDetails({ device, onBack, onQuickJobLaunch }) {
|
|||||||
m: 0,
|
m: 0,
|
||||||
p: { xs: 2, md: 3 },
|
p: { xs: 2, md: 3 },
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
background: MAGIC_UI.shellBg,
|
background: "transparent",
|
||||||
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
||||||
boxShadow: MAGIC_UI.glow,
|
boxShadow: MAGIC_UI.glow,
|
||||||
display: "flex",
|
display: "flex",
|
||||||
|
|||||||
@@ -1578,7 +1578,7 @@ export default function DeviceList({
|
|||||||
height: "100%",
|
height: "100%",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
||||||
background: MAGIC_UI.shellBg,
|
background: "transparent",
|
||||||
boxShadow: MAGIC_UI.glow,
|
boxShadow: MAGIC_UI.glow,
|
||||||
position: "relative",
|
position: "relative",
|
||||||
overflow: "hidden",
|
overflow: "hidden",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ ModuleRegistry.registerModules([AllCommunityModule]);
|
|||||||
const AURORA_SHELL = {
|
const AURORA_SHELL = {
|
||||||
background:
|
background:
|
||||||
"radial-gradient(120% 120% at 0% 0%, rgba(76, 186, 255, 0.16), transparent 55%), " +
|
"radial-gradient(120% 120% at 0% 0%, rgba(76, 186, 255, 0.16), transparent 55%), " +
|
||||||
"radial-gradient(120% 120% at 100% 0%, rgba(214, 130, 255, 0.18), transparent 60%), #040711",
|
"radial-gradient(120% 120% at 100% 0%, rgba(214, 130, 255, 0.18), transparent 60%), " +
|
||||||
|
"linear-gradient(180deg, #040711 0%, #050816 45%, #050816 100%)",
|
||||||
text: "#e2e8f0",
|
text: "#e2e8f0",
|
||||||
subtext: "#94a3b8",
|
subtext: "#94a3b8",
|
||||||
border: "rgba(148,163,184,0.35)",
|
border: "rgba(148,163,184,0.35)",
|
||||||
@@ -402,13 +403,9 @@ export default function DeviceFilterEditor({ initialFilter, onCancel, onSaved })
|
|||||||
display: "inline-flex",
|
display: "inline-flex",
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
gap: 0.75,
|
gap: 0.75,
|
||||||
px: 1.5,
|
|
||||||
py: 0.4,
|
|
||||||
borderRadius: 999,
|
|
||||||
backgroundColor: theme.background,
|
|
||||||
color: theme.color,
|
color: theme.color,
|
||||||
fontWeight: 600,
|
fontWeight: 700,
|
||||||
fontSize: "0.9rem",
|
fontSize: "0.95rem",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Icon sx={{ fontSize: 18 }} />
|
<Icon sx={{ fontSize: 18 }} />
|
||||||
@@ -758,14 +755,14 @@ export default function DeviceFilterEditor({ initialFilter, onCancel, onSaved })
|
|||||||
elevation={0}
|
elevation={0}
|
||||||
sx={{
|
sx={{
|
||||||
minHeight: "100vh",
|
minHeight: "100vh",
|
||||||
background: AURORA_SHELL.background,
|
backgroundColor: "transparent",
|
||||||
backgroundRepeat: "no-repeat",
|
|
||||||
backgroundSize: "100% 520px",
|
|
||||||
backgroundAttachment: "scroll",
|
|
||||||
backgroundColor: "#040711",
|
|
||||||
color: AURORA_SHELL.text,
|
color: AURORA_SHELL.text,
|
||||||
p: 3,
|
p: 3,
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
|
display: "flex",
|
||||||
|
flexDirection: "column",
|
||||||
|
gap: 3,
|
||||||
|
pb: 6,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box sx={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", mb: 3 }}>
|
<Box sx={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", mb: 3 }}>
|
||||||
@@ -852,6 +849,7 @@ export default function DeviceFilterEditor({ initialFilter, onCancel, onSaved })
|
|||||||
display: "flex",
|
display: "flex",
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
gap: 2.75,
|
gap: 2.75,
|
||||||
|
flex: 1,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
|
<Box sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
|
||||||
|
|||||||
@@ -123,21 +123,14 @@ function FilterTypePill({ type }) {
|
|||||||
const meta = FILTER_TYPE_META[key];
|
const meta = FILTER_TYPE_META[key];
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
|
component="span"
|
||||||
sx={{
|
sx={{
|
||||||
display: "inline-flex",
|
display: "inline-flex",
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
px: 1.1,
|
fontWeight: 700,
|
||||||
py: 0.25,
|
fontSize: "0.9rem",
|
||||||
borderRadius: 8,
|
|
||||||
minWidth: 58,
|
|
||||||
justifyContent: "center",
|
|
||||||
fontWeight: 600,
|
|
||||||
fontSize: "0.72rem",
|
|
||||||
letterSpacing: 0.2,
|
letterSpacing: 0.2,
|
||||||
color: meta.textColor,
|
color: meta.textColor,
|
||||||
border: `1px solid ${meta.borderColor}`,
|
|
||||||
backgroundColor: meta.backgroundColor,
|
|
||||||
textTransform: "none",
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{meta.label}
|
{meta.label}
|
||||||
@@ -326,7 +319,7 @@ export default function DeviceFilterList({ onCreateFilter, onEditFilter, refresh
|
|||||||
sx={{
|
sx={{
|
||||||
height: "100vh",
|
height: "100vh",
|
||||||
minHeight: "100vh",
|
minHeight: "100vh",
|
||||||
background: AURORA_SHELL.background,
|
backgroundColor: "transparent",
|
||||||
color: AURORA_SHELL.text,
|
color: AURORA_SHELL.text,
|
||||||
p: 3,
|
p: 3,
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ export default function SSHDevices({ type = "ssh" }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Paper sx={{ m: 2, p: 0, bgcolor: "#1e1e1e" }} elevation={2}>
|
<Paper sx={{ m: 2, p: 0, bgcolor: "transparent" }} elevation={2}>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
|
|||||||
@@ -2862,7 +2862,7 @@ const heroTiles = useMemo(() => {
|
|||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
gap: 3,
|
gap: 3,
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
background: MAGIC_UI.shellBg,
|
background: "transparent",
|
||||||
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
||||||
boxShadow: MAGIC_UI.glow,
|
boxShadow: MAGIC_UI.glow,
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -699,7 +699,7 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
sx={{
|
sx={{
|
||||||
m: 0,
|
m: 0,
|
||||||
p: 0,
|
p: 0,
|
||||||
background: AURORA_SHELL.background,
|
background: "transparent",
|
||||||
border: "none",
|
border: "none",
|
||||||
boxShadow: "none",
|
boxShadow: "none",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ export default function SiteList({ onOpenDevicesForSite }) {
|
|||||||
height: "100%",
|
height: "100%",
|
||||||
borderRadius: 0,
|
borderRadius: 0,
|
||||||
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
border: `1px solid ${MAGIC_UI.panelBorder}`,
|
||||||
background: MAGIC_UI.shellBg,
|
background: "transparent",
|
||||||
boxShadow: "0 25px 80px rgba(6, 12, 30, 0.8)",
|
boxShadow: "0 25px 80px rgba(6, 12, 30, 0.8)",
|
||||||
overflow: "hidden",
|
overflow: "hidden",
|
||||||
}}
|
}}
|
||||||
|
|||||||
Reference in New Issue
Block a user