diff --git a/client/src/App.jsx b/client/src/App.jsx
index 4c0210df..bc19c01b 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -1,9 +1,17 @@
-import "./theme.scss";
+import React from "react";
+import Alert from "./components/common/Alerts";
function App() {
return (
<>
-
🚀 Sanity Check
+ console.log("clicked")}
+ color="yellow"
+ />
>
);
}
diff --git a/client/src/assets/styles/_vars.scss b/client/src/assets/styles/_vars.scss
index e69de29b..acdc3eb9 100644
--- a/client/src/assets/styles/_vars.scss
+++ b/client/src/assets/styles/_vars.scss
@@ -0,0 +1,5 @@
+$--grey-800: #1F2A37;
+$--grey-300: #D1D5DB;
+$--Teal-500: #0694A2;
+$--Red-700: #C81E1E;
+$--Yellow-500: #C27803;
\ No newline at end of file
diff --git a/client/src/assets/styles/components/Alert.scss b/client/src/assets/styles/components/Alert.scss
new file mode 100644
index 00000000..156bc8a7
--- /dev/null
+++ b/client/src/assets/styles/components/Alert.scss
@@ -0,0 +1,142 @@
+@import "../_vars.scss";
+
+.alert-item {
+ display: flex;
+ flex-direction: column;
+
+ width: 340px;
+ height: fit-content;
+ flex-shrink: 0;
+ border-radius: 15px;
+ background: $--grey-800;
+
+ padding: 15px 15px;
+ justify-content: center;
+ align-items: end;
+
+ gap: 10px;
+}
+
+.top-bar {
+ display: flex;
+ flex-direction: row;
+
+ width: 100%;
+ height: fit-content;
+
+ justify-content: space-between;
+ align-items: center;
+}
+
+.title-box {
+ display: flex;
+ flex-direction: row;
+ justify-content: end;
+ align-items: center;
+ height: fit-content;
+}
+
+.right-box {
+ width: 15px;
+ height: 15px;
+ flex-shrink: 0;
+ border-radius: 2px;
+ margin-left: 10px;
+
+ &.red {
+ background: var(--Red-700, #C81E1E);
+ }
+
+ &.main {
+ background: $--grey-300;
+ }
+
+ &.mint-green {
+ background: $--Teal-500;
+ }
+
+ &.yellow {
+ background: $--Yellow-500;
+ }
+
+}
+
+.title {
+ text-align: right;
+ font-family: Noto Kufi Arabic;
+ font-size: 19.2px;
+ font-style: normal;
+ font-weight: 500;
+ line-height: normal;
+
+ &.main {
+ color: $--grey-300;
+ }
+
+ &.mint-green {
+ color: $--Teal-500;
+ }
+
+ &.red {
+ color: $--Red-700;
+
+ }
+
+ &.yellow {
+
+ color: $--Yellow-500;
+ }
+}
+
+.alert-info {
+ height: 65%;
+ text-align: right;
+ color: $--grey-300;
+ font-family: Noto Kufi Arabic;
+ font-size: 13.33px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+}
+
+.alert-btn {
+ display: flex;
+ width: 100px;
+ height: 25px;
+ justify-content: center;
+ align-items: center;
+ gap: 7px;
+ flex-shrink: 0;
+
+ float: right;
+ border-radius: 5px;
+
+ color: $--grey-800;
+
+ font-family: Noto Kufi Arabic;
+ font-size: 13.33px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+
+ &.red {
+ background: var(--Red-700, #C81E1E);
+ }
+
+ &.main {
+ background: $--grey-300;
+ }
+
+ &.mint-green {
+ background: $--Teal-500;
+ }
+
+ &.yellow {
+ background: $--Yellow-500;
+ }
+}
+
+
+.hide {
+ display: none;
+}
\ No newline at end of file
diff --git a/client/src/components/common/Alerts.jsx b/client/src/components/common/Alerts.jsx
new file mode 100644
index 00000000..1d25b7d2
--- /dev/null
+++ b/client/src/components/common/Alerts.jsx
@@ -0,0 +1,38 @@
+import React from "react";
+import "../../assets/styles/components/Alert.scss";
+
+const Alert = ({ title, info, buttontext, Onclick, showRightBox, color }) => {
+ return (
+
+
+
{info}
+
+
+ );
+};
+
+export default Alert;
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000..f759843e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,6 @@
+{
+ "name": "ScoutManagementSystem",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {}
+}