diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..92b917b
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: infinia-yzl
diff --git a/.idea/misc.xml b/.idea/misc.xml
index e85b8cb..e42218f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -2,4 +2,4 @@
-
+
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 15b357b..6078283 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -31,6 +31,8 @@ We currently have the following image sets that you can contribute to:
- The Finals (image-reachthefinals): https://github.com/infinia-yzl/image-reachthefinals
- Wuthering Waves (image-wutheringwaves): https://github.com/infinia-yzl/image-wutheringwaves
- Overwatch (image-overwatch): https://github.com/infinia-yzl/image-overwatch
+- Webdev (image-webdev): https://github.com/infinia-yzl/image-webdev
+- Supervive (image-supervive): https://github.com/infinia-yzl/image-supervive
To contribute to these existing image sets, please follow the general contribution guidelines above and make sure to
adhere to any specific guidelines provided in each image set's repository.
diff --git a/app/layout.tsx b/app/layout.tsx
index af25fc7..491204b 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -2,6 +2,7 @@ import type {Metadata} from "next";
import {Nunito_Sans as FontSans, Urbanist as FontHeading} from "next/font/google";
import "./globals.css";
import {cn} from "@/lib/utils"
+import Link from "next/link";
import {ThemeProvider} from "next-themes"
import {Toaster} from "@/components/ui/sonner";
@@ -154,19 +155,19 @@ export default function RootLayout({
@@ -193,9 +194,9 @@ export default function RootLayout({
OpenTierBoy is an open-source project.
No ads, no logins, no sign-ups.
@@ -226,8 +227,8 @@ export default function RootLayout({
diff --git a/app/page.tsx b/app/page.tsx
index 761ffe4..7cac2ad 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -11,6 +11,7 @@ const typedImageSetConfig = imagesetConfig as ImageSetConfig;
const FEATURED_SETS = {
"image-reachthefinals": ['all', 'light', 'medium', 'heavy'],
+ "image-supervive": ['hunter', 'fighter', 'initiator', 'frontliner', 'protector', 'controller'],
"image-wutheringwaves": [
'c_all',
'c_rarity_5',
diff --git a/imageset.config.json b/imageset.config.json
index 3b5f31b..59649e9 100644
--- a/imageset.config.json
+++ b/imageset.config.json
@@ -1999,6 +1999,193 @@
}
},
"backgroundImage": "/splash/webdev-bg.webp"
+ },
+ "image-supervive": {
+ "displayName": "SUPERVIVE",
+ "images": [
+ {
+ "filename": "brl.webp",
+ "label": "BRALL",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "bsh.webp",
+ "label": "BISHOP",
+ "tags": [
+ "initiator",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "cls.webp",
+ "label": "CELESTE",
+ "tags": [
+ "controller",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "ena.webp",
+ "label": "ELLUNA",
+ "tags": [
+ "protector",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "flx.webp",
+ "label": "FELIX",
+ "tags": [
+ "frontliner",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "gst.webp",
+ "label": "GHOST",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "hsn.webp",
+ "label": "HUDSON",
+ "tags": [
+ "controller",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "jin.webp",
+ "label": "JIN",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "jul.webp",
+ "label": "JOULE",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "kpn.webp",
+ "label": "KINGPIN",
+ "tags": [
+ "initiator",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "myt.webp",
+ "label": "MYTH",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "oat.webp",
+ "label": "OATH",
+ "tags": [
+ "frontliner",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "shk.webp",
+ "label": "SHRIKE",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "shv.webp",
+ "label": "SHIV",
+ "tags": [
+ "fighter",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "vod.webp",
+ "label": "VOID",
+ "tags": [
+ "controller",
+ "open_beta_launch",
+ "hunter"
+ ]
+ },
+ {
+ "filename": "zep.webp",
+ "label": "ZEPH",
+ "tags": [
+ "protector",
+ "open_beta_launch",
+ "hunter"
+ ]
+ }
+ ],
+ "tags": {
+ "fighter": {
+ "title": "Fighters",
+ "description": "Fighter Hunters",
+ "category": "general"
+ },
+ "open_beta_launch": {
+ "title": "Open Beta Launch",
+ "description": "Images from Supervive Open Beta Launch (20-11-2024)",
+ "category": "general"
+ },
+ "hunter": {
+ "title": "All Hunters",
+ "description": "Images of Hunters",
+ "category": "general"
+ },
+ "initiator": {
+ "title": "Initiators",
+ "description": "Initiator Hunters",
+ "category": "general"
+ },
+ "controller": {
+ "title": "Controllers",
+ "description": "Controller Hunters",
+ "category": "general"
+ },
+ "protector": {
+ "title": "Protectors",
+ "description": "Protector Hunters",
+ "category": "general"
+ },
+ "frontliner": {
+ "title": "Frontliners",
+ "description": "Frontliner Hunters",
+ "category": "general"
+ }
+ },
+ "backgroundImage": "/splash/supervive-keyart.webp"
}
}
}
\ No newline at end of file
diff --git a/imageset.custom.json b/imageset.custom.json
index 294a88d..3a2febd 100644
--- a/imageset.custom.json
+++ b/imageset.custom.json
@@ -21,6 +21,10 @@
"image-webdev": {
"displayName": "Web Development Technologies",
"backgroundImage": "/splash/webdev-bg.webp"
+ },
+ "image-supervive": {
+ "displayName": "SUPERVIVE",
+ "backgroundImage": "/splash/supervive-keyart.webp"
}
}
}
diff --git a/package-lock.json b/package-lock.json
index 4344998..8043b4a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -41,6 +41,7 @@
"image-overwatch": "^1.1.0",
"image-reachthefinals": "^1.1.1",
"image-set": "^2.1.0",
+ "image-supervive": "^1.0.2",
"image-webdev": "^1.0.1",
"image-wutheringwaves": "^1.1.1",
"lz-string": "^1.5.0",
@@ -2538,9 +2539,9 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"license": "MIT"
},
"node_modules/@types/estree-jsx": {
@@ -3046,9 +3047,10 @@
"peer": true
},
"node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -3056,16 +3058,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-import-attributes": {
- "version": "1.9.5",
- "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
- "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
- "license": "MIT",
- "peer": true,
- "peerDependencies": {
- "acorn": "^8"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -3453,9 +3445,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.23.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
- "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
+ "version": "4.24.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
+ "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
"funding": [
{
"type": "opencollective",
@@ -3473,10 +3465,10 @@
"license": "MIT",
"peer": true,
"dependencies": {
- "caniuse-lite": "^1.0.30001640",
- "electron-to-chromium": "^1.4.820",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.1.0"
+ "caniuse-lite": "^1.0.30001669",
+ "electron-to-chromium": "^1.5.41",
+ "node-releases": "^2.0.18",
+ "update-browserslist-db": "^1.1.1"
},
"bin": {
"browserslist": "cli.js"
@@ -3541,9 +3533,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001642",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz",
- "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==",
+ "version": "1.0.30001680",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz",
+ "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==",
"funding": [
{
"type": "opencollective",
@@ -4465,9 +4457,9 @@
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.829",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.829.tgz",
- "integrity": "sha512-5qp1N2POAfW0u1qGAxXEtz6P7bO1m6gpZr5hdf5ve6lxpLM7MpiM4jIPz7xcrNlClQMafbyUDDWjlIQZ1Mw0Rw==",
+ "version": "1.5.62",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.62.tgz",
+ "integrity": "sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==",
"license": "ISC",
"peer": true
},
@@ -4477,9 +4469,10 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"node_modules/enhanced-resolve": {
- "version": "5.17.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
- "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+ "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -4674,9 +4667,9 @@
}
},
"node_modules/escalade": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"license": "MIT",
"peer": true,
"engines": {
@@ -5884,6 +5877,15 @@
"@inquirer/prompts": "^5.1.2"
}
},
+ "node_modules/image-supervive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/image-supervive/-/image-supervive-1.0.2.tgz",
+ "integrity": "sha512-zYcQxixDfYN/QGRikc5ZME2ejjJc4ubXy1u9j/Tv65ZODookj1KieQdOWMQOmygbBpuCIeX2Y6HXb9EW2Lr6kQ==",
+ "license": "CC-BY-SA-4.0",
+ "dependencies": {
+ "@inquirer/prompts": "^5.1.2"
+ }
+ },
"node_modules/image-webdev": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/image-webdev/-/image-webdev-1.0.1.tgz",
@@ -7509,9 +7511,10 @@
"license": "MIT"
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -7734,9 +7737,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz",
- "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==",
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+ "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
"license": "MIT",
"peer": true
},
@@ -9890,9 +9893,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
- "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
"funding": [
{
"type": "opencollective",
@@ -9910,8 +9913,8 @@
"license": "MIT",
"peer": true,
"dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -10073,22 +10076,21 @@
}
},
"node_modules/webpack": {
- "version": "5.93.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz",
- "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==",
+ "version": "5.96.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz",
+ "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^1.0.5",
+ "@types/eslint-scope": "^3.7.7",
+ "@types/estree": "^1.0.6",
"@webassemblyjs/ast": "^1.12.1",
"@webassemblyjs/wasm-edit": "^1.12.1",
"@webassemblyjs/wasm-parser": "^1.12.1",
- "acorn": "^8.7.1",
- "acorn-import-attributes": "^1.9.5",
- "browserslist": "^4.21.10",
+ "acorn": "^8.14.0",
+ "browserslist": "^4.24.0",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.0",
+ "enhanced-resolve": "^5.17.1",
"es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
diff --git a/package.json b/package.json
index 9af756a..498aeeb 100644
--- a/package.json
+++ b/package.json
@@ -45,6 +45,7 @@
"image-overwatch": "^1.1.0",
"image-reachthefinals": "^1.1.1",
"image-set": "^2.1.0",
+ "image-supervive": "^1.0.2",
"image-webdev": "^1.0.1",
"image-wutheringwaves": "^1.1.1",
"lz-string": "^1.5.0",
diff --git a/public/splash/supervive-keyart.webp b/public/splash/supervive-keyart.webp
new file mode 100644
index 0000000..d55af69
Binary files /dev/null and b/public/splash/supervive-keyart.webp differ