-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8874798
commit 15ce8bb
Showing
7 changed files
with
208 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
function copyTextToClipboard(text) { | ||
var textArea = document.createElement("textarea"); | ||
|
||
// | ||
// *** This styling is an extra step which is likely not required. *** | ||
// | ||
// Why is it here? To ensure: | ||
// 1. the element is able to have focus and selection. | ||
// 2. if element was to flash render it has minimal visual impact. | ||
// 3. less flakyness with selection and copying which **might** occur if | ||
// the textarea element is not visible. | ||
// | ||
// The likelihood is the element won't even render, not even a flash, | ||
// so some of these are just precautions. However in IE the element | ||
// is visible whilst the popup box asking the user for permission for | ||
// the web page to copy to the clipboard. | ||
// | ||
|
||
// Place in top-left corner of screen regardless of scroll position. | ||
textArea.style.position = "fixed"; | ||
textArea.style.top = 0; | ||
textArea.style.left = 0; | ||
|
||
// Ensure it has a small width and height. Setting to 1px / 1em | ||
// doesn't work as this gives a negative w/h on some browsers. | ||
textArea.style.width = "2em"; | ||
textArea.style.height = "2em"; | ||
|
||
// We don't need padding, reducing the size if it does flash render. | ||
textArea.style.padding = 0; | ||
|
||
// Clean up any borders. | ||
textArea.style.border = "none"; | ||
textArea.style.outline = "none"; | ||
textArea.style.boxShadow = "none"; | ||
|
||
// Avoid flash of white box if rendered for any reason. | ||
textArea.style.background = "transparent"; | ||
|
||
textArea.value = text; | ||
|
||
document.body.appendChild(textArea); | ||
|
||
textArea.select(); | ||
|
||
try { | ||
var successful = document.execCommand("copy"); | ||
var msg = successful ? "successful" : "unsuccessful"; | ||
// console.log("Copying text command was " + msg); | ||
alert("Link copied to clipboard!"); | ||
} catch (err) { | ||
console.log("Oops, unable to copy"); | ||
} | ||
|
||
document.body.removeChild(textArea); | ||
} | ||
|
||
const responsive = { | ||
superLargeDesktop: { | ||
breakpoint: { max: 4000, min: 3000 }, | ||
items: 1, | ||
}, | ||
desktop: { | ||
breakpoint: { max: 3000, min: 1024 }, | ||
items: 1, | ||
}, | ||
tablet: { | ||
breakpoint: { max: 1024, min: 464 }, | ||
items: 1, | ||
}, | ||
mobile: { | ||
breakpoint: { max: 464, min: 0 }, | ||
items: 1, | ||
} | ||
}; | ||
|
||
export { copyTextToClipboard, responsive }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
|
||
// window.addEventListener('scroll', () => { | ||
// document.body.style.setProperty('--scroll', window.pageYOffset / (document.body.offsetHeight - window.innerHeight)); | ||
// }, false); | ||
// window.addEventListener('scroll', () => { | ||
// document.body.style.setProperty('--scroll', window.pageYOffset / (document.body.offsetHeight - window.innerHeight)); | ||
// }, false); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
const templateGame = { | ||
name: 'Game not found', | ||
surname: '404', | ||
price: '??.??', | ||
desc: 'The game you tried to look for has not been found within our database. You can find a full list of our featured games in the browse section on our shop. Click the Store button in the top left corner to get back to the browse section. To avoid similar issues in the future, please do not try to access game pages by typing game names into the URL. The game might be called slightly different in our database, resulting in an error when trying to fetch the page data.', | ||
link: 'https://gianlucajahn.github.io/react-ecommerce-store/browse', | ||
release: 'No release date found', | ||
platforms: 'None', | ||
genre: 'None', | ||
developers: 'None', | ||
publishers: 'None', | ||
inCart: false, | ||
selected: false, | ||
isHovered: false, | ||
isLiked: false, | ||
rating: 0, | ||
id: 33, | ||
cover: 'https://res.cloudinary.com/gianlucajahn/image/upload/c_scale,q_100,w_500/v1658843471/questionmark_wzexkq.png', | ||
footage: [ | ||
'https://res.cloudinary.com/gianlucajahn/image/upload/v1658843471/questionmark_wzexkq.png', | ||
'https://res.cloudinary.com/gianlucajahn/image/upload/v1658843471/questionmark_wzexkq.png', | ||
'https://res.cloudinary.com/gianlucajahn/image/upload/v1658843471/questionmark_wzexkq.png', | ||
'https://res.cloudinary.com/gianlucajahn/image/upload/v1658843471/questionmark_wzexkq.png', | ||
], | ||
}; | ||
|
||
export default templateGame; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { useState, useEffect } from 'react'; | ||
|
||
const useMousePosition = () => { | ||
const [mousePosition, setMousePosition] = useState({ x: null, y: null }); | ||
|
||
const updateMousePosition = (ev) => { | ||
setMousePosition({ x: ev.clientX, y: ev.clientY }); | ||
}; | ||
|
||
useEffect(() => { | ||
window.addEventListener('mousemove', updateMousePosition); | ||
|
||
return () => window.removeEventListener('mousemove', updateMousePosition); | ||
}, []); | ||
|
||
return mousePosition; | ||
}; | ||
|
||
export default useMousePosition; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { useState, useEffect } from 'react'; | ||
|
||
export default function useWindowSize() { | ||
const [windowSize, setWindowSize] = useState({ | ||
width: undefined, | ||
height: undefined, | ||
}); | ||
useEffect(() => { | ||
function handleResize() { | ||
setWindowSize({ | ||
width: window.innerWidth, | ||
height: window.innerHeight, | ||
}); | ||
} | ||
window.addEventListener('resize', handleResize); | ||
handleResize(); | ||
return () => window.removeEventListener('resize', handleResize); | ||
}, []); | ||
return windowSize; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters