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 ( +
+
+ + + + +
+ {title} +
+
+
+ {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": {} +}