add digitalocean attribution

This commit is contained in:
Amruth Pillai
2024-01-21 11:00:24 +01:00
parent 1aaaaeca20
commit b68b5a7747
42 changed files with 104 additions and 81 deletions

View File

@ -60,7 +60,7 @@ export const LocaleCombobox = ({ value, onValueChange }: Props) => {
>
<Check
className={cn(
"mr-2 h-4 w-4 opacity-0",
"mr-2 size-4 opacity-0",
value === original.locale && "opacity-100",
)}
/>
@ -101,7 +101,7 @@ export const LocaleComboboxPopover = ({ value, onValueChange }: Props) => {
</span>
<CaretDown
className={cn(
"ml-2 h-4 w-4 shrink-0 rotate-0 opacity-50 transition-transform",
"ml-2 size-4 shrink-0 rotate-0 opacity-50 transition-transform",
open && "rotate-180",
)}
/>

View File

@ -14,7 +14,7 @@ export const SocialAuth = () => {
{providers.includes("github") && (
<Button asChild size="lg" className="w-full !bg-[#222] !text-white hover:!bg-[#222]/80">
<a href="/api/auth/github">
<GithubLogo className="mr-3 h-4 w-4" />
<GithubLogo className="mr-3 size-4" />
{t`GitHub`}
</a>
</Button>
@ -27,7 +27,7 @@ export const SocialAuth = () => {
className="w-full !bg-[#4285F4] !text-white hover:!bg-[#4285F4]/80"
>
<a href="/api/auth/google">
<GoogleLogo className="mr-3 h-4 w-4" />
<GoogleLogo className="mr-3 size-4" />
{t`Google`}
</a>
</Button>

View File

@ -23,10 +23,10 @@ export const AuthLayout = () => {
const hideDivider = !providers.includes("email") || providers.length === 1;
return (
<div className="flex h-screen w-screen">
<div className="size-screen flex">
<div className="relative flex w-full flex-col justify-center gap-y-8 px-12 sm:mx-auto sm:basis-[420px] sm:px-0 lg:basis-[480px] lg:px-12">
<div className="flex items-center justify-between">
<Link to="/" className="h-24 w-24">
<Link to="/" className="size-24">
<Logo className="-ml-3" size={96} />
</Link>

View File

@ -82,7 +82,7 @@ export const ProfilesDialog = () => {
<FormLabel htmlFor="iconSlug">{t`Icon`}</FormLabel>
<FormControl>
<div className="flex items-center gap-x-2">
<Avatar className="h-8 w-8 bg-white">
<Avatar className="size-8 bg-white">
{field.value && (
<AvatarImage
className="p-1.5"

View File

@ -43,7 +43,7 @@ export const LeftSidebar = () => {
return (
<div className="flex bg-secondary-accent/30">
<div className="hidden basis-12 flex-col items-center justify-between bg-secondary-accent/30 py-4 sm:flex">
<Button asChild size="icon" variant="ghost" className="h-8 w-8 rounded-full">
<Button asChild size="icon" variant="ghost" className="size-8 rounded-full">
<Link to="/dashboard">
<Icon size={14} />
</Link>

View File

@ -93,7 +93,7 @@ export const PictureOptions = () => {
>
<Tooltip content={t`Square`}>
<ToggleGroupItem value="square">
<div className="h-3 w-3 border border-foreground" />
<div className="size-3 border border-foreground" />
</ToggleGroupItem>
</Tooltip>
@ -136,19 +136,19 @@ export const PictureOptions = () => {
>
<Tooltip content={t`Square`}>
<ToggleGroupItem value="square">
<div className="h-3 w-3 border border-foreground" />
<div className="size-3 border border-foreground" />
</ToggleGroupItem>
</Tooltip>
<Tooltip content={t`Rounded`}>
<ToggleGroupItem value="rounded">
<div className="h-3 w-3 rounded-sm border border-foreground" />
<div className="size-3 rounded-sm border border-foreground" />
</ToggleGroupItem>
</Tooltip>
<Tooltip content={t`Circle`}>
<ToggleGroupItem value="circle">
<div className="h-3 w-3 rounded-full border border-foreground" />
<div className="size-3 rounded-full border border-foreground" />
</ToggleGroupItem>
</Tooltip>
</ToggleGroup>

View File

@ -50,7 +50,7 @@ export const PictureSection = () => {
return (
<div className="flex items-center gap-x-4">
<div className="group relative cursor-pointer" onClick={onAvatarClick}>
<Avatar className="h-14 w-14 bg-secondary">
<Avatar className="size-14 bg-secondary">
<AvatarImage src={picture.url} />
</Avatar>

View File

@ -71,7 +71,7 @@ export const SectionIcon = ({ id, name, icon, ...props }: SectionIconProps) => {
return (
<Tooltip side="right" content={name ?? section.name}>
<Button size="icon" variant="ghost" className="h-8 w-8 rounded-full" {...props}>
<Button size="icon" variant="ghost" className="size-8 rounded-full" {...props}>
{icon ?? getSectionIcon(id, { size: 14 })}
</Button>
</Tooltip>

View File

@ -242,7 +242,7 @@ export const LayoutSection = () => {
<Button
size="icon"
variant="ghost"
className="h-8 w-8"
className="size-8"
onClick={() => onRemovePage(pageIndex)}
>
<TrashSimple size={12} className="text-error" />

View File

@ -30,11 +30,11 @@ export const ThemeSection = () => {
setValue("metadata.theme.primary", color);
}}
className={cn(
"flex h-6 w-6 cursor-pointer items-center justify-center rounded-full ring-primary ring-offset-1 ring-offset-background transition-shadow hover:ring-1",
"flex size-6 cursor-pointer items-center justify-center rounded-full ring-primary ring-offset-1 ring-offset-background transition-shadow hover:ring-1",
theme.primary === color && "ring-1",
)}
>
<div className="h-5 w-5 rounded-full" style={{ backgroundColor: color }} />
<div className="size-5 rounded-full" style={{ backgroundColor: color }} />
</div>
))}
</div>
@ -45,7 +45,7 @@ export const ThemeSection = () => {
<Popover>
<PopoverTrigger asChild>
<div
className="absolute inset-y-0 left-3 my-2.5 h-4 w-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
className="absolute inset-y-0 left-3 my-2.5 size-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
style={{ backgroundColor: theme.primary }}
/>
</PopoverTrigger>
@ -75,7 +75,7 @@ export const ThemeSection = () => {
<Popover>
<PopoverTrigger asChild>
<div
className="absolute inset-y-0 left-3 my-2.5 h-4 w-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
className="absolute inset-y-0 left-3 my-2.5 size-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
style={{ backgroundColor: theme.background }}
/>
</PopoverTrigger>
@ -105,7 +105,7 @@ export const ThemeSection = () => {
<Popover>
<PopoverTrigger asChild>
<div
className="absolute inset-y-0 left-3 my-2.5 h-4 w-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
className="absolute inset-y-0 left-3 my-2.5 size-4 cursor-pointer rounded-full ring-primary ring-offset-2 ring-offset-background transition-shadow hover:ring-1"
style={{ backgroundColor: theme.text }}
/>
</PopoverTrigger>

View File

@ -66,7 +66,7 @@ type SectionIconProps = ButtonProps & {
export const SectionIcon = ({ id, name, icon, ...props }: SectionIconProps) => (
<Tooltip side="left" content={name}>
<Button size="icon" variant="ghost" className="h-8 w-8 rounded-full" {...props}>
<Button size="icon" variant="ghost" className="size-8 rounded-full" {...props}>
{icon ?? getSectionIcon(id, { size: 14 })}
</Button>
</Tooltip>

View File

@ -21,7 +21,7 @@ const ActiveIndicator = ({ className }: Props) => (
initial={{ opacity: 0, x: -20 }}
animate={{ opacity: 1, x: 0 }}
className={cn(
"h-1.5 w-1.5 animate-pulse rounded-full bg-info shadow-[0_0_12px] shadow-info",
"size-1.5 animate-pulse rounded-full bg-info shadow-[0_0_12px] shadow-info",
className,
)}
/>
@ -98,7 +98,7 @@ export const Sidebar = ({ setOpen }: SidebarProps) => {
return (
<div className="flex h-full flex-col gap-y-4">
<div className="ml-12 flex justify-center lg:ml-0">
<Button asChild size="icon" variant="ghost" className="h-10 w-10 p-0">
<Button asChild size="icon" variant="ghost" className="size-10 p-0">
<Link to="/">
<Icon size={24} className="mx-auto hidden lg:block" />
</Link>

View File

@ -87,7 +87,7 @@ export const ResumeCard = ({ resume }: Props) => {
animate={{ opacity: 1 }}
loading="lazy"
alt={resume.title}
className="h-full w-full object-cover"
className="size-full object-cover"
src={`${url}?cache=${new Date().getTime()}`}
/>
)}

View File

@ -19,12 +19,12 @@ export const BaseListItem = ({ title, description, start, end, className, onClic
>
<div className="flex w-full items-center justify-between">
<div className="flex items-center space-x-4">
<div className="flex h-5 w-5 items-center justify-center">{start}</div>
<div className="flex size-5 items-center justify-center">{start}</div>
<h4 className="w-[220px] truncate font-medium lg:w-[320px]">{title}</h4>
<p className="hidden text-xs opacity-75 sm:block">{description}</p>
</div>
{end && <div className="flex h-5 w-5 items-center justify-center">{end}</div>}
{end && <div className="flex size-5 items-center justify-center">{end}</div>}
</div>
</div>
);

View File

@ -36,11 +36,11 @@ export const ResumesPage = () => {
</motion.h1>
<TabsList>
<TabsTrigger value="grid" className="h-8 w-8 p-0 sm:h-8 sm:w-auto sm:px-4">
<TabsTrigger value="grid" className="size-8 p-0 sm:h-8 sm:w-auto sm:px-4">
<SquaresFour />
<span className="ml-2 hidden sm:block">{t`Grid`}</span>
</TabsTrigger>
<TabsTrigger value="list" className="h-8 w-8 p-0 sm:h-8 sm:w-auto sm:px-4">
<TabsTrigger value="list" className="size-8 p-0 sm:h-8 sm:w-auto sm:px-4">
<List />
<span className="ml-2 hidden sm:block">{t`List`}</span>
</TabsTrigger>

View File

@ -23,7 +23,24 @@ export const Footer = () => (
<Copyright className="mt-6" />
</div>
<div className="relative col-start-4">
<div className="relative col-start-4 flex flex-col items-end justify-end">
<div className="mb-14">
<a href="https://www.digitalocean.com/?utm_medium=opensource&utm_source=Reactive-Resume">
<img
src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_black.svg"
alt="Powered by DigitalOcean"
className="block dark:hidden"
width="150px"
/>
<img
src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_white.svg"
alt="Powered by DigitalOcean"
className="hidden dark:block"
width="150px"
/>
</a>
</div>
<div className="absolute bottom-0 right-0 lg:space-x-2">
<LocaleSwitch />
<ThemeSwitch />

View File

@ -2,7 +2,7 @@ export const Decoration = {
Grid: () => (
<svg
aria-hidden="true"
className="absolute inset-0 -z-10 h-full w-full stroke-foreground/10 opacity-60 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)] dark:opacity-40"
className="absolute inset-0 -z-10 size-full stroke-foreground/10 opacity-60 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)] dark:opacity-40"
>
<defs>
<pattern