瀏覽代碼

Mobile compatibility

master
Roderic Day 5 年之前
父節點
當前提交
9010f1bb96
共有 5 個文件被更改,包括 20 次插入5 次删除
  1. +4
    -1
      apps/hanabi.css
  2. +9
    -0
      apps/hanabi.js
  3. +1
    -1
      pico.css
  4. +4
    -1
      pico.html
  5. +2
    -2
      pico.js

+ 4
- 1
apps/hanabi.css 查看文件

@@ -9,7 +9,7 @@
padding: 1px;
grid-gap: 1px;
grid-template-columns: repeat(var(--ncols), 1fr);
height: 40vh;
height: 30vh;
}
.col:before {
position: relative;
@@ -77,3 +77,6 @@
.counter {
font-family: monospace;
}
.drag-target {
background-color: orange !important;
}

+ 9
- 0
apps/hanabi.js 查看文件

@@ -60,6 +60,11 @@ const Hanabi = {
ev.dataTransfer.setData('idx', card.id)
ev.dataTransfer.dropEffect = 'move'
},
ondragend: (ev) => {
for(const el of document.querySelectorAll('.drag-target')) {
el.classList.remove('drag-target')
}
},
class: ['card', card.color, card.faceUp && 'face-up'].join(' '),
draggable: true,
}
@@ -79,6 +84,10 @@ const Hanabi = {
ondragenter: (ev) => {
/* needed for drag-drop shim */
ev.preventDefault()
for(const el of document.querySelectorAll('.drag-target')) {
el.classList.remove('drag-target')
}
ev.target.classList.add('drag-target')
},
ondragover: (ev) => {
ev.preventDefault()

+ 1
- 1
pico.css 查看文件

@@ -68,7 +68,7 @@ body {
grid-auto-flow: column;
justify-content: start;
overflow-x: scroll;
height: 200px;
height: 50px;
resize: vertical;
position: relative;
}

+ 4
- 1
pico.html 查看文件

@@ -15,7 +15,10 @@
<script src="/pico.js" defer></script>

<script>
MobileDragDrop.polyfill({})
MobileDragDrop.polyfill({
dragImageOffset: {x: 0, y: -15},
elementFromPoint: (x, y) => document.elementFromPoint(x, y - 15),
})
addEventListener('touchmove', () => {})
</script>


+ 2
- 2
pico.js 查看文件

@@ -445,11 +445,11 @@ const connect = (username) => {
if(message.online) {
const difference = (l1, l2) => l1.filter(u => !l2.includes(u))
difference(message.online, State.online).forEach(username => {
State.posts.push({ts: message.ts, value: `${username} joined`})
signal({kind: 'post', ts: message.ts, value: `${username} joined`})
signal({kind: 'join', username: username})
})
difference(State.online, message.online).forEach(username => {
State.posts.push({ts: message.ts, value: `${username} left`})
signal({kind: 'post', ts: message.ts, value: `${username} left`})
signal({kind: 'leave', username: username})
})
}

Loading…
取消
儲存