diff --git a/.gitignore b/.gitignore index 76add878..380c0137 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,291 @@ -node_modules -dist \ No newline at end of file +# Created by https://www.toptal.com/developers/gitignore/api/node,rust,yarn,linux,macos,windows,rust-analyzer,visualstudiocode,git +# Edit at https://www.toptal.com/developers/gitignore?templates=node,rust,yarn,linux,macos,windows,rust-analyzer,visualstudiocode,git + +### Git ### +# Created by git for backups. To disable backups in Git: +# $ git config --global mergetool.keepBackup false +*.orig + +# Created by git when using merge tools for conflicts +*.BACKUP.* +*.BASE.* +*.LOCAL.* +*.REMOTE.* +*_BACKUP_*.txt +*_BASE_*.txt +*_LOCAL_*.txt +*_REMOTE_*.txt + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +### Rust ### +# Generated by Cargo +# will have compiled files and executables +debug/ +target/ + +# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries +# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +Cargo.lock + +# These are backup files generated by rustfmt +**/*.rs.bk + +# MSVC Windows builds of rustc generate these, which store debugging information +*.pdb + +### rust-analyzer ### +# Can be generated by other build systems other than cargo (ex: bazelbuild/rust_rules) +rust-project.json + + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets +!.vscode/tailwind.json + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### yarn ### +# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored + +.yarn/* +!.yarn/releases +!.yarn/patches +!.yarn/plugins +!.yarn/sdks +!.yarn/versions + +# if you are NOT using Zero-installs, then: +# comment the following lines +!.yarn/cache + +# and uncomment the following lines +# .pnp.* + +# End of https://www.toptal.com/developers/gitignore/api/node,rust,yarn,linux,macos,windows,rust-analyzer,visualstudiocode,git diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 3cd0f0ce..9509fce8 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,12 @@ { - "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer", "bradlc.vscode-tailwindcss"] + "recommendations": [ + "tauri-apps.tauri-vscode", + "rust-lang.rust-analyzer", + "bradlc.vscode-tailwindcss", + // "oscarbeaumont.rspc-vscode", + "EditorConfig.EditorConfig", + // "prisma.prisma", + "dbaeumer.vscode-eslint", + // "astro-build.astro-vscode" + ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 205bc647..2e1c5d48 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,62 @@ "files.associations": { "*.scss": "tailwindcss", "*.css": "tailwindcss" + }, + "[rust]": { + "editor.defaultFormatter": "rust-lang.rust-analyzer" + }, + "rust-analyzer.procMacro.enable": true, + "rust-analyzer.diagnostics.experimental.enable": false, + "search.exclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/*.code-search": true, + "**/pnpm-lock.yaml": true, + "**/.gitignore": true, + "/packages/ctjs/types/*": true, + "**/dist": true + }, + "eslint.experimental.useFlatConfig": true, + "prettier.enable": false, + "editor.formatOnSave": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml", + "astro", + "toml", + "solid" + ], + "css.customData": [ + ".vscode/tailwind.json" + ], + "eslint.lintTask.enable": true, + "eslint.workingDirectories": [], + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "*.ts": "${capture}.js", + "*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts", + "*.jsx": "${capture}.js", + "*.tsx": "${capture}.ts", + ".npmrc": ".nvmrc, .yarnrc.yml", + ".gitignore": ".eslintignore, .prettierignore", + "README.md": "CONTRIBUTING.md, CODE_OF_CONDUCT.md, LICENSE", + "Cargo.toml": "Cargo.lock", + ".eslintrc.js": ".eslintcache", + ".prettierrc.*": ".rustfmt.toml, .gitattributes, .editorconfig, .clippy.toml", + "package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, pnpm-workspace.yaml, .pnp.cjs, .pnp.loader.mjs", + "tsconfig.json": "tsconfig.*.json", + "flake.nix": "shell.nix, flake.lock, Cargo.nix" } -} \ No newline at end of file +} diff --git a/.vscode/tailwind.json b/.vscode/tailwind.json new file mode 100644 index 00000000..a45bccc2 --- /dev/null +++ b/.vscode/tailwind.json @@ -0,0 +1,55 @@ +{ + "version": 1.1, + "atDirectives": [ + { + "name": "@tailwind", + "description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#tailwind" + } + ] + }, + { + "name": "@apply", + "description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that you’d like to extract to a new component.", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#apply" + } + ] + }, + { + "name": "@responsive", + "description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#responsive" + } + ] + }, + { + "name": "@screen", + "description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#screen" + } + ] + }, + { + "name": "@variants", + "description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#variants" + } + ] + } + ] +} diff --git a/README.md b/README.md index 648e2c16..9baca72e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1 @@ -# Tauri + Solid + Typescript - -This template should help get you started developing with Tauri, Solid and Typescript in Vite. - -## 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) +# Polyfrost Launcher diff --git a/index.html b/index.html index 9c2276ad..fa995ca7 100644 --- a/index.html +++ b/index.html @@ -5,12 +5,12 @@ - Tauri + Solid + Typescript App + Polyfrost Launcher - -
+ +
diff --git a/package.json b/package.json index a60b6c47..cbc46bbc 100644 --- a/package.json +++ b/package.json @@ -8,15 +8,18 @@ "dev": "vite", "build": "vite build", "serve": "vite preview", - "tauri": "tauri" + "tauri": "tauri", + "lint": "eslint . --cache", + "format": "pnpm lint --fix" }, "license": "MIT", "dependencies": { + "@fontsource/poppins": "^5.0.12", "@solidjs/router": "^0.13.0", "@tauri-apps/api": "2.0.0-beta.5", "@tauri-apps/plugin-shell": "2.0.0-beta.2", "@untitled-theme/icons-solid": "^0.6.0", - "solid-js": "^1.7.8", + "solid-js": "^1.8.15", "solid-transition-group": "^0.2.3", "uuid": "^9.0.1" }, @@ -35,8 +38,8 @@ "postcss-easings": "^4.0.0", "sass": "^1.72.0", "tailwindcss": "^3.4.1", - "typescript": "^5.0.2", - "vite": "^5.0.0", - "vite-plugin-solid": "^2.8.0" + "typescript": "^5.4.2", + "vite": "^5.1.6", + "vite-plugin-solid": "^2.10.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2dee707c..1bc39777 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@fontsource/poppins': + specifier: ^5.0.12 + version: 5.0.12 '@solidjs/router': specifier: ^0.13.0 version: 0.13.0(solid-js@1.8.15) @@ -18,7 +21,7 @@ dependencies: specifier: ^0.6.0 version: 0.6.0(solid-js@1.8.15) solid-js: - specifier: ^1.7.8 + specifier: ^1.8.15 version: 1.8.15 solid-transition-group: specifier: ^0.2.3 @@ -71,14 +74,14 @@ devDependencies: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.0.2 + specifier: ^5.4.2 version: 5.4.2 vite: - specifier: ^5.0.0 + specifier: ^5.1.6 version: 5.1.6(sass@1.72.0) vite-plugin-solid: - specifier: ^2.8.0 - version: 2.10.1(solid-js@1.8.15)(vite@5.1.6) + specifier: ^2.10.2 + version: 2.10.2(solid-js@1.8.15)(vite@5.1.6) packages: @@ -262,7 +265,6 @@ packages: /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} - hasBin: true dependencies: '@babel/types': 7.24.0 dev: true @@ -557,6 +559,10 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@fontsource/poppins@5.0.12: + resolution: {integrity: sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw==} + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -943,7 +949,6 @@ packages: /@tauri-apps/cli@2.0.0-beta.9: resolution: {integrity: sha512-QYBuCAAdV10tGOTMWGLbt6d+2+Tq8K9bb4oiinChUV/JmCNe9SaTlG6VW1cCJDf+/F0AuGOTgjyBNw8DOiTrow==} engines: {node: '>= 10'} - hasBin: true optionalDependencies: '@tauri-apps/cli-darwin-arm64': 2.0.0-beta.9 '@tauri-apps/cli-darwin-x64': 2.0.0-beta.9 @@ -1298,7 +1303,6 @@ packages: /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} - hasBin: true dev: true /ajv@6.12.6: @@ -1442,7 +1446,6 @@ packages: /autoprefixer@10.4.18(postcss@8.4.35): resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} - hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: @@ -1516,10 +1519,9 @@ packages: /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true dependencies: caniuse-lite: 1.0.30001597 - electron-to-chromium: 1.4.705 + electron-to-chromium: 1.4.708 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -1631,7 +1633,6 @@ packages: /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} - hasBin: true dev: true /csstype@3.1.3: @@ -1715,8 +1716,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.705: - resolution: {integrity: sha512-LKqhpwJCLhYId2VVwEzFXWrqQI5n5zBppz1W9ehhTlfYU8CUUW6kClbN8LHF/v7flMgRdETS772nqywJ+ckVAw==} + /electron-to-chromium@1.4.708: + resolution: {integrity: sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA==} dev: true /emoji-regex@8.0.0: @@ -1817,7 +1818,6 @@ packages: /esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} - hasBin: true requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 @@ -2056,7 +2056,6 @@ packages: /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 @@ -2296,7 +2295,6 @@ packages: /glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} - hasBin: true dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 @@ -2615,7 +2613,6 @@ packages: /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true dev: true /js-tokens@4.0.0: @@ -2624,7 +2621,6 @@ packages: /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true dependencies: argparse: 2.0.1 dev: true @@ -2632,7 +2628,6 @@ packages: /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} - hasBin: true dev: true /json-buffer@3.0.1: @@ -2657,7 +2652,6 @@ packages: /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} - hasBin: true dev: true /kebab-case@1.0.2: @@ -2786,7 +2780,6 @@ packages: /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true dev: true /natural-compare@1.4.0: @@ -3105,7 +3098,6 @@ packages: /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 @@ -3119,7 +3111,6 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true dependencies: glob: 7.2.3 dev: true @@ -3127,7 +3118,6 @@ packages: /rollup@4.13.0: resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -3175,7 +3165,6 @@ packages: /sass@1.72.0: resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} engines: {node: '>=14.0.0'} - hasBin: true dependencies: chokidar: 3.6.0 immutable: 4.3.5 @@ -3184,13 +3173,11 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true dev: true /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} - hasBin: true dependencies: lru-cache: 6.0.0 dev: true @@ -3371,7 +3358,6 @@ packages: /sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} - hasBin: true dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 @@ -3412,7 +3398,6 @@ packages: /tailwindcss@3.4.1: resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} engines: {node: '>=14.0.0'} - hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -3568,7 +3553,6 @@ packages: /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} - hasBin: true dev: true /unbox-primitive@1.0.2: @@ -3582,7 +3566,6 @@ packages: /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -3610,8 +3593,8 @@ packages: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} dev: true - /vite-plugin-solid@2.10.1(solid-js@1.8.15)(vite@5.1.6): - resolution: {integrity: sha512-kfVdNLWaJqaJVL52U6iCCKNW/nXE7bS1VVGOWPGllOkJfcNILymVSY0LCBLSnyy0iYnRtrXpiHm14rMuzeC7CA==} + /vite-plugin-solid@2.10.2(solid-js@1.8.15)(vite@5.1.6): + resolution: {integrity: sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 @@ -3635,7 +3618,6 @@ packages: /vite@5.1.6(sass@1.72.0): resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 less: '*' @@ -3703,7 +3685,6 @@ packages: /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} - hasBin: true dependencies: isexe: 2.0.0 dev: true @@ -3741,7 +3722,6 @@ packages: /yaml@2.4.1: resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} engines: {node: '>= 14'} - hasBin: true dev: true /yocto-queue@0.1.0: diff --git a/postcss.config.js b/postcss.config.js index 048c050a..656ac175 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -3,10 +3,12 @@ import postcssEasings from 'postcss-easings'; import tailwind from 'tailwindcss'; import autoprefixer from 'autoprefixer'; -export default { +const config = { plugins: [ tailwind, autoprefixer, - postcssEasings, - ], + postcssEasings + ] }; + +export default config; diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore deleted file mode 100644 index f4dfb82b..00000000 --- a/src-tauri/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ - diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 32bab1b8..4002a642 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -2,10 +2,9 @@ name = "polyfrost-launcher" version = "0.0.0" description = "A Tauri App" -authors = ["you"] +authors = ["Polyfrost"] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [build-dependencies] tauri-build = { version = "2.0.0-beta", features = [] } diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1ede17f6..3431b6ca 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -18,7 +18,7 @@ }, "productName": "polyfrost-launcher", "version": "0.0.0", - "identifier": "com.tauri.dev", + "identifier": "org.polyfrost.launcher", "plugins": {}, "app": { "withGlobalTauri": true, @@ -38,4 +38,4 @@ } ] } -} \ No newline at end of file +} diff --git a/src/assets/fonts/Poppins/OFL.txt b/src/assets/fonts/Poppins/OFL.txt deleted file mode 100644 index 3e92931f..00000000 --- a/src/assets/fonts/Poppins/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/assets/fonts/Poppins/Poppins-Bold.ttf b/src/assets/fonts/Poppins/Poppins-Bold.ttf deleted file mode 100644 index 00559eeb..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-Bold.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-BoldItalic.ttf b/src/assets/fonts/Poppins/Poppins-BoldItalic.ttf deleted file mode 100644 index e61e8e88..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-BoldItalic.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-Medium.ttf b/src/assets/fonts/Poppins/Poppins-Medium.ttf deleted file mode 100644 index 6bcdcc27..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-Medium.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-MediumItalic.ttf b/src/assets/fonts/Poppins/Poppins-MediumItalic.ttf deleted file mode 100644 index be67410f..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-MediumItalic.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-Regular.ttf b/src/assets/fonts/Poppins/Poppins-Regular.ttf deleted file mode 100644 index 9f0c71b7..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-Regular.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-RegularItalic.ttf b/src/assets/fonts/Poppins/Poppins-RegularItalic.ttf deleted file mode 100644 index 12b7b3c4..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-RegularItalic.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-SemiBold.ttf b/src/assets/fonts/Poppins/Poppins-SemiBold.ttf deleted file mode 100644 index 74c726e3..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-SemiBold.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/Poppins-SemiBoldItalic.ttf b/src/assets/fonts/Poppins/Poppins-SemiBoldItalic.ttf deleted file mode 100644 index 3e6c9422..00000000 Binary files a/src/assets/fonts/Poppins/Poppins-SemiBoldItalic.ttf and /dev/null differ diff --git a/src/assets/fonts/Poppins/index.css b/src/assets/fonts/Poppins/index.css deleted file mode 100644 index dd1290f5..00000000 --- a/src/assets/fonts/Poppins/index.css +++ /dev/null @@ -1,55 +0,0 @@ -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-Regular.ttf') format('truetype'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-RegularItalic.ttf') format('truetype'); - font-weight: 400; - font-style: italic; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-Medium.ttf') format('truetype'); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-MediumItalic.ttf') format('truetype'); - font-weight: 500; - font-style: italic; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-SemiBold.ttf') format('truetype'); - font-weight: 600; - font-style: normal; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-SemiBoldItalic.ttf') format('truetype'); - font-weight: 600; - font-style: italic; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-Bold.ttf') format('truetype'); - font-weight: 700; - font-style: normal; -} - -@font-face { - font-family: 'Poppins'; - src: url('./Poppins-BoldItalic.ttf') format('truetype'); - font-weight: 700; - font-style: italic; -} diff --git a/src/globals.css b/src/globals.css index 49b43c4f..92026811 100644 --- a/src/globals.css +++ b/src/globals.css @@ -1,16 +1,17 @@ @tailwind base; @tailwind components; @tailwind utilities; +@tailwind variants; body { @apply font-sans text-fg-primary text-md; } -/* start lynith's native experience */ +/* start lynith's native experience (tm) */ * { user-select: none; cursor: default !important; } *:hover { cursor: default !important; } img { -webkit-user-drag: none; } -/* end lynith's native experience */ +/* end lynith's native experience (tm) */ h1 { @apply text-2xl font-semibold; } h2 { @apply text-xxl font-semibold; } diff --git a/src/index.tsx b/src/index.tsx index 73878ee7..2512d72f 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,8 +1,8 @@ /* @refresh reload */ import { render } from 'solid-js/web'; -import './assets/fonts/Poppins/index.css'; import './globals.css'; +import '@fontsource/poppins'; import { Route, Router } from '@solidjs/router'; import App from './ui/App'; import HomePage from './ui/pages/Home'; diff --git a/tailwind.config.js b/tailwind.config.ts similarity index 95% rename from tailwind.config.js rename to tailwind.config.ts index 63c9def1..3b7fbfa7 100644 --- a/tailwind.config.js +++ b/tailwind.config.ts @@ -1,5 +1,6 @@ -/** @type {import('tailwindcss').Config} */ -export default { +import type { Config } from 'tailwindcss'; + +const config: Config = { content: ['./src/**/*.{js,ts,jsx,tsx}'], theme: { fontFamily: { @@ -80,7 +81,7 @@ export default { }, strokeWidth: { - 3: 3, + '3': '3', }, backgroundColor: { @@ -106,3 +107,5 @@ export default { }, plugins: [], }; + +export default config; diff --git a/tsconfig.json b/tsconfig.json index 880e8e2f..a434e0db 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,8 +5,6 @@ "module": "ESNext", "lib": ["ES2020", "DOM", "DOM.Iterable"], "skipLibCheck": true, - - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "resolveJsonModule": true, @@ -14,8 +12,6 @@ "noEmit": true, "jsx": "preserve", "jsxImportSource": "solid-js", - - /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true,