feat(analytics): add behavior and payment funnel tracking
This commit is contained in:
@@ -46,6 +46,7 @@ describe("splash Tailwind components", () => {
|
||||
expect(html).toContain("active:enabled:brightness-90");
|
||||
expect(html).toContain("touch-manipulation");
|
||||
expect(html).toContain("Start Chatting");
|
||||
expect(html).toContain('data-analytics-key="splash.start_chat"');
|
||||
expect(html).not.toContain("disabled=\"");
|
||||
expect(html).not.toContain("animate-spin");
|
||||
});
|
||||
|
||||
@@ -11,6 +11,8 @@ export function SplashButton({ onStartChat }: SplashButtonProps) {
|
||||
<div className="z-2 flex w-full flex-row items-center justify-center gap-[clamp(var(--spacing-md,12px),4.815vw,var(--spacing-26,26px))] px-[clamp(var(--spacing-sm,8px),2.963vw,var(--spacing-lg,16px))]">
|
||||
<button
|
||||
type="button"
|
||||
data-analytics-key="splash.start_chat"
|
||||
data-analytics-label="Start chatting"
|
||||
onClick={onStartChat}
|
||||
className="inline-flex min-h-(--responsive-control-height,48px) w-full max-w-120 touch-manipulation flex-auto cursor-pointer items-center justify-center rounded-(--radius-full,999px) border-0 bg-[linear-gradient(to_right,var(--color-button-gradient-start),var(--color-button-gradient-end))] px-[clamp(var(--spacing-lg,16px),5.556vw,30px)] font-bold italic text-white shadow-[0_0_10px_rgba(248,89,168,0.3)] transition-[filter,box-shadow,transform] duration-150 ease-out [-webkit-tap-highlight-color:transparent] focus-visible:outline-2 focus-visible:outline-offset-3 focus-visible:outline-white enabled:hover:-translate-y-px enabled:hover:brightness-105 enabled:hover:shadow-[0_8px_22px_rgba(248,89,168,0.42)] active:enabled:translate-y-0.5 active:enabled:scale-96 active:enabled:brightness-90 active:enabled:shadow-[0_2px_6px_rgba(248,89,168,0.24)] motion-reduce:transition-none motion-reduce:active:enabled:transform-none disabled:cursor-not-allowed disabled:opacity-70"
|
||||
>
|
||||
|
||||
@@ -22,6 +22,8 @@ export function SplashLatestMessage({
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
data-analytics-key="splash.latest_message"
|
||||
data-analytics-label="Open latest message"
|
||||
className={styles.card}
|
||||
onClick={onOpenChat}
|
||||
aria-label="Open latest message from Elio"
|
||||
|
||||
@@ -18,11 +18,6 @@ import {
|
||||
import { useSplashLatestMessage } from "./hooks/use-splash-latest-message";
|
||||
import styles from "./components/splash-screen.module.css";
|
||||
|
||||
// 尽量早地缓存 beforeinstallprompt,避免用户停留 splash 时浏览器事件已触发并丢失。
|
||||
if (typeof window !== "undefined") {
|
||||
pwaUtil.prepareInstallPrompt();
|
||||
}
|
||||
|
||||
export function SplashScreen() {
|
||||
const navigator = useAppNavigator();
|
||||
const authState = useAuthState();
|
||||
|
||||
Reference in New Issue
Block a user