diff --git a/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.fixture.tsx b/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.fixture.tsx new file mode 100644 index 00000000000..9718e48aab0 --- /dev/null +++ b/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.fixture.tsx @@ -0,0 +1,52 @@ +import { defineFixture } from '../../component-fixtures/component-fixture' +import { FullDiskAccessNudgeToast } from './FullDiskAccessNudgeToast' + +const noop = (): void => {} + +export const singlePrompt = defineFixture({ + width: 448, + render: () => ( + + ) +}) + +export const repeatedPrompts = defineFixture({ + width: 448, + render: () => ( + + ) +}) + +export const narrowWindow = defineFixture({ + width: 300, + render: () => ( + + ) +}) + +export const mediumWindow = defineFixture({ + width: 360, + render: () => ( + + ) +}) diff --git a/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.tsx b/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.tsx new file mode 100644 index 00000000000..694e9dc6262 --- /dev/null +++ b/src/renderer/src/components/macos-permissions/FullDiskAccessNudgeToast.tsx @@ -0,0 +1,92 @@ +import { X } from 'lucide-react' +import { Button } from '@/components/ui/button' +import { useTranslate } from '@/i18n/use-translate' + +type FullDiskAccessNudgeToastProps = { + promptCount: number + onEnable: () => void + onClose: () => void + onDontShowAgain: () => void +} + +function StackedPromptsIllustration({ promptCount }: { promptCount: number }): React.JSX.Element { + return ( +