feat: integrate API calls for forum, bug, and event pages; replace mock data with dynamic data fetching
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
import { TEAM_MEMBERS } from '../../data/mockData';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { teamApi } from '../../utils/api';
|
||||
import type { TeamMember } from '../../types';
|
||||
|
||||
export default function StudioPage() {
|
||||
const [members, setMembers] = useState<TeamMember[]>([]);
|
||||
|
||||
useEffect(() => {
|
||||
teamApi.getMembers()
|
||||
.then(setMembers)
|
||||
.catch(() => { /* show empty state */ });
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div style={{ maxWidth: '1000px', margin: '0 auto', padding: '4rem 1.5rem' }}>
|
||||
{/* Header */}
|
||||
@@ -127,7 +137,7 @@ export default function StudioPage() {
|
||||
gap: '1.25rem',
|
||||
}}
|
||||
>
|
||||
{TEAM_MEMBERS.map((member) => (
|
||||
{members.map((member) => (
|
||||
<div key={member.id} className="crt-box" style={{ padding: '1.5rem' }}>
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: '1rem', marginBottom: '1rem' }}>
|
||||
{/* Avatar */}
|
||||
|
||||
Reference in New Issue
Block a user