Click to copy link
This commit is contained in:
parent
ad9863f2de
commit
1b40a5919b
|
|
@ -23,7 +23,7 @@ const App = () => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setIsDark(colortheme === 'System' ? darkQuery.matches : colortheme === 'Dark');
|
setIsDark(colortheme === 'System' ? darkQuery.matches : colortheme === 'Dark');
|
||||||
}, [colortheme]);
|
}, [colortheme, darkQuery.matches]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,8 @@ const Event = (props) => {
|
||||||
const [min, setMin] = useState(0);
|
const [min, setMin] = useState(0);
|
||||||
const [max, setMax] = useState(0);
|
const [max, setMax] = useState(0);
|
||||||
|
|
||||||
|
const [copied, setCopied] = useState(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const fetchEvent = async () => {
|
const fetchEvent = async () => {
|
||||||
try {
|
try {
|
||||||
|
|
@ -272,7 +274,16 @@ const Event = (props) => {
|
||||||
{(!!event || isLoading) ? (
|
{(!!event || isLoading) ? (
|
||||||
<>
|
<>
|
||||||
<EventName isLoading={isLoading}>{event?.name}</EventName>
|
<EventName isLoading={isLoading}>{event?.name}</EventName>
|
||||||
<ShareInfo>https://crab.fit/{id}</ShareInfo>
|
<ShareInfo
|
||||||
|
onClick={() => navigator.clipboard?.writeText(`https://crab.fit/${id}`)
|
||||||
|
.then(() => {
|
||||||
|
setCopied('Copied!');
|
||||||
|
setTimeout(() => setCopied(null), 1000);
|
||||||
|
})
|
||||||
|
.catch((e) => console.error('Failed to copy', e))
|
||||||
|
}
|
||||||
|
title={!!navigator.clipboard ? 'Click to copy' : ''}
|
||||||
|
>{copied ?? `https://crab.fit/${id}`}</ShareInfo>
|
||||||
<ShareInfo isLoading={isLoading}>
|
<ShareInfo isLoading={isLoading}>
|
||||||
{!!event?.name &&
|
{!!event?.name &&
|
||||||
<>Copy the link to this page, or share via <a href={`mailto:?subject=${encodeURIComponent(`Scheduling ${event?.name}`)}&body=${encodeURIComponent(`Visit this link to enter your availabilities: https://crab.fit/${id}`)}`}>email</a>.</>
|
<>Copy the link to this page, or share via <a href={`mailto:?subject=${encodeURIComponent(`Scheduling ${event?.name}`)}&body=${encodeURIComponent(`Visit this link to enter your availabilities: https://crab.fit/${id}`)}`}>email</a>.</>
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,14 @@ export const ShareInfo = styled.p`
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
`}
|
`}
|
||||||
|
|
||||||
|
${props => props.onClick && `
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: ${props.theme.primaryDark};
|
||||||
|
}
|
||||||
|
`}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const Tabs = styled.div`
|
export const Tabs = styled.div`
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue