Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Commit 078939d

Browse files
committed
frontend: add the TooltipProvider everywhere
1 parent a600393 commit 078939d

File tree

6 files changed

+46
-28
lines changed

6 files changed

+46
-28
lines changed

frontend/.storybook/preview.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414

1515
import { ArgTypes, Decorator, Parameters, Preview } from "@storybook/react";
1616
import { useLayoutEffect } from "react";
17+
import { TooltipProvider } from "@vector-im/compound-web";
1718

1819
import "../src/shared.css";
1920
import i18n from "../src/i18n";
2021

2122
import localazyMetadata from "./locales";
23+
import { DummyRouter } from "../src/test-utils/router";
2224

2325
export const parameters: Parameters = {
2426
controls: {
@@ -75,7 +77,27 @@ const withThemeProvider: Decorator = (Story, context) => {
7577
);
7678
};
7779

78-
export const decorators: Decorator[] = [withThemeProvider];
80+
const withDummyRouter: Decorator = (Story, context) => {
81+
return (
82+
<DummyRouter>
83+
<Story />
84+
</DummyRouter>
85+
);
86+
};
87+
88+
const withTooltipProvider: Decorator = (Story, context) => {
89+
return (
90+
<TooltipProvider>
91+
<Story />
92+
</TooltipProvider>
93+
);
94+
};
95+
96+
export const decorators: Decorator[] = [
97+
withThemeProvider,
98+
withDummyRouter,
99+
withTooltipProvider,
100+
];
79101

80102
const locales = Object.fromEntries(
81103
localazyMetadata.languages.map(({ language, name, localizedName }) => [

frontend/src/components/Filter/Filter.stories.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414

1515
import { Meta, StoryObj } from "@storybook/react";
1616

17-
import { DummyRouter } from "../../test-utils/router";
18-
1917
import { Filter } from "./Filter";
2018

2119
const meta = {
@@ -28,11 +26,9 @@ const meta = {
2826
},
2927
decorators: [
3028
(Story): React.ReactElement => (
31-
<DummyRouter>
32-
<div className="flex gap-4">
33-
<Story />
34-
</div>
35-
</DummyRouter>
29+
<div className="flex gap-4">
30+
<Story />
31+
</div>
3632
),
3733
],
3834
} satisfies Meta<typeof Filter>;

frontend/src/components/NavBar/NavBar.stories.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import type { Meta, StoryObj } from "@storybook/react";
1616

17-
import { DummyRouter } from "../../test-utils/router";
1817
import NavItem from "../NavItem";
1918

2019
import NavBar from "./NavBar";
@@ -24,12 +23,10 @@ const meta = {
2423
component: NavBar,
2524
tags: ["autodocs"],
2625
render: (): React.ReactElement => (
27-
<DummyRouter>
28-
<NavBar>
29-
<NavItem to="/">Profile</NavItem>
30-
<NavItem to="/sessions">Sessions</NavItem>
31-
</NavBar>
32-
</DummyRouter>
26+
<NavBar>
27+
<NavItem to="/">Profile</NavItem>
28+
<NavItem to="/sessions">Sessions</NavItem>
29+
</NavBar>
3330
),
3431
} satisfies Meta<typeof NavBar>;
3532

frontend/src/components/SessionDetail/SessionHeader.stories.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,12 @@
1515
import type { Meta, StoryObj } from "@storybook/react";
1616
import { PropsWithChildren } from "react";
1717

18-
import { DummyRouter } from "../../test-utils/router";
19-
2018
import SessionHeader from "./SessionHeader";
2119

2220
type Props = PropsWithChildren;
2321

2422
const Template: React.FC<Props> = ({ children }) => {
25-
return (
26-
<DummyRouter>
27-
<SessionHeader to="/">{children}</SessionHeader>
28-
</DummyRouter>
29-
);
23+
return <SessionHeader to="/">{children}</SessionHeader>;
3024
};
3125

3226
const meta = {

frontend/src/components/SessionDetail/SessionHeader.test.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,19 @@ import { composeStory } from "@storybook/react";
1818
import { render, cleanup } from "@testing-library/react";
1919
import { describe, it, expect, afterEach } from "vitest";
2020

21+
import { DummyRouter } from "../../test-utils/router";
22+
2123
import Meta, { Basic } from "./SessionHeader.stories";
2224

2325
describe("<SessionHeader />", () => {
2426
afterEach(cleanup);
2527
it("renders a session header", () => {
2628
const Component = composeStory(Basic, Meta);
27-
const { container } = render(<Component />);
29+
const { container } = render(
30+
<DummyRouter>
31+
<Component />
32+
</DummyRouter>,
33+
);
2834
expect(container).toMatchSnapshot();
2935
});
3036
});

frontend/src/main.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// limitations under the License.
1414

1515
import { RouterProvider, createRouter } from "@tanstack/react-router";
16+
import { TooltipProvider } from "@vector-im/compound-web";
1617
import { Suspense, StrictMode } from "react";
1718
import { createRoot } from "react-dom/client";
1819
import { I18nextProvider } from "react-i18next";
@@ -48,11 +49,13 @@ createRoot(document.getElementById("root") as HTMLElement).render(
4849
<StrictMode>
4950
<UrqlProvider value={client}>
5051
<ErrorBoundary>
51-
<Suspense fallback={<LoadingScreen />}>
52-
<I18nextProvider i18n={i18n}>
53-
<RouterProvider router={router} context={{ client }} />
54-
</I18nextProvider>
55-
</Suspense>
52+
<TooltipProvider>
53+
<Suspense fallback={<LoadingScreen />}>
54+
<I18nextProvider i18n={i18n}>
55+
<RouterProvider router={router} context={{ client }} />
56+
</I18nextProvider>
57+
</Suspense>
58+
</TooltipProvider>
5659
</ErrorBoundary>
5760
</UrqlProvider>
5861
</StrictMode>,

0 commit comments

Comments
 (0)