diff --git a/public/icons/CSS3.svg b/public/icons/CSS3.svg
new file mode 100644
index 0000000..ff5b6ce
--- /dev/null
+++ b/public/icons/CSS3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/DiscordJS.svg b/public/icons/DiscordJS.svg
new file mode 100644
index 0000000..87970b5
--- /dev/null
+++ b/public/icons/DiscordJS.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/HTML5.svg b/public/icons/HTML5.svg
new file mode 100644
index 0000000..c2dda3a
--- /dev/null
+++ b/public/icons/HTML5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/JavaScript.svg b/public/icons/JavaScript.svg
new file mode 100644
index 0000000..7975261
--- /dev/null
+++ b/public/icons/JavaScript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/NestJS.svg b/public/icons/NestJS.svg
new file mode 100644
index 0000000..4bec846
--- /dev/null
+++ b/public/icons/NestJS.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/NextJS.svg b/public/icons/NextJS.svg
new file mode 100644
index 0000000..6a08047
--- /dev/null
+++ b/public/icons/NextJS.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/NodeJS.svg b/public/icons/NodeJS.svg
new file mode 100644
index 0000000..6173818
--- /dev/null
+++ b/public/icons/NodeJS.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/PostgreSQL.svg b/public/icons/PostgreSQL.svg
new file mode 100644
index 0000000..4656cb7
--- /dev/null
+++ b/public/icons/PostgreSQL.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/Prisma.svg b/public/icons/Prisma.svg
new file mode 100644
index 0000000..85f9707
--- /dev/null
+++ b/public/icons/Prisma.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/React.svg b/public/icons/React.svg
new file mode 100644
index 0000000..9af92b9
--- /dev/null
+++ b/public/icons/React.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/TailwindCSS.svg b/public/icons/TailwindCSS.svg
new file mode 100644
index 0000000..83a13ff
--- /dev/null
+++ b/public/icons/TailwindCSS.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/TypeScript.svg b/public/icons/TypeScript.svg
new file mode 100644
index 0000000..e1db5f1
--- /dev/null
+++ b/public/icons/TypeScript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/Vercel.svg b/public/icons/Vercel.svg
new file mode 100644
index 0000000..0a925e0
--- /dev/null
+++ b/public/icons/Vercel.svg
@@ -0,0 +1 @@
+
diff --git a/public/icons/Yarn.svg b/public/icons/Yarn.svg
new file mode 100644
index 0000000..1ebe509
--- /dev/null
+++ b/public/icons/Yarn.svg
@@ -0,0 +1 @@
+
diff --git a/public/locales/en-US.json b/public/locales/en-US.json
index d21ab0d..1046a96 100644
--- a/public/locales/en-US.json
+++ b/public/locales/en-US.json
@@ -22,7 +22,9 @@
"Details": "Your next Back-end Developer"
},
"About": {
- "Text": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident."
+ "Title": "About",
+ "Text": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident.",
+ "TextFull": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident. Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident."
},
"Error": {
"Copy": "Copy",
diff --git a/public/locales/pt-BR.json b/public/locales/pt-BR.json
index ad9d196..38f580b 100644
--- a/public/locales/pt-BR.json
+++ b/public/locales/pt-BR.json
@@ -22,7 +22,11 @@
"Details": "Seu próximo Desenvolvedor Back-end"
},
"About": {
- "Text": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident."
+ "Title": "Sobre",
+ "Text": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident.",
+ "TextFull": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident. Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, voluptatum culpa odio optio earum deserunt nulla alias sint eum accusamus commodi ipsum, eveniet sed similique explicabo nesciunt quo non! Provident.",
+ "Button": "Expandir...",
+ "Button2": "Recolher..."
},
"Error": {
"Copy": "Copiar",
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/vercel.svg b/public/vercel.svg
deleted file mode 100644
index d2f8422..0000000
--- a/public/vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx
index da9f8ca..c088243 100644
--- a/src/app/[locale]/page.tsx
+++ b/src/app/[locale]/page.tsx
@@ -1,7 +1,6 @@
import {
About,
BackToTop,
- Competencies,
Contact,
Footer,
Header,
@@ -16,7 +15,6 @@ export default function Home() {
-
diff --git a/src/components/about.tsx b/src/components/about.tsx
deleted file mode 100644
index e233a75..0000000
--- a/src/components/about.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useTranslations } from "next-intl";
-
-export function About() {
- const t = useTranslations("About");
-
- return (
-
-
-
-
{t("Text")}
-
-
- );
-}
diff --git a/src/components/about/about-text.tsx b/src/components/about/about-text.tsx
new file mode 100644
index 0000000..9a211d0
--- /dev/null
+++ b/src/components/about/about-text.tsx
@@ -0,0 +1,27 @@
+"use client"
+
+import { Button } from "@/components/ui";
+import { useTranslations } from "next-intl";
+import { useState, useEffect } from "react";
+
+export function AboutText() {
+ const t = useTranslations("About");
+ const [isExpanded, setIsExpanded] = useState(false);
+
+ useEffect(() => {
+ const element = document.getElementById("about_text");
+ if (element) {
+ element.textContent = isExpanded ? t("TextFull") : t("Text");
+ }
+ }, [isExpanded, t]);
+
+ function handleClick() {
+ setIsExpanded((isExpanded) => !isExpanded);
+ }
+
+ return (
+
+ {isExpanded ? t("Button2") : t("Button")}
+
+ );
+}
diff --git a/src/components/about/about.tsx b/src/components/about/about.tsx
new file mode 100644
index 0000000..ef940d7
--- /dev/null
+++ b/src/components/about/about.tsx
@@ -0,0 +1,33 @@
+"use client"
+
+import { useTranslations } from "next-intl";
+import { AboutText, Icon } from "@/components";
+
+export function About() {
+ const t = useTranslations("About");
+
+ return (
+
+ {t("Title")}
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/competencies.tsx b/src/components/competencies.tsx
deleted file mode 100644
index 158fab0..0000000
--- a/src/components/competencies.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-export function Competencies() {
- return ;
-}
diff --git a/src/components/header/header.tsx b/src/components/header/header.tsx
index 4b8236c..be6ec11 100644
--- a/src/components/header/header.tsx
+++ b/src/components/header/header.tsx
@@ -10,7 +10,6 @@ export function Header() {
-
diff --git a/src/components/icon.tsx b/src/components/icon.tsx
new file mode 100644
index 0000000..da64714
--- /dev/null
+++ b/src/components/icon.tsx
@@ -0,0 +1,9 @@
+import { ComponentProps } from "react";
+
+interface Props extends ComponentProps<"img"> {
+ name: string;
+}
+
+export function Icon({ name, className }: Readonly) {
+ return
+}
\ No newline at end of file
diff --git a/src/components/index.ts b/src/components/index.ts
index d999515..2667a53 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -1,13 +1,14 @@
-export * from "./about";
+export * from "./about/about";
+export * from "./about/about-text"
export * from "./back-to-top";
export * from "./change-language";
-export * from "./competencies"
export * from "./contact"
export * from "./footer"
export * from "./header/header"
export * from "./header/header-anchor"
+export * from "./icon";
export * from "./main-container"
export * from "./projects"
export * from "./start"
export * from "./theme/theme-provider"
-export * from "./theme/toggle-theme"
\ No newline at end of file
+export * from "./theme/toggle-theme"