feat: add new projects bauntown, presi, voxel-lava, whopixels

- apps/bauntown: Developer community website (Astro landing)
- apps/presi: Presentation project
- games/voxel-lava: Voxel lava game (SvelteKit)
- games/whopixels: Whopixels game

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Till-JS 2025-11-27 15:11:53 +01:00
parent d35ba768cf
commit 5b1e12e5d6
407 changed files with 46356 additions and 0 deletions

View file

@ -0,0 +1,6 @@
/**
* @presi/shared - Shared types and utilities for Presi
*/
// Types
export * from './types';

View file

@ -0,0 +1,88 @@
/**
* Presi Shared Types
*/
export interface Deck {
id: string;
userId: string;
title: string;
description?: string;
themeId?: string;
isPublic: boolean;
createdAt: string;
updatedAt: string;
}
export interface Slide {
id: string;
deckId: string;
order: number;
content: SlideContent;
createdAt: string;
}
export interface SlideContent {
type: 'title' | 'content' | 'image' | 'split';
title?: string;
subtitle?: string;
body?: string;
imageUrl?: string;
bulletPoints?: string[];
}
export interface Theme {
id: string;
name: string;
colors: ThemeColors;
fonts: ThemeFonts;
isDefault: boolean;
}
export interface ThemeColors {
primary: string;
secondary: string;
background: string;
text: string;
accent: string;
}
export interface ThemeFonts {
heading: string;
body: string;
}
export interface SharedDeck {
id: string;
deckId: string;
shareCode: string;
expiresAt?: string;
createdAt: string;
}
// DTOs
export interface CreateDeckDto {
title: string;
description?: string;
themeId?: string;
}
export interface UpdateDeckDto {
title?: string;
description?: string;
themeId?: string;
isPublic?: boolean;
}
export interface CreateSlideDto {
content: SlideContent;
order?: number;
}
export interface UpdateSlideDto {
content?: SlideContent;
order?: number;
}
export interface ReorderSlidesDto {
slides: { id: string; order: number }[];
}