Skip to main content
Das Widget wird als Glassmorphismus-Leiste mit integrierten hellen und dunklen Designs gerendert. Die Anpassung ist auf drei Ebenen möglich: Props für gängige Optionen, benutzerdefinierte CSS-Eigenschaften für das Theming und CSS-Klassenüberschreibungen für vollständige Kontrolle.
Diese Styling-Optionen gelten für das vorgefertigte Widget, das von der React-Komponente ThunderPhoneWidget und der CDN-Methode ThunderPhone.mount() gerendert wird. Wenn Sie eine vollständig benutzerdefinierte Benutzeroberfläche benötigen, verwenden Sie stattdessen den Headless-Hook.

Designs

Die Prop theme steuert das Farbschema des Widgets. Sie wendet eine Klasse tp--light oder tp--dark auf das Widget-Stammelement an:
Beide Designs verwenden das Glassmorphismus-Leistendesign mit Hintergrundunschärfe und dezenter Transparenz.

CSS-Benutzerdefinierte Eigenschaften

Das Widget stellt CSS-Benutzerdefinierte Eigenschaften (Variablen) bereit, die Sie überschreiben können, um Farben zu ändern, ohne einzelne Klassen anzupassen. Sie werden durch die auf das .tp-widget-Stammelement angewendete Theme-Klasse (.tp--light oder .tp--dark) definiert:

Benutzerdefinierte Eigenschaften überschreiben

Legen Sie die Akzentfarbe über die Prop primaryColor fest:
--tp-accent wird über die Prop primaryColor als Inline-Stil festgelegt. Daher haben Stylesheet-Überschreibungen von --tp-accent keine Wirkung. Ändern Sie die Akzentfarbe mit der Prop. Alle anderen benutzerdefinierten Eigenschaften können in CSS überschrieben werden.
Überschreiben Sie die anderen benutzerdefinierten Eigenschaften mit CSS. Verwenden Sie einen Selektor mit zwei Klassen (.tp-widget.tp--light / .tp-widget.tp--dark), damit Ihre Regel unabhängig von der Reihenfolge im Stylesheet Vorrang vor der Theme-Klasse hat, die die Standardwerte definiert:

CSS-Klassen

Alle Widget-Klassen sind mit tp- vorangestellt, um Konflikte mit Ihren bestehenden Stilen zu vermeiden.

Beispiele

Benutzerdefinierte Akzentfarbe über Props

Die einfachste Möglichkeit, das Widget an Ihre Marke anzupassen:

Benutzerdefinierte Farben über CSS

Überschreiben Sie die benutzerdefinierten Eigenschaften, um die Farben vollständig zu steuern. Beachten Sie, dass die Akzentfarbe aus dem Prop primaryColor und nicht aus CSS stammt:

Benutzerdefinierte Größe

Vergrößern oder verkleinern Sie das Widget, indem Sie die Abmessungen von Leiste, Schaltflächen und Text anpassen:

Textbeschriftungen ausblenden

Der gesamte Text des Widgets befindet sich in .tp-meta. Blenden Sie ihn vollständig aus, um nur die Wellenform und Schaltflächen beizubehalten:
Oder blenden Sie einzelne Elemente aus:
Die Beschriftung im Leerlauf befindet sich in .tp-name/.tp-sub, nicht in .tp-status — wenn Sie nur .tp-status ausblenden, wird der Titel weiterhin angezeigt, wenn sich das Widget im Leerlauf befindet.

Themenspezifische Überschreibungen

Richten Sie sich mit der Themenklasse an ein bestimmtes Theme:

Eingrenzung mit className

Wenn Sie die React-Komponente verwenden, übergeben Sie ein className-Prop, um Ihre Überschreibungen auf eine bestimmte Widget-Instanz einzugrenzen:
Richten Sie diese Klasse anschließend in Ihrem CSS an:
So können Sie mehrere Widget-Instanzen mit unterschiedlichen Stilen auf derselben Seite verwenden. Geben Sie jeder Instanz über ihr primaryColor-Prop eine eigene Akzentfarbe (CSS kann --tp-accent nicht überschreiben — sie wird inline festgelegt).

Vollständig benutzerdefinierte Benutzeroberfläche

Wenn CSS-Überschreibungen nicht ausreichen, bietet Ihnen der Headless Hook volle Kontrolle. Sie stellen das gesamte HTML und Styling bereit, während useThunderPhone die Sprachsitzung verwaltet. Der Hook stellt außerdem audioLevelRef bereit, um audio-reaktive Visualisierungen wie Wellenformen zu erstellen.
Der Headless Hook ist die richtige Wahl, wenn Sie audio-reaktive Animationen, benutzerdefinierte Layouts oder die Integration in eine bestehende Komponentenbibliothek benötigen. CSS-Überschreibungen und benutzerdefinierte Eigenschaften eignen sich besser für schnelle Theme-Anpassungen.