diff --git a/.github/workflows/dashboard-firebase-hosting-merge.yml b/.github/workflows/dashboard-firebase-hosting-merge.yml index 90f04885..66c6728f 100644 --- a/.github/workflows/dashboard-firebase-hosting-merge.yml +++ b/.github/workflows/dashboard-firebase-hosting-merge.yml @@ -32,6 +32,7 @@ jobs: REACT_APP_CERAMIC_MAINNET_HOST: '${{ vars.REACT_APP_CERAMIC_MAINNET_HOST }}' REACT_APP_CERAMIC_TESTNET_HOST: '${{ vars.REACT_APP_CERAMIC_TESTNET_HOST }}' REACT_APP_S3_SCAN_URL: '${{ vars.REACT_APP_S3_SCAN_URL }}' + REACT_APP_DOCS_URL: '${{ vars.REACT_APP_DOCS_URL }}' - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' @@ -64,6 +65,7 @@ jobs: REACT_APP_CERAMIC_MAINNET_HOST: '${{ vars.REACT_APP_CERAMIC_MAINNET_HOST }}' REACT_APP_CERAMIC_TESTNET_HOST: '${{ vars.REACT_APP_CERAMIC_TESTNET_HOST }}' REACT_APP_S3_SCAN_URL: '${{ vars.REACT_APP_S3_SCAN_URL }}' + REACT_APP_DOCS_URL: '${{ vars.REACT_APP_DOCS_URL }}' - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.github/workflows/dashboard-firebase-hosting-pull-request.yml b/.github/workflows/dashboard-firebase-hosting-pull-request.yml index fb8b7e69..d7e227e9 100644 --- a/.github/workflows/dashboard-firebase-hosting-pull-request.yml +++ b/.github/workflows/dashboard-firebase-hosting-pull-request.yml @@ -32,6 +32,7 @@ jobs: REACT_APP_CERAMIC_MAINNET_HOST: '${{ vars.REACT_APP_CERAMIC_MAINNET_HOST }}' REACT_APP_CERAMIC_TESTNET_HOST: '${{ vars.REACT_APP_CERAMIC_TESTNET_HOST }}' REACT_APP_S3_SCAN_URL: '${{ vars.REACT_APP_S3_SCAN_URL }}' + REACT_APP_DOCS_URL: '${{ vars.REACT_APP_DOCS_URL }}' - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' @@ -63,6 +64,7 @@ jobs: REACT_APP_CERAMIC_MAINNET_HOST: '${{ vars.REACT_APP_CERAMIC_MAINNET_HOST }}' REACT_APP_CERAMIC_TESTNET_HOST: '${{ vars.REACT_APP_CERAMIC_TESTNET_HOST }}' REACT_APP_S3_SCAN_URL: '${{ vars.REACT_APP_S3_SCAN_URL }}' + REACT_APP_DOCS_URL: '${{ vars.REACT_APP_DOCS_URL }}' - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' diff --git a/packages/client/dashboard/src/App.tsx b/packages/client/dashboard/src/App.tsx index 8c5f5ee3..dd77ad70 100644 --- a/packages/client/dashboard/src/App.tsx +++ b/packages/client/dashboard/src/App.tsx @@ -41,6 +41,7 @@ function Routers() { } /> } /> + } /> } /> diff --git a/packages/client/dashboard/src/components/MergeModal.tsx b/packages/client/dashboard/src/components/MergeModal.tsx index 6d7d0a60..9dea7711 100644 --- a/packages/client/dashboard/src/components/MergeModal.tsx +++ b/packages/client/dashboard/src/components/MergeModal.tsx @@ -81,30 +81,40 @@ export default function MergeModal({ setModels(v) }} > - - {dappModels.map((item) => { - return ( - - - {item.stream_content.name} - - ) - })} + {(dappModels.length === 0 && ( +

This Dapp has no model available to be merged.

+ )) || ( + <> + + {dappModels.map((item) => { + return ( + + + {item.stream_content.name} + + ) + })} + + )}
- {loading ? ( - - ) : ( - + {dappModels.length !== 0 && ( + <> + {loading ? ( + + ) : ( + + )} + )}
diff --git a/packages/client/dashboard/src/components/ModelList.tsx b/packages/client/dashboard/src/components/ModelList.tsx index 6e2c7202..cee02900 100644 --- a/packages/client/dashboard/src/components/ModelList.tsx +++ b/packages/client/dashboard/src/components/ModelList.tsx @@ -7,7 +7,7 @@ import { Modal, ModalOverlay } from 'react-aria-components' import PlusIcon from './Icons/PlusIcon' import { useNavigate } from 'react-router-dom' import useSelectedDapp from '../hooks/useSelectedDapp' -import { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useRef, useState } from 'react' import { ModelStream } from '../types' import { getStarModels } from '../api' import { Network } from './Selector/EnumSelect' @@ -73,8 +73,14 @@ export default function ModelList({ [loadDapps, selectedDapp, session] ) + const isFirstRenderRef = useRef(true) + useEffect(() => { - setLoading(true) + if (isFirstRenderRef.current) { + isFirstRenderRef.current = false + setLoading(true) + } + loadModelsInfo().finally(() => setLoading(false)) }, [loadModelsInfo]) @@ -145,10 +151,14 @@ export default function ModelList({ setSelectModel(model) }} removeModelAction={async (id: string) => { + await removeModelFromDapp(id) if (id === selectModel?.stream_id) { setSelectModel(undefined) + setSelectModelId('') + setSelectModelName && setSelectModelName('') + setDappModels(undefined) + setSelected(undefined) } - await removeModelFromDapp(id) }} /> )} diff --git a/packages/client/dashboard/src/components/Nav.tsx b/packages/client/dashboard/src/components/Nav.tsx index 7b751dcb..496fea6e 100644 --- a/packages/client/dashboard/src/components/Nav.tsx +++ b/packages/client/dashboard/src/components/Nav.tsx @@ -83,30 +83,12 @@ export default function Nav({ appId }: { appId: string }) { )} -
{ - if (!pathname.endsWith('explore')) { - navigate(`/dapp/${appId}/explore?filterStar=filter`) - return - } - if (filterStar) { - setSearchParams((params) => { - params.delete('filterStar') - return params - }) - } else { - setSearchParams((params) => { - params.set('filterStar', 'filter') - return params - }) - } - }} - > - {(filterStar && ) || } - Favorite Models -
- + +
+ {(filterStar && ) || } + Favorite Models +
+
@@ -163,6 +145,11 @@ const NavContainer = styled.nav<{ open?: boolean }>` width: 150px; transition: opacity 0.09s ease-in-out; } + + &.active { + background: #14171a; + color: #fff; + } } .top {