diff --git a/src/renderer/components/Data/DataStore.tsx b/src/renderer/components/Data/DataStore.tsx
index 598a51a8901279a8030b6e2a44aef99bcab56114..c12326ac95bb53ed862d8d526df8bad1824356a5 100644
--- a/src/renderer/components/Data/DataStore.tsx
+++ b/src/renderer/components/Data/DataStore.tsx
@@ -70,15 +70,16 @@ export default function DataStore() {
       >
         <Grid container spacing={2} sx={{ flexGrow: 1 }}>
           {data &&
-            filterByFilters(data, searchText).map((row) => (
+            data.data &&
+            filterByFilters(data.data, searchText).map((row) => (
               <Grid xs={4}>
                 <DatasetCard
                   name={row.name}
                   size={row.size}
-                  key={row.id}
                   description={row.description}
                   repo={row.huggingfacerepo}
-                  download
+                  downloaded={row.downloaded}
+                  local={false}
                   location={undefined}
                   parentMutate={mutate}
                 />
diff --git a/src/renderer/components/Data/DatasetCard.tsx b/src/renderer/components/Data/DatasetCard.tsx
index 1f6fb2d3fd1299f39be35fc10793fad63ca62255..b9d94cbefd96994e9fdf1b36e277752b9cb4c321 100644
--- a/src/renderer/components/Data/DatasetCard.tsx
+++ b/src/renderer/components/Data/DatasetCard.tsx
@@ -1,4 +1,3 @@
-import * as React from 'react';
 import { useState } from 'react';
 
 import {
@@ -11,7 +10,12 @@ import {
   ModalDialog,
   Typography,
 } from '@mui/joy';
-import { DownloadIcon, FileTextIcon, Trash2Icon } from 'lucide-react';
+import {
+  DownloadIcon,
+  FileTextIcon,
+  Trash2Icon,
+  CheckIcon,
+} from 'lucide-react';
 
 import { formatBytes } from 'renderer/lib/utils';
 import * as chatAPI from '../../lib/transformerlab-api-sdk';
@@ -25,14 +29,14 @@ export default function DatasetCard({
   size,
   description,
   repo,
-  download = false,
+  downloaded,
   location,
   parentMutate,
+  local,
 }) {
   const [installing, setInstalling] = useState(null);
-  const [previewDatasetModalOpen, setPreviewDatasetModalOpen] =
-    React.useState(false);
-  const [datasetInfoModalOpen, setDatasetInfoModalOpen] = React.useState(false);
+  const [previewDatasetModalOpen, setPreviewDatasetModalOpen] = useState(false);
+  const [datasetInfoModalOpen, setDatasetInfoModalOpen] = useState(false);
 
   return (
     <>
@@ -81,7 +85,7 @@ export default function DatasetCard({
           </div>
         </CardContent>
         <CardContent orientation="horizontal">
-          {!download && (
+          {downloaded && local && (
             <>
               <Button
                 color="neutral"
@@ -111,16 +115,22 @@ export default function DatasetCard({
               </Button>
             </>
           )}
-          {download && (
+          {!local && (
             <Button
               variant="solid"
               size="sm"
               color="primary"
               aria-label="Download"
               sx={{ ml: 'auto' }}
-              disabled={installing}
+              disabled={downloaded || installing}
               endDecorator={
-                installing ? <CircularProgress /> : <DownloadIcon size="18px" />
+                downloaded ? (
+                  <CheckIcon />
+                ) : installing ? (
+                  <CircularProgress />
+                ) : (
+                  <DownloadIcon size="18px" />
+                )
               }
               onClick={() => {
                 setInstalling(true);
@@ -146,7 +156,11 @@ export default function DatasetCard({
                   });
               }}
             >
-              {installing ? 'Downloading' : 'Download'}
+              {downloaded
+                ? 'Downloaded'
+                : installing
+                ? 'Downloading'
+                : 'Download'}{' '}
             </Button>
           )}
         </CardContent>
diff --git a/src/renderer/components/Data/DatasetInfoModal.tsx b/src/renderer/components/Data/DatasetInfoModal.tsx
index 440f3f18c981fc7544f6908a61d7148e18079a39..946abe126277931da37165eff9df254dcafda3d7 100644
--- a/src/renderer/components/Data/DatasetInfoModal.tsx
+++ b/src/renderer/components/Data/DatasetInfoModal.tsx
@@ -1,5 +1,4 @@
 /* eslint-disable camelcase */
-import React, { useEffect, useState } from 'react';
 import useSWR from 'swr';
 
 import {
diff --git a/src/renderer/components/Data/LocalDatasets.tsx b/src/renderer/components/Data/LocalDatasets.tsx
index b841ab8c1e26a71152c0d6d1b0bb316383e7f7f8..3b91ed8ab35c2257ee0a37bd13c9e47aac76b0e4 100644
--- a/src/renderer/components/Data/LocalDatasets.tsx
+++ b/src/renderer/components/Data/LocalDatasets.tsx
@@ -107,7 +107,6 @@ export default function LocalDatasets() {
         }}
       >
         <Grid container spacing={2} sx={{ flexGrow: 1 }}>
-          {data && console.log(data)}
           {data &&
             filterByFiltersDatasetID(data, searchText).map((row) => (
               <Grid xs={4}>
@@ -118,6 +117,8 @@ export default function LocalDatasets() {
                   description={row?.description}
                   repo={row.huggingfacerepo}
                   location={row?.location}
+                  downloaded={true}
+                  local={true}
                   parentMutate={mutate}
                 />
               </Grid>
diff --git a/src/renderer/components/Data/PreviewDatasetModal.tsx b/src/renderer/components/Data/PreviewDatasetModal.tsx
index 0feb7721dac2f63b9ec6e7c9375676e08c32f404..b06622ca48ab65a4534fdf5025b6c84e08aa92ff 100644
--- a/src/renderer/components/Data/PreviewDatasetModal.tsx
+++ b/src/renderer/components/Data/PreviewDatasetModal.tsx
@@ -1,5 +1,5 @@
 /* eslint-disable camelcase */
-import React, { useEffect, useState } from 'react';
+import { useEffect, useState } from 'react';
 import useSWR from 'swr';
 import {
   Button,