89 lines
3.7 KiB
TypeScript
Executable File
89 lines
3.7 KiB
TypeScript
Executable File
import type { Course } from "@/types/course";
|
|
|
|
export const mockCourses: Course[] = [
|
|
{
|
|
slug: "legal-english-foundations",
|
|
title: "Legal English Foundations",
|
|
level: "Beginner",
|
|
status: "Published",
|
|
summary: "Build legal vocabulary, core writing patterns, and court terminology.",
|
|
rating: 4.8,
|
|
weeks: 4,
|
|
lessonsCount: 6,
|
|
students: 1240,
|
|
instructor: "Ana Morales, Esq.",
|
|
lessons: [
|
|
{ id: "l1", title: "Introduction to Legal Registers", type: "video", minutes: 12, isPreview: true },
|
|
{ id: "l2", title: "Contract Vocabulary Basics", type: "reading", minutes: 10 },
|
|
{ id: "l3", title: "Clause Spotting Drill", type: "interactive", minutes: 15 },
|
|
{ id: "l4", title: "Writing a Formal Email", type: "reading", minutes: 9 },
|
|
{ id: "l5", title: "Courtroom Terminology", type: "video", minutes: 14 },
|
|
{ id: "l6", title: "Final Vocabulary Check", type: "interactive", minutes: 18 },
|
|
],
|
|
},
|
|
{
|
|
slug: "contract-analysis-practice",
|
|
title: "Contract Analysis Practice",
|
|
level: "Intermediate",
|
|
status: "Published",
|
|
summary: "Analyze contract sections and identify risk-heavy clauses quickly.",
|
|
rating: 4.7,
|
|
weeks: 5,
|
|
lessonsCount: 7,
|
|
students: 820,
|
|
instructor: "Daniel Kim, LL.M.",
|
|
lessons: [
|
|
{ id: "l1", title: "How to Read a Service Agreement", type: "video", minutes: 16, isPreview: true },
|
|
{ id: "l2", title: "Indemnity Clauses", type: "reading", minutes: 12 },
|
|
{ id: "l3", title: "Liability Cap Walkthrough", type: "video", minutes: 11 },
|
|
{ id: "l4", title: "Negotiation Red Flags", type: "interactive", minutes: 17 },
|
|
{ id: "l5", title: "Warranty Language", type: "reading", minutes: 8 },
|
|
{ id: "l6", title: "Termination Mechanics", type: "video", minutes: 13 },
|
|
{ id: "l7", title: "Mini Review Exercise", type: "interactive", minutes: 20 },
|
|
],
|
|
},
|
|
{
|
|
slug: "litigation-brief-writing",
|
|
title: "Litigation Brief Writing",
|
|
level: "Advanced",
|
|
status: "Published",
|
|
summary: "Craft persuasive briefs with strong authority usage and argument flow.",
|
|
rating: 4.9,
|
|
weeks: 6,
|
|
lessonsCount: 8,
|
|
students: 430,
|
|
instructor: "Priya Shah, J.D.",
|
|
lessons: [
|
|
{ id: "l1", title: "Brief Structure and Strategy", type: "video", minutes: 19, isPreview: true },
|
|
{ id: "l2", title: "Rule Synthesis", type: "reading", minutes: 14 },
|
|
{ id: "l3", title: "Fact Framing Techniques", type: "video", minutes: 11 },
|
|
{ id: "l4", title: "Citation Signals Deep Dive", type: "reading", minutes: 15 },
|
|
{ id: "l5", title: "Counterargument Blocks", type: "interactive", minutes: 18 },
|
|
{ id: "l6", title: "Oral Argument Prep", type: "video", minutes: 16 },
|
|
{ id: "l7", title: "Editing for Precision", type: "interactive", minutes: 20 },
|
|
{ id: "l8", title: "Submission Checklist", type: "reading", minutes: 9 },
|
|
],
|
|
},
|
|
{
|
|
slug: "cross-border-ip-strategy",
|
|
title: "Cross-Border IP Strategy",
|
|
level: "Advanced",
|
|
status: "Published",
|
|
summary: "Understand IP enforcement strategy across multiple jurisdictions.",
|
|
rating: 4.6,
|
|
weeks: 4,
|
|
lessonsCount: 5,
|
|
students: 290,
|
|
instructor: "Luca Bianchi, Counsel",
|
|
lessons: [
|
|
{ id: "l1", title: "International IP Map", type: "video", minutes: 13, isPreview: true },
|
|
{ id: "l2", title: "Venue and Jurisdiction", type: "reading", minutes: 11 },
|
|
{ id: "l3", title: "Enforcement Cost Tradeoffs", type: "interactive", minutes: 14 },
|
|
{ id: "l4", title: "Injunction Strategy", type: "video", minutes: 10 },
|
|
{ id: "l5", title: "Portfolio Action Plan", type: "interactive", minutes: 17 },
|
|
],
|
|
},
|
|
];
|
|
|
|
export const getCourseBySlug = (slug: string) => mockCourses.find((course) => course.slug === slug);
|