Update Nextjs

This commit is contained in:
adilallo
2026-01-26 08:09:31 -07:00
parent 5442114c85
commit 9e8b767128
53 changed files with 825 additions and 283 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import ContentLockup from "./ContentLockup";
import Button from "./Button";
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface AvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {
src: string;
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface AvatarContainerProps extends React.HTMLAttributes<HTMLDivElement> {
children?: React.ReactNode;
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
children: React.ReactNode;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useId } from "react";
import { memo, useId } from "react";
interface CheckboxProps {
checked?: boolean;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import { getAssetPath } from "../../lib/assetUtils";
import ContentContainer from "./ContentContainer";
import type { BlogPost } from "../../lib/content";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import { getAssetPath, ASSETS } from "../../lib/assetUtils";
import type { BlogPost } from "../../lib/content";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import Button from "./Button";
import { getAssetPath } from "../../lib/assetUtils";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import Link from "next/link";
import ContentContainer from "./ContentContainer";
import { getAssetPath, ASSETS } from "../../lib/assetUtils";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo } from "react";
import { forwardRef, memo } from "react";
interface ContextMenuProps extends React.HTMLAttributes<HTMLDivElement> {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo } from "react";
import { forwardRef, memo } from "react";
interface ContextMenuDividerProps extends React.HTMLAttributes<HTMLDivElement> {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo, useCallback } from "react";
import { forwardRef, memo, useCallback } from "react";
interface ContextMenuItemProps extends React.HTMLAttributes<HTMLDivElement> {
children?: React.ReactNode;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo } from "react";
import { forwardRef, memo } from "react";
interface ContextMenuSectionProps extends React.HTMLAttributes<HTMLDivElement> {
title?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useMemo } from "react";
import { memo, useMemo } from "react";
import ContentLockup from "./ContentLockup";
import MiniCard from "./MiniCard";
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
import Link from "next/link";
import Logo from "./Logo";
import Separator from "./Separator";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import { usePathname } from "next/navigation";
import Logo from "./Logo";
import MenuBar from "./MenuBar";
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
import { getAssetPath } from "../../lib/assetUtils";
interface HeaderTabProps extends React.HTMLAttributes<HTMLDivElement> {
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import ContentLockup from "./ContentLockup";
import HeroDecor from "./HeroDecor";
import { getAssetPath } from "../../lib/assetUtils";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface HeroDecorProps {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import { usePathname } from "next/navigation";
import Logo from "./Logo";
import MenuBar from "./MenuBar";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface ImagePlaceholderProps {
width?: number;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useCallback, forwardRef, useId } from "react";
import { memo, useCallback, forwardRef, useId } from "react";
interface InputProps extends Omit<
React.InputHTMLAttributes<HTMLInputElement>,
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
import Link from "next/link";
import { getAssetPath, ASSETS } from "../../lib/assetUtils";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { useState, useEffect, memo } from "react";
import { useState, useEffect, memo } from "react";
import Image from "next/image";
interface Logo {
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface MenuBarProps extends React.HTMLAttributes<HTMLElement> {
children?: React.ReactNode;
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface MenuBarItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
href?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import Image from "next/image";
interface MiniCardProps {
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
interface NavigationItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
href?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import SectionNumber from "./SectionNumber";
interface NumberedCardProps {
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useMemo } from "react";
import { memo, useMemo } from "react";
import NumberedCard from "./NumberedCard";
import SectionHeader from "./SectionHeader";
import Button from "./Button";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { useState, memo } from "react";
import { useState, memo } from "react";
import Image from "next/image";
import QuoteDecor from "./QuoteDecor";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface QuoteDecorProps {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useCallback, useId } from "react";
import { memo, useCallback, useId } from "react";
interface RadioButtonProps {
checked?: boolean;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useCallback, useId } from "react";
import { memo, useCallback, useId } from "react";
import RadioButton from "./RadioButton";
interface RadioOption {
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { useState, useEffect, memo, useMemo, useCallback } from "react";
import { useState, useEffect, memo, useMemo, useCallback } from "react";
import ContentThumbnailTemplate from "./ContentThumbnailTemplate";
import type { BlogPost } from "../../lib/content";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface RuleCardProps {
title: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
import Image from "next/image";
import RuleCard from "./RuleCard";
import Button from "./Button";
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface SectionHeaderProps {
title: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo } from "react";
import { memo } from "react";
interface SectionNumberProps {
number: number;
+9 -6
View File
@@ -1,6 +1,9 @@
"use client";
import React, {
Children,
type ReactElement,
type ReactNode,
forwardRef,
useId,
useState,
@@ -265,17 +268,17 @@ const Select = forwardRef<HTMLButtonElement, SelectProps>(
}
// Handle children (option elements)
const selectedOption = React.Children.toArray(children).find(
const selectedOption = Children.toArray(children).find(
(
child,
): child is React.ReactElement<{
): child is ReactElement<{
value: string;
children: React.ReactNode;
children: ReactNode;
}> => {
if (!React.isValidElement(child)) return false;
const props = child.props as {
value?: string;
children?: React.ReactNode;
children?: ReactNode;
};
return props.value === selectedValue;
},
@@ -351,14 +354,14 @@ const Select = forwardRef<HTMLButtonElement, SelectProps>(
{option.label}
</SelectOption>
))
: React.Children.map(children, (child) => {
: Children.map(children, (child) => {
if (
React.isValidElement(child) &&
child.type === "option"
) {
const optionProps = child.props as {
value: string;
children: React.ReactNode;
children: ReactNode;
};
return (
<SelectOption
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo } from "react";
import { forwardRef, memo } from "react";
interface SelectDropdownProps extends React.HTMLAttributes<HTMLDivElement> {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { forwardRef, memo, useCallback } from "react";
import { forwardRef, memo, useCallback } from "react";
interface SelectOptionProps {
children?: React.ReactNode;
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo } from "react";
import { memo } from "react";
const Separator = memo(() => {
return (
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo, useCallback, useId, forwardRef } from "react";
import { memo, useCallback, useId, forwardRef } from "react";
interface SwitchProps extends Omit<
React.ButtonHTMLAttributes<HTMLButtonElement>,
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { memo, useCallback, forwardRef, useId } from "react";
import { memo, useCallback, forwardRef, useId } from "react";
interface TextAreaProps extends Omit<
React.TextareaHTMLAttributes<HTMLTextAreaElement>,
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo, useCallback, useId, forwardRef } from "react";
import { memo, useCallback, useId, forwardRef } from "react";
interface ToggleProps extends Omit<
React.ButtonHTMLAttributes<HTMLButtonElement>,
+1 -1
View File
@@ -1,4 +1,4 @@
import React, { memo, useCallback, useId, forwardRef } from "react";
import { memo, useCallback, useId, forwardRef } from "react";
interface ToggleGroupProps extends Omit<
React.ButtonHTMLAttributes<HTMLButtonElement>,
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import React, { useState, useEffect, memo } from "react";
import { useState, useEffect, memo } from "react";
interface VitalData {
value: number;
-1
View File
@@ -1,4 +1,3 @@
import React from "react";
import WebVitalsDashboard from "../components/WebVitalsDashboard";
import Header from "../components/Header";
import Footer from "../components/Footer";
-3
View File
@@ -2,9 +2,6 @@ import createMDX from "@next/mdx";
/** @type {import('next').NextConfig} */
const nextConfig = {
eslint: {
ignoreDuringBuilds: true,
},
// Performance optimizations
experimental: {
optimizeCss: true,
+755 -219
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -46,11 +46,11 @@
"dependencies": {
"@mdx-js/loader": "^3.1.1",
"@mdx-js/react": "^3.1.1",
"@next/mdx": "^15.5.2",
"@next/mdx": "^16.0.0",
"ajv": "^8.12.0",
"critters": "^0.0.23",
"gray-matter": "^4.0.3",
"next": "15.2.4",
"next": "^16.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
@@ -80,7 +80,7 @@
"@vitest/browser": "^3.2.4",
"@vitest/coverage-v8": "^3.2.4",
"eslint": "^9",
"eslint-config-next": "15.2.0",
"eslint-config-next": "^16.0.0",
"eslint-plugin-storybook": "^9.0.7",
"jest-axe": "^10.0.0",
"jsdom": "^26.1.0",
+11 -4
View File
@@ -1,7 +1,11 @@
{
"compilerOptions": {
"target": "ES2017",
"lib": ["dom", "dom.iterable", "esnext"],
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"strict": false,
@@ -12,7 +16,7 @@
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"jsx": "react-jsx",
"forceConsistentCasingInFileNames": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
@@ -29,7 +33,10 @@
"**/*.ts",
"**/*.tsx",
"**/*.js",
"**/*.jsx"
"**/*.jsx",
".next/dev/types/**/*.ts"
],
"exclude": ["node_modules"]
"exclude": [
"node_modules"
]
}