Chrome extension banner (#74)
* Added chrome extension banner * Only show the chrome banner when in Chrome Co-authored-by: James Ritchie <james@jamesritchie.co.uk>
This commit is contained in:
co-authored by
James Ritchie
parent
1b42269739
commit
fa7010da0b
@@ -0,0 +1,20 @@
|
||||
import { ChromeExtensionBadge } from "../Icons/ChromeExtensionBadge";
|
||||
import { Body } from "../Primitives/Body";
|
||||
|
||||
export function HomeChromeExtensionPrompt() {
|
||||
return (
|
||||
<div className="flex items-center justify-center w-full py-3 bg-indigo-600">
|
||||
<div className="flex items-center">
|
||||
<Body className="mr-3 text-xl text-white">
|
||||
Try the new Chrome Extension 👉
|
||||
</Body>
|
||||
<a
|
||||
href="https://chrome.google.com/webstore/detail/json-hero/dneionnnnjnofppmhcccbiaklandilch"
|
||||
target="_blank"
|
||||
>
|
||||
<ChromeExtensionBadge />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export function ChromeExtensionBadge() {
|
||||
return (
|
||||
<img src="../images/chrome-extension-badge.png" className="h-14"></img>
|
||||
);
|
||||
}
|
||||
+26
-1
@@ -7,13 +7,38 @@ import { HomeInfoBoxSection } from "~/components/Home/HomeInfoBoxSection";
|
||||
import { HomeSearchSection } from "~/components/Home/HomeSearchSection";
|
||||
import { HomeFooter } from "~/components/Home/HomeFooter";
|
||||
import { GithubBanner } from "~/components/Home/HomeGithubBanner";
|
||||
import { HomeChromeExtensionPrompt } from "~/components/Home/HomeChromeExtensionPrompt";
|
||||
import { LoaderFunction, useLoaderData } from "remix";
|
||||
import userAgentParser from "ua-parser-js";
|
||||
|
||||
type LoaderData = {
|
||||
userAgent: ReturnType<typeof userAgentParser>;
|
||||
};
|
||||
|
||||
export const loader: LoaderFunction = async ({
|
||||
request,
|
||||
}): Promise<LoaderData> => {
|
||||
const rawUserAgent = request.headers.get("user-agent") || "";
|
||||
const userAgent = userAgentParser(rawUserAgent);
|
||||
|
||||
return {
|
||||
userAgent,
|
||||
};
|
||||
};
|
||||
|
||||
export default function Index() {
|
||||
const { userAgent } = useLoaderData<LoaderData>();
|
||||
|
||||
return (
|
||||
<div className="overflow-x-hidden">
|
||||
<HomeHeader fixed={true} />
|
||||
<HomeHeroSection />
|
||||
<GithubBanner />
|
||||
{userAgent.browser.name === "Chrome" ? (
|
||||
<HomeChromeExtensionPrompt />
|
||||
) : (
|
||||
<GithubBanner />
|
||||
)}
|
||||
|
||||
<HomeInfoBoxSection />
|
||||
<HomeEdgeCasesSection />
|
||||
<HomeSearchSection />
|
||||
|
||||
Reference in New Issue
Block a user