mise en commun des scrollbar,et padding des glassBorder
This commit is contained in:
@@ -150,7 +150,7 @@
|
|||||||
|
|
||||||
.notificationDiv {
|
.notificationDiv {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 300px;
|
width: auto;
|
||||||
top: 105%;
|
top: 105%;
|
||||||
right: 2rem;
|
right: 2rem;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@@ -159,7 +159,8 @@
|
|||||||
z-index: 0;
|
z-index: 0;
|
||||||
max-height: 60vh;
|
max-height: 60vh;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
scrollbar-width: none;
|
overflow-x: hidden;
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.activeNotificationDiv {
|
.activeNotificationDiv {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import styles from "./NotificationCard.module.css"
|
|||||||
function NotificationCard({notifications, deleteNotification}) {
|
function NotificationCard({notifications, deleteNotification}) {
|
||||||
return (
|
return (
|
||||||
notifications.map((notification, index) => (
|
notifications.map((notification, index) => (
|
||||||
<div className={styles.notificationCard} key={index}>
|
<div className={`${styles.notificationCard} glassBorder`}key={index}>
|
||||||
<div className={styles.cardHeader}>
|
<div className={styles.cardHeader}>
|
||||||
<span className={styles.timeTag}>
|
<span className={styles.timeTag}>
|
||||||
Le {formatDate(notification.created_at)} à {formatTime(notification.created_at)}
|
Le {formatDate(notification.created_at)} à {formatTime(notification.created_at)}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 16px;
|
margin: 6px 0 16px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.filterContainer{
|
.filterContainer{
|
||||||
|
|||||||
+9
-7
@@ -2,6 +2,7 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
scrollbar-color: #b5b5b5 transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@@ -26,13 +27,6 @@ html {
|
|||||||
inset 0 0 8px 4px rgba(255, 255, 255, 0.2);
|
inset 0 0 8px 4px rgba(255, 255, 255, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 768px) {
|
|
||||||
.content{
|
|
||||||
padding: 0.7rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
@@ -78,6 +72,7 @@ body.dark {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.glassBorder{
|
.glassBorder{
|
||||||
|
padding: 10px 20px 10px 20px;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
border: none;
|
border: none;
|
||||||
background: rgb(255, 255, 255, 0.25);
|
background: rgb(255, 255, 255, 0.25);
|
||||||
@@ -101,3 +96,10 @@ button:focus,
|
|||||||
button:focus-visible {
|
button:focus-visible {
|
||||||
outline: 4px auto -webkit-focus-ring-color;
|
outline: 4px auto -webkit-focus-ring-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.content{
|
||||||
|
padding: 0.7rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.rightBlock > h2 {
|
.rightBlock > h2 {
|
||||||
font-size: 29px;
|
font-size: 29px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.userName {
|
.userName {
|
||||||
|
|||||||
@@ -17,16 +17,6 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
margin: 16px 0 16px 0;
|
margin: 16px 0 16px 0;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
border-radius: 20px;
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
box-shadow:
|
|
||||||
inset 1.25px 1.25px 1px rgba(255, 255, 255, 1),
|
|
||||||
inset -1.25px -1.25px 1px rgba(255, 255, 255, 1),
|
|
||||||
inset -0.25px 0.25px 1px rgba(0, 0, 0, 0.2),
|
|
||||||
inset 0.25px -0.25px 1px rgba(0, 0, 0, 0.2);
|
|
||||||
opacity: 0;
|
|
||||||
animation: fadeInUp 0.6s ease-out forwards;
|
animation: fadeInUp 0.6s ease-out forwards;
|
||||||
animation-delay: calc(var(--i) * 0.1s);
|
animation-delay: calc(var(--i) * 0.1s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ export default function EventTask({ task, index, eventId }: EventTaskProps) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ "--i": index } as any} key={index} className={styles.content}>
|
<div style={{ "--i": index } as any} key={index} className={`${styles.content} glassBorder`}>
|
||||||
<div className={styles.task}>
|
<div className={styles.task}>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: 80%;
|
width: 80%;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.eventContainer:hover {
|
.eventContainer:hover {
|
||||||
|
|||||||
@@ -114,27 +114,13 @@
|
|||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.eventGroup{
|
|
||||||
border-radius: 20px;
|
|
||||||
padding: 15px;
|
|
||||||
margin-top: 16px;
|
|
||||||
border: none;
|
|
||||||
background: rgb(255, 255, 255, 0.25);
|
|
||||||
box-shadow:
|
|
||||||
inset 1.25px 1.25px 1px rgba(255, 255, 255, 1),
|
|
||||||
inset -1.25px -1.25px 1px rgba(255, 255, 255, 1),
|
|
||||||
inset -0.25px 0.25px 1px rgba(0, 0, 0, 0.2),
|
|
||||||
inset 0.25px -0.25px 1px rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.glassCard {
|
.glassCard {
|
||||||
width: 45%;
|
width: 45%;
|
||||||
max-height: 90vh;
|
max-height: 90vh;
|
||||||
margin: 16px 0 16px 0;
|
margin: 16px 0 16px 0;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.glassCard::-webkit-scrollbar{
|
.glassCard::-webkit-scrollbar{
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
width: 45%;
|
width: 45%;
|
||||||
max-height: 90vh;
|
max-height: 90vh;
|
||||||
margin: 16px 0 16px 0;
|
margin: 16px 0 16px 0;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.glassCard::-webkit-scrollbar{
|
.glassCard::-webkit-scrollbar{
|
||||||
@@ -41,7 +41,6 @@ h2{
|
|||||||
|
|
||||||
.eventGroup{
|
.eventGroup{
|
||||||
margin: 16px 0 16px 0;
|
margin: 16px 0 16px 0;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.eventGroup:hover{
|
.eventGroup:hover{
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export default function DeleteMemberBtn({name, id, className}: { name: string, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
return <div className={className}>
|
return <div className={className}>
|
||||||
<Button variant={"danger"} onClick={() => setOpen(true)}>Désactiver</Button>
|
<Button variant={"danger"} onClick={() => setOpen(true)}>Supprimer</Button>
|
||||||
|
|
||||||
<Modal open={open} onClose={() => setOpen(false)} title={"Supprimer"}>
|
<Modal open={open} onClose={() => setOpen(false)} title={"Supprimer"}>
|
||||||
<div style={{ display: "flex", flexDirection: "column", alignItems: "center", gap: 15 }}>
|
<div style={{ display: "flex", flexDirection: "column", alignItems: "center", gap: 15 }}>
|
||||||
|
|||||||
@@ -27,16 +27,10 @@
|
|||||||
|
|
||||||
.select {
|
.select {
|
||||||
width: 70%;
|
width: 70%;
|
||||||
padding: 10px 14px;
|
|
||||||
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #1d1d1f;
|
color: #1d1d1f;
|
||||||
|
background: rgb(255, 255, 255, 0.75);
|
||||||
background-color: #ffffff;
|
|
||||||
border: 1px solid #d2d2d7;
|
|
||||||
border-radius: 10px;
|
|
||||||
|
|
||||||
appearance: none;
|
appearance: none;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
|
|||||||
@@ -4,38 +4,39 @@ import {useContext, useState} from "react";
|
|||||||
import styles from "./ManageMember.module.css"
|
import styles from "./ManageMember.module.css"
|
||||||
import DeactivateMemberBtn from "./DeactivateMember/DeactivateMemberBtn.jsx";
|
import DeactivateMemberBtn from "./DeactivateMember/DeactivateMemberBtn.jsx";
|
||||||
import ModifyRole from "./ModifyRole/ModifyRole.jsx";
|
import ModifyRole from "./ModifyRole/ModifyRole.jsx";
|
||||||
import { AuthContext, AuthContextType } from "../../../../contexts/Auth/AuthContext.js";
|
import {AuthContext, AuthContextType} from "../../../../contexts/Auth/AuthContext.js";
|
||||||
import DeleteMemberBtn from "./DeleteMember/DeleteMemberBtn";
|
import DeleteMemberBtn from "./DeleteMember/DeleteMemberBtn";
|
||||||
import User from "../../../../interfaces/user.interface";
|
import User from "../../../../interfaces/user.interface";
|
||||||
|
|
||||||
|
|
||||||
export default function ManageMember({ userToManage }: { userToManage: User }) {
|
export default function ManageMember({userToManage}: { userToManage: User }) {
|
||||||
|
|
||||||
const { user } = useContext(AuthContext) as AuthContextType;
|
const {user} = useContext(AuthContext) as AuthContextType;
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
|
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<Button onClick={() => setOpen(true)} variant={"default"} className={styles.manageBtn}>
|
<Button onClick={() => setOpen(true)} variant={"default"} className={styles.manageBtn}>
|
||||||
<img src="/icons/tools.svg" alt="tools icon" className={styles.icon} />
|
<img src="/icons/tools.svg" alt="tools icon" className={styles.icon}/>
|
||||||
<p>Gérer</p>
|
<p>Gérer</p>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Modal open={open} onClose={() => setOpen(false)} title={`Gestion de l'utilisateur ${userToManage.name}`}>
|
<Modal open={open} onClose={() => setOpen(false)} title={`Gestion de l'utilisateur ${userToManage.name}`}>
|
||||||
|
|
||||||
{(user?.id != userToManage.id) ? (
|
{(user?.id != userToManage.id) ? (
|
||||||
<div className={styles.manageSection}>
|
<div className={`${styles.manageSection} glassBorder`}>
|
||||||
<h3>Désactiver le compte</h3>
|
<h3>Désactiver le compte</h3>
|
||||||
<DeactivateMemberBtn name={userToManage.name} id={userToManage.id} className={styles.manageBlockContent} />
|
<DeactivateMemberBtn name={userToManage.name} id={userToManage.id}
|
||||||
|
className={styles.manageBlockContent}/>
|
||||||
<h3>Supprimer le compte</h3>
|
<h3> Supprimer le compte</h3>
|
||||||
<DeleteMemberBtn name={userToManage.name} id={userToManage.id} className={styles.manageBlockContent} />
|
<DeleteMemberBtn name={userToManage.name} id={userToManage.id}
|
||||||
|
className={styles.manageBlockContent}/>
|
||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<div className={styles.manageSection}>
|
<div className={`${styles.manageSection} glassBorder`}>
|
||||||
<h3>Modifier le rôle</h3>
|
<h3>Modifier le rôle</h3>
|
||||||
<ModifyRole user={userToManage} />
|
<ModifyRole user={userToManage}/>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export default function ModifyRole({ user }) {
|
|||||||
<select
|
<select
|
||||||
value={selectedRole}
|
value={selectedRole}
|
||||||
onChange={(e) => setSelectedRole(e.target.value)}
|
onChange={(e) => setSelectedRole(e.target.value)}
|
||||||
className={styles.select}
|
className={`${styles.select} glassBorder`}
|
||||||
>
|
>
|
||||||
{roles.map((role, index) => (
|
{roles.map((role, index) => (
|
||||||
<option key={index} value={index+1}>
|
<option key={index} value={index+1}>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 10px 20px 10px 20px;
|
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {Link} from "react-router";
|
|||||||
export default function RGPDPage() {
|
export default function RGPDPage() {
|
||||||
return (
|
return (
|
||||||
<div className={`${styles.RGPD} glassCard`}>
|
<div className={`${styles.RGPD} glassCard`}>
|
||||||
<h1> Fiche d'informatino RGPD </h1>
|
<h1> Fiche d'information RGPD </h1>
|
||||||
|
|
||||||
<section className={styles.section}>
|
<section className={styles.section}>
|
||||||
<h2 className={styles.h2}> 1. Présentation du site </h2>
|
<h2 className={styles.h2}> 1. Présentation du site </h2>
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.RGPD{
|
.RGPD{
|
||||||
margin: 16px 2em;
|
margin: 16px 30px 16px 30px;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user