confirm build

This commit is contained in:
Developers Digest
2025-09-10 10:12:06 -04:00
parent 8687860a47
commit 13a4c5e1de
42 changed files with 6151 additions and 439 deletions
@@ -54,7 +54,8 @@ export default function ControlPanel({
analysisData,
onReset,
}: ControlPanelProps) {
// const [showAIAnalysis, setShowAIAnalysis] = useState(false); // Reserved for AI analysis feature
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [showAIAnalysis, setShowAIAnalysis] = useState(false); // Reserved for AI analysis feature
const [aiInsights, setAiInsights] = useState<CheckItem[]>([]);
const [isAnalyzingAI, setIsAnalyzingAI] = useState(false);
const [combinedChecks, setCombinedChecks] = useState<CheckItem[]>([]);
@@ -268,7 +269,7 @@ export default function ControlPanel({
}
}
})
.catch(error => {
.catch((error: any) => {
console.error('AI analysis error:', error);
// Remove loading tiles on error
setCombinedChecks(prev => prev.filter(c => !(c as any).isLoading));
@@ -1,4 +1,3 @@
/* eslint-disable @stylistic/array-element-newline */
"use client";
import initCanvas from "@/utils/init-canvas";
@@ -1,4 +1,3 @@
/* eslint-disable @stylistic/array-element-newline */
"use client";
import { animate } from "motion";
@@ -1,4 +1,3 @@
//@ts-nocheck
import { animate, AnimatePresence, cubicBezier, motion } from "motion/react";
import { useEffect, useRef, useState } from "react";
@@ -13,7 +12,7 @@ export default function HeroInputTabsMobile(props: {
}) {
// Filter tabs based on allowedModes if provided
const visibleTabs = props.allowedModes
? tabs.filter((tab) => props.allowedModes.includes(tab.value))
? tabs.filter((tab) => props.allowedModes!.includes(tab.value))
: tabs;
const activeTab = visibleTabs.find((tab) => tab.value === props.tab)!;
@@ -129,7 +129,7 @@ const tickAscii: Ticker = async ({ app, canvas }) => {
let i = 0;
//@ts-ignore
//@ts-expect-error - safeAdd method exists on extended ticker
app.ticker.safeAdd(() => {
i++;
if (i >= sprites.length) i = 0;
@@ -1,4 +1,3 @@
//@ts-nocheck
import { AnimationOptions, cubicBezier } from "motion";
import { Application, Container, Graphics, Sprite } from "pixi.js";
@@ -94,11 +93,11 @@ export default function AnimatedRect(props: Props) {
},
render,
animate: (renderProps: Partial<Props>, settings?: AnimationOptions) =>
props.app.animate(p, renderProps, {
(props.app as any).animate(p, renderProps, {
...p.animationConfig,
...settings,
onUpdate: render,
}),
reset: () => props.app.animate(p, props, { onUpdate: render }),
reset: () => (props.app as any).animate(p, props, { onUpdate: render }),
};
}
@@ -1,4 +1,3 @@
//@ts-nocheck
import { Application, Graphics } from "pixi.js";
@@ -58,22 +57,22 @@ export default function BlinkingContainer({
animatedRect.animate({ scale: 1 });
},
blink: ({ delay = 0 }: { delay?: number } = {}) => {
app
(app as any)
.animate(0, 0.32, {
repeatType: "reverse",
repeat: 2,
delay,
duration: 0.065,
ease: "linear",
onUpdate: (value) => {
onUpdate: (value: any) => {
blinkLayer.alpha = value as number;
},
})
.then(() => {
app.animate(0.32, 0, {
(app as any).animate(0.32, 0, {
duration: 0.065,
ease: "linear",
onUpdate: (value) => {
onUpdate: (value: any) => {
blinkLayer.alpha = value as number;
},
});
+9 -10
View File
@@ -1,8 +1,7 @@
"use client";
import { useState } from "react";
import Globe from "@/components/app/(home)/sections/hero-input/_svg/Globe";
import HeroInputSubmitButton from "@/components/app/(home)/sections/hero-input/Button/Button";
import Link from "next/link";
interface SidebarInputProps {
onSubmit: (url: string, style: string, model: string, instructions?: string) => void;
@@ -16,12 +15,12 @@ export default function SidebarInput({ onSubmit, disabled = false }: SidebarInpu
const [additionalInstructions, setAdditionalInstructions] = useState<string>("");
const [isValidUrl, setIsValidUrl] = useState<boolean>(false);
// Simple URL validation
const validateUrl = (urlString: string) => {
if (!urlString) return false;
const urlPattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
return urlPattern.test(urlString.toLowerCase());
};
// Simple URL validation - currently unused but keeping for future use
// const validateUrl = (urlString: string) => {
// if (!urlString) return false;
// const urlPattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
// return urlPattern.test(urlString.toLowerCase());
// };
const styles = [
{ id: "1", name: "Glassmorphism", description: "Frosted glass effect" },
@@ -58,11 +57,11 @@ export default function SidebarInput({ onSubmit, disabled = false }: SidebarInpu
<div >
<div className="p-4 border-b border-gray-100">
{/* link to home page with button */}
<a href="/">
<Link href="/">
<button className="w-full px-3 py-2 text-xs font-medium text-gray-700 bg-white rounded border border-gray-200 focus:border-orange-500 focus:outline-none focus:ring-1 focus:ring-orange-500">
Generate a new website
</button>
</a>
</Link>
</div>
{/* Options Section - Show when valid URL */}