Une bibliothèque React moderne pour créer des fils de discussion (threads) élégants et interactifs, construite avec Next.js 14 et Material-UI.
- Interface utilisateur moderne et responsive
- Support complet des avatars utilisateurs
- Affichage intelligent des dates (format relatif pour les messages récents)
- Support des réponses imbriquées
- Thème personnalisable via Material-UI
- Support TypeScript complet
- Optimisé pour les performances
# Installation des dépendances
pnpm install
# Développement
pnpm dev
# Build
pnpm buildimport { Thread } from 'next-threads';
const MyThread = () => {
  const thread = {
    author: {
      name: "John Doe",
      avatar: "https://example.com/avatar.jpg"
    },
    content: "Contenu du message",
    createdAt: new Date(),
    replies: []
  };
  return <Thread data={thread} />;
};next-threads/
├── packages/
│   └── next-threads/     # Bibliothèque principale
│       ├── src/
│       │   ├── components/   # Composants React
│       │   ├── hooks/        # Hooks personnalisés
│       │   └── types/        # Types TypeScript
│       └── package.json
└── apps/
    └── demo/             # Application de démonstration
# Dans le dossier packages/next-threads
pnpm dev# Dans le dossier apps/demo
pnpm devLa bibliothèque utilise Material-UI pour le style, vous pouvez donc personnaliser l'apparence en utilisant le système de thème de MUI :
import { ThemeProvider, createTheme } from '@mui/material';
const theme = createTheme({
  // Votre configuration de thème personnalisée
});
const App = () => (
  <ThemeProvider theme={theme}>
    <Thread data={threadData} />
  </ThemeProvider>
);# Exécuter les tests
pnpm test
# Exécuter les tests en mode watch
pnpm test:watch- Next.js 14 - Framework React
- Material-UI - Bibliothèque de composants UI
- TypeScript - Typage statique
- tsup - Build de la bibliothèque
- pnpm - Gestionnaire de paquets
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité (git checkout -b feature/AmazingFeature)
- Commit vos changements (git commit -m 'Add some AmazingFeature')
- Push vers la branche (git push origin feature/AmazingFeature)
- Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue sur GitHub.