PrivateSqlSnippetEmpty.tsx 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { Pointer } from 'lucide-react'
  2. import { TreeViewItem } from 'ui'
  3. import { InnerSideBarEmptyPanel } from 'ui-patterns'
  4. export const EmptyPrivateQueriesPanel = () => (
  5. <InnerSideBarEmptyPanel
  6. title="No private queries created yet"
  7. description="Queries will be automatically saved once you start writing in the editor"
  8. className="mx-4"
  9. >
  10. <div className="top-0 left-6 flex flex-col opacity-50 cursor-not-allowed bg-dash-sidebar -mb-7 pointer-events-none scale-75">
  11. <div className="relative">
  12. <div className="absolute inset-0 pointer-events-none z-10">
  13. <div className="absolute inset-0 bg-linear-to-t from-transparent from-80% to-100% to-background-surface-100 dark:to-background-surface-75" />
  14. <div className="absolute inset-0 bg-linear-to-r from-transparent from-50% to-100% to-background-surface-100 dark:to-background-surface-75" />
  15. </div>
  16. <div className="absolute left-[128px] bottom-[21px] text-foreground-muted z-10 pointer-events-none">
  17. <Pointer size={16} className="text-foreground-light" strokeWidth={1.5} />
  18. </div>
  19. {[...Array(4)].map((_, i) => (
  20. <div className="border-l pointer-events-none" key={`dummy-${i + 1}`}>
  21. <TreeViewItem
  22. isSelected={i === 2}
  23. id={`dummy-${i + 1}`}
  24. name={`dummy_query_${i + 1}`}
  25. level={1}
  26. xPadding={16}
  27. />
  28. </div>
  29. ))}
  30. </div>
  31. </div>
  32. </InnerSideBarEmptyPanel>
  33. )