Add WidgetWrapper and Headline in Content widget

This commit is contained in:
widgeter
2023-08-09 12:34:08 +02:00
parent 000972fa2a
commit 951f270726
5 changed files with 67 additions and 50 deletions

View File

@ -2,6 +2,8 @@
import { Icon } from 'astro-icon/components'; import { Icon } from 'astro-icon/components';
import { Picture } from '@astrojs/image/components'; import { Picture } from '@astrojs/image/components';
import type { Content } from '~/types'; import type { Content } from '~/types';
import Headline from '../ui/Headline.astro';
import WidgetWrapper from '../ui/WidgetWrapper.astro';
const { const {
title = await Astro.slots.render('title'), title = await Astro.slots.render('title'),
@ -12,34 +14,30 @@ const {
image = await Astro.slots.render('image'), image = await Astro.slots.render('image'),
isReversed = false, isReversed = false,
isAfterContent = false, isAfterContent = false,
id,
isDark = false,
classes = {},
bg = await Astro.slots.render('bg'),
} = Astro.props as Content; } = Astro.props as Content;
--- ---
<section class:list={[{ 'pt-0 md:pt-0': isAfterContent }, 'bg-blue-50 dark:bg-page py-16 md:py-20 not-prose']}> <WidgetWrapper
<div class="max-w-xl sm:mx-auto lg:max-w-2xl"> id={id}
{ isDark={isDark}
(title || subtitle || tagline) && ( containerClass={`max-w-screen-xl mx-auto ${isAfterContent ? 'pt-0 md:pt-0 lg:pt-0' : ''} ${classes?.container ?? ''}`}
<div class="mb-10 md:mx-auto text-center md:mb-12 max-w-3xl"> bg={bg}
{tagline && ( >
<p <Headline
class="text-base text-primary dark:text-blue-200 font-semibold tracking-wide uppercase" title={title}
set:html={tagline} subtitle={subtitle}
tagline={tagline}
classes={{
container: 'max-w-xl sm:mx-auto lg:max-w-2xl',
title: 'text-4xl md:text-5xl font-bold leading-tighter tracking-tighter mb-4 font-heading',
subtitle: 'max-w-3xl mx-auto sm:text-center text-xl text-muted dark:text-slate-400',
}}
/> />
)}
{title && (
<h2
class="text-4xl md:text-5xl font-bold leading-tighter tracking-tighter mb-4 font-heading"
set:html={title}
/>
)}
{subtitle && (
<p class="max-w-3xl mx-auto sm:text-center text-xl text-muted dark:text-slate-400" set:html={subtitle} />
)}
</div>
)
}
</div>
<div class="mx-auto max-w-7xl p-4 md:px-8"> <div class="mx-auto max-w-7xl p-4 md:px-8">
<div class={`md:flex ${isReversed ? 'md:flex-row-reverse' : ''} md:gap-16`}> <div class={`md:flex ${isReversed ? 'md:flex-row-reverse' : ''} md:gap-16`}>
<div class="md:basis-1/2 self-center"> <div class="md:basis-1/2 self-center">
@ -88,4 +86,4 @@ const {
</div> </div>
</div> </div>
</div> </div>
</section> </WidgetWrapper>

View File

@ -121,7 +121,7 @@ const metadata = {
<Steps2 <Steps2
title="Our values" title="Our values"
subtitle="Maecenas eu tellus eget est scelerisque lacinia et a diam. Aliquam velit lorem, vehicula id fermentum et, rhoncus et purus. Nulla facilisi. Vestibulum malesuada lacus id nibh posuere feugiat." subtitle="Maecenas eu tellus eget est scelerisque lacinia et a diam. Aliquam velit lorem, vehicula id fermentum et, rhoncus et purus. Nulla facilisi. Vestibulum malesuada lacus."
items={[ items={[
{ {
title: 'Customer-centric approach', title: 'Customer-centric approach',
@ -145,7 +145,7 @@ const metadata = {
<Steps2 <Steps2
title="Achievements" title="Achievements"
subtitle="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla, sed porttitor est nibh at nulla. Praesent placerat enim ut ex tincidunt vehicula. Fusce sit amet dui tellus." subtitle="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla, sed porttitor est nibh at nulla."
isReversed={true} isReversed={true}
callToAction={{ callToAction={{
text: 'See more', text: 'See more',

View File

@ -37,7 +37,8 @@ const metadata = {
+ Tailwind CSS.</span + Tailwind CSS.</span
> >
<span class="block mb-1 sm:hidden font-bold text-blue-600">AstroWind: Production-ready.</span> <span class="block mb-1 sm:hidden font-bold text-blue-600">AstroWind: Production-ready.</span>
Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages
& Blogs.
</Fragment> </Fragment>
</Hero> </Hero>
@ -80,7 +81,7 @@ const metadata = {
{ {
title: 'Search Engine Optimization (SEO)', title: 'Search Engine Optimization (SEO)',
description: description:
'SEO lies in its ability to enhance a website\'s visibility, driving organic traffic and enabling it to reach a wider audience.', "SEO lies in its ability to enhance a website's visibility, driving organic traffic and enabling it to reach a wider audience.",
icon: 'tabler:arrows-right-left', icon: 'tabler:arrows-right-left',
}, },
{ {
@ -124,6 +125,10 @@ const metadata = {
Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te
euismod tacimates. euismod tacimates.
</Fragment> </Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content> </Content>
<!-- Content Widget **************** --> <!-- Content Widget **************** -->
@ -155,7 +160,11 @@ const metadata = {
src: import('~/assets/images/vintage.jpg'), src: import('~/assets/images/vintage.jpg'),
alt: 'Vintage Image', alt: 'Vintage Image',
}} }}
/> >
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content>
<!-- Steps Widget ****************** --> <!-- Steps Widget ****************** -->

View File

@ -60,7 +60,7 @@ const metadata = {
<!-- Features3 Widget ************** --> <!-- Features3 Widget ************** -->
<Features3 <Features3
title="How to use our app" title="How to use our app?"
subtitle="Tired of spending hours crafting documents from scratch? Our app offers an innovative solution. With a wide array of professionally designed templates, you can now create stunning documents in minutes. Explore our templates now and experience the difference." subtitle="Tired of spending hours crafting documents from scratch? Our app offers an innovative solution. With a wide array of professionally designed templates, you can now create stunning documents in minutes. Explore our templates now and experience the difference."
tagline="Step-by-step guide" tagline="Step-by-step guide"
columns={2} columns={2}
@ -265,11 +265,7 @@ const metadata = {
'Proin aliquet, arcu in semper consectetur, ipsum urna pellentesque ipsum, sit amet aliquam odio nunc ac orci.', 'Proin aliquet, arcu in semper consectetur, ipsum urna pellentesque ipsum, sit amet aliquam odio nunc ac orci.',
}, },
]} ]}
> />
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</FAQs>
<!-- CallToAction Widget *********** --> <!-- CallToAction Widget *********** -->

View File

@ -20,12 +20,12 @@ const metadata = {
{...headerData} {...headerData}
actions={[ actions={[
{ {
type: "ghost", type: 'ghost',
text: 'Login', text: 'Login',
href: '#', href: '#',
}, },
{ {
type: "primary", type: 'primary',
text: 'Sign Up', text: 'Sign Up',
href: '#', href: '#',
}, },
@ -48,11 +48,11 @@ const metadata = {
<Fragment slot="subtitle"> <Fragment slot="subtitle">
<span class="hidden sm:inline"> <span class="hidden sm:inline">
<span class="font-semibold">AstroWind</span> is a free, customizable and production-ready template for Astro 2.0 + <span class="font-semibold">AstroWind</span> is a free, customizable and production-ready template for Astro 2.0
Tailwind CSS.</span + Tailwind CSS.</span
> >
<span class="block mb-1 sm:hidden font-bold text-blue-600">AstroWind: Production-ready.</span> Suitable for Startups, <span class="block mb-1 sm:hidden font-bold text-blue-600">AstroWind: Production-ready.</span> Suitable for
Small Business, Sass Websites, Professional Portfolios, Marketing Websites, Landing Pages & Blogs. Startups, Small Business, Sass Websites, Professional Portfolios, Marketing Websites, Landing Pages & Blogs.
</Fragment> </Fragment>
</Hero2> </Hero2>
@ -84,14 +84,19 @@ const metadata = {
> >
<Fragment slot="content"> <Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3> <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3>
Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te euismod Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te
tacimates. euismod tacimates.
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment> </Fragment>
</Content> </Content>
<!-- Content Widget **************** --> <!-- Content Widget **************** -->
<Content <Content
isAfterContent={true}
items={[ items={[
{ {
title: 'Per ei quaeque sensibus', title: 'Per ei quaeque sensibus',
@ -116,8 +121,12 @@ const metadata = {
> >
<Fragment slot="content"> <Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3> <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3>
Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te euismod Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te
tacimates. euismod tacimates.
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment> </Fragment>
</Content> </Content>
@ -125,6 +134,7 @@ const metadata = {
<Content <Content
isReversed isReversed
isAfterContent={true}
items={[ items={[
{ {
title: 'Per ei quaeque sensibus', title: 'Per ei quaeque sensibus',
@ -149,8 +159,12 @@ const metadata = {
> >
<Fragment slot="content"> <Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3> <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Ad vix debet docendi</h3>
Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te euismod Ne dicta praesent ocurreret has, diam theophrastus at pro. Eos etiam regione ut, persius eripuit quo id. Sit te
tacimates. euismod tacimates.
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment> </Fragment>
</Content> </Content>