import React, { useState } from 'react';
import { MOCK_PROJECTS } from '../constants';
import { Project } from '../types';
import { Icons } from '../components/IconSet';
interface ProjectsProps {
onSelectProject?: (id: string) => void;
}
const StatusBadge = ({ status, hiring }: { status: Project['status'], hiring: boolean }) => {
const styles = {
'active': 'bg-accentInfo/10 text-accentInfo border-accentInfo/20',
'recruiting': 'bg-accentSuccess/10 text-accentSuccess border-accentSuccess/20',
'private': 'bg-textMuted/10 text-textMuted border-textMuted/20',
'completed': 'bg-textMuted/10 text-textMuted border-textMuted/20',
};
const labels = {
'active': 'Aktives Geschäft',
'recruiting': 'Offener Story-Arc',
'private': 'Privat / Versteckt',
'completed': 'Archiviert'
};
return (
{labels[status]}
{hiring && (
Stellen
)}
);
};
const VentureCard = ({ project, onClick }: { project: Project, onClick?: () => void }) => (
{/* Background accent for certain types */}
{project.category === 'Black Market' && (
)}
{project.title}
{project.description}
{/* Reputation / Progress Bar */}
{project.category === 'Story Arc' ? 'Story Fortschritt' : 'Ruf'}
{project.progress}%
{project.employees.length} Mitglieder
{project.shopCatalog && project.shopCatalog.length > 0 && (
Shop
)}
{project.foundedDate &&
Gegr. {project.foundedDate}}
);
const Projects: React.FC = ({ onSelectProject }) => {
const [filter, setFilter] = useState<'all' | Project['status']>('all');
const filteredProjects = MOCK_PROJECTS.filter(p =>
filter === 'all' ? true : p.status === filter
);
const tabs = [
{ id: 'all', label: 'Alle Unternehmen' },
{ id: 'active', label: 'Aktive Firmen' },
{ id: 'recruiting', label: 'Story Arcs' },
{ id: 'private', label: 'Privat' },
];
return (
Unternehmen & Projekte
Spielergeführte Firmen, aktive Rollenspiel-Stränge und Dienstleister.
{/* Filter Tabs */}
{tabs.map(tab => (
))}
{/* Grid */}
{filteredProjects.map(project => (
onSelectProject && onSelectProject(project.id)}
/>
))}
{filteredProjects.length === 0 && (
Keine Unternehmen in dieser Kategorie gefunden.
)}
);
};
export default Projects;