From dec935edc6ed300f922196d8cbce70a140cab923 Mon Sep 17 00:00:00 2001 From: twotalesanimation <80506065+twotalesanimation@users.noreply.github.com> Date: Mon, 5 Oct 2026 18:56:50 +0200 Subject: [PATCH] Move filmography above selected work on home and work pages Co-Authored-By: Claude Opus 5.5 --- app/page.tsx | 145 +++++++++++++++++++++++++++++++++------------- app/work/page.tsx | 21 ++++--- content/site.ts | 2 +- 3 files changed, 118 insertions(+), 50 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 80aeb89..9b86578 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -3,14 +3,36 @@ import Hero from "@/components/Hero"; import ProjectCard from "@/components/ProjectCard"; import Reveal from "@/components/Reveal"; import SectionLabel from "@/components/SectionLabel"; -import { filmography, projects, services, site, stats, studioStills } from "@/content/site"; +import { + filmography, + projects, + services, + site, + stats, + studioStills, +} from "@/content/site"; const pipeline = [ - { step: "Breakdown", body: "Script and plate breakdowns, bids and a shot list everyone agrees on." }, - { step: "Build", body: "Assets, creatures and environments, approved in context, not in isolation." }, - { step: "Shot", body: "Artists work in tracked versions, reviewed daily on our own review platform." }, - { step: "QC", body: "Renders are checked automatically for frame range, bad pixels and colour space before a human signs off." }, - { step: "Deliver", body: "Spec-correct, frame-accurate deliveries with full shot metadata." }, + { + step: "Breakdown", + body: "Script and plate breakdowns, bids and a shot list everyone agrees on.", + }, + { + step: "Build", + body: "Assets, creatures and environments, approved in context, not in isolation.", + }, + { + step: "Shot", + body: "Artists work in tracked versions, reviewed daily on our own review platform.", + }, + { + step: "QC", + body: "Renders are checked automatically for frame range, bad pixels and colour space before a human signs off.", + }, + { + step: "Deliver", + body: "Spec-correct, frame-accurate deliveries with full shot metadata.", + }, ]; export default function Home() { @@ -18,52 +40,67 @@ export default function Home() { <> - {/* Selected work */} -
- Selected work -
- {projects.slice(0, 4).map((p, i) => ( - - - - ))} -
-
- {/* Filmography */} -
+
- Filmography + Filmography

- {filmography.length} titles. Seen across the world. + {filmography.length} titles.{" "} + Seen across the world.

- Visual effects for features and series from South Africa and Nigeria, released in cinemas and on - Netflix, Prime Video, M-Net and kykNET. + Visual effects for features and series from South Africa and + Nigeria, released in cinemas and on Netflix, Prime Video, M-Net + and kykNET.

+ {/* Selected work */} +
+
+ Selected work +
+ {projects.slice(0, 4).map((p, i) => ( + + + + ))} +
+
+
+ {/* Services */}
Services

- From photoreal VFX to stylised animation. + From photoreal VFX to + stylised animation.

{services.map((g) => (
-

{g.group}

+

+ {g.group} +

{g.items.map((s, i) => ( - +
{/* eslint-disable-next-line @next/next/no-img-element */} {/* Studio / pipeline */} -
+
Studio
@@ -96,19 +136,27 @@ export default function Home() {

- Founded in {site.founded} in Pretoria as Two Tales Animation, we bring stories to life with - creativity, technology and a passion for visual storytelling, from photoreal creatures and + Founded in {site.founded} in Pretoria as Two Tales Animation, we + bring stories to life with creativity, technology and a passion + for visual storytelling, from photoreal creatures and simulations to stylised character animation.

- We're small on purpose: senior artists, direct lines to supervisors, and an in-house pipeline - for review, shot tracking and automated QC that lets a tight team deliver like a big one. + We're small on purpose: senior artists, direct lines to + supervisors, and an in-house pipeline for review, shot tracking + and automated QC that lets a tight team deliver like a big one.

{studioStills.map((src) => ( // eslint-disable-next-line @next/next/no-img-element - + ))}
@@ -118,10 +166,16 @@ export default function Home() {
  • - {String(i + 1).padStart(2, "0")} -

    {p.step}

    + + {String(i + 1).padStart(2, "0")} + +

    + {p.step} +

    -

    {p.body}

    +

    + {p.body} +

  • ))} @@ -130,16 +184,26 @@ export default function Home() {
    {stats.map((s) => ( -
    -

    {s.value}

    -

    {s.label}

    +
    +

    + {s.value} +

    +

    + {s.label} +

    ))}
    {/* Contact */} -
    +
    ); } diff --git a/content/site.ts b/content/site.ts index ddf321a..75c2fa3 100644 --- a/content/site.ts +++ b/content/site.ts @@ -23,8 +23,8 @@ export const site = { }; export const nav = [ - { label: "Work", href: "/work/" }, { label: "Filmography", href: "/#filmography" }, + { label: "Work", href: "/work/" }, { label: "Services", href: "/#services" }, { label: "Contact", href: "/#contact" }, ];