lot of bugfixes, better migration script

This commit is contained in:
Amruth Pillai
2026-01-23 01:07:52 +01:00
parent a10954ed14
commit 35e2daa807
95 changed files with 3661 additions and 3645 deletions
+1 -6
View File
@@ -15,12 +15,7 @@ export function GithubStarsButton() {
return (
<Button asChild variant="outline">
<a
href="https://github.com/amruthpillai/reactive-resume"
target="_blank"
rel="noopener noreferrer"
aria-label={ariaLabel}
>
<a target="_blank" href="https://github.com/amruthpillai/reactive-resume" aria-label={ariaLabel} rel="noopener">
<GithubLogoIcon aria-hidden="true" />
{starCount != null ? (
<CountUp to={starCount} duration={0.5} separator="," className="font-bold" aria-hidden="true" />
+1 -5
View File
@@ -269,11 +269,7 @@ function EditorToolbar({ editor }: { editor: Editor }) {
return;
}
ctx.editor
.chain()
.focus()
.setLink({ href: url, target: "_blank", rel: "noopener noreferrer nofollow" })
.run();
ctx.editor.chain().focus().setLink({ href: url, target: "_blank", rel: "noopener nofollow" }).run();
},
unsetLink: () => ctx.editor.chain().focus().unsetLink().run(),
@@ -186,7 +186,7 @@ export function getSectionComponent(
style={{ gridTemplateColumns: `repeat(${customSection.columns}, 1fr)` }}
>
{visibleItems.map((item) => (
<div key={item.id} className={cn(`section-item section-item-${customSection.type} *:space-y-1`)}>
<div key={item.id} className={cn(`section-item section-item-${customSection.type}`)}>
{renderItemByType(customSection.type, item, itemClassName)}
</div>
))}
@@ -1,6 +1,7 @@
import { TiptapContent } from "@/components/input/rich-input";
import type { SectionItem } from "@/schema/resume/data";
import { cn } from "@/utils/style";
import { PageLink } from "../page-link";
type ReferencesItemProps = SectionItem<"references"> & {
className?: string;
@@ -9,12 +10,21 @@ type ReferencesItemProps = SectionItem<"references"> & {
export function ReferencesItem({ className, ...item }: ReferencesItemProps) {
return (
<div className={cn("references-item", className)}>
<p className="section-item-name references-item-name">
<strong>{item.name}</strong>
</p>
<div className="section-item-header references-item-header">
<div className="flex items-center justify-between">
<p className="section-item-name references-item-name">
<strong>{item.name}</strong>
</p>
</div>
<p className="section-item-subtitle references-item-position">{item.position}</p>
</div>
<div className="section-item-description references-item-description">
<TiptapContent content={item.description} />
</div>
<div className="section-item-footer references-item-footer flex flex-col">
<div className="section-item-metadata references-item-phone">{item.phone}</div>
<PageLink {...item.website} label={item.website.label} className="section-item-link references-item-link" />
</div>
</div>
);
}
+2 -1
View File
@@ -1,4 +1,5 @@
import { LevelDisplay } from "@/components/level/display";
import { cn } from "@/utils/style";
import { useResumeStore } from "../store/resume";
type Props = React.ComponentProps<"div"> & {
@@ -8,5 +9,5 @@ type Props = React.ComponentProps<"div"> & {
export function PageLevel({ level, className, ...props }: Props) {
const { icon, type } = useResumeStore((state) => state.resume.data.metadata.design.level);
return <LevelDisplay icon={icon} type={type} level={level} className={className} {...props} />;
return <LevelDisplay icon={icon} type={type} level={level} className={cn("h-4", className)} {...props} />;
}
+1 -1
View File
@@ -10,7 +10,7 @@ export function PageLink({ url, label, className }: Props) {
if (!url) return null;
return (
<a href={url} target="_blank" rel="noopener noreferrer" className={cn("inline-block text-wrap", className)}>
<a href={url} target="_blank" rel="noopener" className={cn("inline-block text-wrap", className)}>
{label || url}
</a>
);
+1 -1
View File
@@ -33,7 +33,7 @@ export function LaprasTemplate({ pageIndex, pageLayout }: TemplateProps) {
"--heading-negative-margin": `${headingNegativeMargin}pt`,
} as React.CSSProperties
}
className="template-lapras page-content space-y-7 px-(--page-margin-x) py-(--page-margin-y)"
className="template-lapras page-content space-y-7 px-(--page-margin-x) py-(--page-margin-y) print:p-0"
>
{isFirstPage && <Header />}
+5 -1
View File
@@ -30,7 +30,11 @@ export function PikachuTemplate({ pageIndex, pageLayout }: TemplateProps) {
data-layout="sidebar"
className="group page-sidebar flex w-(--page-sidebar-width) shrink-0 flex-col space-y-3"
>
{isFirstPage && <PagePicture className="max-h-full! max-w-full!" />}
{isFirstPage && (
<div className="flex items-center justify-center">
<PagePicture />
</div>
)}
{!fullWidth && (
<div className="shrink-0 space-y-4 overflow-x-hidden">
+1
View File
@@ -22,6 +22,7 @@ const localFontList = [
{ type: "local", category: "serif", family: "Palatino", weights: ["400", "600", "700"] },
{ type: "local", category: "serif", family: "Times New Roman", weights: ["400", "600", "700"] },
] as LocalFont[];
const webFontList = webFontListJSON as WebFont[];
function buildWebFontMap() {
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -9,7 +9,7 @@ export function Copyright({ className, ...props }: Props) {
<p>
<Trans>
Licensed under{" "}
<a href="#" target="_blank" rel="noopener noreferrer" className="font-medium underline underline-offset-2">
<a href="#" target="_blank" rel="noopener" className="font-medium underline underline-offset-2">
MIT
</a>
.
@@ -25,7 +25,7 @@ export function Copyright({ className, ...props }: Props) {
A passion project by{" "}
<a
target="_blank"
rel="noopener noreferrer"
rel="noopener"
href="https://amruthpillai.com"
className="font-medium underline underline-offset-2"
>