diff --git a/FCLauncher/.gitignore b/FCLauncher/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/FCLauncher/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/FCLauncher/.vscode/extensions.json b/FCLauncher/.vscode/extensions.json new file mode 100644 index 0000000..24d7cc6 --- /dev/null +++ b/FCLauncher/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/FCLauncher/README.md b/FCLauncher/README.md new file mode 100644 index 0000000..441faf7 --- /dev/null +++ b/FCLauncher/README.md @@ -0,0 +1,7 @@ +# Tauri + Vanilla + +This template should help get you started developing with Tauri in vanilla HTML, CSS and Javascript. + +## Recommended IDE Setup + +- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) diff --git a/FCLauncher/package-lock.json b/FCLauncher/package-lock.json new file mode 100644 index 0000000..16abb3d --- /dev/null +++ b/FCLauncher/package-lock.json @@ -0,0 +1,214 @@ +{ + "name": "fclauncher", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fclauncher", + "version": "0.0.0", + "devDependencies": { + "@tauri-apps/cli": "^1" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.14.tgz", + "integrity": "sha512-JOSMKymlg116UdEXSj69eg5p1OtZnQkUE0qIGbtNDO1sk3X/KgBN6+oHBW0BzPStp/W0AjBgrMWCqjHPwEpOug==", + "dev": true, + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "1.5.14", + "@tauri-apps/cli-darwin-x64": "1.5.14", + "@tauri-apps/cli-linux-arm-gnueabihf": "1.5.14", + "@tauri-apps/cli-linux-arm64-gnu": "1.5.14", + "@tauri-apps/cli-linux-arm64-musl": "1.5.14", + "@tauri-apps/cli-linux-x64-gnu": "1.5.14", + "@tauri-apps/cli-linux-x64-musl": "1.5.14", + "@tauri-apps/cli-win32-arm64-msvc": "1.5.14", + "@tauri-apps/cli-win32-ia32-msvc": "1.5.14", + "@tauri-apps/cli-win32-x64-msvc": "1.5.14" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.14.tgz", + "integrity": "sha512-lxoSOp3KKSqzHJa7iT32dukPGMlfsTuja1xXSgwR8o/fqzpYJY7FY/3ZxesP8HR66FcK+vtqa//HNqeOQ0mHkA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.14.tgz", + "integrity": "sha512-EXSwN1n5spfG8FoXuyc90ACtmDJXzaZ1gxyENaq9xEpQoo7j/Q1vb6qXxmr6azKr8zmqY4h08ZFbv3exh93xJg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.14.tgz", + "integrity": "sha512-Yb8BH/KYR7Tl+de40sZPfrqbhcU3Jlu+UPIrnXt05sjn48xqIps74Xjz8zzVp0TuHxUp8FmIGtCVhQgsbrsvvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.14.tgz", + "integrity": "sha512-QrKHP4gRaHiup478rPBZ+BmNd88yze9jMmheoNy9mN1K/aECRmTHO+tWhsxv5moFHZzRhO0QDWxxvTtiaPXaGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.14.tgz", + "integrity": "sha512-Hb1C1VMxmUcyGjW/K/INKF87zzzgLEVRmWZZnQd7M1P4uue4xPyIwUELSdX12Z2jREPgmLW4AXPD0m6wsNu7iw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.14.tgz", + "integrity": "sha512-kD9v/UwPDuhIgq2TJj/s2/7rqk+vmExVV6xHPKI8vVbIvlNAOZqmx3fpxjej1241vhJ/piGd/m6q6YMWGsL0oQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.14.tgz", + "integrity": "sha512-204Drgg9Zx0+THKndqASz4+iPCwqA3gQVF9C0CDIArNXrjPyJjVvW8VP5CHiZYaTNWxlz/ltyxluM6UFWbXNFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.14.tgz", + "integrity": "sha512-sqPSni2MnWNCm+8YZnLdWCclxfSHaYqKuPFSz8q7Tn1G1m/cA9gyPoC1G0esHftY7bu/ZM5lB4kM3I4U0KlLiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.14.tgz", + "integrity": "sha512-8xN8W0zTs8oFsQmvYLxHFeqhzVI7oTaPK1xQMc5gbpFP45jN41c21aCXfjnvzT+h90EfCHUF9EWj2HTEJSb7Iw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "1.5.14", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.14.tgz", + "integrity": "sha512-U0slee5tNM2PYECBpPHavLSwkT3szGMZ+qhcikQQbDan84bQdLn/kHWjyXOgLJs4KSve4+KxcrN+AVqj0VyHnw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/FCLauncher/package.json b/FCLauncher/package.json new file mode 100644 index 0000000..ba4afd4 --- /dev/null +++ b/FCLauncher/package.json @@ -0,0 +1,12 @@ +{ + "name": "fclauncher", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "tauri": "tauri" + }, + "devDependencies": { + "@tauri-apps/cli": "^1" + } +} diff --git a/FCLauncher/src-tauri/.gitignore b/FCLauncher/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/FCLauncher/src-tauri/.gitignore @@ -0,0 +1,7 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas diff --git a/FCLauncher/src-tauri/Cargo.toml b/FCLauncher/src-tauri/Cargo.toml new file mode 100644 index 0000000..d894f66 --- /dev/null +++ b/FCLauncher/src-tauri/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "fclauncher" +version = "0.0.0" +description = "A Tauri App" +authors = ["you"] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1", features = [] } + +[dependencies] +tauri = { version = "1", features = ["shell-open"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" + +[features] +# This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!! +custom-protocol = ["tauri/custom-protocol"] diff --git a/FCLauncher/src-tauri/build.rs b/FCLauncher/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/FCLauncher/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/FCLauncher/src-tauri/icons/128x128.png b/FCLauncher/src-tauri/icons/128x128.png new file mode 100644 index 0000000..6be5e50 Binary files /dev/null and b/FCLauncher/src-tauri/icons/128x128.png differ diff --git a/FCLauncher/src-tauri/icons/128x128@2x.png b/FCLauncher/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000..e81bece Binary files /dev/null and b/FCLauncher/src-tauri/icons/128x128@2x.png differ diff --git a/FCLauncher/src-tauri/icons/32x32.png b/FCLauncher/src-tauri/icons/32x32.png new file mode 100644 index 0000000..a437dd5 Binary files /dev/null and b/FCLauncher/src-tauri/icons/32x32.png differ diff --git a/FCLauncher/src-tauri/icons/Square107x107Logo.png b/FCLauncher/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000..0ca4f27 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square107x107Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square142x142Logo.png b/FCLauncher/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000..b81f820 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square142x142Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square150x150Logo.png b/FCLauncher/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000..624c7bf Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square150x150Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square284x284Logo.png b/FCLauncher/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000..c021d2b Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square284x284Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square30x30Logo.png b/FCLauncher/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000..6219700 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square30x30Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square310x310Logo.png b/FCLauncher/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000..f9bc048 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square310x310Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square44x44Logo.png b/FCLauncher/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000..d5fbfb2 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square44x44Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square71x71Logo.png b/FCLauncher/src-tauri/icons/Square71x71Logo.png new file mode 100644 index 0000000..63440d7 Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square71x71Logo.png differ diff --git a/FCLauncher/src-tauri/icons/Square89x89Logo.png b/FCLauncher/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000..f3f705a Binary files /dev/null and b/FCLauncher/src-tauri/icons/Square89x89Logo.png differ diff --git a/FCLauncher/src-tauri/icons/StoreLogo.png b/FCLauncher/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000..4556388 Binary files /dev/null and b/FCLauncher/src-tauri/icons/StoreLogo.png differ diff --git a/FCLauncher/src-tauri/icons/icon.icns b/FCLauncher/src-tauri/icons/icon.icns new file mode 100644 index 0000000..12a5bce Binary files /dev/null and b/FCLauncher/src-tauri/icons/icon.icns differ diff --git a/FCLauncher/src-tauri/icons/icon.ico b/FCLauncher/src-tauri/icons/icon.ico new file mode 100644 index 0000000..b3636e4 Binary files /dev/null and b/FCLauncher/src-tauri/icons/icon.ico differ diff --git a/FCLauncher/src-tauri/icons/icon.png b/FCLauncher/src-tauri/icons/icon.png new file mode 100644 index 0000000..e1cd261 Binary files /dev/null and b/FCLauncher/src-tauri/icons/icon.png differ diff --git a/FCLauncher/src-tauri/src/main.rs b/FCLauncher/src-tauri/src/main.rs new file mode 100644 index 0000000..523550d --- /dev/null +++ b/FCLauncher/src-tauri/src/main.rs @@ -0,0 +1,15 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command +#[tauri::command] +fn greet(name: &str) -> String { + format!("Hello, {}! You've been greeted from Rust!", name) +} + +fn main() { + tauri::Builder::default() + .invoke_handler(tauri::generate_handler![greet]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/FCLauncher/src-tauri/tauri.conf.json b/FCLauncher/src-tauri/tauri.conf.json new file mode 100644 index 0000000..d282c24 --- /dev/null +++ b/FCLauncher/src-tauri/tauri.conf.json @@ -0,0 +1,42 @@ +{ + "build": { + "devPath": "../src", + "distDir": "../src", + "withGlobalTauri": true + }, + "package": { + "productName": "fclauncher", + "version": "0.0.0" + }, + "tauri": { + "allowlist": { + "all": false, + "shell": { + "all": false, + "open": true + } + }, + "windows": [ + { + "title": "fclauncher", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + }, + "bundle": { + "active": true, + "targets": "all", + "identifier": "com.tauri.dev", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } + } +} diff --git a/FCLauncher/src/assets/javascript.svg b/FCLauncher/src/assets/javascript.svg new file mode 100644 index 0000000..f9abb2b --- /dev/null +++ b/FCLauncher/src/assets/javascript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/FCLauncher/src/assets/tauri.svg b/FCLauncher/src/assets/tauri.svg new file mode 100644 index 0000000..31b62c9 --- /dev/null +++ b/FCLauncher/src/assets/tauri.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/FCLauncher/src/index.html b/FCLauncher/src/index.html new file mode 100644 index 0000000..3b7e70d --- /dev/null +++ b/FCLauncher/src/index.html @@ -0,0 +1,41 @@ + + + + + + + Tauri App + + + + +
+

