Merge pull request #215 from widgeter/main

Include title in some widgets
This commit is contained in:
widgeter
2023-08-09 10:19:37 -04:00
committed by GitHub
7 changed files with 80 additions and 57 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

@ -28,14 +28,14 @@ const {
tagline={tagline} tagline={tagline}
callToAction={callToAction} callToAction={callToAction}
classes={{ classes={{
container: 'text-left mb-4 md:mb-8', container: 'text-center md:text-left mb-4 md:mb-8',
title: 'mb-4 text-3xl lg:text-4xl font-bold font-heading', title: 'mb-4 text-3xl lg:text-4xl font-bold font-heading',
subtitle: 'mb-8 text-xl text-muted dark:text-slate-400', subtitle: 'mb-8 text-xl text-muted dark:text-slate-400',
// ...((classes?.headline as {}) ?? {}), // ...((classes?.headline as {}) ?? {}),
}} }}
/> />
<div class="w-full"> <div class="w-full text-center md:text-left">
{ {
typeof callToAction === 'string' ? ( typeof callToAction === 'string' ? (
<Fragment set:html={callToAction} /> <Fragment set:html={callToAction} />
@ -52,7 +52,7 @@ const {
} }
</div> </div>
</div> </div>
<div class="w-full lg:w-1/2 px-8 sm:px-0"> <div class="w-full lg:w-1/2 px-0">
<ul class="space-y-10"> <ul class="space-y-10">
{ {
items && items.length items && items.length

View File

@ -30,6 +30,7 @@ const metadata = {
<!-- Stats Widget ****************** --> <!-- Stats Widget ****************** -->
<Stats <Stats
title="Statistics about us"
stats={[ stats={[
{ title: 'Offices', amount: '4' }, { title: 'Offices', amount: '4' },
{ title: 'Employees', amount: '248' }, { title: 'Employees', amount: '248' },
@ -120,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',
@ -144,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',
@ -174,7 +175,8 @@ const metadata = {
<!-- Features2 Widget ************** --> <!-- Features2 Widget ************** -->
<Features2 <Features2
tagline="Our locations" title="Our locations"
tagline="Find us"
columns={4} columns={4}
items={[ items={[
{ {
@ -199,7 +201,8 @@ const metadata = {
<!-- Features2 Widget ************** --> <!-- Features2 Widget ************** -->
<Features2 <Features2
tagline="Technical Support" title="Technical Support"
tagline="Contact us"
columns={2} columns={2}
items={[ items={[
{ {

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,8 +60,9 @@ const metadata = {
<!-- Features3 Widget ************** --> <!-- Features3 Widget ************** -->
<Features3 <Features3
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. Save time, achieve a polished look, and customize templates to fit your style. Join thousands of satisfied users who've transformed their documents effortlessly. Explore our templates now and experience the difference." title="How to use our app?"
tagline="Step-by-step guide on 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."
tagline="Step-by-step guide"
columns={2} columns={2}
items={[ items={[
{ {
@ -182,6 +183,7 @@ const metadata = {
<!-- Stats Widget ****************** --> <!-- Stats Widget ****************** -->
<Stats <Stats
title="Statistics of our app"
stats={[ stats={[
{ amount: '20K', icon: 'tabler:download' }, { amount: '20K', icon: 'tabler:download' },
{ amount: '18.5K', icon: 'tabler:users' }, { amount: '18.5K', icon: 'tabler:users' },
@ -192,7 +194,7 @@ const metadata = {
<!-- Testimonials Widget *********** --> <!-- Testimonials Widget *********** -->
<Testimonials <Testimonials
tagline="What our users say about us?" title="What our users say?"
testimonials={[ testimonials={[
{ {
testimonial: testimonial:
@ -263,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>

View File

@ -57,6 +57,7 @@ const metadata = {
<!-- Stats Widget ****************** --> <!-- Stats Widget ****************** -->
<Stats <Stats
title="Our statistics"
stats={[ stats={[
{ title: 'Templates', amount: '56' }, { title: 'Templates', amount: '56' },
{ title: 'Downloads', amount: '182K' }, { title: 'Downloads', amount: '182K' },