feat: Publication de pages — notes publiques sur URL
- Migration: champs isPublic + publicSlug + publishedAt sur Note - Route publique /p/[slug] — rendu SSR sans auth, prose styled - Server actions: publishNote / unpublishNote / getPublishedNote - API /api/notes/publish — toggle publication + génération slug - PublishDialog — modal avec lien copiable + bouton dépublier - Bouton Globe dans le toolbar (vert si publiée) - i18n FR/EN - Pattern inspiré de BrainstormSession.isPublic
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Note" ADD COLUMN "isPublic" BOOLEAN NOT NULL DEFAULT false;
|
||||
ALTER TABLE "Note" ADD COLUMN "publicSlug" TEXT;
|
||||
ALTER TABLE "Note" ADD COLUMN "publishedAt" TIMESTAMP(3);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Note_publicSlug_key" ON "Note"("publicSlug");
|
||||
@@ -176,6 +176,9 @@ model Note {
|
||||
lastAiAnalysis DateTime?
|
||||
trashedAt DateTime?
|
||||
historyEnabled Boolean @default(false)
|
||||
isPublic Boolean @default(false)
|
||||
publicSlug String? @unique
|
||||
publishedAt DateTime?
|
||||
/// URL d'origine pour les clips web (Web Clipper)
|
||||
sourceUrl String?
|
||||
/// Note de démonstration insérée lors de l'onboarding
|
||||
|
||||
Reference in New Issue
Block a user