diff --git a/frontend/src/hooks/useDefaultDocument.ts b/frontend/src/hooks/useDefaultDocument.ts
new file mode 100644
index 00000000..46c10473
--- /dev/null
+++ b/frontend/src/hooks/useDefaultDocument.ts
@@ -0,0 +1,30 @@
+import React from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+
+import { Doc, getDocs } from '../preferences/preferenceApi';
+import {
+ selectSelectedDocs,
+ setSelectedDocs,
+ setSourceDocs,
+} from '../preferences/preferenceSlice';
+
+export default function useDefaultDocument() {
+ const dispatch = useDispatch();
+ const selectedDoc = useSelector(selectSelectedDocs);
+
+ const fetchDocs = () => {
+ getDocs().then((data) => {
+ dispatch(setSourceDocs(data));
+ if (!selectedDoc)
+ data?.forEach((doc: Doc) => {
+ if (doc.model && doc.name === 'default') {
+ dispatch(setSelectedDocs(doc));
+ }
+ });
+ });
+ };
+
+ React.useEffect(() => {
+ fetchDocs();
+ }, []);
+}
diff --git a/frontend/src/index.css b/frontend/src/index.css
index 2fd780ed..cf90289f 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -429,3 +429,7 @@ template {
padding-left: 36px;
padding-right: 36px;
}
+
+.bottom-safe {
+ bottom: env(safe-area-inset-bottom, 0);
+}
diff --git a/frontend/src/preferences/SelectDocsModal.tsx b/frontend/src/preferences/SelectDocsModal.tsx
deleted file mode 100644
index edb2714b..00000000
--- a/frontend/src/preferences/SelectDocsModal.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import { useEffect, useState } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { ActiveState } from '../models/misc';
-import Modal from '../modals';
-import {
- setSelectedDocs,
- setSourceDocs,
- selectSourceDocs,
- selectSelectedDocs,
-} from './preferenceSlice';
-import { getDocs, Doc } from './preferenceApi';
-
-export default function APIKeyModal({
- modalState,
- setModalState,
- isCancellable = true,
-}: {
- modalState: ActiveState;
- setModalState: (val: ActiveState) => void;
- isCancellable?: boolean;
-}) {
- const dispatch = useDispatch();
- const docs = useSelector(selectSourceDocs);
- const selectedDoc = useSelector(selectSelectedDocs);
- const [localSelectedDocs, setLocalSelectedDocs] = useState
(
- selectedDoc,
- );
- const [isDocsListOpen, setIsDocsListOpen] = useState(false);
- const [isError, setIsError] = useState(false);
-
- function handleSubmit() {
- if (!localSelectedDocs) {
- setIsError(true);
- } else {
- dispatch(setSelectedDocs(localSelectedDocs));
- setModalState('INACTIVE');
- setIsError(false);
- }
- }
-
- function handleCancel() {
- setIsError(false);
- setModalState('INACTIVE');
- }
-
- useEffect(() => {
- async function requestDocs() {
- const data = await getDocs();
- dispatch(setSourceDocs(data));
- }
-
- requestDocs();
- }, []);
- return (
- {
- return (
-
- Select Source Documentation
-
- Please select the library of documentation that you would like to
- use with our app.
-
-
-
setIsDocsListOpen(!isDocsListOpen)}
- >
- {!localSelectedDocs ? (
-
Select
- ) : (
-
- {localSelectedDocs.name} {localSelectedDocs.version}
-
- )}
-
- {isDocsListOpen && (
-
- {docs ? (
- docs.map((doc, index) => {
- if (doc.model) {
- return (
-
{
- setLocalSelectedDocs(doc);
- setIsDocsListOpen(false);
- }}
- className="h-10 w-full cursor-pointer border-x-2 border-b-2 hover:bg-gray-100"
- >
-
- {doc.name} {doc.version}
-
-
- );
- }
- })
- ) : (
-
-
No default documentation.
-
- )}
-
- )}
-
-
- );
- }}
- />
- );
-}