Skip to content

Commit 58613fb

Browse files
committed
feat: better logo
1 parent 303ba9e commit 58613fb

File tree

3 files changed

+87
-37
lines changed

3 files changed

+87
-37
lines changed

apps/dashboard/app/(auth)/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { auth } from '@databuddy/auth';
2-
import { CaretLeftIcon, SpinnerIcon } from '@phosphor-icons/react';
2+
import { CaretLeftIcon, SpinnerIcon } from '@phosphor-icons/react/ssr';
33
import { headers } from 'next/headers';
44
import Link from 'next/link';
55
import { redirect } from 'next/navigation';

apps/dashboard/app/(auth)/register/page.tsx

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import { authClient } from '@databuddy/auth/client';
44
import {
5-
WarningCircleIcon,
6-
CheckCircleIcon,
75
CaretLeftIcon,
6+
CheckCircleIcon,
87
EyeIcon,
98
EyeSlashIcon,
9+
GithubLogoIcon,
10+
GoogleLogoIcon,
1011
InfoIcon,
1112
SpinnerIcon,
12-
GoogleLogoIcon,
13-
GithubLogoIcon,
13+
WarningCircleIcon,
1414
} from '@phosphor-icons/react';
1515
import Link from 'next/link';
1616
import { useRouter, useSearchParams } from 'next/navigation';
@@ -222,7 +222,7 @@ function RegisterPageContent() {
222222

223223
<div className="flex flex-col space-y-3">
224224
<Button
225-
className="w-full bg-amber-500 text-white hover:bg-amber-600 text-sm sm:text-base"
225+
className="w-full bg-amber-500 text-sm text-white hover:bg-amber-600 sm:text-base"
226226
disabled={isLoading}
227227
onClick={resendVerificationEmail}
228228
>
@@ -233,14 +233,16 @@ function RegisterPageContent() {
233233
</>
234234
) : (
235235
<>
236-
<span className="hidden sm:inline">Resend verification email</span>
236+
<span className="hidden sm:inline">
237+
Resend verification email
238+
</span>
237239
<span className="sm:hidden">Resend email</span>
238240
</>
239241
)}
240242
</Button>
241243

