This commit is contained in:
Benjamin Toby 2026-02-16 11:38:38 +01:00
parent 69d432b6af
commit 8f5abed48d
3 changed files with 84 additions and 15 deletions

View File

@ -24,12 +24,12 @@ type ImageUploadProps = DetailedHTMLProps<
onChangeHandler?: (
fileData: FileInputToBase64FunctionReturn | undefined,
inputRef?: React.RefObject<HTMLInputElement | null>,
utils?: FileInputUtils
utils?: FileInputUtils,
) => any;
changeHandler?: (
fileData: FileInputToBase64FunctionReturn | undefined,
inputRef?: React.RefObject<HTMLInputElement | null>,
utils?: FileInputUtils
utils?: FileInputUtils,
) => any;
onClear?: () => void;
fileInputProps?: DetailedHTMLProps<
@ -95,7 +95,7 @@ export default function FileUpload({
FileInputToBase64FunctionReturn | undefined
>(existingFile);
const [fileUrl, setFileUrl] = React.useState<string | undefined>(
existingFileUrl
existingFileUrl,
);
const [fileDraggedOver, setFileDraggedOver] = React.useState(false);
@ -168,11 +168,11 @@ export default function FileUpload({
onChangeHandler?.(
res,
inputRef,
fileInputUtils
fileInputUtils,
);
changeHandler?.(res, inputRef, fileInputUtils);
fileInputProps?.onChange?.(e);
}
},
);
}
}}
@ -191,7 +191,7 @@ export default function FileUpload({
className={twMerge(
"w-full relative h-full items-center justify-center overflow-hidden",
"pb-10",
previewImageWrapperProps?.className
previewImageWrapperProps?.className,
)}
>
<Stack>
@ -222,7 +222,7 @@ export default function FileUpload({
variant="ghost"
className={twMerge(
"absolute p-2 top-2 right-2 z-20 bg-background-light dark:bg-background-dark",
"hover:bg-white dark:hover:bg-black"
"hover:bg-white dark:hover:bg-black",
)}
onClick={(e) => {
clearFileInput();
@ -283,7 +283,7 @@ export default function FileUpload({
variant="ghost"
className={twMerge(
"absolute p-2 top-2 right-2 z-20 bg-white dark:bg-black",
"hover:bg-white dark:hover:bg-black"
"hover:bg-white dark:hover:bg-black",
)}
onClick={(e) => {
setFile(undefined);
@ -303,7 +303,7 @@ export default function FileUpload({
"w-full h-full cursor-pointer hover:bg-slate-100/50 dark:hover:bg-white/5",
"border-dashed border-2",
fileDraggedOver ? "bg-slate-100 dark:bg-white/10" : "",
placeHolderWrapper?.className
placeHolderWrapper?.className,
)}
onClick={(e) => {
inputRef.current?.click();
@ -341,14 +341,14 @@ export default function FileUpload({
externalSetFile?.(res);
onChangeHandler?.(res);
changeHandler?.(res);
}
},
);
}}
{...placeHolderWrapper}
>
<Center
className={twMerge(
fileDraggedOver ? "pointer-events-none" : ""
fileDraggedOver ? "pointer-events-none" : "",
)}
>
<Stack className="items-center gap-2">
@ -382,10 +382,10 @@ export default function FileUpload({
if (e.key == "Enter") {
if (tempFileURLRef.current) {
setFileUrl(
tempFileURLRef.current
tempFileURLRef.current,
);
externalSetFileURL(
tempFileURLRef.current
tempFileURLRef.current,
);
}
}
@ -401,10 +401,10 @@ export default function FileUpload({
if (tempFileURLRef.current) {
setFileUrl(
tempFileURLRef.current
tempFileURLRef.current,
);
externalSetFileURL(
tempFileURLRef.current
tempFileURLRef.current,
);
}
}}

11
public/robots.txt Normal file
View File

@ -0,0 +1,11 @@
# https://www.tben.me robots.txt
User-agent: *
Allow: /
# Sitemaps
Sitemap: https://www.tben.me/sitemap.xml
# Optional: disallow common non-content paths (uncomment if needed)
# Disallow: /api/
# Disallow: /_next/

58
public/sitemap.xml Normal file
View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- Homepage -->
<url>
<loc>https://www.tben.me/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<!-- Main Pages -->
<url>
<loc>https://www.tben.me/about</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tben.me/skills</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tben.me/work</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tben.me/blog</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tben.me/contact</loc>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<!-- Blog Posts -->
<url>
<loc>https://www.tben.me/blog/nginx-reverse-proxy-caching-rate-limiting-static-files</loc>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.tben.me/blog/solving-the-database-hassle</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.tben.me/blog/find-your-perfect-framework</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.tben.me/blog/choosing-your-tech-stack</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
</urlset>