diff --git a/src/components/Table/EmptyTable.tsx b/src/components/Table/EmptyTable.tsx
index bb6d2e86..726f62f9 100644
--- a/src/components/Table/EmptyTable.tsx
+++ b/src/components/Table/EmptyTable.tsx
@@ -83,7 +83,7 @@ export default function EmptyTable() {
startIcon={}
onClick={onClick}
>
- Import Data
+ Import data
)}
PopoverProps={{
diff --git a/src/components/TableToolbar/ImportData/ImportData.tsx b/src/components/TableToolbar/ImportData/ImportData.tsx
index d2743cf2..01b2aa4e 100644
--- a/src/components/TableToolbar/ImportData/ImportData.tsx
+++ b/src/components/TableToolbar/ImportData/ImportData.tsx
@@ -55,7 +55,7 @@ export default function ImportData({ render, PopoverProps }: IImportDataProps) {
render(handleOpen)
) : (
}
/>
@@ -84,7 +84,7 @@ export default function ImportData({ render, PopoverProps }: IImportDataProps) {
setTab(v)}
- aria-label="Import Data method tabs"
+ aria-label="Import data method tabs"
action={(actions) =>
setTimeout(() => actions?.updateIndicator(), 200)
}
diff --git a/src/components/TableToolbar/ImportData/ImportFromAirtable.tsx b/src/components/TableToolbar/ImportData/ImportFromAirtable.tsx
index f5ed3aa9..60095363 100644
--- a/src/components/TableToolbar/ImportData/ImportFromAirtable.tsx
+++ b/src/components/TableToolbar/ImportData/ImportFromAirtable.tsx
@@ -4,11 +4,14 @@ import { useAtom, useSetAtom } from "jotai";
import {
Button,
Typography,
- TextField,
- IconButton,
- Stack,
+ FormControl,
InputLabel,
+ FilledInput,
+ FormHelperText,
+ Stack,
} from "@mui/material";
+import LoadingButton from "@mui/lab/LoadingButton";
+import InlineOpenInNewIcon from "@src/components/InlineOpenInNewIcon";
import {
tableModalAtom,
@@ -19,7 +22,6 @@ import { analytics, logEvent } from "@src/analytics";
import { find } from "lodash-es";
import { WIKI_LINKS } from "@src/constants/externalLinks";
-import DocsIcon from "@mui/icons-material/ArrowUpward";
export default function ImportFromAirtable() {
const [{ baseId, tableId, apiKey }, setImportAirtable] = useAtom(
@@ -112,78 +114,93 @@ export default function ImportFromAirtable() {
return (
<>
-
+
Forget the storage limitations of Airtable. Migrate your app data from
Airtable to a more scalable Firestore database that you can easily
manage with Rowy.
-
- Airtable API Key
-
- API Key
-
-
- }
- placeholder="Insert your API key here"
- value={apiKey}
- onChange={(e) =>
- setImportAirtable((prev) => ({
- ...prev,
- apiKey: e.currentTarget.value,
- }))
- }
- helperText={error?.apiKey?.message}
+ margin="dense"
error={!!error?.apiKey?.message}
- />
-
+
+ API key
+
+
+
+
+ setImportAirtable((prev) => ({
+ ...prev,
+ apiKey: e.currentTarget.value,
+ }))
+ }
+ aria-describedby="import-airtable-api-key-error-text"
+ />
+
+ {error?.apiKey?.message}
+
+
+
+
- Airtable Table URL
-
- Table URL
-
-
- }
- placeholder="Insert your Table URL here"
- value={tableUrl}
- onChange={(e) => {
- setTableUrl(e.currentTarget.value);
- }}
- helperText={error?.baseId?.message || error?.tableId?.message}
+ margin="dense"
error={!!error?.baseId?.message || error?.tableId?.message}
- />
-
+
+
Continue
-
+
>
);
}