ReportHeader.tsx 832 B

1234567891011121314151617181920212223242526272829303132
  1. import { useParams } from 'common'
  2. import { useRouter } from 'next/router'
  3. import { DatabaseSelector } from '@/components/ui/DatabaseSelector'
  4. interface ReportHeaderProps {
  5. title: string
  6. showDatabaseSelector?: boolean
  7. }
  8. const ReportHeader = ({ title, showDatabaseSelector }: ReportHeaderProps) => {
  9. const router = useRouter()
  10. const { ref } = useParams()
  11. const { db, chart, ...params } = router.query
  12. return (
  13. <div className="flex flex-row justify-between gap-4 items-center">
  14. <h1>{title}</h1>
  15. {showDatabaseSelector && (
  16. <DatabaseSelector
  17. onSelectId={(db) => {
  18. router.push({
  19. pathname: router.pathname,
  20. query: db !== ref ? { ...params, db } : params,
  21. })
  22. }}
  23. />
  24. )}
  25. </div>
  26. )
  27. }
  28. export default ReportHeader