Compare commits

..

No commits in common. "1d31d5eb34022c2f7c28e8e10a3bb8e80c124c48" and "a05bb8b46d5d4eeb4846da90ed3d7e3883b11221" have entirely different histories.

13 changed files with 43 additions and 268 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View File

@ -1,15 +0,0 @@
import { Button } from 'antd';
import { useTranslation } from 'react-i18next';
import { HiOutlineTrash } from "react-icons/hi2";
const TrashButton = ({name,onClick,icon = true}:{name:string,onClick?:() =>void,icon?:boolean}) => {
const {t} = useTranslation();
return (
<Button className='trash_button' onClick={onClick}>
{ icon ? <HiOutlineTrash/> : "" }
{t(`header.${name}`)}
</Button>
)
}
export default TrashButton

View File

@ -1,26 +1,20 @@
import React from "react";
import { useNavigate } from "react-router-dom";
import ProtectedRouteProvider from "../../lib/ProtectedRouteProvider";
import { useTranslation } from "react-i18next";
import { Button } from "antd";
import { FaArrowRight } from "react-icons/fa6";
function NotFoundPage() {
const navigate = useNavigate();
const {t} = useTranslation();
return (
<ProtectedRouteProvider className="not_found_page">
<div className="not_found_container">
<img src="/App/Error.png" alt="Error 404" width={600}/>
<h3>{t("practical.sorry_something_went_wrong")}</h3>
<p>{t("practical.error_404_Page_not_found._Sorry,_the_page_you_are_looking_for_does_not_exist")}</p>
<Button className="not_found_button" onClick={() => navigate("/", { replace: true })}>
<FaArrowRight/>
{t("practical.return_to_the_dashboard")}
</Button>
<div className="container-not-found">
<p>
404 <h6>|</h6>This page could not be found
</p>
<div>
{" "}
<button onClick={() => navigate("/", { replace: true })}>Home</button>
</div>
</div>
</ProtectedRouteProvider>
);
}

View File

@ -1,29 +0,0 @@
import TrashButton from "../../../Components/Ui/TrashButton"
import { notifications } from "../../../types/Notifications"
const Card = ({name,date,image,id,pop,setPop}:notifications) => {
const handleDeleteOne = () => {
setPop(pop?.filter((item:any)=> item?.id !== id))
}
return (
<div className="notification_card" key={id}>
<div>
<img src={image} alt={name} />
<div>
<h5>{name}</h5>
<p>{date}</p>
</div>
</div>
<div>
<TrashButton
onClick={handleDeleteOne}
name="delete"
icon={false}/>
</div>
</div>
)
}
export default Card

View File

