Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/home/sections/BottomTip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ export function BottomTip() {
<IconBulb />
</div>
<div className="home-tip-body">
<strong>Astuce.</strong> Survole n'importe quel mot dans l'éditeur pour voir une explication
rapide — c'est comme ça que cet IDE enseigne.
<strong>Tip.</strong> Hover any keyword in the editor for a quick explanation — that's how
this IDE teaches.
</div>
<button
type="button"
className="home-tip-dismiss"
onClick={() => setVisible(false)}
aria-label="Masquer l'astuce"
aria-label="Dismiss tip"
>
Compris
Got it
</button>
</div>
);
Expand Down
2 changes: 1 addition & 1 deletion src/home/sections/TemplatesSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export function TemplatesSection() {
return (
<section className="home-section">
<div className="home-sec-head">
<h3>Commence un nouveau projet</h3>
<h3>Start a new project</h3>
</div>
<div className="home-tpl-grid">
{TEMPLATES.map((t) => (
Expand Down
27 changes: 12 additions & 15 deletions src/palette/sources.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { toast } from "../ide/shell/toastStore";
import { ALL_CONTENT } from "../lessons/data";
import { useLessonStore } from "../lessons/lessonStore";
import { openProject } from "../projects/actions";
import { useProjectStore } from "../projects/projectStore";
import { useIdeStore } from "../state/ideStore";
Expand Down Expand Up @@ -85,22 +86,18 @@ export function buildCommandItems(): PaletteItem[] {
}));
}

// Single placeholder row so the Lessons section shows up even before the
// curriculum lands. Selecting it toasts "Coming soon".
export function buildLessonItems(): PaletteItem[] {
return [
{
id: "lesson:placeholder",
group: "lessons",
title: "Lesson path",
subtitle: "Coming soon",
pill: "lesson",
icon: { glyph: "L", tone: "lesson" },
onSelect: () => {
toast.info("Coming soon");
},
return ALL_CONTENT.map<PaletteItem>((item) => ({
id: `lesson:${item.id}`,
group: "lessons",
title: item.title,
subtitle: `${item.difficulty} · ~${item.estimatedMinutes} min`,
pill: item.type,
icon: { glyph: item.type === "lesson" ? "L" : "C", tone: "lesson" },
onSelect: () => {
useLessonStore.getState().startLesson(item.id);
},
];
}));
}

// Orchestrator: assemble every group in the canonical order and drop those
Expand Down
8 changes: 4 additions & 4 deletions src/projects/templates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ export interface Template {

const BLANK: Template = {
id: "blank",
title: "Dossier vierge",
description: "Projet vide. Tu choisis les fichiers.",
title: "Blank project",
description: "Empty project. You choose the files.",
kind: "blank",
tags: [],
files: {},
};

const HTML_CSS: Template = {
id: "html-css",
title: "Démarrage HTML + CSS",
description: "Deux fichiers prêts à être stylés.",
title: "HTML + CSS Starter",
description: "Two files ready to be styled.",
kind: "html",
tags: ["html", "css"],
files: DEFAULT_FILES,
Expand Down