feat(logo-component): Logo SVG + Text [tsc:fail]

This commit is contained in:
Dennis (via Claude+Gemma) 2026-05-23 10:19:10 +02:00
parent 6f41edbc5d
commit 3e7a7a893f
3 changed files with 65 additions and 2 deletions

View File

@ -1,5 +1,8 @@
{
"completed_features": [],
"current_feature": "sidebar-component",
"started_at": "2026-05-23T10:18:26.780535"
"current_feature": "logo-component",
"started_at": "2026-05-23T10:18:26.780535",
"attempted_features": [
"sidebar-component"
]
}

View File

@ -4211,3 +4211,21 @@ src/index.ts(27,25): error TS2769: No overload matches this call.
Overload 1 of 3, '(plugin: FastifyPluginCallback<{ limits: { fileSize: number; }; }, RawServerDefault, FastifyTypeProvider, FastifyBaseLogger>, opts?: FastifyRegisterOptions<...> | undefined): FastifyInstance<...> & PromiseLike<...>', gave the following error.
Argument of type 'Promise<FastifyMultipartPlugin>' is not assignable to parameter of type 'FastifyPluginCallback<{ limits: { fileSize: number; }; }, RawServerDefault, FastifyTypeProvider, FastifyBaseLogger>'.
Type 'Promise<FastifyMultipartPlugin>' provides no match for the signature '(instance: FastifyInstance<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>,
- `10:18:50` **INFO** Committed feature sidebar-component
- `10:18:51` **INFO** Pushed: rc=0
## Phase-3 Feature: logo-component (2026-05-23 10:18:51)
- `10:18:51` **INFO** Description: Logo SVG + Text
- `10:18:51` **INFO** Generating apps/web/src/components/Logo.tsx (Logo-Component. Props: size?: 'sm'|'md'|'lg', showText?: boolean. Inli…)
- `10:19:09` **INFO** wrote 1254 chars in 17.9s (attempt 1)
- `10:19:09` **INFO** Running tsc --noEmit on api…
- `10:19:10` **WARN** tsc errors:
src/db/schema.ts(37,14): error TS7022: 'customers' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
src/db/schema.ts(45,59): error TS7024: Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
src/db/schema.ts(49,14): error TS7022: 'projects' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
src/db/schema.ts(53,56): error TS7024: Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
src/index.ts(27,25): error TS2769: No overload matches this call.
Overload 1 of 3, '(plugin: FastifyPluginCallback<{ limits: { fileSize: number; }; }, RawServerDefault, FastifyTypeProvider, FastifyBaseLogger>, opts?: FastifyRegisterOptions<...> | undefined): FastifyInstance<...> & PromiseLike<...>', gave the following error.
Argument of type 'Promise<FastifyMultipartPlugin>' is not assignable to parameter of type 'FastifyPluginCallback<{ limits: { fileSize: number; }; }, RawServerDefault, FastifyTypeProvider, FastifyBaseLogger>'.
Type 'Promise<FastifyMultipartPlugin>' provides no match for the signature '(instance: FastifyInstance<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>,

View File

@ -0,0 +1,42 @@
import React from 'react';
interface LogoProps {
size?: 'sm' | 'md' | 'lg';
showText?: boolean;
}
const sizeMap = {
sm: { icon: 'w-5 h-5', text: 'text-sm' },
md: { icon: 'w-8 h-8', text: 'text-xl' },
lg: { icon: 'w-12 h-12', text: 'text-3xl' },
};
export default function Logo({ size = 'md', showText = true }: LogoProps) {
const { icon, text } = sizeMap[size];
return (
<div className={`flex items-center gap-2 ${text}`}>
<svg
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
className={`${icon} text-orange-500`}
>
<path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.07 2.5-4 2.5-4 2.5s2.5-.5 2.5 1.5z" />
<path d="M15.5 14.5A2.5 2.5 0 0 0 18 12c0-1.38-.5-2-1-3-1.07 2.5-4 2.5-4 2.5s2.5-.5 2.5 1.5z" />
<path d="M12 17a3 3 0 0 0 3-3 3 3 0 0 0-6 0 3 3 0 0 0 3 3z" />
<path d="M12 12V3" />
<path d="M12 7a2 2 0 0 1 2 2" />
<path d="M12 7a2 2 0 0 0-2 2" />
</svg>
{showText && (
<span className="font-bold text-zinc-900 dark:text-zinc-100 tracking-tight">
EmberClone
</span>
)}
</div>
);
}