@ -1,16 +0,0 @@
import { notifications } from "../../../types/Notifications";
export const NotificationArray:notifications[] = [
{id:1,name:"تم إضافة تحصيل جديد بواسطة شاون",date:"1/10/2010",image:"/Image/faker_user.png"},
{id:2,name:"moa",date:"منذ ساعة",image:"/Image/faker_user.png"},
{id:3,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
{id:4,name:"hello",date:"1/10/2010",image:"/Image/faker_user.png"},
{id:5,name:"nop",date:"1/10/2010",image:"/Image/faker_user.png"},
{id:6,name:"hey",date:"1/10/2010",image:"/Image/faker_user.png"},
// {id:2,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
// {id:2,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
// {id:2,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
// {id:2,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
// {id:2,name:"moaz",date:"1/10/2010",image:"/Image/faker_user.png"},
]

View File

@ -1,41 +0,0 @@
import { Divider } from 'antd';
import { useTranslation } from 'react-i18next'
import { NotificationArray } from './NotificationArray';
import { notifications } from '../../../types/Notifications';
import Card from './Card';
import TrashButton from '../../../Components/Ui/TrashButton';
import { useState } from 'react';
const Page = () => {
const {t} = useTranslation();
const [pop, setPop] = useState(NotificationArray)
const handleDeleteAll = () => {
setPop([])
}
return (
<div className='notification_container'>
<div className='notification_header'>
<h4>{t("header.notifications")}</h4>
<TrashButton
onClick={handleDeleteAll}
name='delete_all'/>
</div>
<Divider/>
<div className="notification_body">
{pop?.map((not:notifications)=>(
<Card
id={not?.id}
name={not?.name}
date={not?.date}
pop={pop}
setPop={setPop}
image={not?.image}/>
))}
</div>
</div>
)
}
export default Page

View File

@ -34,7 +34,6 @@ const User = React.lazy(() => import("./Pages/Admin/User/Page"));
const Param = React.lazy(() => import("./Pages/Admin/Param/Page"));
const QuestionBank = React.lazy(() => import("./Pages/Admin/QuestionBank/Page"));
const Notifications = React.lazy(() => import("./Pages/Admin/Notifications/Page"));
/// RESELLER ///
const Student_Package = React.lazy(
@ -142,16 +141,6 @@ export const menuItems: TMenuItem[] = [
abilities_value: ABILITIES_VALUES_ENUM.INDEX,
prevPath: 0,
},
{
header: "page_header.notifications",
element: <Notifications />,
icon: <FaSellcast />,
text: "sidebar.notifications",
path: `/${ABILITIES_ENUM?.NOTIFICATIONS}`,
abilities: ABILITIES_ENUM?.NOTIFICATIONS,
abilities_value: ABILITIES_VALUES_ENUM.INDEX,
prevPath: 0,
},
/// RESELLER /////

View File

@ -37,66 +37,41 @@ svg {
}
.not_found_page {
background: black;
height: 100vh;
display: flex;
justify-content: center;
text-align: center;
padding-top: 30px;
.not_found_container{
display: flex; flex-direction: column;
align-items: center;
gap: 20px;
p {
color: #6A7287;
font-size: 17px;
color: white;
display: inline;
}
h3{
font-weight: 900;
h6 {
display: inline;
margin-inline: 20px;
height: 140px !important;
width: 20px;
}
.not_found_button{
@include Flex;
width: 240px;
padding: 24px 22px ;
background: var(--primary);
color: var(--white);
.container-not-found {
display: flex;
flex-direction: column;
align-items: center;
div {
display: flex;
justify-content: center;
align-items: center;
}
button {
border: none;
transition: ease-in-out .3s;
&:hover{
transform: scale(1.05);
background: var(--primary);
color: var(--white);
}
}
}
// p {
// color: white;
// display: inline;
// }
// h6 {
// display: inline;
// margin-inline: 20px;
// height: 140px !important;
outline: none;
padding: 8px;
border-radius: 10px;
// width: 20px;
// }
// .container-not-found {
// display: flex;
// flex-direction: column;
// align-items: center;
// div {
// display: flex;
// justify-content: center;
// align-items: center;
// }
// button {
// border: none;
// outline: none;
// padding: 8px;
// border-radius: 10px;
// margin-inline: 30px;
// }
// }
margin-inline: 30px;
}
}
}
/* Username */

View File

@ -11,4 +11,3 @@
@import "./exercise.scss";
@import './reSeller.scss';
@import './InfoCard.scss';
@import './notifications.scss';

View File

@ -1,65 +0,0 @@
.notification_container{
display: flex; flex-direction: column;
width: 96%;
margin-inline: auto;
padding: 30px 20px ;
margin-block: 20px 50px;
box-shadow: 2px 2px 8px 3px rgba(0, 0, 0, 0.1);
border: 1.5px solid #E9EDF4;
border-radius: 10px;
.notification_header{
display: flex;align-items: center;justify-content: space-between;
padding-inline: 20px;
}
.notification_body{
display: flex; flex-direction: column;
justify-content: center;
padding-inline: 10px ;
gap: 30px;
// transition: ease-in-out .4s;
.notification_card{
display: flex; justify-content: space-between;
padding: 20px 20px;
box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, .05);
border: 1.5px solid #E9EDF4;
border-radius: 10px;
cursor: pointer;
>div{
display: flex;align-items: center;
gap: 14px;
img{
width: 70px;
}
p{
margin-top: 12px;
color: #6A7287;
}
.trash_button{
visibility: hidden;
}
}
&:hover{
.trash_button{
visibility: visible;
}
}
}
}
}
.trash_button{
background: #E93553;
@include Flex;
color: var(--white);
padding: 20px 23px ;
border: none !important;
svg{
font-size: 22px;
}
&:hover{
background: #E93553 !important;
color: var(--white) !important;
border: none !important;
}
}

View File

@ -47,8 +47,7 @@ export enum ABILITIES_ENUM {
User = "user",
RE_SELLER = "reseller",
Student_Package = "student_package",
QUESTION_BANK = "QuestionBank",
NOTIFICATIONS = "Notifications",
QUESTION_BANK = "QuestionBank"
////
}

View File

@ -127,10 +127,7 @@
"attachment": "المرفق",
"subject_of_class": "مواد الصف",
"this_will_un_do_all_your_changes":"سوف يؤدي هذا إلى إلغاء جميع تغييراتك",
"edit_question":"تعديل سؤال",
"notifications":"الإشعارات",
"delete_all":" حذف الكل",
"delete":"حذف"
"edit_question":"تعديل سؤال"
},
"columns": {
"id": "الرقم التعريفي",
@ -260,10 +257,7 @@
"collections":"التحصيلات",
"collecting_an_amount":"تحصيل مبلغ",
"governorate":"المحافظة",
"id_photo":"صورة الهوية",
"sorry_something_went_wrong":"عفوا ، حدث خطأ ما",
"error_404_Page_not_found._Sorry,_the_page_you_are_looking_for_does_not_exist":"خطأ 404 لم يتم العثور على الصفحة. عذرا الصفحة التي تبحث عنها غير موجودة ",
"return_to_the_dashboard":"العودة إلى لوحة القيادة"
"id_photo":"صورة الهوية"
},
"Table": {
"header": "",
@ -787,8 +781,7 @@
"param": "معامل",
"student_package": "حزمة الطالب",
"quiz":"الاختبارات",
"questionBank":"بنك الأسئلة",
"notifications":"الإشعارات"
"questionBank":"بنك الأسئلة"
},
"message": {
"some_thing_went_wrong": "حدث خطأ ما",
@ -825,8 +818,7 @@
"tags": "كلمات مفتاحية",
"reseller":"البائعين",
"QuestionBank":"بنك الأسئلة",
"reseller_details":"تفاصيل البائع",
"notifications":"الإشعارات"
"reseller_details":"تفاصيل البائع"
},
"page_header": {
"home": "لوحة القيادة",
@ -865,8 +857,7 @@
"param": "معامل",
"student_package": "حزمة الطالب",
"QuestionBank":"بنك الأسئلة",
"reseller_details":"تفاصيل البائع",
"notifications":"الإشعارات"
"reseller_details":"تفاصيل البائع"
},
"table": {
"student": "قائمة الطلاب",

View File

@ -1,6 +0,0 @@
export type notifications = {
id:number,
name:string,
date:string,
image:string
}