Merge pull request #207 from widgeter/main
Include some widgets in startup page and in mobile-app page
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
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 { CallToAction } from '~/components/widgets/CallToAction.astro';
|
import { CallToAction } from '~/types';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
title?: string;
|
title?: string;
|
||||||
@ -48,7 +48,8 @@ const {
|
|||||||
<a class="btn btn-primary sm:mb-0 w-full" href={callToAction?.href} target="_blank" rel="noopener">
|
<a class="btn btn-primary sm:mb-0 w-full" href={callToAction?.href} target="_blank" rel="noopener">
|
||||||
{callToAction?.icon && (
|
{callToAction?.icon && (
|
||||||
<>
|
<>
|
||||||
<Icon name={callToAction.icon} class="w-5 h-5 mr-1 -ml-1.5" />
|
<Icon name={callToAction.icon} class="w-5 h-5 mr-1 -ml-1.5" />
|
||||||
|
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{callToAction?.text}
|
{callToAction?.text}
|
||||||
@ -66,7 +67,8 @@ const {
|
|||||||
<a class="btn w-full" href={callToAction2?.href}>
|
<a class="btn w-full" href={callToAction2?.href}>
|
||||||
{callToAction2?.icon && (
|
{callToAction2?.icon && (
|
||||||
<>
|
<>
|
||||||
<Icon name={callToAction2.icon} class="w-5 h-5 mr-1 -ml-1.5" />
|
<Icon name={callToAction2.icon} class="w-5 h-5 mr-1 -ml-1.5" />
|
||||||
|
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{callToAction2.text}
|
{callToAction2.text}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
---
|
---
|
||||||
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 { CallToAction } from '~/types';
|
||||||
import type { CallToAction } from '~/components/widgets/CallToAction.astro';
|
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
title?: string;
|
title?: string;
|
||||||
@ -39,7 +38,9 @@ const {
|
|||||||
}
|
}
|
||||||
<div class="max-w-3xl mx-auto lg:max-w-none">
|
<div class="max-w-3xl mx-auto lg:max-w-none">
|
||||||
{subtitle && <p class="text-xl text-muted mb-6 dark:text-slate-300" set:html={subtitle} />}
|
{subtitle && <p class="text-xl text-muted mb-6 dark:text-slate-300" set:html={subtitle} />}
|
||||||
<div class="max-w-xs sm:max-w-md m-auto flex flex-nowrap flex-col sm:flex-row sm:justify-center gap-4 lg:justify-start lg:m-0 lg:max-w-7xl">
|
<div
|
||||||
|
class="max-w-xs sm:max-w-md m-auto flex flex-nowrap flex-col sm:flex-row sm:justify-center gap-4 lg:justify-start lg:m-0 lg:max-w-7xl"
|
||||||
|
>
|
||||||
{
|
{
|
||||||
callToAction && (
|
callToAction && (
|
||||||
<div class="flex w-full sm:w-auto">
|
<div class="flex w-full sm:w-auto">
|
||||||
|
@ -4,9 +4,11 @@ import Layout from '~/layouts/PageLayout.astro';
|
|||||||
import Header from '~/components/widgets/Header.astro';
|
import Header from '~/components/widgets/Header.astro';
|
||||||
import Hero2 from '~/components/widgets/Hero2.astro';
|
import Hero2 from '~/components/widgets/Hero2.astro';
|
||||||
import CallToAction from '~/components/widgets/CallToAction.astro';
|
import CallToAction from '~/components/widgets/CallToAction.astro';
|
||||||
|
import Features3 from '~/components/widgets/Features3.astro';
|
||||||
|
import Content from '~/components/widgets/Content.astro';
|
||||||
|
|
||||||
const metadata = {
|
const metadata = {
|
||||||
title: "Mobile App Landing Page",
|
title: 'Mobile App Landing Page',
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -17,12 +19,12 @@ const metadata = {
|
|||||||
links={[]}
|
links={[]}
|
||||||
actions={[
|
actions={[
|
||||||
{
|
{
|
||||||
type: "ghost",
|
type: 'ghost',
|
||||||
text: 'Login',
|
text: 'Login',
|
||||||
href: '#',
|
href: '#',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "primary",
|
type: 'primary',
|
||||||
text: 'Sign Up',
|
text: 'Sign Up',
|
||||||
href: '#',
|
href: '#',
|
||||||
},
|
},
|
||||||
@ -33,7 +35,7 @@ const metadata = {
|
|||||||
<!-- Hero2 Widget ******************* -->
|
<!-- Hero2 Widget ******************* -->
|
||||||
|
|
||||||
<Hero2
|
<Hero2
|
||||||
callToAction={{ text: 'Get template', href: 'https://github.com/onwidget/astrowind', icon: 'tabler:download' }}
|
callToAction={{ text: 'Download App', href: 'https://github.com/onwidget/astrowind', icon: 'tabler:download' }}
|
||||||
callToAction2={{ text: 'Learn more', href: '#features' }}
|
callToAction2={{ text: 'Learn more', href: '#features' }}
|
||||||
image={{ src: import('~/assets/images/hero.png'), alt: 'AstroWind Hero Image' }}
|
image={{ src: import('~/assets/images/hero.png'), alt: 'AstroWind Hero Image' }}
|
||||||
>
|
>
|
||||||
@ -44,19 +46,141 @@ 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>
|
||||||
|
|
||||||
|
<!-- Features3 Widget ************** -->
|
||||||
|
|
||||||
|
<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."
|
||||||
|
tagline="Step-by-step guide on how to use our app"
|
||||||
|
columns={2}
|
||||||
|
items={[
|
||||||
|
{
|
||||||
|
title: 'Download and Install the App',
|
||||||
|
description:
|
||||||
|
'Morbi faucibus luctus quam, sit amet aliquet felis tempor id. Cras augue massa, ornare quis dignissim a, molestie vel nulla.',
|
||||||
|
icon: 'tabler:square-number-1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Sign Up',
|
||||||
|
description:
|
||||||
|
'Vivamus porttitor, tortor convallis aliquam pretium, turpis enim consectetur elit, vitae egestas purus erat ac nunc nulla.',
|
||||||
|
icon: 'tabler:square-number-2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Browse Templates',
|
||||||
|
description:
|
||||||
|
'Duis sed lectus in nisl vehicula porttitor eget quis odio. Aliquam erat volutpat. Nulla eleifend nulla id sem fermentum.',
|
||||||
|
icon: 'tabler:square-number-3',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Preview and Select a Template',
|
||||||
|
description:
|
||||||
|
'Duis sed lectus in nisl vehicula porttitor eget quis odio. Aliquam erat volutpat. Nulla eleifend nulla id sem fermentum.',
|
||||||
|
icon: 'tabler:square-number-4',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
image={{
|
||||||
|
src: 'https://cdn.pixabay.com/photo/2023/07/18/21/40/astronaut-8135685_1280.jpg',
|
||||||
|
alt: 'Astronaut Image',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- Content Widget **************** -->
|
||||||
|
|
||||||
|
<Content
|
||||||
|
items={[
|
||||||
|
{
|
||||||
|
title: 'High-Quality Designs',
|
||||||
|
description: 'Pellentesque dui nibh, cursus ac eros eget, pharetra malesuada tortor.',
|
||||||
|
icon: 'tabler:wand',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Customization Tools',
|
||||||
|
description: 'Nulla vulputate sollicitudin massa, id rutrum tellus tristique et.',
|
||||||
|
icon: 'tabler:settings',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Pre-Designed Elements',
|
||||||
|
description: 'Mauris eget urna non leo fringilla auctor quis efficitur sem.',
|
||||||
|
icon: 'tabler:presentation',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Preview and Mockup Views',
|
||||||
|
description: ' Donec lorem metus, maximus vitae magna sed, tincidunt interdum magna.',
|
||||||
|
icon: 'tabler:carousel-horizontal',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Offline Access',
|
||||||
|
description:
|
||||||
|
'Sed accumsan, purus facilisis efficitur accumsan, lectus lacus vestibulum diam, in sollicitudin orci tellus in libero.',
|
||||||
|
icon: 'tabler:wifi-off',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
image={{
|
||||||
|
src: 'https://cdn.pixabay.com/photo/2023/07/22/19/25/ai-generated-8144026_1280.jpg',
|
||||||
|
alt: 'Features Image',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Fragment slot="content">
|
||||||
|
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Main Features</h3>
|
||||||
|
</Fragment>
|
||||||
|
</Content>
|
||||||
|
|
||||||
|
<!-- Content Widget **************** -->
|
||||||
|
|
||||||
|
<Content
|
||||||
|
isReversed
|
||||||
|
isAfterContent
|
||||||
|
items={[
|
||||||
|
{
|
||||||
|
title: 'Time Savings',
|
||||||
|
description: 'Sed condimentum dui vel lorem cursus molestie duis id tristique justo.',
|
||||||
|
icon: 'tabler:clock',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Professional Appearance',
|
||||||
|
description: 'Cras purus velit, finibus quis dui nec, faucibus porttitor purus.',
|
||||||
|
icon: 'tabler:school',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Accessibility for Non-Designers',
|
||||||
|
description: 'Morbi volutpat ultricies dictum. In eu nunc id odio congue porttitor.',
|
||||||
|
icon: 'tabler:accessible',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Cost-Efficiency',
|
||||||
|
description: 'Fusce vitae odio sed lacus tempor aliquam sit amet ut velit pellentesque sagittis cursus nisi.',
|
||||||
|
icon: 'tabler:coin',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Instant Download',
|
||||||
|
description:
|
||||||
|
'Sed semper tempus dolor, non pretium velit lacinia tristique, fusce hendrerit fermentum lorem dignissim convallis.',
|
||||||
|
icon: 'tabler:file-download',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
image={{
|
||||||
|
src: 'https://cdn.pixabay.com/photo/2020/07/25/22/26/rocket-5438053_1280.jpg',
|
||||||
|
alt: 'Benefits Image',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Fragment slot="content">
|
||||||
|
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Benefits</h3>
|
||||||
|
</Fragment>
|
||||||
|
</Content>
|
||||||
|
|
||||||
<!-- CallToAction Widget *********** -->
|
<!-- CallToAction Widget *********** -->
|
||||||
|
|
||||||
<CallToAction
|
<CallToAction
|
||||||
callToAction={{
|
callToAction={{
|
||||||
text: 'Get template',
|
text: 'Download App',
|
||||||
href: 'https://github.com/onwidget/astrowind',
|
href: 'https://github.com/onwidget/astrowind',
|
||||||
icon: 'tabler:download',
|
icon: 'tabler:download',
|
||||||
}}
|
}}
|
||||||
|
@ -10,6 +10,7 @@ import Features2 from '~/components/widgets/Features2.astro';
|
|||||||
import Features from '~/components/widgets/Features.astro';
|
import Features from '~/components/widgets/Features.astro';
|
||||||
import Stats from '~/components/widgets/Stats.astro';
|
import Stats from '~/components/widgets/Stats.astro';
|
||||||
import Features3 from '~/components/widgets/Features3.astro';
|
import Features3 from '~/components/widgets/Features3.astro';
|
||||||
|
import FAQs from '~/components/widgets/FAQs.astro';
|
||||||
|
|
||||||
const metadata = {
|
const metadata = {
|
||||||
title: 'Startup Landing Page',
|
title: 'Startup Landing Page',
|
||||||
@ -21,7 +22,7 @@ const metadata = {
|
|||||||
<Header {...headerData} showRssFeed showToggleTheme position="left" />
|
<Header {...headerData} showRssFeed showToggleTheme position="left" />
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
||||||
<!-- Hero2 Widget ******************* -->
|
<!-- Hero Widget ******************* -->
|
||||||
|
|
||||||
<Hero
|
<Hero
|
||||||
callToAction={{ text: 'Get template', href: 'https://github.com/onwidget/astrowind', icon: 'tabler:download' }}
|
callToAction={{ text: 'Get template', href: 'https://github.com/onwidget/astrowind', icon: 'tabler:download' }}
|
||||||
@ -139,6 +140,48 @@ const metadata = {
|
|||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<!-- FAQs Widget ******************* -->
|
||||||
|
|
||||||
|
<FAQs
|
||||||
|
title="Frequently Asked Questions"
|
||||||
|
items={[
|
||||||
|
{
|
||||||
|
title: 'What are landing page templates?',
|
||||||
|
description:
|
||||||
|
'Landing page templates are pre-designed web page layouts that are specifically created to serve as a foundation for building effective landing pages. These templates are designed to capture the attention of visitors and guide them towards a specific action or goal, such as signing up for a newsletter, making a purchase, or downloading a resource.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Why should I use a template?',
|
||||||
|
description:
|
||||||
|
'Some of the advantages are that they provide a ready-to-use structure, saving you significant time. Are designed with user-friendliness in mind and provide a cost-effective alternative, saving you money while still delivering a quality result.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Can I preview templates before buying?',
|
||||||
|
description:
|
||||||
|
'Yes, the templates allow you to preview them before making a purchase. There is a "Demo" button associated with each template.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Do I need technical skills to use a template?',
|
||||||
|
description:
|
||||||
|
'Advanced technical skills are not required to use a template, but having a basic understanding of web navigation and familiarity with using online tools can still be beneficial. If you have more specific customization needs, you might need to consult guides or reach out to customer support for assistance.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Can I use the template on multiple websites?',
|
||||||
|
description:
|
||||||
|
'No, the template comes with a single-use license, meaning you can use the template on one website or project only. Using the template on additional websites would require purchasing additional licenses.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'What if I need help with customization?',
|
||||||
|
description:
|
||||||
|
"The templates provides a comprehensive step-by-step guide that walk you through the customization process. If you still have doubts, you can reach out to our customer support team. They can answer your questions, provide guidance on customization, and address any issues you're facing.",
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<Fragment slot="bg">
|
||||||
|
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
|
||||||
|
</Fragment>
|
||||||
|
</FAQs>
|
||||||
|
|
||||||
<!-- CallToAction Widget *********** -->
|
<!-- CallToAction Widget *********** -->
|
||||||
|
|
||||||
<CallToAction
|
<CallToAction
|
||||||
|
Reference in New Issue
Block a user