ਸਟਾਈਲਿੰਗ

ਵਿਜਿਟ ਬਿਲਟ-ਇਨ ਹਲਕੇ ਅਤੇ ਗੂੜ੍ਹੇ ਥੀਮਾਂ ਵਾਲੀ ਗਲਾਸਮੌਰਫਿਕ ਬਾਰ ਵਜੋਂ ਰੈਂਡਰ ਹੁੰਦਾ ਹੈ। ਕਸਟਮਾਈਜ਼ੇਸ਼ਨ ਤਿੰਨ ਪੱਧਰਾਂ 'ਤੇ ਉਪਲਬਧ ਹੈ: ਆਮ ਵਿਕਲਪਾਂ ਲਈ props, ਥੀਮਿੰਗ ਲਈ CSS ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼, ਅਤੇ ਪੂਰੇ ਨਿਯੰਤਰਣ ਲਈ CSS ਕਲਾਸ ਓਵਰਰਾਈਡਜ਼।


ਥੀਮਾਂ

theme prop ਵਿਜਿਟ ਦੀ ਰੰਗ ਸਕੀਮ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ। ਇਹ ਵਿਜਿਟ ਰੂਟ 'ਤੇ tp--light ਜਾਂ tp--dark ਕਲਾਸ ਲਾਗੂ ਕਰਦੀ ਹੈ:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  theme="dark"
/>
ਥੀਮਕਲਾਸਵੇਰਵਾ
'light'tp--lightਗੂੜ੍ਹੇ ਟੈਕਸਟ ਨਾਲ ਹਲਕਾ ਬੈਕਗ੍ਰਾਊਂਡ। ਡਿਫਾਲਟ।
'dark'tp--darkਹਲਕੇ ਟੈਕਸਟ ਨਾਲ ਗੂੜ੍ਹਾ ਬੈਕਗ੍ਰਾਊਂਡ।

ਦੋਵੇਂ ਥੀਮਾਂ ਬੈਕਡ੍ਰੌਪ ਬਲਰ ਅਤੇ ਹਲਕੀ ਪਾਰਦਰਸ਼ਤਾ ਨਾਲ ਗਲਾਸਮੌਰਫਿਕ ਬਾਰ ਡਿਜ਼ਾਈਨ ਵਰਤਦੀਆਂ ਹਨ।

CSS ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼

ਵਿਜੇਟ CSS ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼ (ਵੇਰੀਏਬਲਜ਼) ਦਿੰਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਕਲਾਸਾਂ ਨੂੰ ਛੇੜੇ ਬਿਨਾਂ ਰੰਗ ਬਦਲਣ ਲਈ ਓਵਰਰਾਈਡ ਕਰ ਸਕਦੇ ਹੋ। ਇਹਨਾਂ ਨੂੰ .tp-widget ਰੂਟ ਉੱਤੇ ਲਾਗੂ ਕੀਤੀ ਥੀਮ ਕਲਾਸ (.tp--light ਜਾਂ .tp--dark) ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:

