|
2 | 2 |
|
3 | 3 | import { useState } from 'react'; |
4 | 4 | import Image from 'next/image'; |
5 | | -import { useParams } from 'next/navigation'; |
| 5 | +import { useParams, useSearchParams } from 'next/navigation'; |
| 6 | +import { graphql } from '@/gql'; |
| 7 | +import { useQuery } from '@tanstack/react-query'; |
6 | 8 | import { Button, Select, Tab, TabList, Tabs, Text } from 'opub-ui'; |
7 | 9 |
|
| 10 | +import { GraphQL } from '@/lib/api'; |
8 | 11 | import { Icons } from '@/components/icons'; |
9 | 12 | import TitleBar from '../../components/title-bar'; |
10 | 13 |
|
| 14 | +const getResourceChartImageDetailsDoc: any = graphql(` |
| 15 | + query getResourceChartImageDetails($imageId: UUID!) { |
| 16 | + resourceChartImage(imageId: $imageId) { |
| 17 | + description |
| 18 | + dataset { |
| 19 | + id |
| 20 | + title |
| 21 | + slug |
| 22 | + } |
| 23 | + id |
| 24 | + name |
| 25 | + image { |
| 26 | + name |
| 27 | + path |
| 28 | + size |
| 29 | + url |
| 30 | + width |
| 31 | + height |
| 32 | + } |
| 33 | + status |
| 34 | + } |
| 35 | + } |
| 36 | +`); |
| 37 | + |
11 | 38 | const ChartDetails = () => { |
12 | 39 | const params = useParams<{ |
13 | 40 | entityType: string; |
14 | 41 | entitySlug: string; |
15 | 42 | chartID: string; |
16 | 43 | }>(); |
17 | 44 |
|
18 | | - console.log('Chart ID provided :: ', params.chartID); |
| 45 | + const searchParams = useSearchParams(); |
19 | 46 |
|
20 | | - type LoadedChartType = 'TypeResourceChartImage' | 'TypeResourceChart'; |
| 47 | + const chartPreviewType = searchParams.get('type'); |
21 | 48 |
|
22 | | - const [chartPreviewType, setChartPreviewType] = |
23 | | - useState<LoadedChartType>('TypeResourceChart'); |
| 49 | + const getResourceChartDetailsRes: { |
| 50 | + data: any; |
| 51 | + isLoading: boolean; |
| 52 | + refetch: any; |
| 53 | + error: any; |
| 54 | + isError: boolean; |
| 55 | + } = useQuery([`getResourceChartImageDetails_${params.chartID}`], () => |
| 56 | + GraphQL( |
| 57 | + getResourceChartImageDetailsDoc, |
| 58 | + { |
| 59 | + [params.entityType]: params.entitySlug, |
| 60 | + }, |
| 61 | + { |
| 62 | + imageId: params.chartID, |
| 63 | + } |
| 64 | + ) |
| 65 | + ); |
24 | 66 |
|
25 | 67 | return ( |
26 | 68 | <div> |
|
0 commit comments