import type { Meta, StoryObj } from "@storybook/react";
import {
AdminContext,
defaultI18nProvider,
ShowBase,
ShowContextProvider,
useShowContext,
} from "react-admin";
import React, { useState } from "react";
import { GenerationInstructions } from "@amplicode/storybook-extensions";
import { delayDataProvider } from "../../dataProvider";
import { Box, Paper, Typography, TextField } from "@mui/material";
import { Code } from "../../utils";
const docDecorator = (Story: () => React.JSX.Element) => {
const [record, setRecord] = useState({ name: "Jake" });
return (
useShowContext grabs the data computed by{" "}
useShowController
when inside a <Show> or a{" "}
<Showbase> component.
Component that provides Show context
{
setRecord({ name: (event.currentTarget as any).value });
}}
variant="outlined"
/>
Some inner component
Component that needs Show context
);
};
const meta = {
title: "DataProviding/useShowContext",
parameters: {
layout: "centered",
},
decorators: [
(Story) => docDecorator(Story),
(Story) => defaultDecorator(Story),
],
} satisfies Meta;
export default meta;
type Story = StoryObj;
export const Default: Story = {
render: () => {
const { record, isPending, error } = useShowContext();
return (
{record?.name}
);
},
};
const defaultDecorator = (Story: () => React.JSX.Element) => {
return (
{Story()}
);
};