5 Commits

6 changed files with 22 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
# Nonograms
## English Description
## Description
Nonograms is a modern, fast, and accessible logic puzzle game (also known as Picross or Griddlers). Solve pixel-art puzzles by marking cells according to numeric clues for rows and columns. The app features:
- Clean UX with keyboard and touch support

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "vue-nonograms-solid",
"version": "1.9.12",
"version": "1.9.14",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "vue-nonograms-solid",
"version": "1.9.12",
"version": "1.9.14",
"dependencies": {
"fireworks-js": "^2.10.8",
"flag-icons": "^7.5.0",

View File

@@ -1,6 +1,7 @@
{
"name": "vue-nonograms-solid",
"version": "1.9.12",
"version": "1.9.14",
"homepage": "https://nonograms.7u.pl/",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -32,7 +32,11 @@ defineProps({
v-for="(group, index) in hints"
:key="index"
class="hint-group"
:class="{ 'is-active': index === activeIndex }"
:class="{
'is-active': index === activeIndex,
'guide-right': orientation === 'col' && (index + 1) % 5 === 0 && index !== size - 1,
'guide-bottom': orientation === 'row' && (index + 1) % 5 === 0 && index !== size - 1
}"
>
<span
v-for="(num, idx) in group"
@@ -111,4 +115,12 @@ defineProps({
border-color: rgba(79, 172, 254, 0.8);
box-shadow: 0 0 12px rgba(79, 172, 254, 0.35);
}
/* Guide lines every 5 */
.hint-group.guide-right {
border-right: 2px solid rgba(0, 242, 255, 0.5);
}
.hint-group.guide-bottom {
border-bottom: 2px solid rgba(0, 242, 255, 0.5);
}
</style>

View File

@@ -4,7 +4,7 @@ export function buildShareCanvas(data, t, formattedTime) {
const { grid, size, currentDensity, guideUsageCount } = data;
if (!grid || !grid.length) return null;
const appUrl = 'https://nonograms.7u.pl/';
const appUrl = typeof __APP_HOMEPAGE__ !== 'undefined' ? __APP_HOMEPAGE__ : '';
const maxBoard = 640;
const cellSize = Math.max(8, Math.floor(maxBoard / size));
const boardSize = cellSize * size;
@@ -119,7 +119,7 @@ export function buildShareSVG(data, t, formattedTime) {
const { grid, size, currentDensity, guideUsageCount } = data;
if (!grid || !grid.length) return null;
const appUrl = 'https://nonograms.7u.pl/';
const appUrl = typeof __APP_HOMEPAGE__ !== 'undefined' ? __APP_HOMEPAGE__ : '';
const maxBoard = 640;
const cellSize = Math.max(8, Math.floor(maxBoard / size));
const boardSize = cellSize * size;

View File

@@ -5,7 +5,8 @@ import path from 'path'
export default defineConfig({
define: {
'__APP_VERSION__': JSON.stringify(process.env.npm_package_version)
'__APP_VERSION__': JSON.stringify(process.env.npm_package_version),
'__APP_HOMEPAGE__': JSON.stringify(process.env.npm_package_homepage)
},
plugins: [
vue(),