Du kannst die Web Component direkt dort nutzen, wo du sie brauchst, oder indirekt über eine Komponente (wie z.B. add-to-calendar.astro, die dann auf der jeweiligen Seite importiert wird).
Wir empfehlen den direkten Weg, wenn du nur 1 Element nutzt. Bei mehreren Elementen gehe mit der Helper-Komponente. Nachfolgend beschreiben wir den Weg über die Helper-Komponente. Wenn du es direkt nutzt, erstelle einfach keine Komponente, sondern füge den add-to-calendar-button Tag direkt dort ein, wo du ihn brauchst.
Installiere das Package über die npm Registry.
npm install add-to-calendar-buttonErstelle eine neue Komponente add-to-calendar.astro (üblicherweise unter ./src/components/).
Definiere die Props der Komponente. Dies sollte mindestens der ProKey sein.
import type { AddToCalendarButtonType } from 'add-to-calendar-button';
interface Props {
prokey: AddToCalendarButtonType['proKey'];
}
const { prokey } = Astro.props as Props;Füge das Web-Component-Tag hinzu:
<add-to-calendar-button prokey={prokey} />Gefolgt vom Skript-Import:
<script>
import 'add-to-calendar-button';
</script>Importiere und nutze sie auf jeder anderen Seite (oder Komponente). Passe den Pfad entsprechend deinem Projekt-Setup an.
Dein Code kann hierbei bspw. wie folgt aussehen.
---
import AddToCalendarButton from '../components/add-to-calendar.astro';
import Layout from '../layouts/Layout.astro';
---
<Layout>
<AddToCalendarButton prokey="prokey-of-your-event" />
</Layout>Ganz genau - es ist derart einfach.
Nicht dein Tech-Stack?
Klicke hier für weitere Anleitungen!
Wir unterstützen alle großen Frontend-Stacks und viele weitere Umgebungen, wie bspw. WordPress.
Entdecke mehr komplette Projekt-Beispiele auf Stackblitz: Hier klicken .

Mehr Funktionen (wie RSVP) und deutlich weniger Stress dank ics-Datei-Hosting, No-Code-Bearbeitung und vielem mehr.