Welcome to Tauri!

+ +
+ + + + + + +
+ +

Click on the Tauri logo to learn more about the framework

+ +
+ + +
+ +

+
+ + diff --git a/FCLauncher/src/main.js b/FCLauncher/src/main.js new file mode 100644 index 0000000..95a1702 --- /dev/null +++ b/FCLauncher/src/main.js @@ -0,0 +1,18 @@ +const { invoke } = window.__TAURI__.tauri; + +let greetInputEl; +let greetMsgEl; + +async function greet() { + // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command + greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value }); +} + +window.addEventListener("DOMContentLoaded", () => { + greetInputEl = document.querySelector("#greet-input"); + greetMsgEl = document.querySelector("#greet-msg"); + document.querySelector("#greet-form").addEventListener("submit", (e) => { + e.preventDefault(); + greet(); + }); +}); diff --git a/FCLauncher/src/styles.css b/FCLauncher/src/styles.css new file mode 100644 index 0000000..e57b8ac --- /dev/null +++ b/FCLauncher/src/styles.css @@ -0,0 +1,112 @@ +.logo.vanilla:hover { + filter: drop-shadow(0 0 2em #ffe21c); +} +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color: #0f0f0f; + background-color: #f6f6f6; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +.container { + margin: 0; + padding-top: 10vh; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: 0.75s; +} + +.logo.tauri:hover { + filter: drop-shadow(0 0 2em #24c8db); +} + +.row { + display: flex; + justify-content: center; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} + +a:hover { + color: #535bf2; +} + +h1 { + text-align: center; +} + +input, +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + color: #0f0f0f; + background-color: #ffffff; + transition: border-color 0.25s; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); +} + +button { + cursor: pointer; +} + +button:hover { + border-color: #396cd8; +} +button:active { + border-color: #396cd8; + background-color: #e8e8e8; +} + +input, +button { + outline: none; +} + +#greet-input { + margin-right: 5px; +} + +@media (prefers-color-scheme: dark) { + :root { + color: #f6f6f6; + background-color: #2f2f2f; + } + + a:hover { + color: #24c8db; + } + + input, + button { + color: #ffffff; + background-color: #0f0f0f98; + } + button:active { + background-color: #0f0f0f69; + } +}