mirror of
https://github.com/umami-software/umami.git
synced 2025-12-08 05:12:36 +01:00
Added useFetch hook. Updated database check.
This commit is contained in:
parent
7a81dda7b6
commit
d0ca0819c6
14 changed files with 146 additions and 237 deletions
|
|
@ -1,46 +1,22 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import React from 'react';
|
||||
import { useRouter } from 'next/router';
|
||||
import Layout from 'components/layout/Layout';
|
||||
import WebsiteDetails from 'components/WebsiteDetails';
|
||||
import NotFound from 'pages/404';
|
||||
import { get } from 'lib/web';
|
||||
import useFetch from 'hooks/useFetch';
|
||||
|
||||
export default function SharePage() {
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [websiteId, setWebsiteId] = useState();
|
||||
const [notFound, setNotFound] = useState(false);
|
||||
const router = useRouter();
|
||||
const { id } = router.query;
|
||||
const shareId = id?.[0];
|
||||
const { data } = useFetch(shareId ? `/api/share/${shareId}` : null);
|
||||
|
||||
async function loadData() {
|
||||
const website = await get(`/api/share/${id?.[0]}`);
|
||||
|
||||
if (website) {
|
||||
setWebsiteId(website.website_id);
|
||||
} else if (typeof window !== 'undefined') {
|
||||
setNotFound(true);
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (id) {
|
||||
loadData().finally(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
} else {
|
||||
setLoading(false);
|
||||
}
|
||||
}, [id]);
|
||||
|
||||
if (loading) return null;
|
||||
|
||||
if (!id || notFound) {
|
||||
return <NotFound />;
|
||||
if (!data) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<WebsiteDetails websiteId={websiteId} />
|
||||
<WebsiteDetails websiteId={data.website_id} />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue