# Code coverage report for src/components/features/snippet-viewer/SnippetViewerContent.tsx

# All files / src/components/features/snippet-viewer SnippetViewerContent.tsx

100% Statements 58/58
100% Branches 5/5
33.33% Functions 1/3
100% Lines 58/58

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    591x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    45x
    45x
    45x
    45x
    45x
    45x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    6x
    6x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    23x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
    22x
     import { Snippet } from '@/lib/types'
    import { MonacoEditor } from '@/components/features/snippet-editor/MonacoEditor'
    import { ReactPreview } from '@/components/features/snippet-editor/ReactPreview'
    import { PythonOutput } from '@/components/features/python-runner/PythonOutput'

    interface SnippetViewerContentProps {
      snippet: Snippet
      canPreview: boolean
      showPreview: boolean
      isPython: boolean
    }

    export function SnippetViewerContent({
      snippet,
      canPreview,
      showPreview,
      isPython,
    }: SnippetViewerContentProps) {
      if (canPreview && showPreview) {
        return (
          <>
            <div className="flex-1 overflow-hidden border-r border-border">
              <MonacoEditor
                value={snippet.code}
                onChange={() => {}}
                language={snippet.language}
                height="100%"
                readOnly={true}
              />
            </div>
            <div className="flex-1 overflow-hidden">
              {isPython ? (
                <PythonOutput code={snippet.code} />
              ) : (
                <ReactPreview
                  code={snippet.code}
                  language={snippet.language}
                  functionName={snippet.functionName}
                  inputParameters={snippet.inputParameters}
                />
              )}
            </div>
          </>
        )
      }

      return (
        <div className="flex-1 overflow-hidden">
          <MonacoEditor
            value={snippet.code}
            onChange={() => {}}
            language={snippet.language}
            height="100%"
            readOnly={true}
          />
        </div>
      )
    }