diff --git a/package-lock.json b/package-lock.json index e91f4aa..3fffaf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@tauri-apps/api": "^1.2.0", + "carbon-components-svelte": "^0.72.2", "simple-svelte-autocomplete": "^2.5.1" }, "devDependencies": { @@ -737,6 +738,14 @@ "node": ">=6" } }, + "node_modules/carbon-components-svelte": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.72.2.tgz", + "integrity": "sha512-fTwRQ+bQ+0lZooS2FOkERIaZGoBzWNPn2Ksq8+3K4x+E/pU9EFEnFH7PadYMpuxih2o5N0Dbn0YC9JyZbZrQJw==", + "dependencies": { + "flatpickr": "4.6.9" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -885,6 +894,11 @@ "node": ">=8" } }, + "node_modules/flatpickr": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2031,6 +2045,14 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "carbon-components-svelte": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.72.2.tgz", + "integrity": "sha512-fTwRQ+bQ+0lZooS2FOkERIaZGoBzWNPn2Ksq8+3K4x+E/pU9EFEnFH7PadYMpuxih2o5N0Dbn0YC9JyZbZrQJw==", + "requires": { + "flatpickr": "4.6.9" + } + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2141,6 +2163,11 @@ "to-regex-range": "^5.0.1" } }, + "flatpickr": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", diff --git a/package.json b/package.json index d733b6c..068409a 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "@tauri-apps/api": "^1.2.0", + "carbon-components-svelte": "^0.72.2", "simple-svelte-autocomplete": "^2.5.1" }, "devDependencies": { diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index d2df74e..99de0db 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -110,6 +110,27 @@ fn search_move(index: i64) -> MoveSearchResult { #[tauri::command] fn search(index: i64) -> SearchResult { let connection = sqlite::open("./pokemon.db").unwrap(); + let mut learnset: Vec = vec![]; + let move_query = "SELECT pl.id, pl.learnset_id, l.name, l.types, l.power, l.category FROM pokemon__learnset pl JOIN learnset l on pl.learnset_id = l.id WHERE pl.pokemon_id = ? ORDER BY usage"; + for row in connection + .prepare(move_query) + .unwrap() + .into_iter() + .bind((1, index)) + .unwrap() + .map(|row| row.unwrap()) + { + let row_result = PokemonDataLearnset { + id: row.read::("id"), + learset_id: row.read::("learnset_id"), + name: row.read::<&str, _>("name").to_string(), + types: serde_json::from_str(row.read::<&str, _>("types")).unwrap_or(vec![0]), + power: row.read::("power"), + category: row.read::("category"), + }; + learnset.push(row_result) + } + println!("Get Thing2"); let query = "SELECT * FROM pokemon WHERE id = ?"; for row in connection .prepare(query) @@ -131,6 +152,7 @@ fn search(index: i64) -> SearchResult { special_attack: row.read::("special_attack"), special_defense: row.read::("special_defense"), speed: row.read::("speed"), + learnset: learnset, }; return row_result } @@ -146,6 +168,7 @@ fn search(index: i64) -> SearchResult { special_attack: 0, special_defense: 0, speed: 0, + learnset: vec![], } } fn main() { diff --git a/src-tauri/src/model.rs b/src-tauri/src/model.rs index ca07c7a..bc60d5b 100644 --- a/src-tauri/src/model.rs +++ b/src-tauri/src/model.rs @@ -13,8 +13,18 @@ pub struct SearchResult { pub speed: i64, pub abilities: String, pub thumbnail: String, + pub learnset: Vec, } +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct PokemonDataLearnset { + pub id: i64, + pub learset_id: i64, + pub name: String, + pub types: Vec, + pub power: i64, + pub category: i64, +} #[derive(Serialize, Deserialize, Debug, Clone)] pub struct MoveSearchResult { pub id: i64, diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index fc61036..2cb4592 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -60,10 +60,11 @@ "windows": [ { "fullscreen": false, + "maximized": true, "height": 950, "resizable": true, "title": "pokemon-data-displayer", - "width": 1000, + "width": 1200, "alwaysOnTop": false } ] diff --git a/src/App.svelte b/src/App.svelte index 1570f62..ff2829c 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,6 +1,7 @@ diff --git a/src/assets/buturi.png b/src/assets/buturi.png new file mode 100644 index 0000000..c9832ad Binary files /dev/null and b/src/assets/buturi.png differ diff --git a/src/assets/henka.png b/src/assets/henka.png new file mode 100644 index 0000000..03844b5 Binary files /dev/null and b/src/assets/henka.png differ diff --git a/src/assets/tokushu.png b/src/assets/tokushu.png new file mode 100644 index 0000000..72c3a2f Binary files /dev/null and b/src/assets/tokushu.png differ diff --git a/src/lib/DisplayData.svelte b/src/lib/DisplayData.svelte index b35125a..9935f9b 100644 --- a/src/lib/DisplayData.svelte +++ b/src/lib/DisplayData.svelte @@ -1,6 +1,11 @@