ਪ੍ਰਾਪਰਟੀਡਿਫੌਲਟ (ਹਲਕਾ)ਡਿਫੌਲਟ (ਗੂੜ੍ਹਾ)ਵੇਰਵਾ
--tp-accent#000#fffਐਕਸੈਂਟ ਰੰਗ: ਸ਼ੁਰੂ ਬਟਨ, ਵੇਵਫਾਰਮ ਬਾਰਾਂ, ਕਨੈਕਟਿੰਗ ਡਾਟ, ਕਨੈਕਟ ਕੀਤੀ ਸਥਿਤੀ ਦਾ ਟੈਕਸਟ। primaryColor ਪ੍ਰੌਪ ਤੋਂ ਇਨਲਾਈਨ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
--tp-bgrgba(255, 255, 255, 0.82)rgba(15, 15, 15, 0.85)ਬਾਰ ਦਾ ਬੈਕਗ੍ਰਾਊਂਡ (ਅਰਧ-ਪਾਰਦਰਸ਼ੀ; --tp-glass ਦੁਆਰਾ ਬਲਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)।
--tp-surfacergba(0, 0, 0, 0.04)rgba(255, 255, 255, 0.07)ਮਿਊਟ ਬਟਨ ਦਾ ਬੈਕਗ੍ਰਾਊਂਡ।
--tp-surface-hoverrgba(0, 0, 0, 0.07)rgba(255, 255, 255, 0.12)ਮਿਊਟ ਬਟਨ ਦਾ ਹੋਵਰ ਬੈਕਗ੍ਰਾਊਂਡ।
--tp-borderrgba(0, 0, 0, 0.08)rgba(255, 255, 255, 0.1)ਬਾਰ ਅਤੇ ਬਟਨ ਦੀਆਂ ਬਾਰਡਰਾਂ।
--tp-border-hoverrgba(0, 0, 0, 0.14)rgba(255, 255, 255, 0.18)ਹੋਵਰ ਉੱਤੇ ਬਾਰਡਰ ਦਾ ਰੰਗ।
--tp-textrgba(0, 0, 0, 0.88)rgba(255, 255, 255, 0.95)ਪ੍ਰਾਇਮਰੀ ਟੈਕਸਟ (ਸਿਰਲੇਖ, ਏਜੰਟ ਦਾ ਨਾਮ)।
--tp-text-2rgba(0, 0, 0, 0.5)rgba(255, 255, 255, 0.55)ਸੈਕੰਡਰੀ ਟੈਕਸਟ (ਸਬਟਾਈਟਲ, ਸਥਿਤੀ ਲਾਈਨ, ਕਾਲ ਟਾਈਮਰ)।
--tp-glassblur(32px) saturate(180%)blur(32px) saturate(180%)backdrop-filter ਜੋ ਬਾਰ ਉੱਤੇ ਗਲਾਸ ਪ੍ਰਭਾਵ ਬਣਾਉਂਦਾ ਹੈ।
--tp-shadowਤਿੰਨ-ਲੇਅਰ ਸ਼ੈਡੋ ਸਟੈਕਤਿੰਨ-ਲੇਅਰ ਸ਼ੈਡੋ ਸਟੈਕਬਾਰ ਦਾ box-shadow (ਰਿੰਗ + ਨੇੜੇ + ਦੂਰ ਦੀਆਂ ਲੇਅਰਾਂ)।
--tp-shadow-hoverਤਿੰਨ-ਲੇਅਰ ਸ਼ੈਡੋ ਸਟੈਕਤਿੰਨ-ਲੇਅਰ ਸ਼ੈਡੋ ਸਟੈਕਹੋਵਰ ਐਲੀਵੇਸ਼ਨ ਲਈ ਘੋਸ਼ਿਤ; ਫਿਲਹਾਲ ਕਿਸੇ ਵੀ ਨਿਯਮ ਦੁਆਰਾ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।
--tp-glowinset 0 1px 0 0 rgba(255,255,255,0.5)inset 0 1px 0 0 rgba(255,255,255,0.06)ਬਾਰ ਦੀ ਸ਼ੈਡੋ ਉੱਤੇ ਲੇਅਰ ਕੀਤਾ ਅੰਦਰੂਨੀ ਉੱਪਰੀ ਹਾਈਲਾਈਟ।
--tp-connected#059669#34d399ਕਨੈਕਟ ਕੀਤੀ ਸਥਿਤੀ ਦੇ ਇੰਡੀਕੇਟਰ ਦਾ ਰੰਗ (ਸਥਿਤੀ ਡਾਟ)।
--tp-error#dc2626#fb7185ਗਲਤੀ-ਸਥਿਤੀ ਦੇ ਟੈਕਸਟ ਦਾ ਰੰਗ।
--tp-end-bgrgba(239, 68, 68, 0.08)rgba(251, 113, 133, 0.12)ਕਾਲ ਖਤਮ ਕਰਨ ਵਾਲੇ ਬਟਨ ਦਾ ਬੈਕਗ੍ਰਾਊਂਡ।
--tp-end-color#ef4444#fb7185ਕਾਲ ਖਤਮ ਕਰਨ ਵਾਲੇ ਬਟਨ ਦੇ ਆਈਕਨ ਦਾ ਰੰਗ।
--tp-end-borderrgba(239, 68, 68, 0.12)rgba(251, 113, 133, 0.15)ਕਾਲ ਖਤਮ ਕਰਨ ਵਾਲੇ ਬਟਨ ਦੀ ਬਾਰਡਰ।
--tp-end-hoverrgba(239, 68, 68, 0.14)rgba(251, 113, 133, 0.2)ਕਾਲ ਖਤਮ ਕਰਨ ਵਾਲੇ ਬਟਨ ਦਾ ਹੋਵਰ ਬੈਕਗ੍ਰਾਊਂਡ।
--tp-idle-opacity0.40.3ਨਿਸ਼ਕਿਰਿਆ-ਸਥਿਤੀ ਡਿਮਿੰਗ ਲਈ ਘੋਸ਼ਿਤ; ਫਿਲਹਾਲ ਕਿਸੇ ਵੀ ਨਿਯਮ ਦੁਆਰਾ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।

ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨਾ

