diff --git a/src/components/Technologies/MainTopic.jsx b/src/components/Technologies/MainTopic.jsx new file mode 100644 index 0000000..f23b5dc --- /dev/null +++ b/src/components/Technologies/MainTopic.jsx @@ -0,0 +1,16 @@ +import { useState } from "react"; +import { SubTopic } from "./SubTopic"; +import { Card } from "@mui/material"; +import { v4 } from "uuid"; + +export function MainTopic({ name, subtopics }) { + const [collapsed, setCollapsed] = useState(true); + + return ( + +

{name}

+ { collapsed ? null : subtopics.map(data => ) } + +
+ ) +} \ No newline at end of file diff --git a/src/components/Technologies/SubTopic.jsx b/src/components/Technologies/SubTopic.jsx new file mode 100644 index 0000000..1ba8217 --- /dev/null +++ b/src/components/Technologies/SubTopic.jsx @@ -0,0 +1,21 @@ +import { Card, Chip } from "@mui/material"; +import { useState } from "react"; +import { v4 } from "uuid"; + +export function SubTopic({ data }) { + const [showNested, setShowNested] = useState(false); + + return ( + + {data.topic || data} +
+ { data.subtopics ? + data.subtopics.map(each => { + return + }) + : null + } +
+
+ ) +} \ No newline at end of file diff --git a/src/components/Technologies/techList.js b/src/components/Technologies/techList.js new file mode 100644 index 0000000..3fccc0d --- /dev/null +++ b/src/components/Technologies/techList.js @@ -0,0 +1,91 @@ +export const techList = [ + { + topic: "Programming Languages", + subtopics: [ + { + topic: "JavaScript", + subtopics: [ + "TypeScript", + "NodeJS", + "Express", + "ToneJS", + "Jest" + ] + }, + { + topic: "Python", + subtopics: [ + "Pandas", + "Beautiful Soup", + ] + }, + { + topic: "C#", + subtopics: [], + }, + { + topic: "Java", + subtopics: [] + } + ] + }, + { + topic: "Front End Engineering", + subtopics: [ + { + topic: "React", + subtopics: [ + "Redux", + "React / TypeScript", + "React Native", + "React Testing Library", + "React Router" + ] + }, + { + topic: "Styling", + subtopics: [ + "CSS", + "Sass", + "Material UI", + "Responsive Design", + ] + } + ] + }, + + { + topic: "Back End Engineering", + subtopics: [ + { + topic: "SQL", + subtopics: [ + "PostgreSQL", + "MongoDB", + "Supabase" + ] + }, + { + topic: "REST API", + subtopics: [ + "Express.js", + "Express-Session", + "API Documentation with Swagger", + "MVC Architecture" + ] + } + ] + }, + { + topic: "Developer Tools", + subtopics: [ + "Git", + "GitHub", + "Visual Studio Code", + "Vite", + "Netlify", + "Heroku", + "Figma", + ] + } +] diff --git a/src/pages/Projects.jsx b/src/pages/Projects.jsx index 2885032..73f28ad 100644 --- a/src/pages/Projects.jsx +++ b/src/pages/Projects.jsx @@ -2,7 +2,7 @@ import { useState, useEffect, useRef, useCallback } from 'react'; import { DocumentStyle } from '../styles/Style'; import { projectsArray } from '../components/ProjectsArray'; import { Divider } from '@mui/material'; -import '../sass/App.scss'; +import '../sass/pages/Projects.scss'; const { htmlTheme, dividerStyle } = DocumentStyle; diff --git a/src/pages/Technologies.jsx b/src/pages/Technologies.jsx index 6810a6e..5704f56 100644 --- a/src/pages/Technologies.jsx +++ b/src/pages/Technologies.jsx @@ -1,79 +1,17 @@ import '../sass/pages/Technologies.scss'; +import { DocumentStyle } from '../styles/Style'; +import { MainTopic } from '../components/Technologies/MainTopic'; +import { techList } from '../components/Technologies/techList'; +import { v4 } from 'uuid'; -import Card from '@mui/material/Card'; -import Chip from '@mui/material/Chip'; - -import { TechnologiesPage, DocumentStyle } from '../styles/Style'; - -const { technologyCard } = TechnologiesPage; const { htmlTheme } = DocumentStyle; export default function Technologies() { return (
- -

What technologies do I use?

-
- -

These are my most often-used technologies:

- -
- - - - - - -
- -
- - - - - - -
-
- -

Here are some I use relatively often:

- - -
- - - - - -
- -
- - - - -
- -
- -

And here are some things I'm working on learning:

- - -
- - - - -
- -
- - - - -
- -
+ {techList.map(item => { + return + })}
) } \ No newline at end of file diff --git a/src/sass/App.scss b/src/sass/App.scss index dfb4010..ef89809 100644 --- a/src/sass/App.scss +++ b/src/sass/App.scss @@ -10,63 +10,4 @@ position: relative; top: 4.5rem; } -} - -.projects-page { - .filter-panel { - display: flex; - position: static; - flex-direction: column; - background-color: white; - align-items: center; - padding: 1rem; - width: 40vw; - border-radius: 12px; - margin-bottom: 2rem; - transition: align-items 1s ease, - position 1s ease - ; - - .filter-controls { - display: flex; - justify-content: space-between; - width: 80%; - } - - } - .filter-anim-one { - position: sticky; - left: 2rem; - top: 6rem; - justify-content: flex-start; - } - .filter-anim-two { - - } - - .project-cards { - display: flex; - flex-direction: column; - align-items: center; - margin-top: 2rem; - - > * { - display: flex; - flex-direction: column; - align-items: center; - background-color: lightblue; - width: 80%; - height: auto; - margin-bottom: 2rem; - .links { - display: flex; - width: 75%; - align-items: baseline; - justify-content: space-around; - } - a:last-child { - margin-bottom: 1rem; - } - } - } } \ No newline at end of file diff --git a/src/sass/pages/Projects.scss b/src/sass/pages/Projects.scss index e69de29..9feddb4 100644 --- a/src/sass/pages/Projects.scss +++ b/src/sass/pages/Projects.scss @@ -0,0 +1,55 @@ +.projects-page { + .filter-panel { + display: flex; + position: static; + flex-direction: column; + background-color: white; + align-items: center; + padding: 1rem; + width: 40vw; + border-radius: 12px; + margin-bottom: 2rem; + transition: align-items 1s ease, + position 1s ease + ; + + .filter-controls { + display: flex; + justify-content: space-between; + width: 80%; + } + + } + .filter-anim-one { + position: sticky; + left: 2rem; + top: 6rem; + justify-content: flex-start; + } + + .project-cards { + display: flex; + flex-direction: column; + align-items: center; + margin-top: 2rem; + + > * { + display: flex; + flex-direction: column; + align-items: center; + background-color: lightblue; + width: 80%; + height: auto; + margin-bottom: 2rem; + .links { + display: flex; + width: 75%; + align-items: baseline; + justify-content: space-around; + } + a:last-child { + margin-bottom: 1rem; + } + } + } +} \ No newline at end of file diff --git a/src/sass/pages/Technologies.scss b/src/sass/pages/Technologies.scss index 6cfca7d..44a72a2 100644 --- a/src/sass/pages/Technologies.scss +++ b/src/sass/pages/Technologies.scss @@ -2,48 +2,22 @@ @import "../helper/animations"; .technologies-page { - .tech-scrollbar { - height: 5rem; - min-width: 60rem; - display: flex; - align-items: center; - justify-content: center; - position: relative; - left: 0; - overflow-x: hidden; - animation: 30s linear tech-scroll infinite; - .tech-bar-item { + .main-topic { + width: 70vw; + margin: 1rem 0; + padding: 1rem; + } + + .subtopic-card { + .subtopics { display: flex; - align-items: center; + flex-flow: row wrap; justify-content: center; - position: relative; - left: 0; - top: 0.3rem; - font-size: 1.2rem; - font-weight: 700; - margin: 0 0.3rem; padding: 1rem; - background-color: $purple200; - height: 5rem; - width: 20rem; + & > * { + padding: 0.5rem; + margin: 0.5rem; + } } } - - .backup-bar { - bottom: 5rem; - animation: 30s linear 15s tech-scroll infinite, 15s hide-until-start; - } - - .from-right { - animation: 30s linear from-right infinite; - } - .backup-from-right { - bottom: 5rem; - animation: 30s linear 15s from-right infinite, 15s hide-until-start; - } - - .variant-2 { - background-color: #62286d !important; - color: white !important; - } } \ No newline at end of file