mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-24 17:03:55 +10:00
lot of bugfixes, better migration script
This commit is contained in:
@@ -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" />
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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} />;
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
|
||||
@@ -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 />}
|
||||
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
@@ -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"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user