ਐਕਸੈਂਟ ਰੰਗ ਨੂੰ primaryColor ਪ੍ਰੌਪ ਰਾਹੀਂ ਸੈੱਟ ਕਰੋ:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  primaryColor="#e11d48"
/>

ਹੋਰ ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼ ਨੂੰ CSS ਨਾਲ ਓਵਰਰਾਈਡ ਕਰੋ। ਦੋ-ਕਲਾਸ ਸਿਲੈਕਟਰ (.tp-widget.tp--light / .tp-widget.tp--dark) ਵਰਤੋ ਤਾਂ ਜੋ ਤੁਹਾਡਾ ਨਿਯਮ ਸਟਾਈਲਸ਼ੀਟ ਦੇ ਕ੍ਰਮ ਤੋਂ ਬਿਨਾਂ, ਡਿਫੌਲਟ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਵਾਲੀ ਥੀਮ ਕਲਾਸ ਤੋਂ ਵੱਧ ਪ੍ਰਭਾਵੀ ਹੋਵੇ:

.tp-widget.tp--light {
  --tp-bg: rgba(0, 0, 0, 0.9);
  --tp-text: rgba(255, 255, 255, 0.95);
  --tp-text-2: rgba(255, 255, 255, 0.55);
  --tp-border: rgba(255, 255, 255, 0.15);
}

CSS ਕਲਾਸਾਂ

ਤੁਹਾਡੀਆਂ ਮੌਜੂਦਾ ਸਟਾਈਲਾਂ ਨਾਲ ਟਕਰਾਵ ਤੋਂ ਬਚਣ ਲਈ ਸਾਰੀਆਂ ਵਿਜੇਟ ਕਲਾਸਾਂ ਦੇ ਅੱਗੇ tp- ਲਗਾਇਆ ਗਿਆ ਹੈ।

