--- import BaseLayout from '../../layouts/BaseLayout.astro'; import TerminalWindow from '../../components/ui/TerminalWindow.astro'; import CommandPrompt from '../../components/ui/CommandPrompt.astro'; import StatsList from '../../components/StatsList.astro'; import TechStackList from '../../components/TechStackList.astro'; import { api, DEFAULT_SITE_SETTINGS } from '../../lib/api/client'; import { getI18n } from '../../lib/i18n'; export const prerender = false; let siteSettings = DEFAULT_SITE_SETTINGS; let systemStats = []; let techStack = []; const { t } = getI18n(Astro); try { const [settings, posts, tags, friendLinks] = await Promise.all([ api.getSiteSettings(), api.getPosts(), api.getTags(), api.getFriendLinks(), ]); siteSettings = settings; techStack = siteSettings.techStack.map(name => ({ name })); systemStats = [ { label: t('common.posts'), value: String(posts.length) }, { label: t('common.tags'), value: String(tags.length) }, { label: t('common.friends'), value: String(friendLinks.filter(friend => friend.status === 'approved').length) }, { label: t('common.location'), value: siteSettings.location || t('common.unknown') }, ]; } catch (error) { console.error('Failed to load about data:', error); techStack = siteSettings.techStack.map(name => ({ name })); systemStats = [ { label: t('common.posts'), value: '0' }, { label: t('common.tags'), value: '0' }, { label: t('common.friends'), value: '0' }, { label: t('common.location'), value: siteSettings.location || t('common.unknown') }, ]; } const ownerInitial = siteSettings.ownerName.charAt(0) || 'T'; ---
identity profile

{t('about.title')}

{t('about.intro')}

{siteSettings.location || t('common.unknown')} {t('about.techStackCount', { count: techStack.length })}
{siteSettings.ownerAvatarUrl ? ( {siteSettings.ownerName} ) : (
{ownerInitial}
)}

{siteSettings.ownerName}

{siteSettings.ownerTitle}

{siteSettings.ownerBio}

{siteSettings.social.github && ( {t('about.contact')} GitHub )} {siteSettings.social.twitter && ( {t('about.contact')} Twitter )} {siteSettings.social.email && ( {t('about.contact')} {t('comments.email')} )} {t('about.contact')} {t('about.website')}