Merge branch 'develop' into feat/fe/statuspage-3

This commit is contained in:
Shemy Gan committed 2024-12-10 15:00:26 -05:00
commit 1ab4bd7275
12 files changed
+77 -49

No files matched your search

+23 -23
View File
@@ -355,9 +355,9 @@
}
},
"node_modules/@emotion/cache": {
"version": "11.13.5",
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.5.tgz",
"integrity": "sha512-Z3xbtJ+UcK76eWkagZ1onvn/wAVb1GOMuR15s30Fm2wrMgC7jzpnO2JZXr4eujTTqoQFUrZIw/rT0c6Zzjca1g==",
"version": "11.14.0",
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz",
"integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
"license": "MIT",
"dependencies": {
"@emotion/memoize": "^0.9.0",
@@ -389,16 +389,16 @@
"license": "MIT"
},
"node_modules/@emotion/react": {
"version": "11.13.5",
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.5.tgz",
"integrity": "sha512-6zeCUxUH+EPF1s+YF/2hPVODeV/7V07YU5x+2tfuRL8MdW6rv5vb2+CBEGTGwBdux0OIERcOS+RzxeK80k2DsQ==",
"version": "11.14.0",
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
"integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.13.5",
"@emotion/cache": "^11.13.5",
"@emotion/cache": "^11.14.0",
"@emotion/serialize": "^1.3.3",
"@emotion/use-insertion-effect-with-fallbacks": "^1.1.0",
"@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
"@emotion/utils": "^1.4.2",
"@emotion/weak-memoize": "^0.4.0",
"hoist-non-react-statics": "^3.3.1"
@@ -432,16 +432,16 @@
"license": "MIT"
},
"node_modules/@emotion/styled": {
"version": "11.13.5",
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.5.tgz",
"integrity": "sha512-gnOQ+nGLPvDXgIx119JqGalys64lhMdnNQA9TMxhDA4K0Hq5+++OE20Zs5GxiCV9r814xQ2K5WmtofSpHVW6BQ==",
"version": "11.14.0",
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz",
"integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.13.5",
"@emotion/is-prop-valid": "^1.3.0",
"@emotion/serialize": "^1.3.3",
"@emotion/use-insertion-effect-with-fallbacks": "^1.1.0",
"@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
"@emotion/utils": "^1.4.2"
},
"peerDependencies": {
@@ -461,9 +461,9 @@
"license": "MIT"
},
"node_modules/@emotion/use-insertion-effect-with-fallbacks": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz",
"integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz",
"integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==",
"license": "MIT",
"peerDependencies": {
"react": ">=16.8.0"
@@ -2378,9 +2378,9 @@
"license": "MIT"
},
"node_modules/@types/react": {
"version": "18.3.13",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.13.tgz",
"integrity": "sha512-ii/gswMmOievxAJed4PAHT949bpYjPKXvXo1v6cRB/kqc2ZR4n+SgyCyvyc5Fec5ez8VnUumI1Vk7j6fRyRogg==",
"version": "18.3.14",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.14.tgz",
"integrity": "sha512-NzahNKvjNhVjuPBQ+2G7WlxstQ+47kXZNHlUvFakDViuIEfGY926GqhMueQFZ7woG+sPiQKlF36XfrIUVSUfFg==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -2388,13 +2388,13 @@
}
},
"node_modules/@types/react-dom": {
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==",
"version": "18.3.3",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.3.tgz",
"integrity": "sha512-uTYkxTLkYp41nq/ULXyXMtkNT1vu5fXJoqad6uTNCOGat5t9cLgF4vMNLBXsTOXpdOI44XzKPY1M5RRm0bQHuw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/react": "*"
"peerDependencies": {
"@types/react": "^18.0.0"
}
},
"node_modules/@types/react-transition-group": {
@@ -49,6 +49,7 @@ const Select = ({
onBlur,
sx,
name = "",
labelControlSpacing = 2,
}) => {
const theme = useTheme();
const itemStyles = {
@@ -57,10 +58,10 @@ const Select = ({
borderRadius: theme.shape.borderRadius,
margin: theme.spacing(2),
};
return (
<Stack
gap={theme.spacing(2)}
gap={theme.spacing(labelControlSpacing)}
className="select-wrapper"
>
{label && (
@@ -144,6 +145,7 @@ Select.propTypes = {
onChange: PropTypes.func.isRequired,
onBlur: PropTypes.func,
sx: PropTypes.object,
labelControlSpacing: PropTypes.number,
};
export default Select;
+5 -1
View File
@@ -270,7 +270,11 @@ function Sidebar() {
Menu
</ListSubheader>
}
sx={{ px: theme.spacing(6) }}
sx={{
px: theme.spacing(6),
height: "100%",
overflow: "hidden"
}}
>
{menu.map((item) =>
item.path ? (
@@ -28,6 +28,9 @@ const PasswordPanel = () => {
const theme = useTheme();
const dispatch = useDispatch();
const SPACING_GAP = theme.spacing(12);
//redux state
const { authToken, isLoading } = useSelector((state) => state.auth);
@@ -139,7 +142,7 @@ const PasswordPanel = () => {
direction="row"
justifyContent={"flex-start"}
alignItems={"center"}
gap={theme.spacing(8)}
gap={SPACING_GAP}
flexWrap={"wrap"}
>
<Typography
@@ -164,7 +167,7 @@ const PasswordPanel = () => {
<Stack
direction="row"
alignItems={"center"}
gap={theme.spacing(8)}
gap={SPACING_GAP}
flexWrap={"wrap"}
>
<Typography
@@ -190,7 +193,7 @@ const PasswordPanel = () => {
<Stack
direction="row"
alignItems={"center"}
gap={theme.spacing(8)}
gap={SPACING_GAP}
flexWrap={"wrap"}
>
<Typography
@@ -29,6 +29,8 @@ import Dialog from "../../Dialog";
const ProfilePanel = () => {
const theme = useTheme();
const dispatch = useDispatch();
const SPACING_GAP = theme.spacing(12);
//redux state
const { user, authToken, isLoading } = useSelector((state) => state.auth);
@@ -223,9 +225,9 @@ const ProfilePanel = () => {
className="edit-profile-form"
noValidate
spellCheck="false"
gap={theme.spacing(20)}
gap={SPACING_GAP}
>
<Stack direction="row">
<Stack direction="row" gap={SPACING_GAP}>
<Box flex={0.9}>
<Typography component="h1">First name</Typography>
</Box>
@@ -240,7 +242,7 @@ const ProfilePanel = () => {
flex={1}
/>
</Stack>
<Stack direction="row">
<Stack direction="row" gap={SPACING_GAP}>
<Box flex={0.9}>
<Typography component="h1">Last name</Typography>
</Box>
@@ -255,7 +257,7 @@ const ProfilePanel = () => {
flex={1}
/>
</Stack>
<Stack direction="row">
<Stack direction="row" gap={SPACING_GAP}>
<Stack flex={0.9}>
<Typography component="h1">Email</Typography>
<Typography
@@ -275,7 +277,7 @@ const ProfilePanel = () => {
flex={1}
/>
</Stack>
<Stack direction="row">
<Stack direction="row" gap={SPACING_GAP}>
<Stack flex={0.9}>
<Typography component="h1">Your photo</Typography>
<Typography
@@ -30,6 +30,8 @@ const TeamPanel = () => {
const theme = useTheme();
const SPACING_GAP = theme.spacing(12);
const { authToken, user } = useSelector((state) => state.auth);
//TODO
// const [orgStates, setOrgStates] = useState({
@@ -228,7 +230,7 @@ const TeamPanel = () => {
{/* <Stack component="form">
<Box sx={{ alignSelf: "flex-start" }}>
<Typography component="h1">Organization name</Typography>
</Box>
</Box>
<Stack
direction="row"
justifyContent="flex-end"
@@ -275,7 +277,7 @@ const TeamPanel = () => {
component="form"
noValidate
spellCheck="false"
gap={theme.spacing(12)}
gap={SPACING_GAP}
>
<Typography component="h1">Team members</Typography>
<Stack
@@ -339,7 +341,7 @@ const TeamPanel = () => {
theme={theme}
>
<TextInput
marginBottom={theme.spacing(12)}
marginBottom={SPACING_GAP}
type="email"
id="input-team-member"
placeholder="Email"
@@ -270,6 +270,7 @@ const AdvancedSettings = ({ isAdmin }) => {
onChange={handleJWTTTLUnits}
onBlur={handleBlur}
error={errors.jwtTTLUnits}
labelControlSpacing={0}
/>
</Stack>
<TextInput
@@ -210,8 +210,8 @@ const CreateInfrastructureMonitor = () => {
<Box className="create-infrastructure-monitor">
<Breadcrumbs
list={[
{ name: "Infrastructure monitors", path: "infrastructure" },
{ name: "create", path: `infrastructure/create` },
{ name: "Infrastructure monitors", path: "/infrastructure" },
{ name: "create", path: `/infrastructure/create` },
]}
/>
<Stack
+5
View File
@@ -237,6 +237,11 @@ const baseTheme = (palette) => ({
WebkitTextFillColor: "unset",
},
},
"& .MuiInputBase-input:-webkit-autofill": {
transition: "background-color 5000s ease-in-out 0s",
WebkitBoxShadow: `0 0 0px 1000px ${theme.palette.background.main} inset`,
WebkitTextFillColor: theme.palette.text.primary,
},
"& .MuiInputBase-input.MuiOutlinedInput-input": {
padding: "0 var(--env-var-spacing-1-minus) !important",
},
+14 -5
View File
@@ -55,6 +55,14 @@ We've just launched our [Discussions](https://github.com/bluewave-labs/bluewave-
- DNS monitoring
- SSL monitoring
## 🏗️ Screenshots
![Group 3765](https://github.com/user-attachments/assets/8e8144f2-a769-4707-8ea1-99cf758284a8)
![Group 3768](https://github.com/user-attachments/assets/05aed2f2-2cf7-487f-879b-cf8bfb0e9241)
![Group 3768-1](https://github.com/user-attachments/assets/d4ee4bcf-4d69-4e4a-9bce-fd3541129c24)
## 🏗️ Tech stack
- [ReactJs](https://react.dev/)
@@ -68,11 +76,12 @@ We pride ourselves on building strong connections with contributors at every lev
Here's how you can contribute:
- Check [Contributor's guideline](https://github.com/bluewave-labs/bluewave-uptime/blob/master/CONTRIBUTING.md).
- Have a look at our Figma designs [here](https://www.figma.com/design/RPSfaw66HjzSwzntKcgDUV/Uptime-Genie?node-id=0-1&t=WqOFv9jqNTFGItpL-1). We encourage you to copy to your own Figma page, then work on it as it is read-only.
- Open an issue if you believe you've encountered a bug
- Check for good-first-issue's if you are a newcomer
- Make a pull request to add new features/make quality-of-life improvements/fix bugs.
0. Star this repo :)
1. Check [Contributor's guideline](https://github.com/bluewave-labs/bluewave-uptime/blob/master/CONTRIBUTING.md).
2. Have a look at our Figma designs [here](https://www.figma.com/design/RPSfaw66HjzSwzntKcgDUV/Uptime-Genie?node-id=0-1&t=WqOFv9jqNTFGItpL-1). We encourage you to copy to your own Figma page, then work on it as it is read-only.
3. Open an issue if you believe you've encountered a bug
4. Check for good-first-issue's if you are a newcomer
5. Make a pull request to add new features/make quality-of-life improvements/fix bugs.
<a href="https://github.com/bluewave-labs/bluewave-uptime/graphs/contributors">
<img src="https://contrib.rocks/image?repo=bluewave-labs/bluewave-uptime" />
+4 -4
View File
@@ -11,7 +11,7 @@
"dependencies": {
"axios": "^1.7.2",
"bcrypt": "^5.1.1",
"bullmq": "5.31.1",
"bullmq": "5.33.0",
"cors": "^2.8.5",
"dockerode": "4.0.2",
"dotenv": "^16.4.5",
@@ -1218,9 +1218,9 @@
}
},
"node_modules/bullmq": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.31.1.tgz",
"integrity": "sha512-otkHjMd0pscUgqDBTjGchdBCavB0ZQRNN/YLsJ4kKw0rf1NpXJOyORjOQVkypLffu/06IuXII3ZN+kJqD+Wo8g==",
"version": "5.33.0",
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.33.0.tgz",
"integrity": "sha512-dICdidv1x+umYyA0DqlnCPa1sgHjtHo6gzyww5E10OQq+k9saT2B/rIP8pQbo8HhN/fRViYjJP/+7s8594/xdw==",
"license": "MIT",
"dependencies": {
"cron-parser": "^4.6.0",
+1 -1
View File
@@ -14,7 +14,7 @@
"dependencies": {
"axios": "^1.7.2",
"bcrypt": "^5.1.1",
"bullmq": "5.31.1",
"bullmq": "5.33.0",
"cors": "^2.8.5",
"dockerode": "4.0.2",
"dotenv": "^16.4.5",