ਕਲਾਸਐਲੀਮੈਂਟਵੇਰਵਾ
.tp-widgetਰੂਟ ਰੈਪਰਸਥਿਰ-ਸਥਿਤੀ ਵਾਲਾ ਕੰਟੇਨਰ (position: fixed, ਕੋਨਾ position prop ਦੁਆਰਾ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, z-index: 9999)। ਥੀਮ ਕਲਾਸ ਅਤੇ ਮੁੱਢਲੀਆਂ ਫੌਂਟ ਸੈਟਿੰਗਾਂ ਰੱਖਦਾ ਹੈ; ਇਸਦਾ ਆਪਣਾ ਕੋਈ ਵਿਜ਼ੂਅਲ ਕ੍ਰੋਮ ਨਹੀਂ ਹੈ।
.tp--light / .tp--darkਥੀਮ ਮੋਡੀਫਾਇਰਥੀਮ ਦੇ ਨਾਲ .tp-widget ਉੱਤੇ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ; ਸਾਰੀਆਂ --tp-* ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਨ।
.tp-barਬਾਰਗਲਾਸਮੋਰਫਿਕ ਪਿੱਲ ਖੁਦ: ਬੈਕਗ੍ਰਾਊਂਡ, ਬੈਕਡ੍ਰੌਪ ਬਲਰ, ਬਾਰਡਰ, 99px ਰੇਡੀਅਸ, ਸ਼ੈਡੋ। 300px ਚੌੜੀ।
.tp-metaਟੈਕਸਟ ਬਲਾਕਸਾਰੇ ਟੈਕਸਟ ਲਈ ਕੰਟੇਨਰ -- ਨਿਸ਼ਕਿਰਿਆ ਹੋਣ ਵੇਲੇ ਸਿਰਲੇਖ ਅਤੇ ਸਬਟਾਈਟਲ, ਕਾਲ ਦੌਰਾਨ ਏਜੰਟ ਦਾ ਨਾਮ ਅਤੇ ਸਥਿਤੀ।
.tp-nameਮੁੱਖ ਲੇਬਲਨਿਸ਼ਕਿਰਿਆ ਹੋਣ ਵੇਲੇ title prop ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ਕਾਲ ਦੌਰਾਨ ਕਨੈਕਟ ਹੋਏ ਏਜੰਟ ਦਾ ਨਾਮ ਦਿਖਾਉਂਦਾ ਹੈ (title ਨੂੰ ਫਾਲਬੈਕ ਵਜੋਂ ਵਰਤਦੇ ਹੋਏ)।
.tp-subਸਬਟਾਈਟਲਨਿਸ਼ਕਿਰਿਆ ਹੋਣ ਵੇਲੇ ਦਿਖਾਈ ਜਾਣ ਵਾਲੀ "ਹੁਣ ਉਪਲਬਧ" ਲਾਈਨ।
.tp-startਨਿਸ਼ਕਿਰਿਆ ਕਾਲ ਬਟਨਗੋਲ ਐਕਸੈਂਟ ਸਟਾਰਟ ਬਟਨ (42px)। ਬੈਕਗ੍ਰਾਊਂਡ ਵਜੋਂ --tp-accent ਵਰਤਦਾ ਹੈ।
.tp-dotਕਨੈਕਟਿੰਗ ਡੌਟਕਨੈਕਟ ਕਰਦੇ ਸਮੇਂ ਬਾਰ ਦੇ ਖੱਬੇ ਪਾਸੇ ਦਿਖਾਈ ਦੇਣ ਵਾਲਾ ਧੜਕਦਾ ਐਕਸੈਂਟ ਡੌਟ।
.tp-wave / .tp-wave--idleਵੇਵਫਾਰਮਪੰਜ-ਬਾਰ ਵੇਵਫਾਰਮ। --idle ਹੌਲੀ ਸਾਹ ਵਰਗੀ ਐਨੀਮੇਸ਼ਨ ਜੋੜਦਾ ਹੈ; ਕਾਲ ਦੌਰਾਨ ਬਾਰ ਆਡੀਓ-ਪ੍ਰਤੀਕਿਰਿਆਸ਼ੀਲ ਹੁੰਦੇ ਹਨ।
.tp-buttonਕਾਲ ਦੌਰਾਨ ਬਟਨਕਾਲ ਦੌਰਾਨ ਕੰਟਰੋਲਾਂ ਲਈ ਬੇਸ ਸਟਾਈਲ (42px, ਗੋਲਾਈ ਵਾਲਾ 12px)।
.tp-button-groupਬਟਨ ਕਤਾਰਕਾਲ ਦੌਰਾਨ ਮਿਊਟ ਅਤੇ ਐਂਡ ਬਟਨਾਂ ਨੂੰ ਰੈਪ ਕਰਦਾ ਹੈ।
.tp-button--startਕਨੈਕਟ ਬਟਨ ਵੇਰੀਐਂਟਕਾਲ ਸ਼ੁਰੂ ਹੋਣ ਦੌਰਾਨ ਦਿਖਾਈ ਜਾਣ ਵਾਲਾ ਐਕਸੈਂਟ-ਰੰਗੀ ਵੇਰੀਐਂਟ।
.tp-button--muteਮਿਊਟ ਟੌਗਲਕਾਲ ਦੌਰਾਨ ਮਾਈਕ ਨੂੰ ਮਿਊਟ/ਅਨਮਿਊਟ ਕਰਦਾ ਹੈ। --tp-surface ਵਰਤਦਾ ਹੈ।
.tp-button--endਕਾਲ ਖਤਮ ਬਟਨਕਾਲ ਬੰਦ ਕਰਦਾ ਹੈ। --tp-end-* ਪੈਲੇਟ ਵਰਤਦਾ ਹੈ।
.tp-button--loadingਲੋਡਿੰਗ ਮੋਡੀਫਾਇਰਕਨੈਕਟ ਕਰਦੇ ਸਮੇਂ ਬਟਨ ਨੂੰ ਧੁੰਦਲਾ ਕਰਦਾ ਹੈ।
.tp-icon / .tp-spinਆਈਕਨਬਟਨ ਆਈਕਨ ਦਾ ਆਕਾਰ; tp-spin ਕਨੈਕਟਿੰਗ ਸਪਿਨਰ ਨੂੰ ਐਨੀਮੇਟ ਕਰਦਾ ਹੈ।
.tp-statusਕਾਲ-ਦੌਰਾਨ ਸਥਿਤੀ ਬਲਾਕਕਨੈਕਟਿੰਗ/ਕਨੈਕਟਡ/ਗਲਤੀ ਸਥਿਤੀਆਂ ਦੌਰਾਨ ਸਥਿਤੀ ਲਾਈਨ ਨੂੰ ਰੈਪ ਕਰਦਾ ਹੈ।
.tp-status__textਸਥਿਤੀ ਲਾਈਨਕਨੈਕਸ਼ਨ ਸਥਿਤੀ ਟੈਕਸਟ (ਜਿਵੇਂ, "ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...") ਜਾਂ ਕਾਲ ਟਾਈਮਰ। ਸਥਿਤੀ ਅਨੁਸਾਰ .tp-status--connected (ਐਕਸੈਂਟ ਰੰਗ) ਜਾਂ .tp-status--error (ਗਲਤੀ ਰੰਗ) ਮਿਲਦਾ ਹੈ।
.tp-status__nameਏਜੰਟ-ਨਾਮ ਸਲੌਟਸਥਿਤੀ ਬਲਾਕ ਦਾ ਹਿੱਸਾ ਹੈ, ਪਰ ਮੌਜੂਦਾ ਬਾਰ ਲੇਆਉਟ ਵਿੱਚ ਰੈਂਡਰ ਨਹੀਂ ਹੁੰਦਾ -- ਏਜੰਟ ਦਾ ਨਾਮ ਇਸ ਦੀ ਬਜਾਏ .tp-name ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
.tp-status__dotਸਥਿਤੀ ਡੌਟਧੜਕਦੇ ਕਨੈਕਟਡ-ਸਟੇਟ ਡੌਟ ਦੀ ਸਟਾਈਲ (--tp-connected ਵਰਤਦਾ ਹੈ)।

