TemplatePreview.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { isEmpty } from 'lodash'
  2. import { PolicyTemplate } from './PolicyTemplates.constants'
  3. import SqlEditor from '@/components/ui/SqlEditor'
  4. interface TemplatePreviewProps {
  5. selectedTemplate: PolicyTemplate
  6. }
  7. const TemplatePreview = ({ selectedTemplate }: TemplatePreviewProps) => {
  8. const { id, templateName, description, statement } = selectedTemplate
  9. return (
  10. <div className="space-y-8 md:w-[70%]">
  11. {!isEmpty(selectedTemplate) && (
  12. <div className="flex h-full flex-col justify-between">
  13. <div className="my-5 h-full space-y-6 px-6">
  14. <div className="space-y-2">
  15. <div className="flex flex-col space-y-2">
  16. <h3>{templateName}</h3>
  17. <p className="text-foreground-light text-sm">{description}</p>
  18. </div>
  19. </div>
  20. <div className="space-y-2">
  21. <label className="text-foreground-light text-sm">Policy SQL template:</label>
  22. <div className="h-64">
  23. <SqlEditor readOnly queryId={id} defaultValue={statement} />
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. )}
  29. </div>
  30. )
  31. }
  32. export default TemplatePreview