bug fixed

This commit is contained in:
daniel31x13 2024-11-06 03:36:02 -05:00
parent b2c5c3c6dd
commit a6a0f6965b
5 changed files with 84 additions and 74 deletions

View File

@ -127,14 +127,17 @@ const IconPopover = ({
</label> </label>
</div> </div>
</div> </div>
<div className="flex flex-col-reverse gap-2 justify-between items-center mt-2">
<p className="text-neutral text-sm">{t("close_to_apply")}</p>
<div <div
className="btn btn-ghost btn-sm mt-2 w-fit mx-auto" className="btn btn-ghost btn-sm w-fit"
onClick={reset as React.MouseEventHandler<HTMLDivElement>} onClick={reset as React.MouseEventHandler<HTMLDivElement>}
> >
{t("reset_defaults")} {t("reset_defaults")}
</div> </div>
</div> </div>
</div> </div>
</div>
</Popover> </Popover>
); );
}; };

View File

@ -39,7 +39,7 @@ const handleMonolith = async (link: Link, content: string) => {
}); });
}); });
} catch (err) { } catch (err) {
console.log("Error running MONOLITH:", err); console.log("Uncaught Monolith error...");
} }
}; };

View File

@ -1,70 +1,70 @@
import React, { useEffect, useState } from "react"; import React, { useEffect } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { import { ArchivedFormat } from "@/types/global";
ArchivedFormat,
LinkIncludingShortenedCollectionAndTags,
} from "@/types/global";
import ReadableView from "@/components/ReadableView"; import ReadableView from "@/components/ReadableView";
import getServerSideProps from "@/lib/client/getServerSideProps"; import getServerSideProps from "@/lib/client/getServerSideProps";
import { useGetLink, useLinks } from "@/hooks/store/links"; import { useGetLink } from "@/hooks/store/links";
import clsx from "clsx";
export default function Index() { export default function Index() {
const { links } = useLinks();
const getLink = useGetLink(); const getLink = useGetLink();
const [link, setLink] = useState<LinkIncludingShortenedCollectionAndTags>();
const router = useRouter(); const router = useRouter();
useEffect(() => { useEffect(() => {
const fetchLink = async () => {
if (router.query.id) { if (router.query.id) {
await getLink.mutateAsync({ id: Number(router.query.id) }); getLink.mutateAsync({ id: Number(router.query.id) });
} }
};
fetchLink();
}, []); }, []);
useEffect(() => {
if (links && links[0])
setLink(links.find((e) => e.id === Number(router.query.id)));
}, [links]);
return ( return (
<div className="relative"> <div className={clsx(getLink.isPending ? "flex h-screen" : "relative")}>
{/* <div className="fixed left-1/2 transform -translate-x-1/2 w-fit py-1 px-3 bg-base-200 border border-neutral-content rounded-md"> {/* <div className="fixed left-1/2 transform -translate-x-1/2 w-fit py-1 px-3 bg-base-200 border border-neutral-content rounded-md">
Readable Readable
</div> */} </div> */}
{link && Number(router.query.format) === ArchivedFormat.readability && ( {getLink.data?.id &&
<ReadableView link={link} /> Number(router.query.format) === ArchivedFormat.readability ? (
)} <ReadableView link={getLink.data} />
{link && Number(router.query.format) === ArchivedFormat.monolith && ( ) : getLink.data?.id &&
Number(router.query.format) === ArchivedFormat.monolith ? (
<iframe <iframe
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.monolith}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.monolith}`}
className="w-full h-screen border-none" className="w-full h-screen border-none"
></iframe> ></iframe>
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.pdf && ( Number(router.query.format) === ArchivedFormat.pdf ? (
<iframe <iframe
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.pdf}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.pdf}`}
className="w-full h-screen border-none" className="w-full h-screen border-none"
></iframe> ></iframe>
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.png && ( Number(router.query.format) === ArchivedFormat.png ? (
<img <img
alt="" alt=""
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.png}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.png}`}
className="w-fit mx-auto" className="w-fit mx-auto"
/> />
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.jpeg && ( Number(router.query.format) === ArchivedFormat.jpeg ? (
<img <img
alt="" alt=""
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.jpeg}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.jpeg}`}
className="w-fit mx-auto" className="w-fit mx-auto"
/> />
) : getLink.error ? (
<p>404 - Not found</p>
) : (
<div className="max-w-3xl p-5 m-auto w-full flex flex-col items-center gap-5">
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-3/4 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-5/6 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-3/4 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-5/6 mr-auto h-4 skeleton rounded-md"></div>
</div>
)} )}
</div> </div>
); );

