synchronisation du contenu avec la DB et amélioration du CMS
- Migration du blog et des interviews des données mockées vers PostgreSQL (Prisma). - Refonte des pages publiques en Server Components pour de meilleures performances/SEO. - Intégration d'un éditeur de texte riche (React Quill) avec titres H1-H6 et séparateurs. - Correction des erreurs de validation Prisma liées aux paramètres asynchrones (Next.js 15+). - Correction des problèmes d'affichage des modales de suspension via React Portals. - Installation de @tailwindcss/typography et correction du débordement de texte (break-words). - Implémentation des actions de modération (suspension/révocation) pour les utilisateurs et boutiques.
This commit is contained in:
@@ -144,6 +144,24 @@ body {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.btn-action {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.4rem 0.75rem;
|
||||
border-radius: 0.5rem;
|
||||
border: 1px solid transparent;
|
||||
cursor: pointer;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.btn-action:hover {
|
||||
opacity: 1;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.badge {
|
||||
padding: 0.25rem 0.5rem;
|
||||
border-radius: 9999px;
|
||||
@@ -161,6 +179,11 @@ body {
|
||||
color: #f59e0b;
|
||||
}
|
||||
|
||||
.badge-error {
|
||||
background-color: rgba(239, 68, 68, 0.1);
|
||||
color: #ef4444;
|
||||
}
|
||||
|
||||
/* Modals */
|
||||
.modal-overlay {
|
||||
position: fixed;
|
||||
@@ -185,11 +208,87 @@ body {
|
||||
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.btn-star {
|
||||
color: var(--muted);
|
||||
transition: color 0.2s;
|
||||
}
|
||||
|
||||
.btn-star:hover, .btn-star.active {
|
||||
color: #f59e0b;
|
||||
}
|
||||
|
||||
/* Quill Dark Theme Overrides */
|
||||
.quill-dark-wrapper .ql-toolbar.ql-snow {
|
||||
background-color: var(--secondary);
|
||||
border-color: var(--border);
|
||||
border-top-left-radius: 0.5rem;
|
||||
border-top-right-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-container.ql-snow {
|
||||
background-color: var(--background);
|
||||
border-color: var(--border);
|
||||
border-bottom-left-radius: 0.5rem;
|
||||
border-bottom-right-radius: 0.5rem;
|
||||
min-height: 300px;
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-stroke {
|
||||
stroke: var(--foreground);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-fill {
|
||||
fill: var(--foreground);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-picker {
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-picker-options {
|
||||
background-color: var(--secondary);
|
||||
border-color: var(--border);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-picker-item:hover,
|
||||
.quill-dark-wrapper .ql-snow .ql-picker-label:hover {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-active {
|
||||
color: var(--primary) !important;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow .ql-active .ql-stroke {
|
||||
stroke: var(--primary) !important;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-editor.ql-blank::before {
|
||||
color: var(--muted);
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Styles for the Divider (HR) */
|
||||
.quill-dark-wrapper .ql-editor hr {
|
||||
border: none;
|
||||
border-top: 2px solid var(--border);
|
||||
margin: 1.5em 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow.ql-toolbar button.ql-divider {
|
||||
width: 32px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow.ql-toolbar button.ql-divider::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 16px;
|
||||
height: 2px;
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
.quill-dark-wrapper .ql-snow.ql-toolbar button.ql-divider:hover::before {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user