diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index be2106d2..9ffb51a2 100644 Binary files a/.yarn/install-state.gz and b/.yarn/install-state.gz differ diff --git a/package.json b/package.json index 751e1c12..397b10b1 100644 --- a/package.json +++ b/package.json @@ -43,10 +43,10 @@ "@fontsource-variable/literata": "^5.0.19", "@fontsource/zilla-slab": "^5.0.8", "@types/react": "^18.2.45", - "@types/react-dom": "^18.2.17", - "astro": "^4.0.5", + "@types/react-dom": "^18.2.18", + "astro": "^4.0.6", "astro-imagetools": "^0.9.0", - "gsap": "^3.12.3", + "gsap": "^3.12.4", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.21.0", @@ -58,9 +58,9 @@ "@types/eslint": "^8.44.9", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-astro": "^0.30.0", + "eslint-plugin-astro": "^0.31.0", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", diff --git a/src/pages/index.astro b/src/pages/index.astro index ec39b08c..8b2a0d14 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,16 +1,17 @@ --- import BaseLayout from '@components/templates/baseLayout/BaseLayout.astro'; -// todo: add CIs +import Welcome from '@components/molecules/welcome/Welcome.astro'; +import Testimonials from '@components/molecules/testimonials/Testimonials.astro'; + +// todo: acabar welcome (tilt) +// todo: reveal on enter viewport +// todo: view transitions // todo: add vitest +// todo: add CIs --- - -

Hello, Astronaut!

-

- Welcome to the official Astro blog starter template. This - template serves as a lightweight, minimally-styled starting point for anyone looking to - build a personal website, blog, or portfolio with Astro. -

+ +

This template comes with a few integrations already configured in your astro.config.mjs file. You can customize your setup with diff --git a/src/ui/assets/images/jpg/bianca-fiore.jpg b/src/ui/assets/images/jpg/bianca-fiore.jpg new file mode 100644 index 00000000..be74d716 Binary files /dev/null and b/src/ui/assets/images/jpg/bianca-fiore.jpg differ diff --git a/src/ui/components/atoms/ReactScriptProvider.tsx b/src/ui/components/atoms/ReactScriptProvider.tsx index 27f8737a..d191a801 100644 --- a/src/ui/components/atoms/ReactScriptProvider.tsx +++ b/src/ui/components/atoms/ReactScriptProvider.tsx @@ -5,9 +5,7 @@ import { scrollDirection } from '@components/organisms/header/utils/scrollDirect const ReactScriptProvider = () => { useEffect(() => { toggleMenu(); - scrollDirection({ - target: 'header', - }); + scrollDirection(); }, []); return null; diff --git a/src/ui/components/molecules/testimonials/Testimonials.astro b/src/ui/components/molecules/testimonials/Testimonials.astro new file mode 100644 index 00000000..853d812b --- /dev/null +++ b/src/ui/components/molecules/testimonials/Testimonials.astro @@ -0,0 +1,3 @@ +--- + +--- diff --git a/src/ui/components/molecules/testimonials/testimonials.css b/src/ui/components/molecules/testimonials/testimonials.css new file mode 100644 index 00000000..909e696a --- /dev/null +++ b/src/ui/components/molecules/testimonials/testimonials.css @@ -0,0 +1,56 @@ +@layer welcome { + .welcome { + display: grid; + grid-template-areas: 'LeftGreeting WelcomeImage RightGreeting'; + grid-template-columns: 1fr 1fr 1fr; + } + .welcome__image{ + grid-area: WelcomeImage; + align-self: center; + justify-self: center; + width: 100%; + max-width: 400px; + height: auto; + } + + .welcome__text__body { + align-self: center; + text-align: center; + color: var(--neutral-main); + + &.--right { + grid-area: RightGreeting; + justify-self: start; + margin-left: -3rem; + z-index: 10; + } + &.--left { + grid-area: LeftGreeting; + justify-self: end; + margin-right: -1.5rem; + z-index: 10; + translate: 0 -100px; + } + @supports (animation-timeline: scroll(root block)) { + &.--right { + animation: float-up-far 200ms linear; + animation-timeline: scroll(root block); + } + &.--left { + animation: float-up-close linear; + animation-timeline: scroll(root block); + } + } + } + .welcome__text__description{ + grid-area: RightGreeting; + padding-inline-start: 1rem; + align-self: center; + margin-top: 8rem; + + @supports (animation-timeline: scroll(root block)) { + animation: float-up-close linear; + animation-timeline: scroll(root block); + } + } +} diff --git a/src/ui/components/molecules/welcome/Welcome.astro b/src/ui/components/molecules/welcome/Welcome.astro new file mode 100644 index 00000000..6d7bdedf --- /dev/null +++ b/src/ui/components/molecules/welcome/Welcome.astro @@ -0,0 +1,10 @@ +--- +import { Picture } from "astro-imagetools/components"; +import './welcome.css'; +--- +

