|
import React from "react"; |
|
import { Anchor, Button, Group, Modal, Text } from "@mantine/core"; |
|
import styled from "styled-components"; |
|
import { VscCode } from "react-icons/vsc"; |
|
import { VscArrowRight } from "react-icons/vsc"; |
|
|
|
const StyledAlert = styled.div` |
|
position: fixed; |
|
bottom: 36px; |
|
right: 10px; |
|
background: rgba(255, 255, 255, 0.2); |
|
border-radius: 16px; |
|
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); |
|
backdrop-filter: blur(5px); |
|
-webkit-backdrop-filter: blur(5px); |
|
border: 1px solid rgba(255, 255, 255, 0.3); |
|
font-weight: 500; |
|
overflow: hidden; |
|
`; |
|
|
|
const StyledTitle = styled.div` |
|
display: flex; |
|
align-items: center; |
|
color: ${({ theme }) => theme.TEXT_POSITIVE}; |
|
flex: 1; |
|
font-weight: 700; |
|
|
|
&::after { |
|
background: ${({ theme }) => theme.TEXT_POSITIVE}; |
|
height: 1px; |
|
|
|
content: ""; |
|
-webkit-box-flex: 1; |
|
-ms-flex: 1 1 auto; |
|
flex: 1 1 auto; |
|
margin-left: 4px; |
|
opacity: 0.6; |
|
} |
|
`; |
|
|
|
const ExternalMode = () => { |
|
const [isExternal, setExternal] = React.useState(false); |
|
const [isOpen, setOpen] = React.useState(false); |
|
|
|
React.useEffect(() => { |
|
if (typeof window !== "undefined") { |
|
if (window.location.pathname.includes("widget")) return setExternal(false); |
|
if (window.location.host !== "jsoncrack.com") return setExternal(true); |
|
return setExternal(false); |
|
} |
|
}, []); |
|
|
|
const closeModal = () => setOpen(false); |
|
|
|
if (!isExternal) return null; |
|
|
|
return ( |
|
<StyledAlert> |
|
<Button |
|
onClick={() => setOpen(true)} |
|
color="red" |
|
variant="subtle" |
|
leftSection={<VscCode size="1.2rem" />} |
|
> |
|
External Host |
|
</Button> |
|
<Modal title="External Host of JSON Crack" opened={isOpen} onClose={closeModal} centered> |
|
<Group> |
|
<StyledTitle>Dear valued user,</StyledTitle> |
|
<Text> |
|
We would like to inform you that you are presently utilizing the external release of the{" "} |
|
<Anchor href="https://jsoncrack.com">JSON Crack</Anchor>. Your continued support is |
|
crucial in sustaining and improving our services. |
|
<br /> |
|
<br /> |
|
We kindly encourage you to consider upgrading to the premium version, which not only |
|
enhances your experience but also contributes to the ongoing development of JSON Crack. |
|
</Text> |
|
</Group> |
|
<Group pt="lg" justify="right"> |
|
<Button |
|
onClick={closeModal} |
|
component="a" |
|
href="https://jsoncrack.com/pricing" |
|
target="_blank" |
|
variant="outline" |
|
color="red" |
|
rightSection={<VscArrowRight />} |
|
> |
|
JSON Crack |
|
</Button> |
|
</Group> |
|
</Modal> |
|
</StyledAlert> |
|
); |
|
}; |
|
|
|
export default ExternalMode; |
|
|