Skip to content
2 changes: 1 addition & 1 deletion platform-includes/logs/requirements/react-native.mdx
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Logs for React Native are supported in Sentry React Native SDK version `7.0.0-beta.1` and above.
<VersionRequirement product="Logs for React Native" sdk="Sentry React Native SDK" minVersion="7.0.0-beta.1" />
36 changes: 36 additions & 0 deletions src/components/version-requirement.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import {ReactNode} from 'react';

import {Alert} from './alert';

export type VersionRequirementProps = {
// e.g., "Sentry React Native SDK"
minVersion: string;
product: string;
// e.g., "Logs for React Native"
sdk: string;
children?: ReactNode;
// e.g., "7.0.0-beta.1"
level?: 'info' | 'warning' | 'success'; // additional details, upgrade notes, links
};

/**
* VersionRequirement renders a prominent callout stating the minimum SDK version
* required for a given feature. It composes the shared Alert/Callout styles and
* can be reused by any product area (not limited to Logs).
*/
export function VersionRequirement({
product,
sdk,
minVersion,
level = 'warning',
children,
}: VersionRequirementProps) {
return (
<Alert title="Version requirement" level={level}>
<p>
{product} requires {sdk} version <code>{minVersion}</code> or newer.
</p>
{children ? <div className="mt-2">{children}</div> : null}
</Alert>
);
}
2 changes: 2 additions & 0 deletions src/mdxComponents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import {SdkOption} from './components/sdkOption';
import {SignInNote} from './components/signInNote';
import {SmartLink} from './components/smartLink';
import {TableOfContents} from './components/tableOfContents';
import {VersionRequirement} from './components/version-requirement';
import {VimeoEmbed} from './components/video';

export function mdxComponents(
Expand Down Expand Up @@ -93,6 +94,7 @@ export function mdxComponents(
SandboxLink,
SignInNote,
VimeoEmbed,
VersionRequirement,
a: SmartLink,
img: DocImage,
...dynamicComponents,
Expand Down
Loading