Practitionist / Practitionist/elluminar_web

Content authoring gaps: sales description, thumbnails/trailers, Tiptap editor, real free-preview, embed CSP

Open
#64 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
17h 2m
Merged PRs (30d)
18

Description

Storefront-quality blockers from audit:

  1. Course.description has NO authoring field → empty sales pages
  2. thumbnail/trailer/logo/banner assets have zero upload paths (all gradient placeholders)
  3. ARTICLE = plain textarea; Tiptap installed, no editor component exists anywhere
  4. Free-preview cosmetic — player redirects unentitled users before preview matters
  5. EMBED lessons blocked by our own CSP frame-src (next.config.ts:18)
  • Rich description editor on course settings (shared with #3 renderer)
  • Shared media-picker → public-assets bucket for thumbnails/logos/banners; trailer via existing video flows
  • TiptapEditor client comp + sanitized server-safe renderer
  • Preview: marketing detail page lists isFreePreview lessons with inline playback; ?preview=1 deep link gated to preview lessons only
  • frame-src allowlist (youtube-nocookie, player.vimeo.com, docs.google) + host validation in upsertLesson

Spec: temp prompt library 08-content-authoring.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced spec, “temp prompt library 08-content-authoring,” then inspect next.config.ts:18 and the upsertLesson entry point. Trace the existing course settings, lesson player, video flows, and article rendering before splitting the checklist into smaller changes. Done means authoring fields and media paths work, preview playback is gated correctly, Tiptap content renders safely, and the embed allowlist and host validation pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
next.js, typescript
Domain
backend, frontend, full-stack, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.