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:
17
scratch/check-messages.ts
Normal file
17
scratch/check-messages.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function check() {
|
||||
const users = await prisma.user.findMany({
|
||||
include: { conversations: { include: { conversation: { include: { messages: true } } } } }
|
||||
})
|
||||
console.log('Users and their conversation activity:')
|
||||
users.forEach(u => {
|
||||
console.log(`- User: ${u.name} (${u.id})`)
|
||||
const msgs = u.conversations.flatMap(c => c.conversation.messages)
|
||||
const unread = msgs.filter(m => m.senderId !== u.id && !m.read).length
|
||||
console.log(` Unread messages for this user: ${unread}`)
|
||||
})
|
||||
}
|
||||
|
||||
check()
|
||||
17
scratch/find-user.ts
Normal file
17
scratch/find-user.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function findUser() {
|
||||
const user = await prisma.user.findFirst({
|
||||
where: { name: 'Jetski Tester' }
|
||||
})
|
||||
if (user) {
|
||||
console.log(`Found user: ${user.name} with ID: ${user.id}`)
|
||||
} else {
|
||||
console.log('User "Jetski Tester" not found in DB.')
|
||||
const allUsers = await prisma.user.findMany({ take: 5 })
|
||||
console.log('Sample users in DB:', allUsers.map(u => ({ name: u.name, id: u.id })))
|
||||
}
|
||||
}
|
||||
|
||||
findUser()
|
||||
3
scratch/suspension_questions.txt
Normal file
3
scratch/suspension_questions.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
1. **Portée de la suspension** : Lorsqu'un compte est suspendu, l'utilisateur doit-il être complètement déconnecté et bloqué dès la page de connexion, ou peut-il se connecter mais tomber sur une page "Compte suspendu" affichant le motif ?
|
||||
2. **Granularité pour les entrepreneurs** : Si une boutique est suspendue, doit-on suspendre le **compte utilisateur** entier (bloquant l'accès au tableau de bord) ou seulement **masquer la boutique** de l'annuaire tout en laissant l'entrepreneur accéder à son tableau de bord pour corriger ses informations ?
|
||||
3. **Modération** : Souhaitez-vous pouvoir suspendre un utilisateur directement depuis un signalement de message dans le panneau de modération ?
|
||||
Reference in New Issue
Block a user