love-ui 1.2.22 → 1.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-L7XDZOUL.js → chunk-CH2CHRA7.js} +1 -1
- package/dist/index.js +4 -4
- package/dist/mcp-server.js +1 -1
- package/package.json +1 -1
- package/registry/default/blocks/404-2/components/not-found.tsx +1 -1
- package/registry/default/blocks/auth1/components/auth-page.tsx +0 -7
- package/registry/default/blocks/auth1/components/logo.tsx +3 -14
- package/registry/default/blocks/auth2/components/auth.tsx +1 -1
- package/registry/default/blocks/auth2/components/ui/decor-icon.tsx +49 -36
- package/registry/default/blocks/auth3/components/logo.tsx +3 -14
- package/registry/default/blocks/auth3/components/ui/decor-icon.tsx +49 -36
- package/registry/default/blocks/contact5/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/cta-3/components/cta.tsx +1 -1
- package/registry/default/blocks/cta-3/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/cta-5/components/cta.tsx +3 -9
- package/registry/default/blocks/faq-3/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/features1/components/feature-section.tsx +1 -1
- package/registry/default/blocks/features2/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/features2/components/feature-section.tsx +1 -1
- package/registry/default/blocks/features4/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/features4/components/feature-section.tsx +0 -2
- package/registry/default/blocks/features5/components/feature-section.tsx +1 -1
- package/registry/default/blocks/features6/components/feature-section.tsx +5 -21
- package/registry/default/blocks/footer1/components/logo.tsx +3 -14
- package/registry/default/blocks/footer2/components/footer.tsx +1 -1
- package/registry/default/blocks/footer2/components/logo.tsx +3 -14
- package/registry/default/blocks/footer3/components/footer.tsx +2 -2
- package/registry/default/blocks/footer3/components/logo.tsx +3 -14
- package/registry/default/blocks/footer4/components/footer.tsx +1 -1
- package/registry/default/blocks/footer4/components/logo.tsx +3 -14
- package/registry/default/blocks/footer5/components/footer.tsx +27 -30
- package/registry/default/blocks/footer5/components/logo.tsx +3 -14
- package/registry/default/blocks/footer6/components/footer.tsx +3 -3
- package/registry/default/blocks/footer6/components/logo.tsx +3 -14
- package/registry/default/blocks/header1/components/logo.tsx +3 -14
- package/registry/default/blocks/header2/components/logo.tsx +3 -14
- package/registry/default/blocks/header3/components/logo.tsx +3 -14
- package/registry/default/blocks/hero1/components/hero.tsx +7 -7
- package/registry/default/blocks/hero1/components/logo.tsx +3 -14
- package/registry/default/blocks/hero2/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/hero2/components/hero.tsx +4 -5
- package/registry/default/blocks/hero2/components/logo.tsx +3 -14
- package/registry/default/blocks/hero3/components/hero.tsx +2 -3
- package/registry/default/blocks/hero3/components/logo.tsx +3 -14
- package/registry/default/blocks/integrations1/components/integrations.tsx +7 -1
- package/registry/default/blocks/integrations2/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/integrations2/components/integrations.tsx +7 -1
- package/registry/default/blocks/integrations3/components/integrations.tsx +25 -34
- package/registry/default/blocks/integrations4/components/integrations.tsx +2 -5
- package/registry/default/blocks/integrations5/components/integrations.tsx +8 -5
- package/registry/default/blocks/logo-cloud-2/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/logo-cloud-3/app/page.tsx +2 -2
- package/registry/default/blocks/logo-cloud-3/components/logo-cloud.tsx +1 -1
- package/registry/default/blocks/logo-cloud-4/components/logo-cloud.tsx +1 -1
- package/registry/default/blocks/logo-cloud-4/components/progressive-blur.tsx +30 -36
- package/registry/default/blocks/pricing1/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/stats10/components/stats.tsx +1 -9
- package/registry/default/blocks/testimonials1/components/logo.tsx +3 -14
- package/registry/default/blocks/testimonials1/components/testimonials.tsx +1 -1
- package/registry/default/blocks/testimonials2/components/testimonials.tsx +3 -3
- package/registry/default/blocks/testimonials3/components/decor-icon.tsx +49 -36
- package/registry/default/blocks/testimonials3/components/testimonials.tsx +0 -1
- package/registry/default/blocks/testimonials5/components/testimonials.tsx +1 -1
- package/registry/default/blocks/testimonials6/components/testimonials.tsx +1 -1
- package/registry/default/examples/preview-card-profile.tsx +3 -3
- package/registry/default/ui/button.tsx +1 -1
- package/registry/default/ui/toggle.tsx +2 -1
- package/registry/default/blocks/auth1/components/particles.tsx +0 -321
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -76,7 +76,7 @@ export function Footer() {
|
|
|
76
76
|
<footer
|
|
77
77
|
className={cn(
|
|
78
78
|
"relative mx-auto flex w-full max-w-5xl flex-col items-center justify-center rounded-t-4xl border-t px-6 md:rounded-t-6xl md:px-8",
|
|
79
|
-
"
|
|
79
|
+
""
|
|
80
80
|
)}
|
|
81
81
|
>
|
|
82
82
|
<div className="absolute top-0 right-1/2 left-1/2 h-px w-1/3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-foreground/20 blur" />
|
|
@@ -113,7 +113,7 @@ export function Footer() {
|
|
|
113
113
|
))}
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
116
|
-
<div className="h-px w-full bg-
|
|
116
|
+
<div className="h-px w-full bg-border" />
|
|
117
117
|
<div className="flex w-full items-center justify-center py-4">
|
|
118
118
|
<p className="text-muted-foreground text-sm">
|
|
119
119
|
© {new Date().getFullYear()} LoveUI, All rights reserved
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { Instagram as InstagramIcon, LinkedIn as LinkedinIcon, X as XIcon,
|
|
3
|
+
import { Instagram as InstagramIcon, LinkedIn as LinkedinIcon, X as XIcon, Facebook as FacebookIcon } from "love-ui/logos";
|
|
4
4
|
import { Button } from "@/registry/default/ui/button";
|
|
5
|
+
import { Input } from "@/registry/default/ui/input";
|
|
5
6
|
|
|
6
7
|
export function Footer() {
|
|
7
8
|
return (
|
|
@@ -25,13 +26,13 @@ export function Footer() {
|
|
|
25
26
|
))}
|
|
26
27
|
</div>
|
|
27
28
|
<div className="h-px bg-border" />
|
|
28
|
-
{/* Social
|
|
29
|
-
<div className="flex flex-wrap items-center justify-between gap-
|
|
29
|
+
{/* Social buttons + newsletter */}
|
|
30
|
+
<div className="flex flex-wrap items-center justify-between gap-6 py-5">
|
|
30
31
|
<div className="flex items-center gap-2">
|
|
31
32
|
{socialLinks.map(({ icon, href }, index) => (
|
|
32
33
|
<Button
|
|
33
34
|
asChild
|
|
34
|
-
key={`social-${href}-${index}`}
|
|
35
|
+
key={`social-${href}-${index}`}
|
|
35
36
|
size="icon"
|
|
36
37
|
variant="outline"
|
|
37
38
|
>
|
|
@@ -40,32 +41,28 @@ export function Footer() {
|
|
|
40
41
|
))}
|
|
41
42
|
</div>
|
|
42
43
|
|
|
43
|
-
<div className="flex gap-
|
|
44
|
-
<
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<p className="font-bold text-base leading-none">App Store</p>
|
|
66
|
-
</div>
|
|
67
|
-
</a>
|
|
68
|
-
</Button>
|
|
44
|
+
<div className="flex w-full flex-col gap-3 sm:w-auto sm:flex-row sm:items-center">
|
|
45
|
+
<div className="max-w-xs">
|
|
46
|
+
<p className="font-medium text-sm">Stay in the loop</p>
|
|
47
|
+
<p className="text-muted-foreground text-xs">
|
|
48
|
+
Product notes and resources, sent occasionally.
|
|
49
|
+
</p>
|
|
50
|
+
</div>
|
|
51
|
+
<form className="flex w-full flex-col gap-2 sm:w-auto sm:flex-row">
|
|
52
|
+
<label className="sr-only" htmlFor="footer-email">
|
|
53
|
+
Email address
|
|
54
|
+
</label>
|
|
55
|
+
<Input
|
|
56
|
+
className="sm:w-56"
|
|
57
|
+
id="footer-email"
|
|
58
|
+
placeholder="Email address"
|
|
59
|
+
size="sm"
|
|
60
|
+
type="email"
|
|
61
|
+
/>
|
|
62
|
+
<Button className="w-full sm:w-auto" size="sm" type="submit">
|
|
63
|
+
Subscribe
|
|
64
|
+
</Button>
|
|
65
|
+
</form>
|
|
69
66
|
</div>
|
|
70
67
|
</div>
|
|
71
68
|
<div className="h-px bg-border" />
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -44,9 +44,9 @@ export function StickyFooter({ preview = false }: StickyFooterProps) {
|
|
|
44
44
|
aria-hidden
|
|
45
45
|
className="absolute inset-0 isolate z-0 opacity-50 contain-strict dark:opacity-60"
|
|
46
46
|
>
|
|
47
|
-
<div className="absolute top-0 left-0 h-320 w-140 -translate-y-87.5 -rotate-45 rounded-full
|
|
48
|
-
<div className="absolute top-0 left-0 h-320 w-60 -rotate-45 rounded-full
|
|
49
|
-
<div className="absolute top-0 left-0 h-320 w-60 -translate-y-87.5 -rotate-45 rounded-full
|
|
47
|
+
<div className="absolute top-0 left-0 h-320 w-140 -translate-y-87.5 -rotate-45 rounded-full" />
|
|
48
|
+
<div className="absolute top-0 left-0 h-320 w-60 -rotate-45 rounded-full [translate:5%_-50%]" />
|
|
49
|
+
<div className="absolute top-0 left-0 h-320 w-60 -translate-y-87.5 -rotate-45 rounded-full" />
|
|
50
50
|
</div>
|
|
51
51
|
<div className="relative mx-auto flex size-full max-w-6xl flex-col justify-between gap-5">
|
|
52
52
|
<div className="grid grid-cols-1 gap-8 px-4 pt-12 md:grid-cols-2 lg:grid-cols-4">
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -10,7 +10,7 @@ export function HeroSection() {
|
|
|
10
10
|
aria-hidden="true"
|
|
11
11
|
className="absolute inset-0 isolate hidden overflow-hidden contain-strict lg:block"
|
|
12
12
|
>
|
|
13
|
-
<div className="absolute inset-0 -top-14 isolate -z-10
|
|
13
|
+
<div className="absolute inset-0 -top-14 isolate -z-10 contain-strict" />
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
16
|
{/* X Bold Faded Borders */}
|
|
@@ -18,8 +18,8 @@ export function HeroSection() {
|
|
|
18
18
|
aria-hidden="true"
|
|
19
19
|
className="absolute inset-0 mx-auto hidden min-h-screen w-full max-w-5xl lg:block"
|
|
20
20
|
>
|
|
21
|
-
<div className="
|
|
22
|
-
<div className="
|
|
21
|
+
<div className=" absolute inset-y-0 left-0 z-10 h-full w-px bg-foreground/15" />
|
|
22
|
+
<div className=" absolute inset-y-0 right-0 z-10 h-full w-px bg-foreground/15" />
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
{/* main content */}
|
|
@@ -30,10 +30,10 @@ export function HeroSection() {
|
|
|
30
30
|
aria-hidden="true"
|
|
31
31
|
className="absolute inset-0 -z-1 size-full overflow-hidden"
|
|
32
32
|
>
|
|
33
|
-
<div className="absolute inset-y-0 left-4 w-px bg-
|
|
34
|
-
<div className="absolute inset-y-0 right-4 w-px bg-
|
|
35
|
-
<div className="absolute inset-y-0 left-8 w-px bg-
|
|
36
|
-
<div className="absolute inset-y-0 right-8 w-px bg-
|
|
33
|
+
<div className="absolute inset-y-0 left-4 w-px bg-border md:left-8" />
|
|
34
|
+
<div className="absolute inset-y-0 right-4 w-px bg-border md:right-8" />
|
|
35
|
+
<div className="absolute inset-y-0 left-8 w-px bg-border/50 md:left-12" />
|
|
36
|
+
<div className="absolute inset-y-0 right-8 w-px bg-border/50 md:right-12" />
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
39
|
<a
|
|
@@ -7,18 +7,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
7
7
|
xmlns="http://www.w3.org/2000/svg"
|
|
8
8
|
{...props}
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
<linearGradient id="loveui-blue" x1="0" y1="0" x2="48" y2="48">
|
|
12
|
-
<stop stopColor="#38A3FF" />
|
|
13
|
-
<stop offset="0.55" stopColor="#1266F1" />
|
|
14
|
-
<stop offset="1" stopColor="#0B3FD8" />
|
|
15
|
-
</linearGradient>
|
|
16
|
-
|
|
17
|
-
<linearGradient id="loveui-shine" x1="0" y1="0" x2="1" y2="1">
|
|
18
|
-
<stop stopColor="#FFFFFF" stopOpacity="0.9" />
|
|
19
|
-
<stop offset="1" stopColor="#BBD8FF" stopOpacity="0.4" />
|
|
20
|
-
</linearGradient>
|
|
21
|
-
</defs>
|
|
10
|
+
|
|
22
11
|
|
|
23
12
|
<g transform="translate(0 0)">
|
|
24
13
|
<rect
|
|
@@ -27,7 +16,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
27
16
|
width="48"
|
|
28
17
|
height="48"
|
|
29
18
|
rx="12"
|
|
30
|
-
fill="
|
|
19
|
+
fill="#1266F1"
|
|
31
20
|
/>
|
|
32
21
|
|
|
33
22
|
<path
|
|
@@ -70,7 +59,7 @@ export const Logo = (props: React.ComponentProps<"svg">) => (
|
|
|
70
59
|
H18
|
|
71
60
|
C19.7 29 21 27.7 21 25
|
|
72
61
|
Z"
|
|
73
|
-
fill="
|
|
62
|
+
fill="#BBD8FF"
|
|
74
63
|
opacity="0.5"
|
|
75
64
|
/>
|
|
76
65
|
</g>
|
|
@@ -2,44 +2,57 @@ import { cn } from "@/lib/utils";
|
|
|
2
2
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
3
3
|
|
|
4
4
|
const DecorIconVariants = cva(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
5
|
+
"pointer-events-none absolute z-1 size-4 shrink-0 stroke-1 stroke-muted-foreground transition-transform",
|
|
6
|
+
{
|
|
7
|
+
variants: {
|
|
8
|
+
position: {
|
|
9
|
+
// We also rotate the SVG inside the variant so the bracket always points inward
|
|
10
|
+
"top-left":
|
|
11
|
+
"top-0 left-0 -translate-x-1/2 -translate-y-1/2",
|
|
12
|
+
"top-right":
|
|
13
|
+
"top-0 right-0 translate-x-1/2 -translate-y-1/2 rotate-90",
|
|
14
|
+
"bottom-right":
|
|
15
|
+
"right-0 bottom-0 translate-x-1/2 translate-y-1/2 rotate-180",
|
|
16
|
+
"bottom-left":
|
|
17
|
+
"bottom-0 left-0 -translate-x-1/2 translate-y-1/2 -rotate-90",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
position: "top-left",
|
|
22
|
+
},
|
|
23
|
+
}
|
|
23
24
|
);
|
|
24
25
|
|
|
25
26
|
type DecorIconProps = React.ComponentProps<"svg"> &
|
|
26
|
-
|
|
27
|
+
VariantProps<typeof DecorIconVariants> & {
|
|
28
|
+
variant?: "bracket" | "dot" | "diagonal";
|
|
29
|
+
};
|
|
27
30
|
|
|
28
|
-
export function DecorIcon({ position, className, ...props }: DecorIconProps) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
export function DecorIcon({ position, variant = "bracket", className, ...props }: DecorIconProps) {
|
|
32
|
+
return (
|
|
33
|
+
<svg
|
|
34
|
+
aria-hidden="true"
|
|
35
|
+
className={cn(DecorIconVariants({ position, className }))}
|
|
36
|
+
fill="none"
|
|
37
|
+
stroke="currentColor"
|
|
38
|
+
viewBox="0 0 24 24"
|
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
+
{...props}
|
|
41
|
+
>
|
|
42
|
+
{/* OPTION 1: Corner Bracket (Default) */}
|
|
43
|
+
{variant === "bracket" && (
|
|
44
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M12 4H4v8" />
|
|
45
|
+
)}
|
|
46
|
+
|
|
47
|
+
{/* OPTION 2: Minimalist Dot (Change fill to currentColor in class if using this) */}
|
|
48
|
+
{variant === "dot" && (
|
|
49
|
+
<circle cx="12" cy="12" r="3" fill="currentColor" />
|
|
50
|
+
)}
|
|
51
|
+
|
|
52
|
+
{/* OPTION 3: Diagonal Accent Line */}
|
|
53
|
+
{variant === "diagonal" && (
|
|
54
|
+
<path strokeLinecap="round" d="M4 20L20 4" />
|
|
55
|
+
)}
|
|
56
|
+
</svg>
|
|
57
|
+
);
|
|
45
58
|
}
|