ਉਦਾਹਰਨਾਂ

Props ਰਾਹੀਂ ਕਸਟਮ ਐਕਸੈਂਟ

ਵਿਜਿਟ ਨੂੰ ਬ੍ਰੈਂਡ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  theme="light"
  primaryColor="#059669"
  title="Talk to support"
/>

CSS ਰਾਹੀਂ ਕਸਟਮ ਰੰਗ

ਪੂਰੇ ਰੰਗ ਨਿਯੰਤਰਣ ਲਈ ਕਸਟਮ ਪ੍ਰਾਪਰਟੀਜ਼ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰੋ। ਯਾਦ ਰੱਖੋ ਕਿ ਐਕਸੈਂਟ primaryColor prop ਤੋਂ ਆਉਂਦਾ ਹੈ, CSS ਤੋਂ ਨਹੀਂ:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  primaryColor="#059669"
/>
/* Emerald theme for everything else */
.tp-widget.tp--light {
  --tp-bg: rgba(236, 253, 245, 0.85);
  --tp-text: rgba(6, 78, 59, 0.95);
  --tp-text-2: rgba(4, 120, 87, 0.8);
  --tp-border: rgba(5, 150, 105, 0.2);
}

ਕਸਟਮ ਆਕਾਰ

ਬਾਰ, ਬਟਨ ਅਤੇ ਟੈਕਸਟ ਦੇ ਮਾਪ ਅਨੁਕੂਲ ਕਰਕੇ ਵਿਜਿਟ ਨੂੰ ਵੱਡਾ ਜਾਂ ਛੋਟਾ ਬਣਾਓ:

/* Wider bar */
.tp-bar {
  width: 340px;
}

/* Larger buttons (42px by default) */
.tp-start,
.tp-button {
  width: 56px;
  height: 56px;
}

/* Larger text */
.tp-name {
  font-size: 16px;
}

.tp-sub,
.tp-status__text {
  font-size: 14px;
}

ਟੈਕਸਟ ਲੇਬਲ ਲੁਕਾਓ

