diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts
index 88a49dd2..9601404a 100644
--- a/docs/docusaurus.config.ts
+++ b/docs/docusaurus.config.ts
@@ -3,6 +3,8 @@ import type { Config } from '@docusaurus/types'
import { themes as prismThemes } from 'prism-react-renderer'
const repoLink = 'https://github.com/binarapps/baca-react-native-template'
+const docsLink = '/docs/overview'
+const demoLink = 'https://binarapps.online/sign-in'
const config: Config = {
title: 'BACA - react native starter',
@@ -58,12 +60,23 @@ const config: Config = {
src: 'img/logo-light.png',
srcDark: 'img/logo-dark.png',
},
+ hideOnScroll: true,
items: [
{
href: repoLink,
label: 'GitHub',
position: 'right',
},
+ {
+ to: docsLink,
+ label: 'Docs',
+ position: 'left',
+ },
+ {
+ to: demoLink,
+ label: 'Demo',
+ position: 'left',
+ },
],
},
footer: {
diff --git a/docs/package.json b/docs/package.json
index 1a9bcbaa..77165b87 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -22,7 +22,9 @@
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react-dom": "^18.0.0",
+ "react-slick": "^0.30.2",
+ "slick-carousel": "^1.8.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.1.0",
diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx
index 1fba575b..68dfc13c 100644
--- a/docs/src/components/HomepageFeatures/index.tsx
+++ b/docs/src/components/HomepageFeatures/index.tsx
@@ -33,7 +33,7 @@ const FeatureList: FeatureItem[] = [
title: 'Powered by React Native and Expo',
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
description: (
- <>We are using the newest tools to acheive the best performance and developer experience.>
+ <>We are using the newest tools to achieve the best performance and developer experience.>
),
},
]
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index 8adcbba7..94f3d6f2 100644
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -6,6 +6,9 @@
/* You can override the default Infima variables here. */
+@import '~slick-carousel/slick/slick.css';
+@import '~slick-carousel/slick/slick-theme.css';
+
:root {
--ifm-color-primary: #531fa5;
--ifm-color-primary-dark: #4b1c95;
diff --git a/docs/src/pages/HomepageHeader.tsx b/docs/src/pages/HomepageHeader.tsx
new file mode 100644
index 00000000..e9bd8bf8
--- /dev/null
+++ b/docs/src/pages/HomepageHeader.tsx
@@ -0,0 +1,23 @@
+import useDocusaurusContext from '@docusaurus/useDocusaurusContext'
+import { HeaderButtons } from './components/HeaderButtons'
+import { ImageSlider } from './components/ImageSlider'
+import styles from './index.module.css'
+import Heading from '@theme/Heading'
+import clsx from 'clsx'
+
+export function HomepageHeader() {
+ const { siteConfig } = useDocusaurusContext()
+
+ return (
+
+
+
+ {siteConfig.title}
+
+
{siteConfig.tagline}
+
+
+
+
+ )
+}
diff --git a/docs/src/pages/components/HeaderButtons.tsx b/docs/src/pages/components/HeaderButtons.tsx
new file mode 100644
index 00000000..0b8ee94d
--- /dev/null
+++ b/docs/src/pages/components/HeaderButtons.tsx
@@ -0,0 +1,20 @@
+import styles from '../index.module.css'
+import Link from '@docusaurus/Link'
+import clsx from 'clsx'
+
+export const HeaderButtons = () => (
+
+
+ Read docs
+
+
+ Try it
+
+
+)
diff --git a/docs/src/pages/components/ImageSlider.tsx b/docs/src/pages/components/ImageSlider.tsx
new file mode 100644
index 00000000..f20da9ee
--- /dev/null
+++ b/docs/src/pages/components/ImageSlider.tsx
@@ -0,0 +1,61 @@
+import styles from '../index.module.css'
+import Slider from 'react-slick'
+
+const sliderSettings = {
+ adaptiveHeight: true,
+ arrows: true,
+ autoplay: true,
+ autoplaySpeed: 3000,
+ dots: true,
+ infinite: true,
+ responsive: [
+ {
+ breakpoint: 1000,
+ settings: {
+ slidesToShow: 2,
+ slidesToScroll: 1,
+ },
+ },
+ {
+ breakpoint: 550,
+ settings: {
+ slidesToShow: 1,
+ slidesToScroll: 1,
+ },
+ },
+ ],
+ slidesToScroll: 1,
+ slidesToShow: 3,
+ speed: 500,
+}
+
+const sliderImages = [
+ {
+ src: '/img/iphone_signup_draft_light.png',
+ alt: 'First iPhone draft',
+ },
+ {
+ src: '/img/iphone_signup_draft_dark.png',
+ alt: 'Second iPhone draft',
+ },
+ {
+ src: '/img/iphone_settings_draft_light.png',
+ alt: 'Third iPhone draft',
+ },
+ {
+ src: '/img/iphone_settings_draft_dark.png',
+ alt: 'Fourth iPhone draft',
+ },
+]
+
+export const ImageSlider = () => (
+
+
+ {sliderImages.map((image, index) => (
+
+

+
+ ))}
+
+
+)
diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css
index 9f71a5da..0707b648 100644
--- a/docs/src/pages/index.module.css
+++ b/docs/src/pages/index.module.css
@@ -21,3 +21,48 @@
align-items: center;
justify-content: center;
}
+
+.sliderContainer {
+ margin-top: 86px;
+}
+
+.imageWrapper {
+ padding: 0 16px;
+}
+
+.image {
+ width: 100%;
+ max-width: 400px;
+ height: auto;
+ border-radius: 12px;
+}
+
+.buttonsContainer {
+ display: flex;
+ justify-content: center;
+ gap: 3rem;
+}
+
+.button {
+ width: 160px;
+ height: 48px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.buttonTryIt {
+ background-color: #2f2f2f;
+ color: #ffffff !important;
+}
+
+@media screen and (max-width: 600px) {
+ .buttonsContainer {
+ flex-direction: column;
+ gap: 1rem;
+ }
+
+ .button {
+ width: 100%;
+ }
+}
diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx
index 066b1fc0..dd0906ee 100644
--- a/docs/src/pages/index.tsx
+++ b/docs/src/pages/index.tsx
@@ -1,31 +1,7 @@
-/* eslint-disable react-native/no-raw-text */
-import Link from '@docusaurus/Link'
-import useDocusaurusContext from '@docusaurus/useDocusaurusContext'
import HomepageFeatures from '@site/src/components/HomepageFeatures'
-import Heading from '@theme/Heading'
+import useDocusaurusContext from '@docusaurus/useDocusaurusContext'
+import { HomepageHeader } from './HomepageHeader'
import Layout from '@theme/Layout'
-import clsx from 'clsx'
-
-import styles from './index.module.css'
-
-function HomepageHeader() {
- const { siteConfig } = useDocusaurusContext()
- return (
-
-
-
- {siteConfig.title}
-
-
{siteConfig.tagline}
-
-
- See docs
-
-
-
-
- )
-}
export default function Home(): JSX.Element {
const { siteConfig } = useDocusaurusContext()
diff --git a/docs/static/img/iphone_settings_draft_dark.png b/docs/static/img/iphone_settings_draft_dark.png
new file mode 100644
index 00000000..e80fd5ee
Binary files /dev/null and b/docs/static/img/iphone_settings_draft_dark.png differ
diff --git a/docs/static/img/iphone_settings_draft_light.png b/docs/static/img/iphone_settings_draft_light.png
new file mode 100644
index 00000000..eb4bf248
Binary files /dev/null and b/docs/static/img/iphone_settings_draft_light.png differ
diff --git a/docs/static/img/iphone_signup_draft_dark.png b/docs/static/img/iphone_signup_draft_dark.png
new file mode 100644
index 00000000..d6e96652
Binary files /dev/null and b/docs/static/img/iphone_signup_draft_dark.png differ
diff --git a/docs/static/img/iphone_signup_draft_light.png b/docs/static/img/iphone_signup_draft_light.png
new file mode 100644
index 00000000..b0f117b9
Binary files /dev/null and b/docs/static/img/iphone_signup_draft_light.png differ
diff --git a/docs/yarn.lock b/docs/yarn.lock
index 7125ccee..0c709a23 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -2331,7 +2331,7 @@
"@docusaurus/theme-search-algolia" "3.3.2"
"@docusaurus/types" "3.3.2"
-"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2":
+"@docusaurus/react-loadable@5.5.2":
version "5.5.2"
resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce"
integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==
@@ -3900,6 +3900,11 @@ ci-info@^3.2.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+classnames@^2.2.5:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
+ integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
+
clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2:
version "5.3.3"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd"
@@ -4635,6 +4640,11 @@ enhanced-resolve@^5.15.0:
graceful-fs "^4.2.4"
tapable "^2.2.0"
+enquire.js@^2.1.6:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814"
+ integrity sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==
+
entities@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
@@ -5991,6 +6001,13 @@ json-schema-traverse@^1.0.0:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+json2mq@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
+ integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==
+ dependencies:
+ string-convert "^0.2.0"
+
json5@^2.1.2, json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
@@ -7861,6 +7878,14 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1:
dependencies:
"@babel/runtime" "^7.10.3"
+"react-loadable@npm:@docusaurus/react-loadable@5.5.2":
+ version "5.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce"
+ integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==
+ dependencies:
+ "@types/react" "*"
+ prop-types "^15.6.2"
+
"react-loadable@npm:@docusaurus/react-loadable@6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4"
@@ -7903,6 +7928,17 @@ react-router@5.3.4, react-router@^5.3.4:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
+react-slick@^0.30.2:
+ version "0.30.2"
+ resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.30.2.tgz#b28e992f9c519bb516a0af8d37e82cb59fee08ce"
+ integrity sha512-XvQJi7mRHuiU3b9irsqS9SGIgftIfdV5/tNcURTb5LdIokRA5kIIx3l4rlq2XYHfxcSntXapoRg/GxaVOM1yfg==
+ dependencies:
+ classnames "^2.2.5"
+ enquire.js "^2.1.6"
+ json2mq "^0.2.0"
+ lodash.debounce "^4.0.8"
+ resize-observer-polyfill "^1.5.0"
+
react@^18.0.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
@@ -8136,6 +8172,11 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+resize-observer-polyfill@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
resolve-alpn@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -8478,6 +8519,11 @@ slash@^4.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+slick-carousel@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/slick-carousel/-/slick-carousel-1.8.1.tgz#a4bfb29014887bb66ce528b90bd0cda262cc8f8d"
+ integrity sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==
+
snake-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
@@ -8581,6 +8627,11 @@ std-env@^3.0.1:
resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2"
integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==
+string-convert@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
+ integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
+
string-width@^4.1.0, string-width@^4.2.0:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"