From 5779cd9efc98a4f21a3c55c0bd76efd0eb7da0d2 Mon Sep 17 00:00:00 2001 From: Emma Date: Thu, 5 Oct 2023 10:27:52 -0600 Subject: [PATCH] file uploader --- deno.json | 4 +- fresh.gen.ts | 42 ++-- islands/fileUploader.tsx | 71 ++++++ lib/modrinth.ts | 112 +++++++++ routes/_app.tsx | 2 +- routes/mods/index.tsx | 61 +++++ routes/upload.ts | 21 ++ state/serverState.ts | 22 +- static/javaicon.png | Bin 0 -> 136156 bytes static/styles/tailwind.css | 2 +- test.json | 469 +++++++++++++++++++++++++++++++++++++ types/mcgrizzconf.ts | 14 +- util/EULA.ts | 1 - util/confFile.ts | 10 +- util/download.ts | 35 +++ util/getNavItems.ts | 15 +- util/players.ts | 3 +- 17 files changed, 847 insertions(+), 37 deletions(-) create mode 100644 islands/fileUploader.tsx create mode 100644 lib/modrinth.ts create mode 100644 routes/mods/index.tsx create mode 100644 routes/upload.ts create mode 100644 static/javaicon.png create mode 100644 test.json create mode 100644 util/download.ts diff --git a/deno.json b/deno.json index 4d6d49e..73ad739 100644 --- a/deno.json +++ b/deno.json @@ -31,8 +31,8 @@ "@preact/signals": "https://esm.sh/*@preact/signals@1.1.3", "@preact/signals-core": "https://esm.sh/*@preact/signals-core@1.2.3", "$std/": "https://deno.land/std@0.193.0/", - "puppet": "https://deno.land/x/sockpuppet@0.6.0/mod.ts", - "puppet/client": "https://deno.land/x/sockpuppet@0.6.0/client/mod.ts" + "puppet": "https://deno.land/x/sockpuppet@0.6.1/mod.ts", + "puppet/client": "https://deno.land/x/sockpuppet@0.6.1/client/mod.ts" }, "compilerOptions": { "jsx": "react-jsx", diff --git a/fresh.gen.ts b/fresh.gen.ts index f52716f..b842a45 100644 --- a/fresh.gen.ts +++ b/fresh.gen.ts @@ -8,16 +8,19 @@ import * as $2 from "./routes/api/fabric/index.ts"; import * as $3 from "./routes/api/manage.ts"; import * as $4 from "./routes/api/players.ts"; import * as $5 from "./routes/index.tsx"; -import * as $6 from "./routes/players.tsx"; -import * as $7 from "./routes/properties.tsx"; -import * as $8 from "./routes/setup/eula.tsx"; -import * as $9 from "./routes/setup/fabric.tsx"; -import * as $10 from "./routes/setup/index.tsx"; -import * as $11 from "./routes/terminal.tsx"; +import * as $6 from "./routes/mods/index.tsx"; +import * as $7 from "./routes/players.tsx"; +import * as $8 from "./routes/properties.tsx"; +import * as $9 from "./routes/setup/eula.tsx"; +import * as $10 from "./routes/setup/fabric.tsx"; +import * as $11 from "./routes/setup/index.tsx"; +import * as $12 from "./routes/terminal.tsx"; +import * as $13 from "./routes/upload.ts"; import * as $$0 from "./islands/fabricVersions.tsx"; -import * as $$1 from "./islands/players.tsx"; -import * as $$2 from "./islands/statusManager.tsx"; -import * as $$3 from "./islands/terminal.tsx"; +import * as $$1 from "./islands/fileUploader.tsx"; +import * as $$2 from "./islands/players.tsx"; +import * as $$3 from "./islands/statusManager.tsx"; +import * as $$4 from "./islands/terminal.tsx"; const manifest = { routes: { @@ -27,18 +30,21 @@ const manifest = { "./routes/api/manage.ts": $3, "./routes/api/players.ts": $4, "./routes/index.tsx": $5, - "./routes/players.tsx": $6, - "./routes/properties.tsx": $7, - "./routes/setup/eula.tsx": $8, - "./routes/setup/fabric.tsx": $9, - "./routes/setup/index.tsx": $10, - "./routes/terminal.tsx": $11, + "./routes/mods/index.tsx": $6, + "./routes/players.tsx": $7, + "./routes/properties.tsx": $8, + "./routes/setup/eula.tsx": $9, + "./routes/setup/fabric.tsx": $10, + "./routes/setup/index.tsx": $11, + "./routes/terminal.tsx": $12, + "./routes/upload.ts": $13, }, islands: { "./islands/fabricVersions.tsx": $$0, - "./islands/players.tsx": $$1, - "./islands/statusManager.tsx": $$2, - "./islands/terminal.tsx": $$3, + "./islands/fileUploader.tsx": $$1, + "./islands/players.tsx": $$2, + "./islands/statusManager.tsx": $$3, + "./islands/terminal.tsx": $$4, }, baseUrl: import.meta.url, }; diff --git a/islands/fileUploader.tsx b/islands/fileUploader.tsx new file mode 100644 index 0000000..514d1ff --- /dev/null +++ b/islands/fileUploader.tsx @@ -0,0 +1,71 @@ +import { useState } from "preact/hooks"; +import { FunctionComponent } from "preact"; + +export const FileUploader: FunctionComponent<{ path: string }> = ( + { children, path }, +) => { + const [hovered, setHovered] = useState(false); + + const playSound = () => { + const sound = new Audio( + "https://cdn.pixabay.com/audio/2023/07/21/audio_5634777127.mp3", + ); + sound.play(); + }; + + const defaultPreventer = (e: Event) => { + e.preventDefault(); + e.stopPropagation(); + }; + + const uploadFiles = async (files: File[]) => { + if (!files.length) return; + + const formData = new FormData(); + for (const file of files) { + formData.append(file.name, file); + } + + await fetch("/upload", { + method: "POST", + body: formData, + headers: { + "x-grizz-path": path, + }, + }); + + location.reload(); + }; + + return ( +
{ + defaultPreventer(e); + setHovered(true); + }} + onDragOver={(e) => { + defaultPreventer(e); + setHovered(true); + }} + onDrop={(e) => { + defaultPreventer(e); + playSound(); + const files = Array.from(e.dataTransfer?.files || []); + uploadFiles(files); + setHovered(false); + }} + onDragLeave={(e) => { + defaultPreventer(e); + setHovered(false); + }} + > + {children} + {hovered && ( +
+ +
+ )} +
+ ); +}; diff --git a/lib/modrinth.ts b/lib/modrinth.ts new file mode 100644 index 0000000..d971264 --- /dev/null +++ b/lib/modrinth.ts @@ -0,0 +1,112 @@ +import { Loader } from "../types/mcgrizzconf.ts"; + +export type ModrinthProjectSearchResult = { + project_id: string; + project_type: string; + slug: string; + author: string; + title: string; + description: string; + categories: string[]; + display_categories: string[]; + versions: string[]; + downloads: number; + follows: number; + icon_url: string; + date_created: string; + date_modified: string; + latest_version: string; + license: string; + client_side: string; + server_side: string; + gallery: string[]; + featured_gallery: string; + color: number; +}; + +export type ModrinthProject = { + id: string; + slug: string; + project_type: string; + team: string; + title: string; + description: string; + // Markdown + body: string; + body_url: string | null; + published: string; + updated: string; + approved: string; + queued: string; + status: string; + requested_status: string; + moderator_message: string | null; + license: { + id: string; + name: string; + url: string | null; + }; + client_side: string; + server_side: string; + downloads: number; + followers: number; + categories: string[]; + additional_categories: []; + game_versions: string[]; + loaders: string[]; + versions: string[]; + icon_url: string; + issues_url: string; + source_url: string; + wiki_url: string | null; + discord_url: string; + donation_urls: string[]; + gallery: { + url: string; + featured: boolean; + title: string; + description: string; + created: string; + ordering: number; + }[]; + color: number; + thread_id: string; + monetization_status: string; +}; + +export class Modrinth { + static apiRoot = "https://api.modrinth.com/v2"; + + static async searchMods( + q: string, + version: string, + loader: Loader, + offset = 0, + limit = 12, + ) { + const facets = [ + `"versions:${version}"`, + '"project_type:mod"', + ]; + + if (loader && loader !== "vanilla" && loader !== "unset") { + facets.push(`"categories:${loader}"`); + } + const qString = `/search?query=${q}&facets=[[${ + facets.join("],[") + }]]&offset=${offset * limit}&limit=${limit}`.trim(); + + const res = await fetch(this.apiRoot + qString); + return await res.json() as { + hits: ModrinthProjectSearchResult; + offset: number; + limit: number; + total_hits: number; + }; + } + + static async getProject(id: string) { + const res = await fetch(this.apiRoot + "/project/" + id); + return await res.json() as ModrinthProject; + } +} diff --git a/routes/_app.tsx b/routes/_app.tsx index 56b31a6..df09160 100644 --- a/routes/_app.tsx +++ b/routes/_app.tsx @@ -21,7 +21,7 @@ export default function App({ Component }: AppProps) { > - +
diff --git a/routes/mods/index.tsx b/routes/mods/index.tsx new file mode 100644 index 0000000..4095434 --- /dev/null +++ b/routes/mods/index.tsx @@ -0,0 +1,61 @@ +import { FunctionComponent } from "preact"; +import { Content } from "../../components/Content.tsx"; +import { SERVER_STATE } from "../../state/serverState.ts"; +import { FileUploader } from "../../islands/fileUploader.tsx"; + +export default async function ModsFolder() { + const files: string[] = []; + if ( + SERVER_STATE.serverType !== "unset" && SERVER_STATE.serverType !== "vanilla" + ) { + for await (const fileEntry of Deno.readDir("./server/mods")) { + if (fileEntry.isFile) { + files.push(fileEntry.name); + } + } + } + + return ( +
+ +

Active Mods

+ +
+ {!files.length && ( +
Drop files here to upload
+ )} + {files.map((f) => ( +
+ + {f} +
+ ))} +
+
+
+
+ ); +} + +const FileIcon: FunctionComponent<{ fileName: string }> = ({ fileName }) => { + let icon; + switch (fileName.split(".")[1]) { + case "jar": + icon = "fa-brand fa-java"; + break; + case "tmp": + case "temp": + icon = "fas fa-ghost"; + break; + case "png": + case "jpg": + case "jpeg": + case "webp": + icon = "fas fa-image"; + break; + default: + icon = "fas fa-file"; + } + + return ; +}; diff --git a/routes/upload.ts b/routes/upload.ts new file mode 100644 index 0000000..58681b5 --- /dev/null +++ b/routes/upload.ts @@ -0,0 +1,21 @@ +import { Handlers } from "$fresh/server.ts"; +import { ensureFile } from "$std/fs/ensure_file.ts"; + +export const handler: Handlers = { + async POST(req, _ctx) { + const path = req.headers.get("x-grizz-path"); + if (!path) return new Response("Upload path not included", { status: 400 }); + + const files = Array.from((await req.formData()).values()) as File[]; + + for (const file of files) { + const filePath = path.replace(/.$/, (e) => e.replace("/", "") + "/") + + file.name; + await ensureFile(filePath); + const newFile = await Deno.open(filePath, { write: true }); + file.stream().pipeTo(newFile.writable); + } + + return new Response("Success"); + }, +}; diff --git a/state/serverState.ts b/state/serverState.ts index 2f9d1c2..cf5ac65 100644 --- a/state/serverState.ts +++ b/state/serverState.ts @@ -1,7 +1,7 @@ import { Sockpuppet } from "puppet/client"; import { acceptEULA, checkEULA } from "../util/EULA.ts"; import { Loader } from "../types/mcgrizzconf.ts"; -import { updateConfFile } from "../util/confFile.ts"; +import { getConfFile, updateConfFile } from "../util/confFile.ts"; import { IS_BROWSER } from "$fresh/runtime.ts"; type MCServerEvent = 'message'; @@ -16,7 +16,7 @@ class ServerState { private command!: Deno.Command; private process!: Deno.ChildProcess; - private _eulaAccepted: boolean; + private _eulaAccepted = false; private sockpuppet!: Sockpuppet; private _channelId = "blanaba"; @@ -30,15 +30,29 @@ class ServerState { private _serverType: Loader = 'unset'; public get serverType(): Loader { - return this.serverType; + return this._serverType; } public set serverType(loader: Loader) { updateConfFile({loader}); this._serverType = loader; } + private _serverVersion: string; + public get serverVersion(): string { + return this._serverVersion; + } + public set serverVersion(version: string) { + updateConfFile({version}); + this._serverVersion = version; + } + constructor() { - this._eulaAccepted = checkEULA(); + const conf = getConfFile(); + this._serverType = conf.loader; + this._serverVersion = conf.version; + + // if (this.serverType !== 'unset') this._eulaAccepted = checkEULA(); + this.sockpuppet = new Sockpuppet( "ws://sockpuppet.cyborggrizzly.com", () => { diff --git a/static/javaicon.png b/static/javaicon.png new file mode 100644 index 0000000000000000000000000000000000000000..4ced60fc54e5895f3388f6817752eaae45ae413c GIT binary patch literal 136156 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 G{(k@q(ewlW literal 0 HcmV?d00001 diff --git a/static/styles/tailwind.css b/static/styles/tailwind.css index 391543d..5693bb4 100644 --- a/static/styles/tailwind.css +++ b/static/styles/tailwind.css @@ -1,2 +1,2 @@ @font-face{font-family:Minecraft;font-style:normal;font-weight:400;src:url(/fonts/minecraft/MinecraftRegular.otf)}@font-face{font-family:Minecraft;font-style:normal;font-weight:700;src:url(/fonts/minecraft/MinecraftBold.otf)}@font-face{font-family:Minecraft;font-style:italic;font-weight:700;src:url(/fonts/minecraft/MinecraftBoldItalic.otf)}@font-face{font-family:Minecraft;font-style:italic;font-weight:400;src:url(/fonts/minecraft/MinecraftItalic.otf)} -/*! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{margin-left:auto;margin-right:auto;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}input,select{--tw-text-opacity:1;border-radius:.75rem;color:rgb(0 0 0/var(--tw-text-opacity));padding:.5rem}.absolute{position:absolute}.relative{position:relative}.bottom-4{bottom:1rem}.left-0{left:0}.-bottom-1{bottom:-.25rem}.right-0{right:0}.col-span-2{grid-column:span 2/span 2}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mt-8{margin-top:2rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.h-\[100vh\]{height:100vh}.h-full{height:100%}.h-\[600px\]{height:600px}.h-20{height:5rem}.h-5{height:1.25rem}.h-16{height:4rem}.max-h-full{max-height:100%}.w-full{width:100%}.w-16{width:4rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-24{width:6rem}.min-w-\[400px\]{min-width:400px}.max-w-screen-md{max-width:768px}.flex-1{flex:1 1 0%}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-y-4{row-gap:1rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded-3xl{border-radius:1.5rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-r-2{border-right-width:2px}.border-sky{--tw-border-opacity:1;border-color:rgb(49 167 230/var(--tw-border-opacity))}.border-sky-950{--tw-border-opacity:1;border-color:rgb(13 44 68/var(--tw-border-opacity))}.border-licorice-800{--tw-border-opacity:1;border-color:rgb(150 60 151/var(--tw-border-opacity))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(17 82 123/var(--tw-border-opacity))}.border-grape-800{--tw-border-opacity:1;border-color:rgb(109 33 135/var(--tw-border-opacity))}.border-fire-800{--tw-border-opacity:1;border-color:rgb(160 20 20/var(--tw-border-opacity))}.border-wasabi-800{--tw-border-opacity:1;border-color:rgb(79 84 32/var(--tw-border-opacity))}.bg-licorice{--tw-bg-opacity:1;background-color:rgb(22 10 22/var(--tw-bg-opacity))}.bg-smoke-900{--tw-bg-opacity:1;background-color:rgb(57 57 65/var(--tw-bg-opacity))}.bg-grape{--tw-bg-opacity:1;background-color:rgb(64 10 80/var(--tw-bg-opacity))}.bg-smoke-500{--tw-bg-opacity:1;background-color:rgb(115 117 132/var(--tw-bg-opacity))}.bg-smoke-600{--tw-bg-opacity:1;background-color:rgb(93 94 108/var(--tw-bg-opacity))}.bg-sky{--tw-bg-opacity:1;background-color:rgb(49 167 230/var(--tw-bg-opacity))}.bg-fire{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}.bg-wasabi-600{--tw-bg-opacity:1;background-color:rgb(128 134 39/var(--tw-bg-opacity))}.bg-smoke-200{--tw-bg-opacity:1;background-color:rgb(217 217 222/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-smoke{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.p-4{padding:1rem}.p-8{padding:2rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-center{text-align:center}.text-right{text-align:right}.font-pixel{font-family:Minecraft,cursive}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-5xl{font-size:3rem;line-height:1}.font-bold{font-weight:700}.text-sky{--tw-text-opacity:1;color:rgb(49 167 230/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-smoke-800\/30{color:#41414b4d}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.loader-ball{animation:color-cycle 3s linear infinite;animation-delay:var(--loader-delay);margin:auto}.loader{animation:spin 5s ease-in-out;animation-direction:alternate;animation-iteration-count:infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(4turn)}}@keyframes color-cycle{0%{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}25%{--tw-bg-opacity:1;background-color:rgb(64 10 80/var(--tw-bg-opacity))}50%{--tw-bg-opacity:1;background-color:rgb(49 167 230/var(--tw-bg-opacity))}75%{--tw-bg-opacity:1;background-color:rgb(128 134 39/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}}*{font-family:Titillium Web,sans-serif}.even\:bg-black\/10:nth-child(2n){background-color:#0000001a}.hover\:bg-smoke-500:hover{--tw-bg-opacity:1;background-color:rgb(115 117 132/var(--tw-bg-opacity))}.disabled\:opacity-30:disabled{opacity:.3}@media (prefers-color-scheme:dark){.dark\:border-sky-950{--tw-border-opacity:1;border-color:rgb(13 44 68/var(--tw-border-opacity))}.dark\:bg-smoke{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.dark\:bg-smoke-900{--tw-bg-opacity:1;background-color:rgb(57 57 65/var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} \ No newline at end of file +/*! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{margin-left:auto;margin-right:auto;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}input,select{--tw-text-opacity:1;border-radius:.75rem;color:rgb(0 0 0/var(--tw-text-opacity));padding:.5rem}.absolute{position:absolute}.relative{position:relative}.bottom-4{bottom:1rem}.left-0{left:0}.-bottom-1{bottom:-.25rem}.right-0{right:0}.top-0{top:0}.bottom-0{bottom:0}.-z-10{z-index:-10}.col-span-2{grid-column:span 2/span 2}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mt-8{margin-top:2rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.h-\[100vh\]{height:100vh}.h-full{height:100%}.h-4{height:1rem}.h-\[600px\]{height:600px}.h-20{height:5rem}.h-5{height:1.25rem}.h-16{height:4rem}.h-24{height:6rem}.h-40{height:10rem}.max-h-full{max-height:100%}.min-h-\[100px\]{min-height:100px}.w-full{width:100%}.w-24{width:6rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-16{width:4rem}.min-w-\[400px\]{min-width:400px}.max-w-screen-md{max-width:768px}.flex-1{flex:1 1 0%}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-2{gap:.5rem}.gap-8{gap:2rem}.gap-y-4{row-gap:1rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.place-self-center{place-self:center}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded-3xl{border-radius:1.5rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-r-2{border-right-width:2px}.border-sky{--tw-border-opacity:1;border-color:rgb(49 167 230/var(--tw-border-opacity))}.border-sky-950{--tw-border-opacity:1;border-color:rgb(13 44 68/var(--tw-border-opacity))}.border-licorice-800{--tw-border-opacity:1;border-color:rgb(150 60 151/var(--tw-border-opacity))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(17 82 123/var(--tw-border-opacity))}.border-grape-800{--tw-border-opacity:1;border-color:rgb(109 33 135/var(--tw-border-opacity))}.border-fire-800{--tw-border-opacity:1;border-color:rgb(160 20 20/var(--tw-border-opacity))}.border-wasabi-800{--tw-border-opacity:1;border-color:rgb(79 84 32/var(--tw-border-opacity))}.bg-licorice{--tw-bg-opacity:1;background-color:rgb(22 10 22/var(--tw-bg-opacity))}.bg-smoke-900{--tw-bg-opacity:1;background-color:rgb(57 57 65/var(--tw-bg-opacity))}.bg-grape{--tw-bg-opacity:1;background-color:rgb(64 10 80/var(--tw-bg-opacity))}.bg-smoke-500{--tw-bg-opacity:1;background-color:rgb(115 117 132/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-smoke{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.bg-smoke-600{--tw-bg-opacity:1;background-color:rgb(93 94 108/var(--tw-bg-opacity))}.bg-sky{--tw-bg-opacity:1;background-color:rgb(49 167 230/var(--tw-bg-opacity))}.bg-fire{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}.bg-wasabi-600{--tw-bg-opacity:1;background-color:rgb(128 134 39/var(--tw-bg-opacity))}.bg-smoke-200{--tw-bg-opacity:1;background-color:rgb(217 217 222/var(--tw-bg-opacity))}.bg-smoke-600\/20{background-color:#5d5e6c33}.p-4{padding:1rem}.p-8{padding:2rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-center{text-align:center}.text-right{text-align:right}.font-pixel{font-family:Minecraft,cursive}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-5xl{font-size:3rem;line-height:1}.font-bold{font-weight:700}.text-sky{--tw-text-opacity:1;color:rgb(49 167 230/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-smoke-800\/30{color:#41414b4d}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.loader-ball{animation:color-cycle 3s linear infinite;animation-delay:var(--loader-delay);margin:auto}.loader{animation:spin 5s ease-in-out;animation-direction:alternate;animation-iteration-count:infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(4turn)}}@keyframes color-cycle{0%{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}25%{--tw-bg-opacity:1;background-color:rgb(64 10 80/var(--tw-bg-opacity))}50%{--tw-bg-opacity:1;background-color:rgb(49 167 230/var(--tw-bg-opacity))}75%{--tw-bg-opacity:1;background-color:rgb(128 134 39/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(230 28 28/var(--tw-bg-opacity))}}*{font-family:Titillium Web,sans-serif}.even\:bg-black\/10:nth-child(2n){background-color:#0000001a}.hover\:bg-smoke-500:hover{--tw-bg-opacity:1;background-color:rgb(115 117 132/var(--tw-bg-opacity))}.disabled\:opacity-30:disabled{opacity:.3}@media (prefers-color-scheme:dark){.dark\:border-sky-950{--tw-border-opacity:1;border-color:rgb(13 44 68/var(--tw-border-opacity))}.dark\:bg-smoke{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.dark\:bg-smoke-900{--tw-bg-opacity:1;background-color:rgb(57 57 65/var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} \ No newline at end of file diff --git a/test.json b/test.json new file mode 100644 index 0000000..f733b38 --- /dev/null +++ b/test.json @@ -0,0 +1,469 @@ +{ + "hits": [ + { + "project_id": "FTeXqI9v", + "project_type": "mod", + "slug": "create-new-age", + "author": "nullBlade", + "title": "Create: New Age", + "description": "Create: New Age is an addon for the Create mod that adds integration with electricity.", + "categories": ["technology", "fabric", "forge"], + "display_categories": ["technology", "fabric", "forge"], + "versions": ["1.19.2", "1.20.1", "1.20.2"], + "downloads": 473, + "follows": 10, + "icon_url": "https://cdn.modrinth.com/data/FTeXqI9v/fe75695f6f2e085ac9fb56204de7f88b6d716e8d.png", + "date_created": "2023-08-30T02:15:52.063627Z", + "date_modified": "2023-09-24T07:07:15.073267Z", + "latest_version": "1.20.2", + "license": "BSD-3-Clause", + "client_side": "required", + "server_side": "required", + "gallery": [ + "https://cdn.modrinth.com/data/FTeXqI9v/images/156cd2e6ce38d8647a7c1e073753baaebb7c0474.png", + "https://cdn.modrinth.com/data/FTeXqI9v/images/197a77d6e98b80486481a7b7fe7cb28fa8b87f30.png", + "https://cdn.modrinth.com/data/FTeXqI9v/images/59be34a6c51e72f31616917af146d02c0a5a3cb3.png", + "https://cdn.modrinth.com/data/FTeXqI9v/images/e35cc2dc1e0aa47bc15fa2ef1aa9f2121f4d0539.png" + ], + "featured_gallery": "https://cdn.modrinth.com/data/FTeXqI9v/images/8bdaf7546c4d46ff9305ed9aba18df6e32d9234a.jpeg", + "color": 3220514 + }, + { + "project_id": "nr7cSJlY", + "project_type": "mod", + "slug": "brewery", + "author": "Patbox", + "title": "Patbox's Brewery", + "description": "Create alcoholic and non-alcoholic drinks with cauldrons and barrels!", + "categories": ["food", "game-mechanics", "fabric", "quilt"], + "display_categories": ["food", "game-mechanics", "fabric", "quilt"], + "versions": [ + "1.19.2", + "1.19.3", + "1.19.4", + "1.19.4-rc2", + "1.20", + "1.20.1", + "1.20.2", + "1.20.2-rc2", + "1.20-rc1" + ], + "downloads": 3924, + "follows": 45, + "icon_url": "https://cdn.modrinth.com/data/nr7cSJlY/c9c1d9b61922adda30b53d739922231c18d2823c.png", + "date_created": "2022-09-25T20:30:15.568551Z", + "date_modified": "2023-09-21T13:19:47.739240Z", + "latest_version": "1.20-rc1", + "license": "LGPL-3.0-only", + "client_side": "optional", + "server_side": "required", + "gallery": [], + "featured_gallery": "https://cdn.modrinth.com/data/nr7cSJlY/images/8965a6402256474bb5d7a5ff7141751f1f22992a.png", + "color": 13625834 + }, + { + "project_id": "sUlkLN1E", + "project_type": "mod", + "slug": "azure-paxels", + "author": "AzureDoom", + "title": "Azure Paxels", + "description": "Created becasue Fabric 1.19.4 has no good paxel mods updated.", + "categories": ["equipment", "fabric", "neoforge", "quilt"], + "display_categories": ["equipment", "fabric", "neoforge", "quilt"], + "versions": [ + "1.19.4", + "1.20", + "1.20.1", + "1.20.2", + "1.20-pre1", + "1.20-rc1" + ], + "downloads": 573, + "follows": 10, + "icon_url": "https://cdn.modrinth.com/data/sUlkLN1E/1e026932468f5dc227444892b11cc5e06f1587a7.png", + "date_created": "2023-05-07T01:19:46.079261Z", + "date_modified": "2023-10-03T18:20:58.140878Z", + "latest_version": "1.20-rc1", + "license": "MIT", + "client_side": "required", + "server_side": "required", + "gallery": [ + "https://cdn.modrinth.com/data/sUlkLN1E/images/2f5f219a20627ab1e3d344d99eb4e725848df1b7.png" + ], + "featured_gallery": null, + "color": 3549487 + }, + { + "project_id": "llV8wfkk", + "project_type": "mod", + "slug": "betterconsolemc", + "author": "Jonas_Jones", + "title": "BetterConsoleMC", + "description": "Create custom ingame commads that run system commands and tasks.\nThis is a new and improved version of the ConsoleMC mod. It works by defining the command first to avoid the big security risk.", + "categories": ["utility", "fabric", "quilt", "transportation"], + "display_categories": ["utility", "fabric", "quilt"], + "versions": [ + "1.17.1", + "1.18", + "1.18.1", + "1.18.2", + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 119, + "follows": 3, + "icon_url": "https://cdn.modrinth.com/data/llV8wfkk/04f4393f5149d5b29a20b5170ac57eb4dfb7f303.png", + "date_created": "2022-12-16T01:35:12.431459Z", + "date_modified": "2023-09-26T21:59:10.564546Z", + "latest_version": "1.20.2", + "license": "CC0-1.0", + "client_side": "unsupported", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": 16516316 + }, + { + "project_id": "NWvsqJ2Z", + "project_type": "mod", + "slug": "areas", + "author": "Serilum", + "title": "Areas", + "description": "✍️ Create custom named regions/towns/zones with a radius using signs, with join/leave messages via GUI.", + "categories": [ + "decoration", + "game-mechanics", + "library", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "display_categories": [ + "decoration", + "game-mechanics", + "library", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "versions": [ + "1.16.5", + "1.18.2", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 96662, + "follows": 114, + "icon_url": "https://cdn.modrinth.com/data/NWvsqJ2Z/icon.png", + "date_created": "2022-09-01T15:43:14.157586Z", + "date_modified": "2023-09-22T00:10:53.971185Z", + "latest_version": "1.20.2", + "license": "LicenseRef-All-Rights-Reserved", + "client_side": "required", + "server_side": "optional", + "gallery": [], + "featured_gallery": null, + "color": 4234903 + }, + { + "project_id": "Ot5JFxuv", + "project_type": "mod", + "slug": "death-backup", + "author": "Serilum", + "title": "Death Backup", + "description": "💾 Creates back-ups of player inventories before death, which can be loaded via commands.", + "categories": [ + "management", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "display_categories": [ + "management", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "versions": [ + "1.16.5", + "1.18.2", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 2684, + "follows": 23, + "icon_url": "https://cdn.modrinth.com/data/Ot5JFxuv/icon.jpg", + "date_created": "2022-09-01T14:40:08.430843Z", + "date_modified": "2023-09-21T23:20:00.640383Z", + "latest_version": "1.20.2", + "license": "LicenseRef-All-Rights-Reserved", + "client_side": "optional", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": 5655906 + }, + { + "project_id": "IPbFTPzw", + "project_type": "mod", + "slug": "quick-paths", + "author": "Serilum", + "title": "Quick Paths", + "description": "🚶 Create long paths instantly by setting a start and end point.", + "categories": [ + "transportation", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "display_categories": [ + "transportation", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "versions": [ + "1.16.5", + "1.18.2", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 2213, + "follows": 25, + "icon_url": "https://cdn.modrinth.com/data/IPbFTPzw/icon.jpg", + "date_created": "2022-09-01T09:45:53.732436Z", + "date_modified": "2023-09-21T22:01:33.176715Z", + "latest_version": "1.20.2", + "license": "LicenseRef-All-Rights-Reserved", + "client_side": "optional", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": 6455609 + }, + { + "project_id": "fgmhI8kH", + "project_type": "mod", + "slug": "ct-overhaul-village", + "author": "ChoiceTheorem", + "title": "ChoiceTheorem's Overhauled Village", + "description": "Enhances and creates new villages and pillager outposts, that perfectly fit into your Minecraft world.", + "categories": [ + "adventure", + "worldgen", + "fabric", + "forge", + "neoforge", + "quilt", + "economy", + "utility" + ], + "display_categories": [ + "adventure", + "worldgen", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "versions": [ + "1.18.2", + "1.18.2-rc1", + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 158413, + "follows": 630, + "icon_url": "https://cdn.modrinth.com/data/fgmhI8kH/76dd7230a35c12d4956985317ffd0c079d6a9148.jpeg", + "date_created": "2022-05-16T03:06:55.644362Z", + "date_modified": "2023-09-29T16:52:26.973688Z", + "latest_version": "1.20.2", + "license": "CC-BY-NC-ND-4.0", + "client_side": "optional", + "server_side": "required", + "gallery": [ + "https://cdn.modrinth.com/data/fgmhI8kH/images/2f7b8e2fc46cbb9e7a83368a93ab1ba1feb110ed.webp", + "https://cdn.modrinth.com/data/fgmhI8kH/images/576fb3e920f242512932434a51cba40b14da2750.png" + ], + "featured_gallery": "https://cdn.modrinth.com/data/fgmhI8kH/images/15d7bf1aa1b7174fde4a5dac2ed81d4b8adb4b06.png", + "color": 5587502 + }, + { + "project_id": "kOuPUitF", + "project_type": "mod", + "slug": "healing-campfire", + "author": "Serilum", + "title": "Healing Campfire", + "description": "🔥🩹 Creates an area around the (soul) campfire where players and passive mobs receive regeneration.", + "categories": [ + "adventure", + "game-mechanics", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "display_categories": [ + "adventure", + "game-mechanics", + "utility", + "fabric", + "forge", + "neoforge", + "quilt" + ], + "versions": [ + "1.16.5", + "1.18.2", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 16604, + "follows": 111, + "icon_url": "https://cdn.modrinth.com/data/kOuPUitF/icon.png", + "date_created": "2022-09-01T13:26:56.104570Z", + "date_modified": "2023-09-21T22:40:49.277734Z", + "latest_version": "1.20.2", + "license": "LicenseRef-All-Rights-Reserved", + "client_side": "optional", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": 5921840 + }, + { + "project_id": "QktnymFN", + "project_type": "mod", + "slug": "lightning-podoboo", + "author": "LostLuma", + "title": "Lightning Podoboo", + "description": "Makes fire created by natural lightning cosmetic, meaning no blocks are destroyed during thunderstorms.", + "categories": ["game-mechanics", "utility", "fabric", "quilt", "mobs"], + "display_categories": ["game-mechanics", "utility", "fabric", "quilt"], + "versions": [ + "1.18", + "1.18.1", + "1.18.2", + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 488, + "follows": 12, + "icon_url": "", + "date_created": "2022-02-08T11:09:41.222962Z", + "date_modified": "2023-09-21T16:15:18.747778Z", + "latest_version": "1.20.2", + "license": "MIT", + "client_side": "optional", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": null + }, + { + "project_id": "hQbzUScT", + "project_type": "mod", + "slug": "dynamichud", + "author": "tanishisherewithhh", + "title": "DynamicHUD", + "description": "A library to create Hud Widgets and display them on the screen. AutoSave and Autoload included. Fabric only", + "categories": ["game-mechanics", "library", "utility", "fabric"], + "display_categories": ["game-mechanics", "library", "utility", "fabric"], + "versions": ["1.19.4", "1.20", "1.20.1", "1.20.2"], + "downloads": 249, + "follows": 6, + "icon_url": "https://cdn.modrinth.com/data/hQbzUScT/76bde52a3696a533af510f47e8f93b35ad4eb2ab.png", + "date_created": "2023-06-17T00:27:34.710323Z", + "date_modified": "2023-10-02T06:26:09.404685Z", + "latest_version": "1.20.2", + "license": "MIT", + "client_side": "required", + "server_side": "unsupported", + "gallery": [ + "https://cdn.modrinth.com/data/hQbzUScT/images/76bde52a3696a533af510f47e8f93b35ad4eb2ab.png" + ], + "featured_gallery": "https://cdn.modrinth.com/data/hQbzUScT/images/de25273afeb40a17b77821ae4b56434c3953a47b.png", + "color": 9757053 + }, + { + "project_id": "O5BnVXcp", + "project_type": "mod", + "slug": "shulker-nbt-fix", + "author": "qpcrummer", + "title": "ShulkerNbtFix", + "description": "All shulkers are created equal: placed and unplaced", + "categories": ["game-mechanics", "fabric", "quilt", "utility"], + "display_categories": ["game-mechanics", "fabric", "quilt"], + "versions": [ + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2" + ], + "downloads": 120, + "follows": 4, + "icon_url": "https://cdn.modrinth.com/data/O5BnVXcp/096802aeb7ee5284d3dca7f38b6e00b46c1530ce.png", + "date_created": "2023-06-17T00:38:18.136269Z", + "date_modified": "2023-09-22T00:16:16.841957Z", + "latest_version": "1.20.2", + "license": "LGPL-3.0-only", + "client_side": "unsupported", + "server_side": "required", + "gallery": [], + "featured_gallery": null, + "color": 5980251 + } + ], + "offset": 0, + "limit": 12, + "total_hits": 23 +} diff --git a/types/mcgrizzconf.ts b/types/mcgrizzconf.ts index e2ac25b..450d66a 100644 --- a/types/mcgrizzconf.ts +++ b/types/mcgrizzconf.ts @@ -1,5 +1,13 @@ -export type Loader = 'forge' | 'fabric' | 'vanilla' | 'unset'; +import { ModrinthProject } from "../lib/modrinth.ts"; + +export type Loader = "forge" | "fabric" | "vanilla" | "unset"; export type MCGrizzConf = { - loader: Loader -} \ No newline at end of file + loader: Loader; + version: string; + mods?: { + source: "modrinth"; + details: ModrinthProject; + jarName?: string; + }[]; +}; diff --git a/util/EULA.ts b/util/EULA.ts index 824d954..589565b 100644 --- a/util/EULA.ts +++ b/util/EULA.ts @@ -3,7 +3,6 @@ import { IS_BROWSER } from "$fresh/runtime.ts"; const eulaRegex = /(eula=false)/; export const checkEULA = (instance = "server") => !IS_BROWSER && !eulaRegex.test(Deno.readTextFileSync(`./${instance}/eula.txt`)); - // true; export const acceptEULA = (instance = "server") => { const eula = Deno.readTextFileSync(`./${instance}/eula.txt`); diff --git a/util/confFile.ts b/util/confFile.ts index cb4e11d..427d35f 100644 --- a/util/confFile.ts +++ b/util/confFile.ts @@ -1,7 +1,10 @@ +import { ensureFileSync } from "$std/fs/ensure_file.ts"; +import { IS_BROWSER } from "$fresh/runtime.ts"; import { MCGrizzConf } from "../types/mcgrizzconf.ts"; const defaultConf: MCGrizzConf = { loader: 'unset', + version: '' } const confPath = 'mcgrizz.json' @@ -14,7 +17,9 @@ export function makeConfFile(): MCGrizzConf { } export function getConfFile(): MCGrizzConf { - const conf = JSON.parse(Deno.readTextFileSync(confPath)); + if (IS_BROWSER) return defaultConf; + ensureFileSync(confPath); + const conf = JSON.parse(Deno.readTextFileSync(confPath) || 'null'); if (!conf) { return makeConfFile(); @@ -24,7 +29,8 @@ export function getConfFile(): MCGrizzConf { } export async function updateConfFile(newConf: Partial) { - const conf = {...getConfFile(), newConf}; + if (IS_BROWSER) return; + const conf = {...getConfFile(), ...newConf}; await Deno.writeTextFile(confPath, JSON.stringify(conf, null, 2)); } diff --git a/util/download.ts b/util/download.ts new file mode 100644 index 0000000..7cbffe4 --- /dev/null +++ b/util/download.ts @@ -0,0 +1,35 @@ +import { ensureFile } from "$std/fs/ensure_file.ts"; + +/** + * + * @param src url of file + * @param dest destination file. If `useFileName` is true, this should be the destination directory + * @param [useFileName] whether to use the inferred file name from `src` + */ + +export async function downloadFile(src: string, dest: string, useFileName?:boolean) { + if (!(src.startsWith("http://") || src.startsWith("https://"))) { + throw new TypeError("URL must start with be http:// or https://"); + } + + const fileName = src.split('/').at(-1); + + const resp = await fetch(src); + if (!resp.ok) { + throw new Deno.errors.BadResource( + `Request failed with status ${resp.status}`, + ); + } else if (!resp.body) { + throw new Deno.errors.UnexpectedEof( + `The download url ${src} doesn't contain a file to download`, + ); + } else if (resp.status === 404) { + throw new Deno.errors.NotFound( + `The requested url "${src}" could not be found`, + ); + } + + await ensureFile(useFileName ? dest + fileName : dest); + const file = await Deno.open(dest, { truncate: true, write: true }); + resp.body.pipeTo(file.writable); +} \ No newline at end of file diff --git a/util/getNavItems.ts b/util/getNavItems.ts index 87029ae..21639ca 100644 --- a/util/getNavItems.ts +++ b/util/getNavItems.ts @@ -1,3 +1,4 @@ +// deno-lint-ignore-file no-fallthrough import { MCGrizzConf } from "../types/mcgrizzconf.ts"; import { NavItem } from "../types/nav.ts"; import { makeConfFile } from "./confFile.ts"; @@ -13,16 +14,20 @@ export function getNavItems(): NavItem[] { conf = makeConfFile(); } + const items: NavItem[] = []; + switch (conf.loader) { case "unset": - return [{ + items.push({ title: "Setup", href: "/", - }]; + }); + break; case "forge": case "fabric": + items.push({ title: "Mods", href: "/mods" }); case "vanilla": - return [ + items.unshift( { title: "Server Terminal", href: "/terminal", @@ -35,6 +40,8 @@ export function getNavItems(): NavItem[] { title: "Server Properties", href: "/properties", }, - ]; + ); + break; } + return items; } diff --git a/util/players.ts b/util/players.ts index 23ce7d3..e060917 100644 --- a/util/players.ts +++ b/util/players.ts @@ -1,3 +1,4 @@ +import { ensureFile } from "$std/fs/ensure_file.ts"; import { SERVER_STATE } from "../state/serverState.ts"; import { filterTruthy } from "./filters.ts"; @@ -30,7 +31,7 @@ export const getPlayerData = async (username: string) => { username = username.trim(); if (!username) return; const cacheFile = 'players.cache.json' - await Deno.create(cacheFile); + await ensureFile(cacheFile); const cache = JSON.parse(await Deno.readTextFile(cacheFile) || '{}'); if (!cache[username]) { const req = await fetch('https://playerdb.co/api/player/minecraft/' + username, {