242244
<Button
243-
className="w-full border-amber-200 text-amber-700 hover:bg-amber-50 text-sm sm:text-base"
245+
className="w-full border-amber-200 text-amber-700 text-sm hover:bg-amber-50 sm:text-base"
244246
onClick={() => setRegistrationStep('form')}
245247
variant="outline"
246248
>
@@ -262,7 +264,7 @@ function RegisterPageContent() {
262264
</div>
263265

264266
<Button
265-
className="w-full bg-green-500 text-white hover:bg-green-600 text-sm sm:text-base"
267+
className="w-full bg-green-500 text-sm text-white hover:bg-green-600 sm:text-base"
266268
onClick={() => router.push('/login')}
267269
>
268270
<span className="hidden sm:inline">Continue to login</span>
@@ -273,7 +275,7 @@ function RegisterPageContent() {
273275

274276
const renderFormContent = () => (
275277
<div className="space-y-4">
276-
<div className="grid grid-cols-1 gap-2 sm:grid-cols-2 -mt-4">
278+
<div className="-mt-4 grid grid-cols-1 gap-2 sm:grid-cols-2">
277279
<Button
278280
className="flex h-11 w-full cursor-pointer items-center justify-center transition-all duration-200 hover:bg-primary/5"
279281
disabled={isLoading}
@@ -315,7 +317,7 @@ function RegisterPageContent() {
315317
</Label>
316318
<Input
317319
autoComplete="name"
318-
className="h-11 bg-input border-none transition-all duration-200 focus:ring-2 focus:ring-primary/20 placeholder:text-muted-foreground/50"
320+
className="h-11 border-none bg-input transition-all duration-200 placeholder:text-muted-foreground/50 focus:ring-2 focus:ring-primary/20"
319321
disabled={isLoading}
320322
id="name"
321323
name="name"
@@ -333,7 +335,7 @@ function RegisterPageContent() {
333335
</Label>
334336
<Input
335337
autoComplete="email"
336-
className="h-11 bg-input border-none transition-all duration-200 focus:ring-2 focus:ring-primary/20 placeholder:text-muted-foreground/50"
338+
className="h-11 border-none bg-input transition-all duration-200 placeholder:text-muted-foreground/50 focus:ring-2 focus:ring-primary/20"
337339
disabled={isLoading}
338340
id="email"
339341
name="email"
@@ -366,7 +368,7 @@ function RegisterPageContent() {
366368
<div className="relative">
367369
<Input
368370
autoComplete="new-password"
369-
className="h-11 pr-10 bg-input border-none transition-all duration-200 focus:ring-2 focus:ring-primary/20 placeholder:text-muted-foreground/50"
371+
className="h-11 border-none bg-input pr-10 transition-all duration-200 placeholder:text-muted-foreground/50 focus:ring-2 focus:ring-primary/20"
370372
disabled={isLoading}
371373
id="password"
372374
minLength={8}
@@ -404,7 +406,7 @@ function RegisterPageContent() {
404406
<div className="relative">
405407
<Input
406408
autoComplete="new-password"
407-
className="h-11 pr-10 bg-input border-none transition-all duration-200 focus:ring-2 focus:ring-primary/20 placeholder:text-muted-foreground/50"
409+
className="h-11 border-none bg-input pr-10 transition-all duration-200 placeholder:text-muted-foreground/50 focus:ring-2 focus:ring-primary/20"
408410
disabled={isLoading}
409411
id="confirmPassword"
410412
minLength={8}
@@ -416,7 +418,9 @@ function RegisterPageContent() {
416418
value={formData.confirmPassword}
417419
/>
418420
<Button
419-
aria-label={showConfirmPassword ? 'Hide password' : 'Show password'}
421+
aria-label={
422+
showConfirmPassword ? 'Hide password' : 'Show password'
423+
}
420424
className="absolute top-0 right-0 h-full px-3 text-muted-foreground hover:text-foreground"
421425
onClick={() => setShowConfirmPassword(!showConfirmPassword)}
422426
size="sm"
@@ -444,29 +448,29 @@ function RegisterPageContent() {
444448
</div>
445449
</VisuallyHidden>
446450

447-
<div className="flex sm:flex-row items-center gap-2 sm:items-center space-y-2 sm:space-y-0 sm:space-x-2">
451+
<div className="flex items-center gap-2 space-y-2 sm:flex-row sm:items-center sm:space-x-2 sm:space-y-0">
448452
<Checkbox
449453
checked={acceptTerms}
450-
className="mt-1 sm:mt-0 cursor-pointer data-[state=unchecked]:bg-input data-[state=checked]:border-primary data-[state=checked]:bg-primary"
454+
className="mt-1 cursor-pointer data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=unchecked]:bg-input sm:mt-0"
451455
disabled={isLoading}
452456
id="terms"
453457
onCheckedChange={(checked) => setAcceptTerms(checked as boolean)}
454458
/>
455459
<Label
456-
className="text-muted-foreground text-xs leading-tight sm:text-sm tracking-tighter"
460+
className="text-muted-foreground text-xs leading-tight tracking-tighter sm:text-sm"
457461
htmlFor="terms"
458462
>
459463
I agree to the{''}
460464
<Link
461-
className="font-medium text-primary hover:text-primary/80 text-xs sm:text-sm tracking-tighter"
465+
className="font-medium text-primary text-xs tracking-tighter hover:text-primary/80 sm:text-sm"
462466
href="https://www.databuddy.cc/terms"
463467
target="_blank"
464468
>
465469
Terms of Service
466470
</Link>
467471
{''}and{''}
468472
<Link
469-
className="font-medium text-primary hover:text-primary/80 text-xs sm:text-sm tracking-tighter"
473+
className="font-medium text-primary text-xs tracking-tighter hover:text-primary/80 sm:text-sm"
470474
href="https://www.databuddy.cc/privacy"
471475
target="_blank"
472476
>
@@ -476,7 +480,7 @@ function RegisterPageContent() {
476480
</div>
477481

478482
<Button
479-
className="hover:-translate-y-0.5 relative h-11 w-full overflow-hidden shadow transition-all duration-300 hover:shadow-lg hover:shadow-primary/20 text-sm sm:text-base"
483+
className="hover:-translate-y-0.5 relative h-11 w-full overflow-hidden text-sm shadow transition-all duration-300 hover:shadow-lg hover:shadow-primary/20 sm:text-base"
480484
disabled={isLoading}
481485
type="submit"
482486
>

apps/dashboard/components/layout/logo.tsx

Lines changed: 62 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,71 @@
1-
import { Geist_Mono } from 'next/font/google';
21
import Link from 'next/link';
32

4-
const geistMono = Geist_Mono({
5-
subsets: ['latin'],
6-
weight: ['400', '500', '600', '700'],
7-
variable: '--font-geist-mono',
8-
});
3+
const logo = (height: number, width: number) => (
4+
<svg
5+
fill="none"
6+
height={height}
7+
viewBox="0 0 186 29"
8+
width={width}
9+
xmlns="http://www.w3.org/2000/svg"
10+
>
11+
<title>Databuddy</title>
12+
<path
13+
clip-rule="evenodd"
14+
d="M9.66667 9.66667H14.5V14.5H9.66667V9.66667ZM14.5 14.5H19.3333V19.3333H14.5V14.5Z"
15+
fill="white"
16+
fill-rule="evenodd"
17+
/>
18+
<path d="M29 4.83333H24.1667V24.1667H29V4.83333Z" fill="white" />
19+
<path
20+
clip-rule="evenodd"
21+
d="M0 0H24.1667V4.83333H4.83333V24.1667H24.1667V29H0V0Z"
22+
fill="white"
23+
fill-rule="evenodd"
24+
/>
25+
<path
26+
d="M51.2349 6.67191C56.4323 6.67191 59.3299 9.61556 59.3299 14.859C59.3299 20.0793 56.4783 23 51.3729 23H45.8535V6.67191H51.2349ZM48.7512 20.4473H51.2349C54.6845 20.4473 56.3633 18.6075 56.3633 14.859C56.3633 11.0414 54.6845 9.22461 51.2349 9.22461H48.7512V20.4473Z"
27+
fill="white"
28+
/>
29+
<path
30+
d="M60.9523 23L66.8396 6.67191H70.2892L76.1766 23H73.1869L71.8301 19.0445H65.2988L63.942 23H60.9523ZM66.1727 16.5378H70.9562L68.5644 9.54657L66.1727 16.5378Z"
31+
fill="white"
32+
/>
33+
<path
34+
d="M88.6246 6.67191V9.22461H83.6802V23H80.7825V9.22461H75.8151V6.67191H88.6246Z"
35+
fill="white"
36+
/>
37+
<path
38+
d="M88.294 23L94.1813 6.67191H97.6309L103.518 23H100.529L99.1717 19.0445H92.6405L91.2836 23H88.294ZM93.5144 16.5378H98.2978L95.9061 9.54657L93.5144 16.5378Z"
39+
fill="white"
40+
/>
41+
<path
42+
d="M106.264 23V6.67191H112.082C116.291 6.67191 118.383 8.12074 118.383 11.2024C118.383 13.1112 117.21 14.307 115.233 14.537C117.67 14.79 119.073 16.1698 119.073 18.3775C119.073 21.3672 116.934 23 113.002 23H106.264ZM109.161 20.4933H113.048C114.957 20.4933 116.107 19.7114 116.107 18.1936C116.107 16.6757 114.957 15.8478 113.048 15.8478H109.161V20.4933ZM109.161 13.5251H112.243C114.244 13.5251 115.417 12.7892 115.417 11.3634C115.417 9.86853 114.313 9.15562 112.243 9.15562H109.161V13.5251Z"
43+
fill="white"
44+
/>
45+
<path
46+
d="M135.57 17.1817C135.57 20.9762 133.063 23.368 129.062 23.368C125.06 23.368 122.577 20.9762 122.577 17.1817V6.64891H125.474V17.1817C125.474 19.5274 126.785 20.8153 129.062 20.8153C131.361 20.8153 132.672 19.5274 132.672 17.1817V6.64891H135.57V17.1817Z"
47+
fill="white"
48+
/>
49+
<path
50+
d="M145.05 6.67191C150.248 6.67191 153.146 9.61556 153.146 14.859C153.146 20.0793 150.294 23 145.188 23H139.669V6.67191H145.05ZM142.567 20.4473H145.05C148.5 20.4473 150.179 18.6075 150.179 14.859C150.179 11.0414 148.5 9.22461 145.05 9.22461H142.567V20.4473Z"
51+
fill="white"
52+
/>
53+
<path
54+
d="M161.821 6.67191C167.018 6.67191 169.916 9.61556 169.916 14.859C169.916 20.0793 167.064 23 161.959 23H156.439V6.67191H161.821ZM159.337 20.4473H161.821C165.27 20.4473 166.949 18.6075 166.949 14.859C166.949 11.0414 165.27 9.22461 161.821 9.22461H159.337V20.4473Z"
55+
fill="white"
56+
/>
57+
<path
58+
d="M171.336 6.67191H174.532L178.442 13.6631L182.352 6.67191H185.525L179.891 16.5148V23H176.993V16.5148L171.336 6.67191Z"
59+
fill="white"
60+
/>
61+
</svg>
62+
);
963

1064
export function Logo() {
1165
return (
1266
<Link className="flex items-center gap-3" href="/">
13-
<div className="relative flex-shrink-0 transition-transform duration-200">
14-
<LogoSVG height={24} width={24} />
15-
</div>
16-
<div className="flex items-center">
17-
<h1
18-
className={`
19-
${geistMono.variable} select-none font-semibold text-foreground leading-none tracking-wider transition-colors duration-200 `}
20-
>
21-
DATABUDDY
22-
</h1>
67+
<div className="relative flex-shrink-0 scale-150 not-dark:brightness-0 transition-transform duration-200">
68+
{logo(24, 240)}
2369
</div>
2470
</Link>
2571
);

0 commit comments

Comments
 (0)