feat: Scaffold new Next.js website with core pages, components, and assets.

This commit is contained in:
1elle1
2026-02-06 11:19:57 +01:00
parent d63eb85218
commit db27ebf76f
53 changed files with 7756 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
import type { Metadata } from "next";
import Image from "next/image";
import { ContactStrip } from "@/components/contact-strip";
import { PageHero } from "@/components/page-hero";
import { phoneTariffs } from "@/lib/site-content";
export const metadata: Metadata = {
title: "Telefonie fuer Privat und Unternehmen",
description:
"Telefonie-Angebote von TeleNetSystems in Tirol: einfache Pakete fuer Privatkunden und skalierbare SIP-Loesungen fuer Unternehmen."
};
export default function TelefoniePage() {
return (
<>
<PageHero
eyebrow="Telefonie"
title="Von Festnetz bis SIP: klar kalkulierbar"
intro="Telefonie muss im Alltag verlässlich sein. Deshalb zeigen wir Pakete mit klaren Inklusivleistungen und bieten fuer Unternehmen planbare SIP-Loesungen mit direktem Support."
imageSrc="/assets/gallery/telefon-fa5e8c21-271d2135.jpg"
imageAlt="Telefonie fuer Privat- und Geschaeftskunden"
primaryCta={{ label: "Telefonie anfragen", href: "/#kontakt" }}
secondaryCta={{ label: "Alle Leistungen", href: "/leistungen" }}
/>
<section className="section-block pt-6 bg-white/70">
<div className="container-shell">
<p className="eyebrow">Tarifvergleich</p>
<h2 className="mt-2 text-3xl font-semibold text-alpine-900">So unterscheiden sich die Pakete.</h2>
<div className="mt-6 table-shell">
<table className="data-table">
<thead>
<tr>
<th>Tarif</th>
<th>Rufnummern</th>
<th>Inklusive</th>
<th>Setup</th>
<th>Preis</th>
</tr>
</thead>
<tbody>
{phoneTariffs.map((tariff) => (
<tr key={tariff.name}>
<td>{tariff.name}</td>
<td>{tariff.lines}</td>
<td>{tariff.included}</td>
<td>{tariff.setup}</td>
<td>{tariff.price}</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
</section>
<section className="section-block">
<div className="container-shell grid gap-6 lg:grid-cols-2">
<article className="surface-card">
<p className="eyebrow">Privat</p>
<h2 className="mt-2 text-2xl font-semibold text-alpine-900">Einfach erreichbar bleiben</h2>
<p className="mt-3 text-alpine-700">
Ideal fuer Haushalte, die Festnetz als verlaesslichen Kanal behalten wollen. Portierung bestehender
Nummern ist bei jedem Paket vorgesehen.
</p>
</article>
<article className="surface-card">
<p className="eyebrow">Business</p>
<h2 className="mt-2 text-2xl font-semibold text-alpine-900">Skalierbar fuers Unternehmen</h2>
<p className="mt-3 text-alpine-700">
SIP-Trunks, Nebenstellen, zentrale Steuerung und saubere Einbindung in Ihre bestehende IT-Landschaft.
Genau abgestimmt auf Teamsize und Anrufvolumen.
</p>
</article>
</div>
</section>
<section className="section-block bg-white/65">
<div className="container-shell grid gap-7 lg:grid-cols-[1fr_1fr] lg:items-center">
<div>
<p className="eyebrow">Technik, verstaendlich erklaert</p>
<h2 className="mt-2 text-3xl font-semibold text-alpine-900">Keine Konfigurationsraetsel.</h2>
<p className="mt-4 text-alpine-700">
Einrichtung und Umstellung begleiten wir Schritt fuer Schritt. Das gilt fuer den privaten Router genauso
wie fuer Business-Telefonanlagen mit mehreren Standorten.
</p>
</div>
<div className="overflow-hidden rounded-3xl border border-alpine-200 bg-white shadow-soft">
<Image
alt="Telefonie-Setup"
className="h-[320px] w-full object-cover"
src="/assets/gallery/telefonie1-ad7595f9.jpg"
width={900}
height={560}
/>
</div>
</div>
</section>
<ContactStrip />
</>
);
}