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,