mirror of
https://github.com/Xahau/xahau-web.git
synced 2026-08-19 01:01:42 +00:00
Merge pull request #105 from tequdev/lang-dynamic-routing
Consolidate Language Pages into [lang] Dynamic Routing
This commit is contained in:
@@ -1,7 +1,15 @@
|
||||
import { defineCollection } from 'astro:content'
|
||||
import { defineCollection, z } from 'astro:content'
|
||||
import { docsLoader } from '@astrojs/starlight/loaders'
|
||||
import { docsSchema } from '@astrojs/starlight/schema'
|
||||
import { glob } from 'astro/loaders'
|
||||
|
||||
export const collections = {
|
||||
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
|
||||
privacy: defineCollection({
|
||||
loader: glob({ pattern: '**/*.mdx', base: './src/content/privacy' }),
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
}),
|
||||
}),
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
layout: ../layouts/PageLayout.astro
|
||||
title: Privacy Policy
|
||||
description: Privacy Policy for xahau.network
|
||||
---
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
layout: ../../layouts/PageLayout.astro
|
||||
title: Política de Privacidad
|
||||
description: Política de Privacidad de xahau.network
|
||||
---
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
layout: ../../layouts/PageLayout.astro
|
||||
title: プライバシーポリシー
|
||||
description: xahau.network のプライバシーポリシー
|
||||
---
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
layout: ../../layouts/PageLayout.astro
|
||||
title: Política de Privacidade
|
||||
description: Política de Privacidade do xahau.network
|
||||
---
|
||||
@@ -1,4 +1,22 @@
|
||||
{
|
||||
"meta": {
|
||||
"en": {
|
||||
"title": "Xahau Connect",
|
||||
"description": "Professional blockchain events for serious discussion and innovation"
|
||||
},
|
||||
"es": {
|
||||
"title": "Xahau Connect",
|
||||
"description": "Eventos profesionales de blockchain para debates serios e innovación"
|
||||
},
|
||||
"ja": {
|
||||
"title": "Xahau Connect",
|
||||
"description": "真剣な議論とイノベーションのためのプロフェッショナルなブロックチェーンイベント"
|
||||
},
|
||||
"pt-BR": {
|
||||
"title": "Xahau Connect",
|
||||
"description": "Eventos profissionais de blockchain para discussões sérias e inovação."
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"id": "xahau-course-2026-06",
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
"ja": "エコシステム",
|
||||
"pt-BR": "Ecossistema"
|
||||
},
|
||||
"description": {
|
||||
"en": "Xahau around the world",
|
||||
"es": "Xahau alrededor del mundo",
|
||||
"ja": "世界中のXahau",
|
||||
"pt-BR": "Xahau around the world"
|
||||
},
|
||||
"buildonxahau": {
|
||||
"en": "built on or around Xahau",
|
||||
"es": "creados en Xahau o en torno a ella",
|
||||
|
||||
@@ -13,6 +13,24 @@
|
||||
"locales": ["en", "es", "pt-BR"]
|
||||
}
|
||||
},
|
||||
"pageMeta": {
|
||||
"en": {
|
||||
"title": "Roadmap",
|
||||
"description": "Xahau roadmap across the upcoming quarters"
|
||||
},
|
||||
"es": {
|
||||
"title": "Hoja de ruta de Xahau",
|
||||
"description": "Hoja de ruta de Xahau para los próximos trimestres"
|
||||
},
|
||||
"ja": {
|
||||
"title": "ロードマップ",
|
||||
"description": "Xahauの今後の四半期のロードマップ"
|
||||
},
|
||||
"pt-BR": {
|
||||
"title": "Roadmap da Xahau",
|
||||
"description": "Rede empresarial com adições mínimas de funcionalidades, máxima confiabilidade"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"en": {
|
||||
"title": "Xahau Roadmap",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export const contestTranslations = {
|
||||
en: {
|
||||
page_title: 'Xahau Dev Contest',
|
||||
page_subtitle:
|
||||
'Ecosystem Rising — Build user-facing services powered by Xahau',
|
||||
chip1: '2nd Edition',
|
||||
@@ -135,6 +136,7 @@ export const contestTranslations = {
|
||||
},
|
||||
|
||||
es: {
|
||||
page_title: 'Xahau Dev Contest',
|
||||
page_subtitle:
|
||||
'Ecosystem Rising — Construye servicios de usuario powered by Xahau',
|
||||
chip1: '2ª Edición',
|
||||
@@ -272,6 +274,7 @@ export const contestTranslations = {
|
||||
},
|
||||
|
||||
ja: {
|
||||
page_title: 'Xahau Dev Contest',
|
||||
page_subtitle:
|
||||
'Ecosystem Rising — Xahauを活用したユーザー向けサービスを構築',
|
||||
chip1: '第2回',
|
||||
@@ -402,6 +405,7 @@ export const contestTranslations = {
|
||||
legal6: '',
|
||||
},
|
||||
'pt-BR': {
|
||||
page_title: 'Xahau Dev Contest',
|
||||
page_subtitle:
|
||||
'Ecosystem Rising — Construa serviços voltados para o usuário impulsionados por Xahau',
|
||||
chip1: '2ª Edição',
|
||||
|
||||
@@ -382,7 +382,7 @@ export const featuresTranslations = {
|
||||
},
|
||||
'pt-BR': {
|
||||
// Page header
|
||||
page_title: 'Recursos',
|
||||
page_title: 'Funcionalidades',
|
||||
page_subtitle: 'Tecnologia comprovada com uma abordagem inovadora',
|
||||
chip1: '10+ Recursos de Protocolo',
|
||||
chip2: 'DEX Nativo',
|
||||
|
||||
21
src/pages/[...lang]/about.astro
Normal file
21
src/pages/[...lang]/about.astro
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauAbout from '../../components/XahauAbout.astro'
|
||||
import { aboutTranslations } from '../../i18n/aboutTranslations'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const t = aboutTranslations[locale]
|
||||
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauAbout />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,13 +1,17 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauConnect from '../../components/XahauConnect.astro'
|
||||
import connectData from '../../data/connect.json'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Connect',
|
||||
description:
|
||||
'Eventos profesionales de blockchain para debates serios e innovación',
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const { title, description } = connectData.meta[locale]
|
||||
const _frontmatter = { title, description }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
21
src/pages/[...lang]/contest.astro
Normal file
21
src/pages/[...lang]/contest.astro
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauContest from '../../components/XahauContest.astro'
|
||||
import { contestTranslations } from '../../i18n/contestTranslations'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const t = contestTranslations[locale]
|
||||
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="flex-none container mx-auto max-w-7xl p-6 pb-12">
|
||||
<XahauContest />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
22
src/pages/[...lang]/ecosystem.astro
Normal file
22
src/pages/[...lang]/ecosystem.astro
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauEcosystem from '../../components/XahauEcosystem.astro'
|
||||
import ecosystemData from '../../data/ecosystem.json'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const title = ecosystemData.title[locale]
|
||||
const description = ecosystemData.description[locale]
|
||||
const _frontmatter = { title, description }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauEcosystem />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
21
src/pages/[...lang]/features.astro
Normal file
21
src/pages/[...lang]/features.astro
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauFeatures from '../../components/XahauFeatures.astro'
|
||||
import { featuresTranslations } from '../../i18n/featuresTranslations'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const t = featuresTranslations[locale] ?? featuresTranslations.en
|
||||
const _frontmatter = { title: t.page_title, description: t.page_subtitle }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauFeatures />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
14
src/pages/[...lang]/fraud-report.astro
Normal file
14
src/pages/[...lang]/fraud-report.astro
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
import FraudReportPage from '../../components/FraudReportPage.astro'
|
||||
import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const t = fraudReportTranslations[locale]
|
||||
---
|
||||
|
||||
<FraudReportPage t={t} />
|
||||
12
src/pages/[...lang]/index.astro
Normal file
12
src/pages/[...lang]/index.astro
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
import IndexLayout from '../../layouts/IndexLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
// TODO: Add frontmatter
|
||||
---
|
||||
|
||||
<IndexLayout />
|
||||
21
src/pages/[...lang]/privacy-policy.astro
Normal file
21
src/pages/[...lang]/privacy-policy.astro
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
import { getEntry, render } from 'astro:content'
|
||||
import PageLayout from '../../layouts/PageLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const entry = await getEntry('privacy', locale)
|
||||
if (!entry) return Astro.redirect('/privacy-policy')
|
||||
|
||||
const { Content } = await render(entry)
|
||||
const _frontmatter = {
|
||||
title: entry.data.title,
|
||||
description: entry.data.description,
|
||||
}
|
||||
---
|
||||
|
||||
<PageLayout frontmatter={_frontmatter}> <Content /> </PageLayout>
|
||||
21
src/pages/[...lang]/roadmap.astro
Normal file
21
src/pages/[...lang]/roadmap.astro
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauRoadmap from '../../components/XahauRoadmap.astro'
|
||||
import roadmapData from '../../data/roadmap.json'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
import generateStaticPaths from '../../utils/generateStaticPaths'
|
||||
|
||||
export function getStaticPaths() {
|
||||
return generateStaticPaths()
|
||||
}
|
||||
|
||||
const { locale } = Astro.props
|
||||
const { title, description } = roadmapData.pageMeta[locale]
|
||||
const _frontmatter = { title, description }
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauRoadmap lang={locale} theme="light" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauAbout from '../components/XahauAbout.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'About Xahau',
|
||||
description: 'Enterprise L1 blockchain with account-based programmability',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauAbout />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauConnect from '../components/XahauConnect.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Connect',
|
||||
description:
|
||||
'Professional blockchain events for serious discussion and innovation',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauConnect />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauContest from '../components/XahauContest.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Dev Contest',
|
||||
description: 'Ecosystem Rising — Build user-facing services powered by Xahau',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="flex-none container mx-auto max-w-7xl p-6 pb-12">
|
||||
<XahauContest />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauEcosystem from '../components/XahauEcosystem.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Ecosystem',
|
||||
description: 'Xahau around the world',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauEcosystem />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauAbout from '../../components/XahauAbout.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Sobre Xahau',
|
||||
description:
|
||||
'Blockchain L1 empresarial con programabilidad basada en cuentas',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauAbout />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauContest from '../../components/XahauContest.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Dev Contest',
|
||||
description:
|
||||
'Ecosystem Rising — Construye servicios de usuario powered by Xahau',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="flex-none container mx-auto max-w-7xl p-6 pb-12">
|
||||
<XahauContest />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauEcosystem from '../../components/XahauEcosystem.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Ecosistema',
|
||||
description: 'Xahau alrededor del mundo',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauEcosystem />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauFeatures from '../../components/XahauFeatures.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Características',
|
||||
description: 'Tecnología probada con un enfoque renovado',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauFeatures />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
import FraudReportPage from '../../components/FraudReportPage.astro'
|
||||
import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
|
||||
---
|
||||
|
||||
<FraudReportPage t={fraudReportTranslations.es} />
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
layout: ../../layouts/IndexLayout.astro
|
||||
---
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauRoadmap from '../../components/XahauRoadmap.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Hoja de ruta',
|
||||
description: 'Hoja de ruta de Xahau para los próximos trimestres',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauRoadmap lang="es" theme="light" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauFeatures from '../components/XahauFeatures.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Features',
|
||||
description: 'Proven technology with a fresh approach',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauFeatures lang="en" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
import FraudReportPage from '../components/FraudReportPage.astro'
|
||||
import { fraudReportTranslations } from '../i18n/fraudReportTranslations'
|
||||
---
|
||||
|
||||
<FraudReportPage t={fraudReportTranslations.en} />
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
layout: ../layouts/IndexLayout.astro
|
||||
---
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauAbout from '../../components/XahauAbout.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahauについて',
|
||||
description:
|
||||
'アカウントベースプログラマビリティを持つエンタープライズL1ブロックチェーン',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauAbout />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauConnect from '../../components/XahauConnect.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Connect',
|
||||
description:
|
||||
'真剣な議論とイノベーションのためのプロフェッショナルなブロックチェーンイベント',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauConnect />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauContest from '../../components/XahauContest.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Dev Contest',
|
||||
description: 'Ecosystem Rising — Xahauを活用したユーザー向けサービスを構築',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="flex-none container mx-auto max-w-7xl p-6 pb-12">
|
||||
<XahauContest />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauEcosystem from '../../components/XahauEcosystem.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'エコシステム',
|
||||
description: '世界中のXahau',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauEcosystem />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauFeatures from '../../components/XahauFeatures.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: '機能',
|
||||
description: '実績ある技術、新鮮なアプローチ',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauFeatures />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
import FraudReportPage from '../../components/FraudReportPage.astro'
|
||||
import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
|
||||
---
|
||||
|
||||
<FraudReportPage t={fraudReportTranslations.ja} />
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
layout: ../../layouts/IndexLayout.astro
|
||||
---
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauRoadmap from '../../components/XahauRoadmap.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'ロードマップ',
|
||||
description: 'Xahau roadmap across the upcoming quarters',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauRoadmap lang="ja" theme="light" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauAbout from '../../components/XahauAbout.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Sobre Xahau',
|
||||
description: 'Enterprise L1 blockchain with account-based programmability',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauAbout />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauConnect from '../../components/XahauConnect.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Connect',
|
||||
description:
|
||||
'Eventos profissionais de blockchain para discussões sérias e inovação.',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauConnect />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauContest from '../../components/XahauContest.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Xahau Dev Contest',
|
||||
description: 'Ecosystem Rising — Build user-facing services powered by Xahau',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="flex-none container mx-auto max-w-7xl p-6 pb-12">
|
||||
<XahauContest />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauEcosystem from '../../components/XahauEcosystem.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Ecosystem',
|
||||
description: 'Xahau around the world',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauEcosystem lang="pt-BR" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauFeatures from '../../components/XahauFeatures.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Funcionalidades',
|
||||
description: 'Tecnologia comprovada com uma abordagem inovadora',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauFeatures lang="pt-BR" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
import FraudReportPage from '../../components/FraudReportPage.astro'
|
||||
import { fraudReportTranslations } from '../../i18n/fraudReportTranslations'
|
||||
---
|
||||
|
||||
<FraudReportPage t={fraudReportTranslations['pt-BR']} />
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
layout: ../../layouts/IndexLayout.astro
|
||||
---
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
import '../../styles/main.css'
|
||||
import XahauRoadmap from '../../components/XahauRoadmap.astro'
|
||||
import BaseLayout from '../../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Roadmap da Xahau',
|
||||
description:
|
||||
'Rede empresarial com adições mínimas de funcionalidades, máxima confiabilidade',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauRoadmap lang="pt-BR" theme="light" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
import '../styles/main.css'
|
||||
import XahauRoadmap from '../components/XahauRoadmap.astro'
|
||||
import BaseLayout from '../layouts/BaseLayout.astro'
|
||||
|
||||
const _frontmatter = {
|
||||
title: 'Roadmap',
|
||||
description: 'Xahau roadmap across the upcoming quarters',
|
||||
}
|
||||
---
|
||||
|
||||
<BaseLayout frontmatter={_frontmatter}>
|
||||
<div class="page-content flex-1 container mx-auto max-w-7xl p-6">
|
||||
<XahauRoadmap lang={Astro.currentLocale ?? 'en'} theme="light" />
|
||||
</div>
|
||||
</BaseLayout>
|
||||
11
src/utils/generateStaticPaths.ts
Normal file
11
src/utils/generateStaticPaths.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { defaultLocale, locales } from '../i18n/locales'
|
||||
|
||||
export default function generateStaticPaths() {
|
||||
return locales.map((locale) => {
|
||||
const lang = locale === defaultLocale ? undefined : locale.toLowerCase()
|
||||
return {
|
||||
params: { lang },
|
||||
props: { locale },
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user