mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-23 15:26:42 +02:00
Move inactive projects out of active workspace: - bauntown (community website) - maerchenzauber (AI story generation) - memoro (voice memo app) - news (news aggregation) - nutriphi (nutrition tracking) - reader (reading app) - uload (URL shortener) - wisekeep (AI wisdom extraction) Update CLAUDE.md documentation: - Add presi to active projects - Document archived projects section - Update workspace configuration Archived apps can be re-activated by moving back to apps/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
85 lines
2.9 KiB
Text
85 lines
2.9 KiB
Text
---
|
|
import { getLangFromUrl, useTranslations } from '../i18n/utils';
|
|
import { Icon } from 'astro-icon/components';
|
|
|
|
const lang = getLangFromUrl(Astro.url);
|
|
const t = useTranslations(lang);
|
|
|
|
const plans = [
|
|
{
|
|
name: lang === 'de' ? 'Starter' : 'Starter',
|
|
description: lang === 'de' ? 'Für Einzelpersonen' : 'For individuals',
|
|
subtitle:
|
|
lang === 'de'
|
|
? 'Perfekt für persönliche Dokumentation'
|
|
: 'Perfect for personal documentation',
|
|
icon: 'mdi:account',
|
|
},
|
|
{
|
|
name: lang === 'de' ? 'Team' : 'Team',
|
|
description: lang === 'de' ? 'Für kleine Teams' : 'For small teams',
|
|
subtitle: lang === 'de' ? 'Kollaboration inklusive' : 'Collaboration included',
|
|
icon: 'mdi:account-group',
|
|
popular: true,
|
|
},
|
|
{
|
|
name: lang === 'de' ? 'Enterprise' : 'Enterprise',
|
|
description: lang === 'de' ? 'Für Organisationen' : 'For organizations',
|
|
subtitle: lang === 'de' ? 'Individuelle Lösungen' : 'Custom solutions',
|
|
icon: 'mdi:office-building',
|
|
},
|
|
];
|
|
---
|
|
|
|
<section class="py-16 md:py-24 bg-background-page">
|
|
<div class="max-w-7xl mx-auto px-4">
|
|
<h2 class="text-heading-mobile md:text-heading text-text-primary text-center mb-4">
|
|
{lang === 'de' ? 'Für jedes Team das richtige Paket' : 'The Right Package for Every Team'}
|
|
</h2>
|
|
<p
|
|
class="text-subheading-mobile md:text-subheading text-text-secondary text-center mb-12 max-w-3xl mx-auto"
|
|
>
|
|
{
|
|
lang === 'de'
|
|
? 'Transparent, fair und flexibel. Wählen Sie das Paket, das zu Ihnen passt.'
|
|
: 'Transparent, fair and flexible. Choose the package that suits you.'
|
|
}
|
|
</p>
|
|
|
|
<div class="grid md:grid-cols-3 gap-8 mb-12">
|
|
{
|
|
plans.map((plan) => (
|
|
<div
|
|
class={`relative bg-background-card rounded-xl p-8 border ${plan.popular ? 'border-primary' : 'border-border'} hover:bg-background-cardHover hover:border-border-hover transition-all duration-DEFAULT`}
|
|
>
|
|
{plan.popular && (
|
|
<div class="absolute -top-4 left-1/2 -translate-x-1/2">
|
|
<span class="bg-primary text-white px-4 py-1 rounded-full text-sm font-medium">
|
|
{lang === 'de' ? 'Beliebt' : 'Popular'}
|
|
</span>
|
|
</div>
|
|
)}
|
|
<div class="text-center">
|
|
<div class="mb-4">
|
|
<Icon name={plan.icon} class="w-16 h-16 text-primary mx-auto" />
|
|
</div>
|
|
<h3 class="text-2xl font-semibold mb-2 text-text-primary">{plan.name}</h3>
|
|
<p class="text-text-secondary mb-2">{plan.description}</p>
|
|
<p class="text-sm text-text-secondary">{plan.subtitle}</p>
|
|
</div>
|
|
</div>
|
|
))
|
|
}
|
|
</div>
|
|
|
|
<div class="text-center">
|
|
<a
|
|
href={lang === 'de' ? '/de/pricing' : '/en/pricing'}
|
|
class="inline-flex items-center px-8 py-4 text-lg font-medium text-text-primary bg-transparent border-2 border-border rounded-lg hover:bg-background-card hover:border-primary transition-colors duration-DEFAULT"
|
|
>
|
|
{lang === 'de' ? 'Preise ansehen' : 'View Pricing'}
|
|
<Icon name="mdi:arrow-right" class="w-5 h-5 ml-2" />
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|