Compare commits

...

8 Commits

Author SHA1 Message Date
dependabot[bot]
df462a433d
Merge 1cc2be6707dee75939a1b922f9fad9d1e2675bb5 into 62eabef06235552d0476c7edccd1dde661969078 2024-12-03 17:04:23 -08:00
dvelo
62eabef062
feat: improve server icons
feat: improve server icons
2024-11-25 19:41:11 -06:00
dvelo
0e4632b79a feat: improve server icons 2024-11-25 19:39:47 -06:00
dvelo
db587401bf
fix: use custom top property for environments in production or not
fix: use custom `top` property for environments in production or not
2024-11-23 19:15:52 -06:00
dvelo
d7714f4cdb fix: use custom top property for environments in production or not 2024-11-23 19:13:18 -06:00
dvelo
6528152e12
fix: types in ThemeProvider (to main)
fix: types in ThemeProvider (to main)
2024-11-23 18:31:30 -06:00
dvelo
955ba3774c fix: types in ThemeProvider 2024-11-23 18:05:38 -06:00
dependabot[bot]
1cc2be6707
build(deps): bump @babel/parser from 7.24.7 to 7.26.2
Bumps [@babel/parser](https://github.com/babel/babel/tree/HEAD/packages/babel-parser) from 7.24.7 to 7.26.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.2/packages/babel-parser)

---
updated-dependencies:
- dependency-name: "@babel/parser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 05:44:30 +00:00
5 changed files with 66 additions and 33 deletions

@ -13,7 +13,7 @@
"inngest": "npx inngest-cli@latest dev" "inngest": "npx inngest-cli@latest dev"
}, },
"dependencies": { "dependencies": {
"@babel/parser": "^7.24.7", "@babel/parser": "^7.26.2",
"@biomejs/biome": "^1.8.3", "@biomejs/biome": "^1.8.3",
"@clerk/nextjs": "^5.1.3", "@clerk/nextjs": "^5.1.3",
"@emotion/is-prop-valid": "^1.3.0", "@emotion/is-prop-valid": "^1.3.0",

@ -37,7 +37,7 @@ import {
getIndexFromRarity, getIndexFromRarity,
getMinehutIcons, getMinehutIcons,
} from "@/lib/types/server-icon"; } from "@/lib/types/server-icon";
import { Copy, Info, QrCode, Share2 } from "lucide-react"; import { Banknote, Copy, Info, QrCode, Share2 } from "lucide-react";
import { useTheme } from "next-themes"; import { useTheme } from "next-themes";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import FadeIn from "react-fade-in/lib/FadeIn"; import FadeIn from "react-fade-in/lib/FadeIn";
@ -287,8 +287,9 @@ export default function AfterServerView({ server }: { server: string }) {
</td> </td>
</tr> </tr>
<tr> <tr>
<th className="border p-2">Credits per day</th> <th className="border p-2">Credits p/ day</th>
<td className="border p-2"> <td className="border p-2 flex items-center">
<Banknote className="mr-1" />
{serverObject?.credits_per_day == undefined {serverObject?.credits_per_day == undefined
? "? (unknown)" ? "? (unknown)"
: Math.floor(serverObject?.credits_per_day)} : Math.floor(serverObject?.credits_per_day)}
@ -475,7 +476,7 @@ export default function AfterServerView({ server }: { server: string }) {
{serverObject?.purchased_icons.map((icon) => ( {serverObject?.purchased_icons.map((icon) => (
<Card key={icon} className="my-4"> <Card key={icon} className="my-4">
<CardContent <CardContent
className="pt-4" className="pt-4 flex items-center"
style={{ style={{
color: getIndexFromRarity( color: getIndexFromRarity(
icons?.find((c) => c._id === icon)?.rank.toLowerCase() icons?.find((c) => c._id === icon)?.rank.toLowerCase()
@ -489,6 +490,37 @@ export default function AfterServerView({ server }: { server: string }) {
className="mr-2" className="mr-2"
/> />
{icons?.find((c) => c._id === icon)?.display_name} {icons?.find((c) => c._id === icon)?.display_name}
<Tooltip>
<TooltipTrigger>
<Info size={18} className="ml-2" />
</TooltipTrigger>
<TooltipContent>
Just because an item is available, it doesn't directly{" "}
<br />
mean that it can be bought immediately, it just means
its in the <br />
pool of icons that are in the weekly rotation.
<br />
<br />
<span className="flex items-center">
<span className="mr-1">Available currently:</span>
{toJSX(
icons?.find((c) => c._id === icon)?.available
)}
</span>
<span className="flex items-center">
<span className="mr-1">Disabled currently:</span>
{toJSX(
icons?.find((c) => c._id === icon)?.disabled
)}
</span>
<span className="flex items-center">
<span className="mr-1">Price:</span>
<Banknote size={16} className="mr-1" />
{icons?.find((c) => c._id === icon)?.price} credits
</span>
</TooltipContent>
</Tooltip>
<span <span
className="mx-2 p-1 pr-2 rounded italic font-bold" className="mx-2 p-1 pr-2 rounded italic font-bold"
style={{ style={{
@ -517,10 +549,14 @@ export default function AfterServerView({ server }: { server: string }) {
); );
} }
function toJSX(boolean: boolean) { function toJSX(boolean?: boolean) {
if (boolean) { if (boolean) {
return <div className="text-green-400">True</div>; return <div className="text-green-400">True</div>;
} }
if (boolean == undefined) {
return <div className="text-gray-400">N/A</div>;
}
return <div className="text-red-400">False</div>; return <div className="text-red-400">False</div>;
} }

@ -32,7 +32,7 @@
import * as React from "react"; import * as React from "react";
import { ThemeProvider as NextThemesProvider, useTheme } from "next-themes"; import { ThemeProvider as NextThemesProvider, useTheme } from "next-themes";
import { type ThemeProviderProps } from "next-themes/dist/types"; import { type ThemeProviderProps } from "next-themes";
declare global { declare global {
interface Document { interface Document {

@ -30,6 +30,7 @@
"use client"; "use client";
import { banner } from "@/config/banner";
import { useEffect, useState, ReactNode } from "react"; import { useEffect, useState, ReactNode } from "react";
export default function StickyTopbar({ export default function StickyTopbar({
@ -60,7 +61,7 @@ export default function StickyTopbar({
return ( return (
<div <div
className={`transition-all duration-300 ${isSticky ? "fixed top-[70px] left-0 w-full backdrop-blur shadow-lg " + className : "block w-full bg-transparent"}`} className={`transition-all duration-300 ${isSticky ? "fixed left-0 w-full backdrop-blur shadow-lg " + (banner.isBanner == true ? "top-[70px] " : "top-[38px] ") + className : "block w-full bg-transparent"}`}
> >
{children} {children}
</div> </div>

@ -72,16 +72,21 @@
dependencies: dependencies:
"@babel/types" "^7.24.7" "@babel/types" "^7.24.7"
"@babel/helper-string-parser@^7.24.8": "@babel/helper-string-parser@^7.25.9":
version "7.24.8" version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
"@babel/helper-validator-identifier@^7.24.7": "@babel/helper-validator-identifier@^7.24.7":
version "7.24.7" version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
"@babel/helper-validator-identifier@^7.25.9":
version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
"@babel/highlight@^7.24.7": "@babel/highlight@^7.24.7":
version "7.24.7" version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d"
@ -92,15 +97,12 @@
js-tokens "^4.0.0" js-tokens "^4.0.0"
picocolors "^1.0.0" picocolors "^1.0.0"
"@babel/parser@^7.23.9", "@babel/parser@^7.24.8": "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.24.8", "@babel/parser@^7.26.2":
version "7.24.8" version "7.26.2"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11"
integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w== integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==
dependencies:
"@babel/parser@^7.24.7": "@babel/types" "^7.26.0"
version "7.24.7"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz"
integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==
"@babel/runtime@^7.13.10", "@babel/runtime@^7.23.2", "@babel/runtime@^7.24.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": "@babel/runtime@^7.13.10", "@babel/runtime@^7.23.2", "@babel/runtime@^7.24.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
version "7.24.8" version "7.24.8"
@ -141,14 +143,13 @@
debug "^4.3.1" debug "^4.3.1"
globals "^11.1.0" globals "^11.1.0"
"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9": "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.26.0":
version "7.24.9" version "7.26.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.9.tgz#228ce953d7b0d16646e755acf204f4cf3d08cc73" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff"
integrity sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ== integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==
dependencies: dependencies:
"@babel/helper-string-parser" "^7.24.8" "@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.24.7" "@babel/helper-validator-identifier" "^7.25.9"
to-fast-properties "^2.0.0"
"@biomejs/biome@^1.8.3": "@biomejs/biome@^1.8.3":
version "1.8.3" version "1.8.3"
@ -7830,11 +7831,6 @@ tiny-invariant@^1.3.1:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
to-regex-range@^5.0.1: to-regex-range@^5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"