View File

@ -1,64 +1,70 @@
import React, { useEffect, useState } from "react"; import React, { useEffect } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { import { ArchivedFormat } from "@/types/global";
ArchivedFormat,
LinkIncludingShortenedCollectionAndTags,
} from "@/types/global";
import ReadableView from "@/components/ReadableView"; import ReadableView from "@/components/ReadableView";
import getServerSideProps from "@/lib/client/getServerSideProps"; import getServerSideProps from "@/lib/client/getServerSideProps";
import { useGetLink } from "@/hooks/store/links"; import { useGetLink } from "@/hooks/store/links";
import clsx from "clsx";
export default function Index() { export default function Index() {
const getLink = useGetLink(); const getLink = useGetLink();
const [link, setLink] = useState<LinkIncludingShortenedCollectionAndTags>();
const router = useRouter(); const router = useRouter();
useEffect(() => { useEffect(() => {
const fetchLink = async () => {
if (router.query.id) { if (router.query.id) {
const get = await getLink.mutateAsync({ id: Number(router.query.id) }); getLink.mutateAsync({ id: Number(router.query.id), isPublicRoute: true });
setLink(get);
} }
};
fetchLink();
}, []); }, []);
return ( return (
<div className="relative"> <div className={clsx(getLink.isPending ? "flex h-screen" : "relative")}>
{/* <div className="fixed left-1/2 transform -translate-x-1/2 w-fit py-1 px-3 bg-base-200 border border-neutral-content rounded-md"> {/* <div className="fixed left-1/2 transform -translate-x-1/2 w-fit py-1 px-3 bg-base-200 border border-neutral-content rounded-md">
Readable Readable
</div> */} </div> */}
{link && Number(router.query.format) === ArchivedFormat.readability && ( {getLink.data?.id &&
<ReadableView link={link} /> Number(router.query.format) === ArchivedFormat.readability ? (
)} <ReadableView link={getLink.data} />
{link && Number(router.query.format) === ArchivedFormat.monolith && ( ) : getLink.data?.id &&
Number(router.query.format) === ArchivedFormat.monolith ? (
<iframe <iframe
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.monolith}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.monolith}`}
className="w-full h-screen border-none" className="w-full h-screen border-none"
></iframe> ></iframe>
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.pdf && ( Number(router.query.format) === ArchivedFormat.pdf ? (
<iframe <iframe
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.pdf}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.pdf}`}
className="w-full h-screen border-none" className="w-full h-screen border-none"
></iframe> ></iframe>
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.png && ( Number(router.query.format) === ArchivedFormat.png ? (
<img <img
alt="" alt=""
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.png}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.png}`}
className="w-fit mx-auto" className="w-fit mx-auto"
/> />
)} ) : getLink.data?.id &&
{link && Number(router.query.format) === ArchivedFormat.jpeg && ( Number(router.query.format) === ArchivedFormat.jpeg ? (
<img <img
alt="" alt=""
src={`/api/v1/archives/${link.id}?format=${ArchivedFormat.jpeg}`} src={`/api/v1/archives/${getLink.data.id}?format=${ArchivedFormat.jpeg}`}
className="w-fit mx-auto" className="w-fit mx-auto"
/> />
) : getLink.error ? (
<p>404 - Not found</p>
) : (
<div className="max-w-3xl p-5 m-auto w-full flex flex-col items-center gap-5">
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-3/4 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-5/6 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-3/4 mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-full mr-auto h-4 skeleton rounded-md"></div>
<div className="w-5/6 mr-auto h-4 skeleton rounded-md"></div>
</div>
)} )}
</div> </div>
); );

View File

@ -416,5 +416,6 @@
"resend_invite_success": "Invitation Resent!", "resend_invite_success": "Invitation Resent!",
"remove_user": "Remove User", "remove_user": "Remove User",
"continue_to_dashboard": "Continue to Dashboard", "continue_to_dashboard": "Continue to Dashboard",
"confirm_user_removal_desc": "They will need to have a subscription to access Linkwarden again." "confirm_user_removal_desc": "They will need to have a subscription to access Linkwarden again.",
"close_to_apply": "Close to apply"
} }