Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"next-devtools": {
"command": "npx",
"args": ["-y", "next-devtools-mcp@latest"]
}
}
}
38 changes: 23 additions & 15 deletions components/download/Download.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,15 @@ export default function Download(props: Readonly<Props>) {
if (isCompleted) {
return (
<div
className="tw-bg-iron-900 tw-rounded-full tw-h-9 tw-flex-shrink-0 tw-inline-flex tw-items-center tw-justify-center tw-transition tw-duration-300 tw-ease-out tw-border-0 tw-text-white tw-gap-2 tw-px-3"
aria-label="Download complete">
<span className="tw-leading-[2.25rem] tw-text-sm tw-font-medium">
className="tw-inline-flex tw-h-9 tw-flex-shrink-0 tw-items-center tw-justify-center tw-gap-2 tw-rounded-full tw-border-0 tw-bg-iron-900 tw-px-3 tw-text-white tw-transition tw-duration-300 tw-ease-out"
aria-label="Download complete"
>
<span className="tw-text-sm tw-font-medium tw-leading-[2.25rem]">
Complete
</span>
<FontAwesomeIcon
icon={faCheckCircle}
className="tw-text-white tw-w-5 tw-h-5 tw-flex-shrink-0 tw-cursor-pointer"
className="tw-h-5 tw-w-5 tw-flex-shrink-0 tw-cursor-pointer tw-text-white"
onClick={() => setIsCompleted(false)}
/>
</div>
Expand All @@ -86,11 +87,16 @@ export default function Download(props: Readonly<Props>) {
e.stopPropagation();
startDownload();
}}
className="tw-bg-transparent tw-border-0 tw-text-white/40 desktop-hover:hover:tw-text-white tw-transition-colors tw-duration-300 tw-flex tw-items-center tw-gap-1.5 tw-cursor-pointer tw-text-xs tw-font-medium"
className="tw-flex tw-cursor-pointer tw-items-center tw-gap-1.5 tw-border-0 tw-bg-transparent tw-text-xs tw-font-medium tw-text-white/40 tw-transition-colors tw-duration-300 desktop-hover:hover:tw-text-white"
aria-label="Download file"
type="button">
<ArrowDownTrayIcon className="tw-w-4 tw-h-4 tw-flex-shrink-0" />
<span className={props.alwaysShowText ? "" : "tw-hidden sm:tw-inline"}>Download</span>
type="button"
>
<ArrowDownTrayIcon className="tw-h-4 tw-w-4 tw-flex-shrink-0" />
<span
className={props.alwaysShowText ? "" : "tw-hidden sm:tw-inline"}
>
Download
</span>
</button>
);
}
Expand All @@ -100,29 +106,31 @@ export default function Download(props: Readonly<Props>) {
e.stopPropagation();
startDownload();
}}
className="tw-bg-iron-900 desktop-hover:hover:tw-bg-iron-800 tw-rounded-full tw-size-9 tw-flex-shrink-0 tw-inline-flex tw-items-center tw-justify-center tw-cursor-pointer tw-transition tw-duration-300 tw-ease-out tw-border-0"
className="tw-inline-flex tw-size-9 tw-flex-shrink-0 tw-cursor-pointer tw-items-center tw-justify-center tw-rounded-full tw-border-0 tw-bg-iron-900 tw-transition tw-duration-300 tw-ease-out desktop-hover:hover:tw-bg-iron-800"
aria-label="Download file"
type="button">
type="button"
>
<FontAwesomeIcon
icon={faDownload}
className="tw-text-white tw-w-4 tw-h-4 tw-flex-shrink-0"
className="tw-h-4 tw-w-4 tw-flex-shrink-0 tw-text-white"
/>
</button>
);
}

return (
<div
className="tw-bg-iron-900 tw-rounded-full tw-h-9 tw-flex-shrink-0 tw-inline-flex tw-items-center tw-justify-center tw-transition tw-duration-300 tw-ease-out tw-border-0 tw-text-white tw-gap-2 tw-px-3"
aria-label="Downloading file">
<span className="tw-leading-[2.25rem] tw-text-sm tw-font-medium">
className="tw-inline-flex tw-h-9 tw-flex-shrink-0 tw-items-center tw-justify-center tw-gap-2 tw-rounded-full tw-border-0 tw-bg-iron-900 tw-px-3 tw-text-white tw-transition tw-duration-300 tw-ease-out"
aria-label="Downloading file"
>
<span className="tw-text-sm tw-font-medium tw-leading-[2.25rem]">
{normalizedPercentage === null
? "Downloading..."
: `Downloading ${normalizedPercentage}%`}
</span>
<FontAwesomeIcon
icon={faXmarkCircle}
className="tw-text-white tw-w-5 tw-h-5 tw-flex-shrink-0 tw-cursor-pointer"
className="tw-h-5 tw-w-5 tw-flex-shrink-0 tw-cursor-pointer tw-text-white"
onClick={() => cancel()}
/>
</div>
Expand Down
9 changes: 4 additions & 5 deletions components/memelab/MemeLabPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,7 @@ import { TypeFilter } from "@/hooks/useActivityData";
import useCapacitor from "@/hooks/useCapacitor";
import { fetchAllPages, fetchUrl } from "@/services/6529api";
import { ContractType } from "@/types/enums";
import {
faExpandAlt,
faFire,
} from "@fortawesome/free-solid-svg-icons";
import { faExpandAlt, faFire } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import Link from "next/link";
import { useRouter, useSearchParams } from "next/navigation";
Expand Down Expand Up @@ -1003,7 +1000,9 @@ export default function MemeLabPageComponent({
(typeof metadata?.animation_url === "string"
? metadata.animation_url.trim()
: "") ||
(typeof metadata?.animation === "string" ? metadata.animation.trim() : "") ||
(typeof metadata?.animation === "string"
? metadata.animation.trim()
: "") ||
nft?.animation.trim() ||
"";
const hasImage = Boolean(imageHref);
Expand Down
4 changes: 3 additions & 1 deletion components/the-memes/MemePageArt.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ export function MemePageArt(props: {
(typeof metadata?.animation_url === "string"
? metadata.animation_url.trim()
: "") ||
(typeof metadata?.animation === "string" ? metadata.animation.trim() : "") ||
(typeof metadata?.animation === "string"
? metadata.animation.trim()
: "") ||
(typeof props.nft?.animation === "string"
? props.nft.animation.trim()
: "") ||
Expand Down
1 change: 1 addition & 0 deletions config/nextConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export function sharedConfig(
transpilePackages: ["react-tweet"],
poweredByHeader: false,
logging: {
browserToTerminal: "error",
incomingRequests: false,
},
async headers() {
Expand Down
6 changes: 2 additions & 4 deletions lib/media/arweave-gateways.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,8 @@ export const stripArweaveGatewayUrlPrefix = (value: string): string => {
return value;
}

const strippedValue = `${parsed.pathname}${parsed.search}${parsed.hash}`.replace(
/^\/+/,
""
);
const strippedValue =
`${parsed.pathname}${parsed.search}${parsed.hash}`.replace(/^\/+/, "");

if (!strippedValue) {
return value;
Expand Down
Loading
Loading