create-lacspace-app 2.1.0 → 2.1.1

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.
Files changed (2) hide show
  1. package/dist/index.js +27 -26
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -555,7 +555,8 @@ function homePage(ctx) {
555
555
  restaurant: { t: "Join us for dinner", s: "We fill up fast on weekends \u2014 book your table ahead.", l: "Reserve a table", h: "/reservations" }
556
556
  };
557
557
  const cc = ctaCopy[ctx.template.key] ?? ctaCopy.business;
558
- return `import { site } from "@/lib/site";
558
+ return `import Link from "next/link";
559
+ import { site } from "@/lib/site";
559
560
  import { LiveStats } from "@/components/live-stats";
560
561
  import { Aurora } from "@/components/aurora";
561
562
  import { HeroArt } from "@/components/hero-art";
@@ -588,13 +589,13 @@ export default function Home() {
588
589
  <p className="lead mx-auto mt-6 max-w-xl">${ctx.template.siteDescription}</p>
589
590
  <div className="mt-10 flex flex-wrap justify-center gap-3">
590
591
  <a href="#work" className="shimmer rounded-full gradient-bg px-7 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">View my work</a>
591
- <a href="/contact" className="rounded-full border border-hairline px-7 py-3.5 font-semibold transition hover:bg-surface">Get in touch</a>
592
+ <Link href="/contact" className="rounded-full border border-hairline px-7 py-3.5 font-semibold transition hover:bg-surface">Get in touch</Link>
592
593
  </div>
593
594
  </section>
594
595
  <section id="work" className="mx-auto max-w-6xl px-6 py-20">
595
596
  <div className="mb-12 flex items-end justify-between">
596
597
  <div><p className="text-sm font-semibold uppercase tracking-widest gradient-text">Selected work</p><h2 className="mt-3 text-3xl font-bold sm:text-4xl">Things I've shipped</h2></div>
597
- <a href="/work" className="hidden text-sm text-muted underline-offset-4 transition hover:text-fg hover:underline sm:block">All projects \u2192</a>
598
+ <Link href="/work" className="hidden text-sm text-muted underline-offset-4 transition hover:text-fg hover:underline sm:block">All projects \u2192</Link>
598
599
  </div>
599
600
  <div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
600
601
  {[
@@ -605,12 +606,12 @@ export default function Home() {
605
606
  { t: "Cadence Marketing", d: "A brand and site refresh that doubled qualified inbound leads.", tag: "Brand", e: "\u2728" },
606
607
  { t: "Meadow Docs", d: "A fast, searchable docs platform teams actually enjoy reading.", tag: "Web", e: "\u{1F4DA}" },
607
608
  ].map((p) => (
608
- <a key={p.t} href="/work" className="card group flex flex-col p-6">
609
+ <Link key={p.t} href="/work" className="card group flex flex-col p-6">
609
610
  <div className="mb-5 flex aspect-[16/10] items-center justify-center overflow-hidden rounded-xl gradient-bg text-5xl on-accent">{p.e}</div>
610
611
  <span className="text-xs font-semibold uppercase tracking-widest gradient-text">{p.tag}</span>
611
612
  <h3 className="mt-1.5 font-semibold tracking-tight">{p.t}</h3>
612
613
  <p className="mt-1.5 text-sm leading-relaxed text-muted">{p.d}</p>
613
- </a>
614
+ </Link>
614
615
  ))}
615
616
  </div>
616
617
  </section>`);
@@ -621,8 +622,8 @@ export default function Home() {
621
622
  <h1 className="text-display mt-7">We build products <span className="gradient-text">that grow businesses</span></h1>
622
623
  <p className="lead mx-auto mt-6 max-w-2xl">${ctx.template.siteDescription}</p>
623
624
  <div className="mt-10 flex flex-wrap justify-center gap-3">
624
- <a href="/contact" className="shimmer rounded-full gradient-bg px-7 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Start a project</a>
625
- <a href="/work" className="rounded-full border border-hairline px-7 py-3.5 font-semibold transition hover:bg-surface">See our work</a>
625
+ <Link href="/contact" className="shimmer rounded-full gradient-bg px-7 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Start a project</Link>
626
+ <Link href="/work" className="rounded-full border border-hairline px-7 py-3.5 font-semibold transition hover:bg-surface">See our work</Link>
626
627
  </div>
627
628
  </section>
628
629
  <section id="services" className="mx-auto max-w-6xl px-6 py-20">
@@ -648,14 +649,14 @@ export default function Home() {
648
649
  <h1 className="text-display mt-7"><span className="gradient-text">${n}</span></h1>
649
650
  <p className="lead mx-auto mt-6 max-w-xl">${ctx.template.siteDescription}</p>
650
651
  <div className="mt-10 flex flex-wrap justify-center gap-3">
651
- <a href="/shop" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Shop the collection</a>
652
- <a href="/collections" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">Browse collections</a>
652
+ <Link href="/shop" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Shop the collection</Link>
653
+ <Link href="/collections" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">Browse collections</Link>
653
654
  </div>
654
655
  </section>
655
656
  <section id="shop" className="mx-auto max-w-6xl px-6 py-20">
656
657
  <div className="mb-12 flex items-end justify-between">
657
658
  <div><p className="text-sm font-semibold uppercase tracking-widest gradient-text">Featured</p><h2 className="mt-3 text-3xl font-bold sm:text-4xl">This week's edit</h2></div>
658
- <a href="/shop" className="hidden text-sm text-muted underline-offset-4 transition hover:text-fg hover:underline sm:block">Shop all \u2192</a>
659
+ <Link href="/shop" className="hidden text-sm text-muted underline-offset-4 transition hover:text-fg hover:underline sm:block">Shop all \u2192</Link>
659
660
  </div>
660
661
  <div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-4">
661
662
  {[
@@ -663,12 +664,12 @@ export default function Home() {
663
664
  { n: "Linen Waffle Throw", p: "$65", e: "\u{1F9FA}" }, { n: "Oak Monitor Stand", p: "$120", e: "\u{1FAB5}" },
664
665
  ].map((prod) => (
665
666
  <div key={prod.n} className="card group flex flex-col p-4">
666
- <a href="/shop" className="mb-4 flex aspect-square items-center justify-center overflow-hidden rounded-xl gradient-bg text-6xl on-accent transition group-hover:scale-[1.03]">{prod.e}</a>
667
+ <Link href="/shop" className="mb-4 flex aspect-square items-center justify-center overflow-hidden rounded-xl gradient-bg text-6xl on-accent transition group-hover:scale-[1.03]">{prod.e}</Link>
667
668
  <div className="flex items-start justify-between gap-2">
668
669
  <h3 className="font-semibold tracking-tight">{prod.n}</h3>
669
670
  <span className="shrink-0 font-semibold text-muted">{prod.p}</span>
670
671
  </div>
671
- <a href="/shop" className="mt-4 block w-full rounded-full gradient-bg py-2.5 text-center text-sm font-semibold on-accent transition hover:-translate-y-0.5">Add to cart</a>
672
+ <Link href="/shop" className="mt-4 block w-full rounded-full gradient-bg py-2.5 text-center text-sm font-semibold on-accent transition hover:-translate-y-0.5">Add to cart</Link>
672
673
  </div>
673
674
  ))}
674
675
  </div>
@@ -679,10 +680,10 @@ export default function Home() {
679
680
  <p className="text-sm font-semibold uppercase tracking-widest gradient-text">The Journal</p>
680
681
  <h1 className="text-display mt-4"><span className="gradient-text">${n}</span></h1>
681
682
  <p className="lead mt-6 max-w-2xl">${ctx.template.siteDescription}</p>
682
- <a href="/blog" className="mt-8 inline-flex items-center gap-2 text-sm font-semibold text-fg underline-offset-4 hover:underline">Read the archive \u2192</a>
683
+ <Link href="/blog" className="mt-8 inline-flex items-center gap-2 text-sm font-semibold text-fg underline-offset-4 hover:underline">Read the archive \u2192</Link>
683
684
  </section>
684
685
  <section id="latest" className="mx-auto max-w-5xl px-6 pb-8">
685
- <a href="/blog" className="card group grid gap-6 overflow-hidden p-6 sm:grid-cols-[1.2fr_1fr] sm:p-8">
686
+ <Link href="/blog" className="card group grid gap-6 overflow-hidden p-6 sm:grid-cols-[1.2fr_1fr] sm:p-8">
686
687
  <div className="flex aspect-[16/10] items-center justify-center overflow-hidden rounded-2xl gradient-bg text-6xl on-accent transition group-hover:scale-[1.02]">\u{1F4EE}</div>
687
688
  <div className="flex flex-col justify-center">
688
689
  <span className="text-xs font-semibold uppercase tracking-widest gradient-text">Featured</span>
@@ -690,7 +691,7 @@ export default function Home() {
690
691
  <p className="mt-3 leading-relaxed text-muted">Most teams polish the wrong things. Here's the single unglamorous check that separates a launch that lands from one that limps.</p>
691
692
  <span className="mt-5 text-sm text-faint">8 min read \xB7 Product</span>
692
693
  </div>
693
- </a>
694
+ </Link>
694
695
  </section>
695
696
  <section className="mx-auto max-w-5xl px-6 py-16">
696
697
  <div className="grid gap-8 sm:grid-cols-2">
@@ -700,12 +701,12 @@ export default function Home() {
700
701
  { t: "Building in the open, one year in", d: "What we learned shipping every week where anyone could watch.", tag: "Culture", e: "\u{1F331}" },
701
702
  { t: "Design systems for teams of one", d: "You don't need a committee to move fast and stay consistent.", tag: "Design", e: "\u{1F3A8}" },
702
703
  ].map((p) => (
703
- <a key={p.t} href="/blog" className="group">
704
+ <Link key={p.t} href="/blog" className="group">
704
705
  <div className="mb-4 flex aspect-[16/9] items-center justify-center overflow-hidden rounded-2xl gradient-bg text-5xl on-accent transition group-hover:scale-[1.02]">{p.e}</div>
705
706
  <span className="text-xs font-semibold uppercase tracking-widest gradient-text">{p.tag}</span>
706
707
  <h3 className="mt-1.5 text-xl font-semibold tracking-tight transition group-hover:text-[color:var(--accent-to)]">{p.t}</h3>
707
708
  <p className="mt-1.5 text-sm leading-relaxed text-muted">{p.d}</p>
708
- </a>
709
+ </Link>
709
710
  ))}
710
711
  </div>
711
712
  </section>`);
@@ -717,7 +718,7 @@ export default function Home() {
717
718
  <h1 className="text-display mt-7">Build with <span className="gradient-text">${n}</span></h1>
718
719
  <p className="lead mx-auto mt-6 max-w-2xl">Guides, API references and copy-paste examples \u2014 everything you need, in one fast, searchable place.</p>
719
720
  <div className="mt-9 flex flex-wrap items-center justify-center gap-3">
720
- <a href="/docs" className="shimmer rounded-full gradient-bg px-7 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Read the docs</a>
721
+ <Link href="/docs" className="shimmer rounded-full gradient-bg px-7 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Read the docs</Link>
721
722
  <div className="glass inline-flex items-center gap-3 rounded-full px-5 py-3 font-mono text-sm text-muted"><span className="gradient-text font-bold">$</span> npm i ${pkg}</div>
722
723
  </div>
723
724
  </section>
@@ -728,11 +729,11 @@ export default function Home() {
728
729
  { t: "Guides", d: "Task-focused walkthroughs for the paths you'll actually take.", e: "\u{1F9ED}", href: "/guides" },
729
730
  { t: "API reference", d: "Every endpoint, fully typed, with copy-paste examples in each language.", e: "\u{1F50C}", href: "/api-reference" },
730
731
  ].map((c) => (
731
- <a key={c.t} href={c.href} className="card group p-8">
732
+ <Link key={c.t} href={c.href} className="card group p-8">
732
733
  <div className="mb-5 inline-flex h-12 w-12 items-center justify-center rounded-2xl gradient-bg text-2xl accent-glow">{c.e}</div>
733
734
  <h3 className="text-xl font-bold tracking-tight">{c.t} <span className="inline-block transition group-hover:translate-x-1">\u2192</span></h3>
734
735
  <p className="mt-2 leading-relaxed text-muted">{c.d}</p>
735
- </a>
736
+ </Link>
736
737
  ))}
737
738
  </div>
738
739
  </section>`);
@@ -743,8 +744,8 @@ export default function Home() {
743
744
  <h1 className="text-display mt-5"><span className="gradient-text">${n}</span></h1>
744
745
  <p className="lead mx-auto mt-6 max-w-xl">${ctx.template.siteDescription}</p>
745
746
  <div className="mt-10 flex flex-wrap justify-center gap-3">
746
- <a href="/reservations" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Reserve a table</a>
747
- <a href="/menu" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">View the menu</a>
747
+ <Link href="/reservations" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Reserve a table</Link>
748
+ <Link href="/menu" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">View the menu</Link>
748
749
  </div>
749
750
  </section>
750
751
  <section id="menu" className="mx-auto max-w-4xl px-6 py-20">
@@ -770,8 +771,8 @@ export default function Home() {
770
771
  <h1 className="text-display mt-7">Ship faster with <span className="gradient-text">${n}</span></h1>
771
772
  <p className="lead mx-auto mt-6 max-w-2xl">${ctx.template.siteDescription}</p>
772
773
  <div className="mt-10 flex flex-wrap justify-center gap-3">
773
- <a href="/pricing" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Start free</a>
774
- <a href="/features" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">See features</a>
774
+ <Link href="/pricing" className="shimmer rounded-full gradient-bg px-8 py-3.5 font-semibold on-accent transition hover:-translate-y-0.5">Start free</Link>
775
+ <Link href="/features" className="rounded-full border border-hairline px-8 py-3.5 font-semibold transition hover:bg-surface">See features</Link>
775
776
  </div>
776
777
  <p className="mt-5 text-sm text-faint">No credit card \xB7 Free forever plan \xB7 SOC 2-ready</p>
777
778
  </section>
@@ -1015,7 +1016,7 @@ var careersPage = (ctx) => {
1015
1016
  ].map((j) => (
1016
1017
  <div key={j.role} className="flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-hairline bg-surface p-5">
1017
1018
  <div><h3 className="font-semibold">{j.role}</h3><p className="text-sm text-muted">{j.team}</p></div>
1018
- <div className="flex items-center gap-3"><Badge>{j.type}</Badge><a href="/contact" className="rounded-full gradient-bg px-4 py-2 text-sm font-semibold on-accent">Apply</a></div>
1019
+ <div className="flex items-center gap-3"><Badge>{j.type}</Badge><Link href="/contact" className="rounded-full gradient-bg px-4 py-2 text-sm font-semibold on-accent">Apply</Link></div>
1019
1020
  </div>
1020
1021
  ))}
1021
1022
  </div>
@@ -1112,7 +1113,7 @@ var reservationsPage = (ctx) => {
1112
1113
  <div className="mx-auto max-w-2xl rounded-3xl border border-hairline bg-surface p-8 text-center">
1113
1114
  <h2 className="text-2xl font-bold">Book by phone or online</h2>
1114
1115
  <p className="mt-3 text-muted">Call us on <span className="font-semibold text-fg">+1 (555) 012-3456</span> or reserve online in seconds.</p>
1115
- <a href="/contact" className="mt-6 inline-block rounded-full gradient-bg px-8 py-3 font-semibold on-accent">Reserve a table</a>
1116
+ <Link href="/contact" className="mt-6 inline-block rounded-full gradient-bg px-8 py-3 font-semibold on-accent">Reserve a table</Link>
1116
1117
  </div>
1117
1118
  </Section>`,
1118
1119
  cta: { title: "Planning something special?", subtitle: "Ask us about private dining and set menus.", label: "Enquire now", href: "/contact" }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-lacspace-app",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Scaffold a beautiful, production-ready Next.js app from a Lacspace template — portfolio, business, e-commerce, SaaS, blog, docs, dashboard or restaurant — pre-wired with SEO, security headers, sitemap and robots. Like create-next-app, but you start gorgeous.",
5
5
  "type": "module",
6
6
  "bin": {