ਵਿਜਿਟ ਦਾ ਸਾਰਾ ਟੈਕਸਟ .tp-meta ਵਿੱਚ ਹੁੰਦਾ ਹੈ। ਸਿਰਫ਼ ਵੇਵਫਾਰਮ ਅਤੇ ਬਟਨ ਰੱਖਣ ਲਈ ਇਸਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੁਕਾਓ:

.tp-meta {
  display: none;
}

ਜਾਂ ਵੱਖਰੇ ਹਿੱਸੇ ਲੁਕਾਓ:

/* Hide only the idle "Available now" subtitle */
.tp-sub {
  display: none;
}

/* Hide only the in-call status line (connection state / timer) */
.tp-status {
  display: none;
}

ਥੀਮ-ਵਿਸ਼ੇਸ਼ ਓਵਰਰਾਈਡ

ਥੀਮ ਕਲਾਸ ਨਾਲ ਕਿਸੇ ਖਾਸ ਥੀਮ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਓ:

/* Only affect dark theme */
.tp--dark .tp-start {
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.25);
}

/* Only affect light theme */
.tp-widget.tp--light {
  --tp-bg: rgba(255, 255, 255, 0.95);
}

className ਨਾਲ ਸਕੋਪਿੰਗ

React ਕੰਪੋਨੈਂਟ ਵਰਤਦੇ ਸਮੇਂ, ਆਪਣੇ ਓਵਰਰਾਈਡ ਕਿਸੇ ਖਾਸ ਵਿਜਿਟ ਇੰਸਟੈਂਸ ਤੱਕ ਸੀਮਿਤ ਕਰਨ ਲਈ className prop ਦਿਓ:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  theme="dark"
  className="support-widget"
/>

ਫਿਰ ਆਪਣੇ CSS ਵਿੱਚ ਉਸ ਕਲਾਸ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਓ:

.support-widget.tp--dark {
  --tp-bg: rgba(30, 30, 46, 0.9);
}

.support-widget .tp-name {
  font-weight: 700;
}

ਇਸ ਨਾਲ ਤੁਸੀਂ ਇੱਕੋ ਪੇਜ ਉੱਤੇ ਵੱਖ-ਵੱਖ ਸਟਾਈਲਾਂ ਵਾਲੇ ਕਈ ਵਿਜਿਟ ਇੰਸਟੈਂਸ ਰੱਖ ਸਕਦੇ ਹੋ। ਹਰ ਇੰਸਟੈਂਸ ਨੂੰ ਉਸਦੇ primaryColor prop ਰਾਹੀਂ ਆਪਣਾ ਐਕਸੈਂਟ ਦਿਓ (CSS --tp-accent ਨੂੰ ਓਵਰਰਾਈਡ ਨਹੀਂ ਕਰ ਸਕਦਾ -- ਇਹ ਇਨਲਾਈਨ ਸੈੱਟ ਹੁੰਦਾ ਹੈ)।


ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਸਟਮ UI

ਜੇ CSS ਓਵਰਰਾਈਡ ਕਾਫ਼ੀ ਨਹੀਂ ਹਨ, ਤਾਂ ਹੈੱਡਲੈੱਸ ਹੁੱਕ ਤੁਹਾਨੂੰ ਪੂਰਾ ਨਿਯੰਤਰਣ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਸਾਰਾ HTML ਅਤੇ ਸਟਾਈਲਿੰਗ ਦਿੰਦੇ ਹੋ, ਜਦਕਿ useThunderPhone ਵੌਇਸ ਸੈਸ਼ਨ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਹੁੱਕ ਵੇਵਫਾਰਮ ਵਰਗੇ ਆਡੀਓ-ਰਿਐਕਟਿਵ ਵਿਜੁਅਲਾਈਜ਼ੇਸ਼ਨ ਬਣਾਉਣ ਲਈ audioLevelRef ਵੀ ਦਿੰਦਾ ਹੈ।

import { useThunderPhone } from '@thunderphone/widget'

function MyWidget() {
  const phone = useThunderPhone({
    publishableKey: 'pk_live_your_publishable_key',
  })

  return (
    <div className="my-totally-custom-widget">
      {/* Your own buttons, animations, layouts -- anything */}
      <button onClick={phone.state === 'connected' ? phone.disconnect : phone.connect}>
        {phone.state === 'connected' ? 'Hang up' : 'Call us'}
      </button>
      {phone.audio}
    </div>
  )
}