diff --git a/Cargo.lock b/Cargo.lock
index b1dae02..7570bb5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -143,6 +143,18 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+[[package]]
+name = "battleship"
+version = "0.1.0"
+dependencies = [
+ "axum",
+ "dotenv",
+ "rand",
+ "serde",
+ "sqlx",
+ "tokio",
+]
+
[[package]]
name = "bitflags"
version = "2.6.0"
@@ -1485,17 +1497,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-[[package]]
-name = "todoos"
-version = "0.1.0"
-dependencies = [
- "axum",
- "dotenv",
- "serde",
- "sqlx",
- "tokio",
-]
-
[[package]]
name = "tokio"
version = "1.40.0"
diff --git a/Cargo.toml b/Cargo.toml
index 8bdece7..3d36bf8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,11 +1,12 @@
[package]
-name = "todoos"
+name = "battleship"
version = "0.1.0"
edition = "2021"
[dependencies]
axum = "0.7.5"
dotenv = "0.15.0"
+rand = "0.8.5"
serde = { version = "1.0.210", features = ["derive"] }
sqlx = "0.8.2"
tokio = { version = "1.40.0", features = ["full"] }
diff --git a/app/package-lock.json b/app/package-lock.json
index 139e747..04f7dee 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -17,6 +17,7 @@
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
"@types/eslint": "^9.6.0",
"autoprefixer": "^10.4.20",
+ "daisyui": "^4.12.10",
"eslint": "^9.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.36.0",
@@ -1745,6 +1746,17 @@
"node": ">= 8"
}
},
+ "node_modules/css-selector-tokenizer": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz",
+ "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "fastparse": "^1.1.2"
+ }
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -1758,6 +1770,36 @@
"node": ">=4"
}
},
+ "node_modules/culori": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz",
+ "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/daisyui": {
+ "version": "4.12.10",
+ "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz",
+ "integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "css-selector-tokenizer": "^0.8",
+ "culori": "^3",
+ "picocolors": "^1",
+ "postcss-js": "^4"
+ },
+ "engines": {
+ "node": ">=16.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/daisyui"
+ }
+ },
"node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
@@ -2191,6 +2233,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/fastparse": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
diff --git a/app/package.json b/app/package.json
index da5534f..8420c44 100644
--- a/app/package.json
+++ b/app/package.json
@@ -18,6 +18,7 @@
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
"@types/eslint": "^9.6.0",
"autoprefixer": "^10.4.20",
+ "daisyui": "^4.12.10",
"eslint": "^9.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.36.0",
diff --git a/app/src/lib/board.svelte b/app/src/lib/board.svelte
index 16f1629..b597161 100644
--- a/app/src/lib/board.svelte
+++ b/app/src/lib/board.svelte
@@ -5,11 +5,11 @@
let { board, callback }: { board: Board; callback: (i: number, j: number) => void } = $props();
-
+
{#each board.board as row, i}
{#each row as cell, j}