{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/index.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/index.tsx"],"sourcesContent":["import {\n  Button,\n  Card,\n  Divider,\n  FloatButton,\n  Popconfirm,\n  Space,\n  Tabs,\n  Tooltip,\n  Typography,\n} from 'antd';\nimport React, { useEffect } from 'react';\n\nimport { InfoCircleOutlined, LogoutOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { BundleDiffContainerProps } from './types';\nimport { Size } from '../../../../constants';\nimport { DiffCards } from './cards';\nimport { Overview } from './overview';\nimport { Assets } from './assets';\nimport { Modules } from './modules';\nimport { Packages } from './packages';\nimport { DiffServerAPIProvider } from '../DiffServerAPIProvider';\nimport { Graph } from '@rsdoctor/utils/common';\n\nexport const DiffContainer: React.FC<BundleDiffContainerProps> = ({\n  manifests,\n}) => {\n  useEffect(() => {\n    console.log('BundleDiff Manifests: ', manifests);\n  }, [manifests]);\n\n  return (\n    <DiffServerAPIProvider\n      api={SDK.ServerAPI.API.GetBundleDiffSummary}\n      manifests={manifests}\n    >\n      {(baselineSummary, currentSummary) => {\n        const onlyBaseline =\n          baselineSummary.chunkGraph === currentSummary.chunkGraph;\n\n        const baselineChunkGraph = baselineSummary.chunkGraph;\n        const currentChunkGraph = onlyBaseline\n          ? baselineChunkGraph\n          : currentSummary.chunkGraph;\n\n        const assetsDiffResult = Graph.getAssetsDiffResult(\n          baselineChunkGraph,\n          currentChunkGraph,\n        );\n\n        return (\n          <div>\n            <FloatButton.Group>\n              <Tooltip\n                placement=\"leftBottom\"\n                title={\n                  <Space direction=\"vertical\">\n                    {[\n                      { title: 'Baseline', data: baselineSummary },\n                      { title: 'Current', data: currentSummary },\n                    ].map(({ title, data }) => {\n                      return (\n                        <Card size=\"small\" key={title}>\n                          <Space direction=\"vertical\">\n                            <Typography.Text strong>{title}</Typography.Text>\n                            <Space style={{ fontSize: 10 }}>\n                              <Typography.Text\n                                style={{\n                                  fontSize: 'inherit',\n                                  width: 30,\n                                  display: 'inline-block',\n                                }}\n                              >\n                                Hash\n                              </Typography.Text>\n                              <Divider type=\"vertical\" />\n                              <Typography.Text\n                                type=\"secondary\"\n                                style={{ fontSize: 'inherit' }}\n                              >\n                                {data.hash || '-'}\n                              </Typography.Text>\n                            </Space>\n                            {data.cloudManifestUrl ? (\n                              <Button\n                                type=\"link\"\n                                size=\"small\"\n                                style={{ padding: 0, fontSize: 10 }}\n                                onClick={() =>\n                                  window.open(data.cloudManifestUrl)\n                                }\n                              >\n                                Open File\n                              </Button>\n                            ) : null}\n                          </Space>\n                        </Card>\n                      );\n                    })}\n                  </Space>\n                }\n              >\n                <FloatButton icon={<InfoCircleOutlined />} />\n              </Tooltip>\n              <Popconfirm\n                title={\n                  <Typography.Text>\n                    Are you sure to\n                    <Typography.Text strong> re-upload </Typography.Text>\n                    json files for bundle diff?\n                  </Typography.Text>\n                }\n                onConfirm={() => {}}\n                okText=\"Yes\"\n                cancelText=\"Cancel\"\n                placement=\"topLeft\"\n                trigger=\"hover\"\n              >\n                <FloatButton icon={<LogoutOutlined />} />\n              </Popconfirm>\n              <FloatButton.BackTop />\n            </FloatButton.Group>\n            <DiffCards\n              baseline={baselineSummary}\n              current={currentSummary}\n              onlyBaseline={onlyBaseline}\n              assetsDiffResult={assetsDiffResult}\n            />\n            <Tabs\n              defaultActiveKey=\"Overview\"\n              tabBarStyle={{ marginBottom: Size.BasePadding / 3 }}\n              items={[\n                {\n                  label: 'Overview',\n                  key: 'Overview',\n                  children: <Overview assetsDiffResult={assetsDiffResult} />,\n                },\n                {\n                  label: 'Assets',\n                  key: 'Assets',\n                  children: (\n                    <Assets\n                      outputFilename={baselineSummary.outputFilename}\n                      baseline={baselineSummary}\n                      current={currentSummary}\n                    />\n                  ),\n                },\n                {\n                  label: 'Modules',\n                  key: 'Modules',\n                  children: (\n                    <Modules\n                      baseline={baselineSummary}\n                      current={currentSummary}\n                      onlyBaseline={onlyBaseline}\n                      assetsDiffResult={assetsDiffResult}\n                    />\n                  ),\n                },\n                {\n                  label: 'Packages',\n                  key: 'Packages',\n                  children: (\n                    <Packages\n                      baseline={baselineSummary.packageGraph}\n                      current={currentSummary.packageGraph}\n                    />\n                  ),\n                },\n              ].map((el) => ({\n                ...el,\n                label: <Typography.Text strong>{el.label}</Typography.Text>,\n              }))}\n            />\n          </div>\n        );\n      }}\n    </DiffServerAPIProvider>\n  );\n};\n"],"names":["DiffContainer","manifests","useEffect","console","DiffServerAPIProvider","SDK","baselineSummary","currentSummary","onlyBaseline","baselineChunkGraph","currentChunkGraph","assetsDiffResult","Graph","FloatButton","Tooltip","Space","title","data","Card","Typography","Divider","Button","window","InfoCircleOutlined","Popconfirm","LogoutOutlined","DiffCards","Tabs","Size","Overview","Assets","Modules","Packages","el"],"mappings":"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"}