mirror of
https://github.com/FranP-code/Tic-Tac-Toe-Game.git
synced 2025-10-12 23:52:39 +00:00
Emoji picker logic done
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
<link rel="stylesheet" href="./styles/styles.css">
|
<link rel="stylesheet" href="./styles/styles.css">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
|
||||||
<script type="module" src="https://cdn.jsdelivr.net/npm/emoji-picker-element@^1/index.js"></script>
|
<script type="module" src="https://cdn.jsdelivr.net/npm/emoji-picker-element@^1/index.js"></script>
|
||||||
|
<script src="./script/index.js" type="module"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="player-selection">
|
<div class="player-selection">
|
||||||
|
|||||||
28
package-lock.json
generated
28
package-lock.json
generated
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "tic-tac-toe-game",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"name": "tic-tac-toe-game",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"emoji-picker-element": "^1.8.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/emoji-picker-element": {
|
|
||||||
"version": "1.8.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/emoji-picker-element/-/emoji-picker-element-1.8.2.tgz",
|
|
||||||
"integrity": "sha512-XNSuntOOz1+JBklOqj+tqJqbInp88i12JXv0ZyQNCaHlkAlUf7Ak9e857S/uVTFlVtA6pJ6qeXLxvMdrL0ngFQ=="
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"emoji-picker-element": {
|
|
||||||
"version": "1.8.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/emoji-picker-element/-/emoji-picker-element-1.8.2.tgz",
|
|
||||||
"integrity": "sha512-XNSuntOOz1+JBklOqj+tqJqbInp88i12JXv0ZyQNCaHlkAlUf7Ak9e857S/uVTFlVtA6pJ6qeXLxvMdrL0ngFQ=="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
14
package.json
14
package.json
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "tic-tac-toe-game",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "index.html",
|
|
||||||
"scripts": {
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
|
||||||
},
|
|
||||||
"author": "Francisco Pessano",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"emoji-picker-element": "^1.8.2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
export default function addEmojiPickerBackgroundFunction() {
|
||||||
|
|
||||||
|
const emojiPickerContainer = document.getElementsByClassName('emoji-picker-container')[0]
|
||||||
|
|
||||||
|
emojiPickerContainer.addEventListener('click', () => {
|
||||||
|
|
||||||
|
emojiPickerContainer.classList.add('hidden')
|
||||||
|
})
|
||||||
|
}
|
||||||
26
script/emoji-picker-functions/addEmojiPickerToButtons.js
Normal file
26
script/emoji-picker-functions/addEmojiPickerToButtons.js
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
export default function addEmojiPickerToButtons() {
|
||||||
|
|
||||||
|
let buttons = document.querySelectorAll('.player .symbol-container button')
|
||||||
|
buttons = [...buttons]
|
||||||
|
|
||||||
|
const emojiPickerContainer = document.getElementsByClassName('emoji-picker-container')[0]
|
||||||
|
|
||||||
|
buttons.forEach(button => {
|
||||||
|
|
||||||
|
button.addEventListener('click', (event) => {
|
||||||
|
|
||||||
|
event.preventDefault()
|
||||||
|
|
||||||
|
const player = button.parentElement.parentElement.className
|
||||||
|
|
||||||
|
sessionStorage.setItem('actualPlayer', player)
|
||||||
|
|
||||||
|
if (emojiPickerContainer.classList.contains('hidden')) {
|
||||||
|
emojiPickerContainer.classList.remove('hidden')
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
28
script/emoji-picker-functions/emojiPickerFunctionality.js
Normal file
28
script/emoji-picker-functions/emojiPickerFunctionality.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
export default function emojiPickerFunctionality() {
|
||||||
|
|
||||||
|
const emojiPicker = document.querySelector('emoji-picker')
|
||||||
|
|
||||||
|
emojiPicker.addEventListener('emoji-click', event => {
|
||||||
|
|
||||||
|
const player = sessionStorage.getItem('actualPlayer')
|
||||||
|
|
||||||
|
let input = document.getElementsByClassName(player)[0].children[1]
|
||||||
|
|
||||||
|
if (player.includes('player-1')) {
|
||||||
|
|
||||||
|
input = input.children[1]
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
input = input.children[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
input.value = event.detail.unicode
|
||||||
|
|
||||||
|
const emojiPickerContainer = document.getElementsByClassName('emoji-picker-container')[0]
|
||||||
|
emojiPickerContainer.classList.add('hidden')
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import addEmojiPickerToButtons from './emoji-picker-functions/addEmojiPickerToButtons.js'
|
||||||
|
import addEmojiPickerBackgroundFunction from './emoji-picker-functions/addEmojiPickerBackgroundFunction.js'
|
||||||
|
import emojiPickerFunctionality from './emoji-picker-functions/emojiPickerFunctionality.js'
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
|
||||||
|
addEmojiPickerToButtons()
|
||||||
|
addEmojiPickerBackgroundFunction()
|
||||||
|
emojiPickerFunctionality()
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload = () => main()
|
||||||
Reference in New Issue
Block a user