refactor(private-zoom): rename full feature surface
This commit is contained in:
@@ -85,8 +85,8 @@ describe("shared Tailwind components", () => {
|
||||
<CharacterAvatar
|
||||
src="/images/avatar/elio.png"
|
||||
alt="Elio Silvestri"
|
||||
actionLabel="Open Elio's private room"
|
||||
analyticsKey="chat.open_private_room_from_avatar"
|
||||
actionLabel="Open Elio's private zoom"
|
||||
analyticsKey="chat.open_private_zoom_from_avatar"
|
||||
onClick={() => undefined}
|
||||
/>,
|
||||
);
|
||||
@@ -100,10 +100,10 @@ describe("shared Tailwind components", () => {
|
||||
|
||||
expect(characterHtml).toContain('<button type="button"');
|
||||
expect(characterHtml).toContain(
|
||||
'aria-label="Open Elio's private room"',
|
||||
'aria-label="Open Elio's private zoom"',
|
||||
);
|
||||
expect(characterHtml).toContain(
|
||||
'data-analytics-key="chat.open_private_room_from_avatar"',
|
||||
'data-analytics-key="chat.open_private_zoom_from_avatar"',
|
||||
);
|
||||
expect(userHtml).toContain('<button type="button"');
|
||||
expect(userHtml).toContain('aria-label="Open profile"');
|
||||
|
||||
@@ -79,18 +79,18 @@ describe("core Tailwind components", () => {
|
||||
<AppBottomNav
|
||||
activeItem="chat"
|
||||
variant="dark"
|
||||
privateRoomLabel="Maya Private room"
|
||||
privateZoomLabel="Maya Private Zoom"
|
||||
onChatClick={() => undefined}
|
||||
onPrivateRoomClick={() => undefined}
|
||||
onPrivateZoomClick={() => undefined}
|
||||
/>,
|
||||
);
|
||||
const privateRoomHtml = renderToStaticMarkup(
|
||||
const privateZoomHtml = renderToStaticMarkup(
|
||||
<AppBottomNav
|
||||
activeItem="privateRoom"
|
||||
activeItem="privateZoom"
|
||||
variant="warm"
|
||||
privateRoomLabel="Maya Private room"
|
||||
privateZoomLabel="Maya Private Zoom"
|
||||
onChatClick={() => undefined}
|
||||
onPrivateRoomClick={() => undefined}
|
||||
onPrivateZoomClick={() => undefined}
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -99,13 +99,13 @@ describe("core Tailwind components", () => {
|
||||
expect(chatHtml).toMatch(
|
||||
/<button[^>]*aria-current="page"[^>]*>.*?<span>Chat<\/span>/,
|
||||
);
|
||||
expect(privateRoomHtml).toMatch(/class="[^"]*warm[^"]*"/);
|
||||
expect(privateRoomHtml).toMatch(
|
||||
/<button[^>]*aria-current="page"[^>]*>.*?<span>Maya Private room<\/span>/,
|
||||
expect(privateZoomHtml).toMatch(/class="[^"]*warm[^"]*"/);
|
||||
expect(privateZoomHtml).toMatch(
|
||||
/<button[^>]*aria-current="page"[^>]*>.*?<span>Maya Private Zoom<\/span>/,
|
||||
);
|
||||
expect(chatHtml).toContain('data-analytics-key="navigation.chat"');
|
||||
expect(privateRoomHtml).toContain(
|
||||
'data-analytics-key="navigation.private_room"',
|
||||
expect(privateZoomHtml).toContain(
|
||||
'data-analytics-key="navigation.private_zoom"',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4,23 +4,23 @@ import { Camera, MessageCircle } from "lucide-react";
|
||||
|
||||
import styles from "./app-bottom-nav.module.css";
|
||||
|
||||
export type AppBottomNavItem = "chat" | "privateRoom";
|
||||
export type AppBottomNavItem = "chat" | "privateZoom";
|
||||
export type AppBottomNavVariant = "warm" | "dark";
|
||||
|
||||
export interface AppBottomNavProps {
|
||||
activeItem?: AppBottomNavItem | null;
|
||||
variant?: AppBottomNavVariant;
|
||||
privateRoomLabel: string;
|
||||
privateZoomLabel: string;
|
||||
onChatClick: () => void;
|
||||
onPrivateRoomClick: () => void;
|
||||
onPrivateZoomClick: () => void;
|
||||
}
|
||||
|
||||
export function AppBottomNav({
|
||||
activeItem = null,
|
||||
variant = "warm",
|
||||
privateRoomLabel,
|
||||
privateZoomLabel,
|
||||
onChatClick,
|
||||
onPrivateRoomClick,
|
||||
onPrivateZoomClick,
|
||||
}: AppBottomNavProps) {
|
||||
return (
|
||||
<nav className={getRootClass(variant)} aria-label="Primary navigation">
|
||||
@@ -37,14 +37,14 @@ export function AppBottomNav({
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
data-analytics-key="navigation.private_room"
|
||||
data-analytics-label="Private room navigation"
|
||||
className={getButtonClass(activeItem === "privateRoom")}
|
||||
aria-current={activeItem === "privateRoom" ? "page" : undefined}
|
||||
onClick={onPrivateRoomClick}
|
||||
data-analytics-key="navigation.private_zoom"
|
||||
data-analytics-label="Private Zoom navigation"
|
||||
className={getButtonClass(activeItem === "privateZoom")}
|
||||
aria-current={activeItem === "privateZoom" ? "page" : undefined}
|
||||
onClick={onPrivateZoomClick}
|
||||
>
|
||||
<Camera size={20} aria-hidden="true" />
|
||||
<span>{privateRoomLabel}</span>
|
||||
<span>{privateZoomLabel}</span>
|
||||
</button>
|
||||
</nav>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user