+

Hi! I'm

+ +

Bianca

+

Lorem ipsum dolor sit amet ipsum dolor sit amet ipsum dolor sit amet ipsum dolor sit amet

+
diff --git a/src/ui/components/molecules/welcome/welcome.css b/src/ui/components/molecules/welcome/welcome.css new file mode 100644 index 00000000..909e696a --- /dev/null +++ b/src/ui/components/molecules/welcome/welcome.css @@ -0,0 +1,56 @@ +@layer welcome { + .welcome { + display: grid; + grid-template-areas: 'LeftGreeting WelcomeImage RightGreeting'; + grid-template-columns: 1fr 1fr 1fr; + } + .welcome__image{ + grid-area: WelcomeImage; + align-self: center; + justify-self: center; + width: 100%; + max-width: 400px; + height: auto; + } + + .welcome__text__body { + align-self: center; + text-align: center; + color: var(--neutral-main); + + &.--right { + grid-area: RightGreeting; + justify-self: start; + margin-left: -3rem; + z-index: 10; + } + &.--left { + grid-area: LeftGreeting; + justify-self: end; + margin-right: -1.5rem; + z-index: 10; + translate: 0 -100px; + } + @supports (animation-timeline: scroll(root block)) { + &.--right { + animation: float-up-far 200ms linear; + animation-timeline: scroll(root block); + } + &.--left { + animation: float-up-close linear; + animation-timeline: scroll(root block); + } + } + } + .welcome__text__description{ + grid-area: RightGreeting; + padding-inline-start: 1rem; + align-self: center; + margin-top: 8rem; + + @supports (animation-timeline: scroll(root block)) { + animation: float-up-close linear; + animation-timeline: scroll(root block); + } + } +} diff --git a/src/ui/components/organisms/header/components/headerLink/HeaderLink.astro b/src/ui/components/organisms/header/components/headerLink/HeaderLink.astro index e5207e72..cf13f9df 100644 --- a/src/ui/components/organisms/header/components/headerLink/HeaderLink.astro +++ b/src/ui/components/organisms/header/components/headerLink/HeaderLink.astro @@ -8,7 +8,7 @@ const { pathname } = Astro.url; const isCurrentPage = href === pathname || href === pathname.replace(/\/$/, ''); --- - + diff --git a/src/ui/components/organisms/header/components/logo/logo.css b/src/ui/components/organisms/header/components/logo/logo.css index ca519e76..16494a76 100644 --- a/src/ui/components/organisms/header/components/logo/logo.css +++ b/src/ui/components/organisms/header/components/logo/logo.css @@ -10,16 +10,11 @@ z-index: 20; svg { - transition: fill 3s; + transition: scale .2s; } - &.--is-menu-open { - top: 3rem; - transition-delay: 0.5s; - - svg { - fill: var(--white); - } + &.--is-scrolling:not(.--is-menu-open) svg{ + scale: .85; } } } diff --git a/src/ui/components/organisms/header/components/menu/menu.css b/src/ui/components/organisms/header/components/menu/menu.css index d1804036..e543b1d5 100644 --- a/src/ui/components/organisms/header/components/menu/menu.css +++ b/src/ui/components/organisms/header/components/menu/menu.css @@ -17,7 +17,6 @@ line-height: 70%; position: relative; top: 150%; - transition: letter-spacing 0.75s cubic-bezier(0.075, 0.82, 0.165, 1); } .navigation__menu { @@ -104,6 +103,7 @@ font-size: clamp(2rem, 5rem, 5rem); text-transform: uppercase; position: relative; + display: inline-block; &:after { background-color: currentColor; @@ -112,7 +112,7 @@ margin: 0 auto; left: 0; right: 0; - bottom: 8px; + bottom: -1.25rem; transform: scaleX(0); transition: all 0.2s ease; position: absolute; diff --git a/src/ui/components/organisms/header/components/menuButton/MenuButton.astro b/src/ui/components/organisms/header/components/menuButton/MenuButton.astro index cfd7a09c..8d071974 100644 --- a/src/ui/components/organisms/header/components/menuButton/MenuButton.astro +++ b/src/ui/components/organisms/header/components/menuButton/MenuButton.astro @@ -1,7 +1,7 @@ --- import './menuButton.css'; --- -