diff --git a/package-lock.json b/package-lock.json index 26e1391..cfd621c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "postcss": "^8.4.38", - "tailwindcss": "^3.4.3", + "tailwindcss": "^3.4.4", "typescript": "^5.2.2", "vite": "^5.1.0" } @@ -3995,10 +3995,11 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", "dev": true, + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", diff --git a/package.json b/package.json index c5ed295..3db6d6e 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "postcss": "^8.4.38", - "tailwindcss": "^3.4.3", + "tailwindcss": "^3.4.4", "typescript": "^5.2.2", "vite": "^5.1.0" } diff --git a/src/Components/Hero/Hero.tsx b/src/Components/Hero/Hero.tsx index 604461c..63a7c45 100644 --- a/src/Components/Hero/Hero.tsx +++ b/src/Components/Hero/Hero.tsx @@ -3,16 +3,16 @@ import Stars from "../../assets/Stars.svg"; const Hero = () => { return ( -
-
- hero +
+
+ hero
-
-
+
+
hero

GROW YOUR

@@ -25,13 +25,13 @@ const Hero = () => { >
-

+

We do all the digital footprint for you,

-

+

so you can focus on what's important!

-
+
diff --git a/src/Components/Services/Buttons.css b/src/Components/Services/Buttons.css deleted file mode 100644 index 814509d..0000000 --- a/src/Components/Services/Buttons.css +++ /dev/null @@ -1,7 +0,0 @@ -.fixed-size-button { - width: 158px; /* adjust as needed */ - height: 36px; /* adjust as needed */ - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} diff --git a/src/Components/Services/Buttons.tsx b/src/Components/Services/Buttons.tsx index c8ea6f5..0245312 100644 --- a/src/Components/Services/Buttons.tsx +++ b/src/Components/Services/Buttons.tsx @@ -1,13 +1,42 @@ -import React from "react"; +import { useState } from "react"; import CardBtn from "./CardBtn"; -const Buttons = () => { +interface props { + changeActiveGroup: (group: string) => void; +} + +const Buttons = ({ changeActiveGroup }: props) => { + const [selectedButton, setSelectedButton] = useState( + "webCards" + ); + + const handleClick = (group: string) => { + changeActiveGroup(group); + setSelectedButton(group); + }; + return (
- - - - + handleClick("markCards")} + isSelected={selectedButton === "markCards"} + /> + handleClick("webCards")} + isSelected={selectedButton === "webCards"} + /> + handleClick("smCards")} + isSelected={selectedButton === "smCards"} + /> + handleClick("camCards")} + isSelected={selectedButton === "camCards"} + />
); }; diff --git a/src/Components/Services/CameraCards.tsx b/src/Components/Services/CameraCards.tsx new file mode 100644 index 0000000..ca07250 --- /dev/null +++ b/src/Components/Services/CameraCards.tsx @@ -0,0 +1,18 @@ +import Card from "./ServiceCard"; +import EnvisionImg from "../../assets/imgs/Envision.jpg"; +import CaptureImg from "../../assets/imgs/Capture.png"; +import EditImg from "../../assets/imgs/Edit.png"; +import PublishImg from "../../assets/imgs/Publish.jpg"; + +const CameraCards = () => { + return ( +
+ + + + +
+ ); +}; + +export default CameraCards; diff --git a/src/Components/Services/CardBtn.tsx b/src/Components/Services/CardBtn.tsx index 3a81258..5dab055 100644 --- a/src/Components/Services/CardBtn.tsx +++ b/src/Components/Services/CardBtn.tsx @@ -1,14 +1,21 @@ -import React from "react"; -import "./Buttons.css"; - interface props { title: string; + onClick: () => void; + isSelected: boolean; } -const CardBtn = ({ title }: props) => { +const CardBtn = ({ title, onClick, isSelected }: props) => { + const buttonClass = isSelected + ? "w-full font-medium md:px-4 py-1 text-xs lg:text-sm xl:text-lg bg-gradient-to-br from-custom-bglight to-custom-bgdark" + : "w-full font-medium md:px-4 py-1 text-xs lg:text-sm xl:text-lg bg-gradient-to-br from-custom-bglight to-custom-bgdark text-gray-400 shadow-inner"; + + const divClass = isSelected + ? "flex flex-1 flex-row mt-5 lg:mt-12 bg-gradient-to-b from-gold-light to-gold-dark p-0.5 shadow-lg transform scale-110" + : "flex flex-1 flex-row mt-5 lg:mt-12 bg-gradient-to-b from-gold-light to-gold-dark p-0.5 shadow-lg"; + return ( -
-
diff --git a/src/Components/Services/CardGroup.tsx b/src/Components/Services/CardGroup.tsx index e237a42..77f1c82 100644 --- a/src/Components/Services/CardGroup.tsx +++ b/src/Components/Services/CardGroup.tsx @@ -1,12 +1,39 @@ -import React from "react"; +import { useState } from "react"; import WesiteCards from "./WesiteCards"; import Buttons from "./Buttons"; +import MarketingCards from "./MarketingCards"; +import CameraCards from "./CameraCards"; +import SocialMediaCards from "./SocialMedia"; const CardGroup = () => { + const [activeGroup, setActiveGroup] = useState("webCards"); + + const changeActiveGroup = (group: string) => { + setActiveGroup(group); + }; + + let ActiveCards; + switch (activeGroup) { + case "markCards": + ActiveCards = MarketingCards; + break; + case "webCards": + ActiveCards = WesiteCards; + break; + case "smCards": + ActiveCards = SocialMediaCards; + break; + case "camCards": + ActiveCards = CameraCards; + break; + default: + ActiveCards = null; + } + return (
- - + {ActiveCards && } +
); }; diff --git a/src/Components/Services/MarketingCards.tsx b/src/Components/Services/MarketingCards.tsx new file mode 100644 index 0000000..5b5ce9d --- /dev/null +++ b/src/Components/Services/MarketingCards.tsx @@ -0,0 +1,18 @@ +import Card from "./ServiceCard"; +import AnaliseImg from "../../assets/imgs/Analise.jpg"; +import CreateImg from "../../assets/imgs/Create.jpg"; +import ScaleImg from "../../assets/imgs/Scale.jpg"; +import ExecuteImg from "../../assets/imgs/Execute.jpg"; + +const MarketingCards = () => { + return ( +
+ + + + +
+ ); +}; + +export default MarketingCards; diff --git a/src/Components/Services/ServiceCard.tsx b/src/Components/Services/ServiceCard.tsx index 7915323..b108b27 100644 --- a/src/Components/Services/ServiceCard.tsx +++ b/src/Components/Services/ServiceCard.tsx @@ -1,5 +1,3 @@ -import React from "react"; - interface IProps { title: string; description: string; @@ -12,8 +10,10 @@ const Card = ({ title, description, imgSrc }: IProps) => { className="flex flex-col justify-end flex-1 h-full border-solid border shadow-lg bg-cover bg-center text-center" style={{ backgroundImage: `url(${imgSrc})` }} > -

{title}

-

{description}

+
+

{title}

+

{description}

+
); }; diff --git a/src/Components/Services/ServiceCardContainer.tsx b/src/Components/Services/ServiceCardContainer.tsx index 570ba72..2bbf091 100644 --- a/src/Components/Services/ServiceCardContainer.tsx +++ b/src/Components/Services/ServiceCardContainer.tsx @@ -1,9 +1,8 @@ -import React from "react"; import CardGroup from "./CardGroup"; const ServiceCardContainer = () => { return ( -
+
); diff --git a/src/Components/Services/Services.tsx b/src/Components/Services/Services.tsx index c525366..bf4917f 100644 --- a/src/Components/Services/Services.tsx +++ b/src/Components/Services/Services.tsx @@ -1,10 +1,9 @@ -import React from "react"; import Underline from "../../assets/Underline.svg"; import ServiceCardContainer from "./ServiceCardContainer"; const Services = () => { return ( -
+

We've got your{" "} diff --git a/src/Components/Services/SocialMedia.tsx b/src/Components/Services/SocialMedia.tsx new file mode 100644 index 0000000..1e894ff --- /dev/null +++ b/src/Components/Services/SocialMedia.tsx @@ -0,0 +1,18 @@ +import Card from "./ServiceCard"; +import AlgorithmImg from "../../assets/imgs/Algorithm.jpg"; +import ScheduleImg from "../../assets/imgs/Schedule.jpg"; +import TargetImg from "../../assets/imgs/Target.jpg"; +import ExpandImg from "../../assets/imgs/Expand.jpg"; + +const SocialMediaCards = () => { + return ( +
+ + + + +
+ ); +}; + +export default SocialMediaCards; diff --git a/src/Components/Services/WesiteCards.tsx b/src/Components/Services/WesiteCards.tsx index 21877a8..5361d84 100644 --- a/src/Components/Services/WesiteCards.tsx +++ b/src/Components/Services/WesiteCards.tsx @@ -1,14 +1,16 @@ -import React from "react"; import Card from "./ServiceCard"; -import IdealizeImg from "../../assets/test.png"; +import IdealizeImg from "../../assets/imgs/Idealize.png"; +import DesignImg from "../../assets/imgs/Design.png"; +import CodeImg from "../../assets/imgs/Code.jpg"; +import BuildImg from "../../assets/imgs/Build.png"; const WesiteCards = () => { return ( -
+
- - - + + +
); }; diff --git a/src/assets/imgs/15a045bf6bd5b5d1bdcfef67be0d54ec.jpg b/src/assets/imgs/15a045bf6bd5b5d1bdcfef67be0d54ec.jpg deleted file mode 100644 index 5d48396..0000000 Binary files a/src/assets/imgs/15a045bf6bd5b5d1bdcfef67be0d54ec.jpg and /dev/null differ diff --git a/src/assets/imgs/337b16726c3cc849b476765c51fe4420 (1).jpg b/src/assets/imgs/337b16726c3cc849b476765c51fe4420 (1).jpg deleted file mode 100644 index 4b57235..0000000 Binary files a/src/assets/imgs/337b16726c3cc849b476765c51fe4420 (1).jpg and /dev/null differ diff --git a/src/assets/imgs/337b16726c3cc849b476765c51fe4420.jpg b/src/assets/imgs/337b16726c3cc849b476765c51fe4420.jpg deleted file mode 100644 index 4b57235..0000000 Binary files a/src/assets/imgs/337b16726c3cc849b476765c51fe4420.jpg and /dev/null differ diff --git a/src/assets/imgs/363277e803a2054eee7fdb73969e02f7.jpg b/src/assets/imgs/363277e803a2054eee7fdb73969e02f7.jpg deleted file mode 100644 index b384409..0000000 Binary files a/src/assets/imgs/363277e803a2054eee7fdb73969e02f7.jpg and /dev/null differ diff --git a/src/assets/imgs/663fc7db09f81aed68d0566dc180fc00.jpg b/src/assets/imgs/663fc7db09f81aed68d0566dc180fc00.jpg deleted file mode 100644 index 7958e10..0000000 Binary files a/src/assets/imgs/663fc7db09f81aed68d0566dc180fc00.jpg and /dev/null differ diff --git a/src/assets/imgs/816a79a03d6262706963dab4f61dc513.jpg b/src/assets/imgs/816a79a03d6262706963dab4f61dc513.jpg deleted file mode 100644 index 0905557..0000000 Binary files a/src/assets/imgs/816a79a03d6262706963dab4f61dc513.jpg and /dev/null differ diff --git a/src/assets/imgs/f7e987b4ca06764cc3b834689da56502.jpg b/src/assets/imgs/Algorithm.jpg similarity index 100% rename from src/assets/imgs/f7e987b4ca06764cc3b834689da56502.jpg rename to src/assets/imgs/Algorithm.jpg diff --git a/src/assets/imgs/38b6ed62c5ce4ea3da391a79fc26422c.jpg b/src/assets/imgs/Analise.jpg similarity index 100% rename from src/assets/imgs/38b6ed62c5ce4ea3da391a79fc26422c.jpg rename to src/assets/imgs/Analise.jpg diff --git a/src/assets/imgs/Build.png b/src/assets/imgs/Build.png new file mode 100644 index 0000000..2eba965 Binary files /dev/null and b/src/assets/imgs/Build.png differ diff --git a/src/assets/imgs/image 11.png b/src/assets/imgs/Capture.png similarity index 100% rename from src/assets/imgs/image 11.png rename to src/assets/imgs/Capture.png diff --git a/src/assets/imgs/363277e803a2054eee7fdb73969e02f7 (1).jpg b/src/assets/imgs/Code.jpg similarity index 100% rename from src/assets/imgs/363277e803a2054eee7fdb73969e02f7 (1).jpg rename to src/assets/imgs/Code.jpg diff --git a/src/assets/imgs/Code.png b/src/assets/imgs/Code.png new file mode 100644 index 0000000..8a9ad25 Binary files /dev/null and b/src/assets/imgs/Code.png differ diff --git a/src/assets/imgs/e59d19b2176c840f61522149ffc910f0.jpg b/src/assets/imgs/Create.jpg similarity index 100% rename from src/assets/imgs/e59d19b2176c840f61522149ffc910f0.jpg rename to src/assets/imgs/Create.jpg diff --git a/src/assets/imgs/Design.png b/src/assets/imgs/Design.png new file mode 100644 index 0000000..a7be994 Binary files /dev/null and b/src/assets/imgs/Design.png differ diff --git a/src/assets/imgs/Edit.png b/src/assets/imgs/Edit.png new file mode 100644 index 0000000..82b876f Binary files /dev/null and b/src/assets/imgs/Edit.png differ diff --git a/src/assets/imgs/2e52a11efe043f28c332f916da2d6db0.jpg b/src/assets/imgs/Envision.jpg similarity index 100% rename from src/assets/imgs/2e52a11efe043f28c332f916da2d6db0.jpg rename to src/assets/imgs/Envision.jpg diff --git a/src/assets/imgs/ebf78010dbc235fff0fae05eb0ea8513.jpg b/src/assets/imgs/Execute.jpg similarity index 100% rename from src/assets/imgs/ebf78010dbc235fff0fae05eb0ea8513.jpg rename to src/assets/imgs/Execute.jpg diff --git a/src/assets/imgs/80c87bb9b62cf951f90b3692cd9d2e7a.jpg b/src/assets/imgs/Expand.jpg similarity index 100% rename from src/assets/imgs/80c87bb9b62cf951f90b3692cd9d2e7a.jpg rename to src/assets/imgs/Expand.jpg diff --git a/src/assets/test.png b/src/assets/imgs/Idealize.png similarity index 100% rename from src/assets/test.png rename to src/assets/imgs/Idealize.png diff --git a/src/assets/imgs/PhotoService.png b/src/assets/imgs/PhotoService.png deleted file mode 100644 index 76c4e53..0000000 Binary files a/src/assets/imgs/PhotoService.png and /dev/null differ diff --git a/src/assets/imgs/1358bb8c6eec722d092cf76dff5804fe.jpg b/src/assets/imgs/Publish.jpg similarity index 100% rename from src/assets/imgs/1358bb8c6eec722d092cf76dff5804fe.jpg rename to src/assets/imgs/Publish.jpg diff --git a/src/assets/imgs/43370f6d8473c1897d9d61b594c6b3c3.jpg b/src/assets/imgs/Scale.jpg similarity index 100% rename from src/assets/imgs/43370f6d8473c1897d9d61b594c6b3c3.jpg rename to src/assets/imgs/Scale.jpg diff --git a/src/assets/imgs/bf109a7dd7350d244b1dab64abec6990.jpg b/src/assets/imgs/Schedule.jpg similarity index 100% rename from src/assets/imgs/bf109a7dd7350d244b1dab64abec6990.jpg rename to src/assets/imgs/Schedule.jpg diff --git a/src/assets/imgs/2554e1d6a130499b65fbd2a9483980ff.jpg b/src/assets/imgs/Target.jpg similarity index 100% rename from src/assets/imgs/2554e1d6a130499b65fbd2a9483980ff.jpg rename to src/assets/imgs/Target.jpg diff --git a/src/index.css b/src/index.css index 955e797..7fcbf58 100644 --- a/src/index.css +++ b/src/index.css @@ -5,5 +5,53 @@ @tailwind utilities; .header-text { - @apply text-5xl font-medium sm:text-6xl lg:text-7xl 2xl:text-9xl; + @apply font-medium text-5xl lg:text-7xl xl:text-8xl; +} + +.fade-in { + animation: fadeIn ease 1s; + -webkit-animation: fadeIn ease 1s; + -moz-animation: fadeIn ease 1s; + -o-animation: fadeIn ease 1s; + -ms-animation: fadeIn ease 1s; +} +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-moz-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-o-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-ms-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } } diff --git a/src/routes/Home.tsx b/src/routes/Home.tsx index 3872fd6..f87c94a 100644 --- a/src/routes/Home.tsx +++ b/src/routes/Home.tsx @@ -1,7 +1,6 @@ -import React from "react"; -import Navbar from "../components/Navbar/Navbar"; -import Hero from "../components/Hero/Hero"; -import Services from "../components/Services/Services"; +import Navbar from "../Components/Navbar/Navbar"; +import Hero from "../Components/Hero/Hero"; +import Services from "../Components/Services/Services"; const Home = () => { return ( diff --git a/tailwind.config.js b/tailwind.config.js index 03b4afb..893dd96 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -3,6 +3,9 @@ export default { content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { extend: { + screens: { + 1920: "1921px", + }, colors: { "custom-bglight": "#1C1C1F", "custom-bgdark": "#06060B", @@ -18,5 +21,21 @@ export default { }, }, }, - plugins: [], + plugins: [ + function ({ addUtilities }) { + addUtilities( + { + ".padding-calc": { + "padding-left": "calc((100vw - 1920px)/2)", + "padding-right": "calc((100vw - 1920px)/2)", + }, + ".margin-calc": { + "margin-left": "calc((100vw - 1920px)/2)", + "margin-right": "calc((100vw - 1920px)/2)", + }, + }, + ["responsive"] + ); + }, + ], };