pull/103/head
TaylorS15 2 years ago
parent d8104381a5
commit f61fc71874

@ -1,18 +1,22 @@
import { Doc } from '../models/misc'; import { Doc } from '../models/misc';
export async function getDocs(): Promise<Array<Doc>> { export async function getDocs(): Promise<Array<Doc> | null> {
//Fetch default source docs try {
const response = await fetch( //Fetch default source docs
'https://d3dg1063dc54p9.cloudfront.net/combined.json', const response = await fetch(
); 'https://d3dg1063dc54p9.cloudfront.net/combined.json',
const data = await response.json(); );
const data = await response.json();
//Create array of Doc objects //Create array of Doc objects
const docs: Array<Doc> = []; const docs: Array<Doc> = [];
data.forEach((doc: Doc) => { data.forEach((doc: Doc) => {
docs.push(doc); docs.push(doc);
}); });
return docs; return docs;
} catch (error) {
return null;
}
} }

@ -14,10 +14,10 @@ export default function APIKeyModal({
isCancellable?: boolean; isCancellable?: boolean;
}) { }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
const [isError, setIsError] = useState(false); const [docs, setDocs] = useState<Doc[] | null>(null);
const [docs, setDocs] = useState<Doc[]>([]);
const [localSelectedDocs, setLocalSelectedDocs] = useState<Doc | null>(null); const [localSelectedDocs, setLocalSelectedDocs] = useState<Doc | null>(null);
const [isDocsListOpen, setIsDocsListOpen] = useState(false); const [isDocsListOpen, setIsDocsListOpen] = useState(false);
const [isError, setIsError] = useState(false);
function handleSubmit() { function handleSubmit() {
if (!localSelectedDocs) { if (!localSelectedDocs) {
@ -31,7 +31,7 @@ export default function APIKeyModal({
} }
function handleCancel() { function handleCancel() {
setSelectedDocs(null); setLocalSelectedDocs(null);
setIsError(false); setIsError(false);
setModalState('INACTIVE'); setModalState('INACTIVE');
} }
@ -71,25 +71,31 @@ export default function APIKeyModal({
)} )}
</div> </div>
{isDocsListOpen && ( {isDocsListOpen && (
<div className="absolute top-10 left-0 h-52 w-full overflow-y-scroll bg-white"> <div className="absolute top-10 left-0 max-h-52 w-full overflow-y-scroll bg-white">
{docs.map((doc, index) => { {docs ? (
if (doc.model) { docs.map((doc, index) => {
return ( if (doc.model) {
<div return (
key={index} <div
onClick={() => { key={index}
setLocalSelectedDocs(doc); onClick={() => {
setIsDocsListOpen(false); setLocalSelectedDocs(doc);
}} setIsDocsListOpen(false);
className="h-10 w-full cursor-pointer border-x-2 border-b-2 hover:bg-gray-100" }}
> className="h-10 w-full cursor-pointer border-x-2 border-b-2 hover:bg-gray-100"
<p className="ml-5 py-3"> >
{doc.name} {doc.version} <p className="ml-5 py-3">
</p> {doc.name} {doc.version}
</div> </p>
); </div>
} );
})} }
})
) : (
<div className="h-10 w-full cursor-pointer border-x-2 border-b-2 hover:bg-gray-100">
<p className="ml-5 py-3">No default documentation.</p>
</div>
)}
</div> </div>
)} )}
</div> </div>

Loading…
Cancel
Save