Compare commits
13 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
21623b24f0 | |
|
|
d2fe0f47c3 | |
|
|
f5bd481975 | |
|
|
efe995e247 | |
|
|
b553eb434a | |
|
|
4f72d75642 | |
|
|
a829e7224c | |
|
|
23202e7a7b | |
|
|
06c605344f | |
|
|
015447dc57 | |
|
|
59af2e0a29 | |
|
|
8de753aac5 | |
|
|
0febac8b3c |
|
|
@ -559,6 +559,10 @@ div.hbox {
|
|||
color: blue;
|
||||
}
|
||||
|
||||
.jBox-wrapper.jBox-hasTitle > .jBox-container {
|
||||
padding: 4px; /* same as border-radius */
|
||||
}
|
||||
|
||||
.jBox-title h2 {
|
||||
margin: 0;
|
||||
}
|
||||
|
|
@ -605,10 +609,13 @@ div.hbox {
|
|||
}
|
||||
|
||||
.game-tiles {
|
||||
max-width: 80vw;
|
||||
max-height: 80vh;
|
||||
overflow-y: auto;
|
||||
text-align: center;
|
||||
width: calc(100vw - 6rem);
|
||||
max-width: calc(100vw - 6rem);
|
||||
max-height: calc(100vh - 12rem);
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(15em, auto));
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.game-tiles > * {
|
||||
|
|
@ -617,14 +624,14 @@ div.hbox {
|
|||
|
||||
.game-tile {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 14em;
|
||||
height: 14em;
|
||||
box-shadow: 0 0 0 1px black, 5px 5px 3px #00000080;
|
||||
margin: 1em;
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
border-radius: 6pt;
|
||||
background-color: #FFFFF0;
|
||||
|
|
@ -657,6 +664,7 @@ div.hbox {
|
|||
font-size: 3em;
|
||||
text-shadow: 2px 2px 4px #000000c0;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.new-game-text::before {
|
||||
|
|
@ -779,19 +787,19 @@ div.hbox {
|
|||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.game-tile {
|
||||
font-size: calc(12in * 0.015);
|
||||
.game-tiles {
|
||||
font-size: calc(12in * 0.014);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 6in) and (max-width: 12in) {
|
||||
.game-tile {
|
||||
font-size: 1.5vw;
|
||||
.game-tiles {
|
||||
font-size: 1.4vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 6in) {
|
||||
.game-tile {
|
||||
font-size: calc(6in * 0.015);
|
||||
.game-tiles {
|
||||
font-size: calc(6in * 0.014);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
|
|
|
|||
1
index.js
1
index.js
|
|
@ -1,5 +1,6 @@
|
|||
import './css/chess.css';
|
||||
import './css/theme/pacosako.css';
|
||||
import './css/theme/traditional.css';
|
||||
|
||||
import '@fortawesome/fontawesome-free/css/fontawesome.css';
|
||||
import '@fortawesome/fontawesome-free/css/solid.css';
|
||||
|
|
|
|||
|
|
@ -370,9 +370,9 @@ function startMetaPoll(afterTime) {
|
|||
const thisRequest = meta.currentRequest = $.ajax({
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
url: `${API_BASE}/games${!afterTime ? '' : `/poll/${afterTime}`}`,
|
||||
url: `${API_BASE}/games${(afterTime === undefined) ? '' : `/poll/${afterTime}`}`,
|
||||
cache: false,
|
||||
timeout: afterTime ? LONG_TIMEOUT : SHORT_TIMEOUT,
|
||||
timeout: (afterTime === undefined) ? SHORT_TIMEOUT : LONG_TIMEOUT,
|
||||
}).done((data, textStatus, jqXHR) => {
|
||||
if (meta.currentRequest === thisRequest) {
|
||||
meta.currentRequest = null;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import deepEqual from 'deep-equal';
|
|||
import 'webpack-jquery-ui/draggable';
|
||||
import 'webpack-jquery-ui/droppable';
|
||||
import 'webpack-jquery-ui/selectmenu';
|
||||
import 'webpack-jquery-ui/fold-effect';
|
||||
import 'webpack-jquery-ui/clip-effect';
|
||||
import 'webpack-jquery-ui/css';
|
||||
|
||||
import 'jquery-ui-touch-punch';
|
||||
|
|
@ -780,6 +780,8 @@ $(function (){
|
|||
$('#cb_dark_name').val(String(d.darkName || ''));
|
||||
|
||||
$('#cb_board').data('modified', data.modified);
|
||||
|
||||
updateSelectGameMeta(data, newId);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
@ -1236,6 +1238,7 @@ $(function (){
|
|||
|
||||
var selectBoxIntervalID = undefined;
|
||||
var selectBox = new jBox('Modal', {
|
||||
title: '<h2>Recent Games</h2>',
|
||||
content: gameSelectContent,
|
||||
blockScroll: false,
|
||||
blockScrollAdjust: false,
|
||||
|
|
@ -1305,11 +1308,6 @@ $(function (){
|
|||
}
|
||||
|
||||
function updateSelectGameMeta(data, gameId) {
|
||||
data = Object.assign({}, data, {
|
||||
gameId: gameId || data.gameId,
|
||||
timestamp: data.timestamp || +new Date(),
|
||||
});
|
||||
|
||||
if (typeof gameId !== 'string' || !gameId.match(/^[0-9a-f]{16}$/)) {
|
||||
debug('invalid game ID', gameId);
|
||||
return;
|
||||
|
|
@ -1319,10 +1317,11 @@ $(function (){
|
|||
const oldTile = $('#game_tile_' + gameId).first();
|
||||
|
||||
if (!data.lightName && !data.darkName && !data.moves && gameId !== currentGameId) {
|
||||
oldTile.removeAttr('id');
|
||||
if (oldTile.length >= 1) {
|
||||
oldTile.removeAttr('id');
|
||||
oldTile.hide({
|
||||
effect: "fold",
|
||||
effect: "clip",
|
||||
direction: "horizontal",
|
||||
complete() {
|
||||
oldTile.remove();
|
||||
},
|
||||
|
|
@ -1331,6 +1330,13 @@ $(function (){
|
|||
return;
|
||||
}
|
||||
|
||||
if (oldTile.length && data.modified && oldTile.data('gameMeta').modified >= data.modified) {
|
||||
return;
|
||||
}
|
||||
|
||||
data = Object.assign({ gameId, timestamp: +new Date(), modified: 0 }, data);
|
||||
delete data.board;
|
||||
|
||||
const tile = oldTile.length ? oldTile :
|
||||
$(`<div class="game-tile existing-game-tile"></div>`).hide();
|
||||
tile.attr('id', 'game_tile_' + gameId).data('gameMeta', data).empty();
|
||||
|
|
@ -1380,7 +1386,10 @@ $(function (){
|
|||
$(list).appendTo(gameTiles);
|
||||
updateTileAges();
|
||||
|
||||
tile.show("fold");
|
||||
tile.show({
|
||||
effect: "clip",
|
||||
direction: "horizontal",
|
||||
});
|
||||
|
||||
selectBox.setContent(gameSelectContent);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
38
package.json
38
package.json
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paco-sako",
|
||||
"version": "0.8.2",
|
||||
"version": "0.8.7",
|
||||
"description": "Online version of the Paco Ŝako chess variation",
|
||||
"keywords": [
|
||||
"game",
|
||||
|
|
@ -32,32 +32,34 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"buffer": "^4.9.2",
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
"copy-webpack-plugin": "^5.1.1",
|
||||
"buffer": "^6.0.3",
|
||||
"clean-webpack-plugin": "^4.0.0",
|
||||
"copy-webpack-plugin": "^6.4.1",
|
||||
"css-element-queries": "^1.2.3",
|
||||
"deep-equal": "git+https://jessemcdonald.info/gogs/nybble/node-deep-equal",
|
||||
"extract-loader": "^5.0.1",
|
||||
"html-webpack-plugin": "^4.3.0",
|
||||
"html-webpack-plugin": "^4.5.2",
|
||||
"jbox": "^1.2.0",
|
||||
"jquery-ui-touch-punch": "^0.2.3",
|
||||
"lodash": "^4.17.15",
|
||||
"mini-css-extract-plugin": "^0.9.0",
|
||||
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
||||
"pako": "^1.0.11",
|
||||
"mini-css-extract-plugin": "^1.6.2",
|
||||
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||
"pako": "^2.0.4",
|
||||
"sprintf-js": "^1.0.3",
|
||||
"svgo": "^1.3.2",
|
||||
"svgo-loader": "^2.2.1",
|
||||
"webpack": "^4.43.0",
|
||||
"webpack-cli": "^3.3.11",
|
||||
"svgo": "^2.7.0",
|
||||
"svgo-loader": "^3.0.0",
|
||||
"webpack": "^4.46.0",
|
||||
"webpack-cli": "^4.8.0",
|
||||
"webpack-jquery-ui": "^2.0.1",
|
||||
"workbox-precaching": "^5.1.3",
|
||||
"workbox-routing": "^5.1.3",
|
||||
"workbox-strategies": "^5.1.3",
|
||||
"workbox-webpack-plugin": "^5.1.3",
|
||||
"workbox-window": "^5.1.3"
|
||||
"workbox-precaching": "^6.3.0",
|
||||
"workbox-routing": "^6.3.0",
|
||||
"workbox-strategies": "^6.3.0",
|
||||
"workbox-webpack-plugin": "^6.3.0",
|
||||
"workbox-window": "^6.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"paco-sako-server": "git+https://jessemcdonald.info/gogs/nybble/paco_sako_server"
|
||||
},
|
||||
"dependencies": {},
|
||||
"optionalDependencies": {
|
||||
"paco-sako-server": "git+https://jessemcdonald.info/gogs/nybble/paco_sako_server"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -52,7 +52,14 @@ module.exports = {
|
|||
loader: "svgo-loader",
|
||||
options: {
|
||||
plugins: [
|
||||
{ cleanupIDs: false }
|
||||
{
|
||||
name: "preset-default",
|
||||
params: {
|
||||
overrides: {
|
||||
cleanupIDs: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -88,9 +95,11 @@ module.exports = {
|
|||
"window.jQuery": "jquery'",
|
||||
"window.$": "jquery"
|
||||
}),
|
||||
new CopyPlugin([
|
||||
{ from: '.htaccess' },
|
||||
]),
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{ from: '.htaccess' },
|
||||
],
|
||||
}),
|
||||
new InjectManifest({
|
||||
swSrc: './sw.js',
|
||||
dontCacheBustURLsMatching: /\.[0-9a-f]{16,}\.\w{2,4}$/,
|
||||
|
|
|
|||
Loading…
Reference in New Issue