Skip to content

Commit 51553fb

Browse files
authored
Merge pull request #18 from JS-GitRepo/feature/Introduction
much progress on introduction page; complete for now. Mostly finalizi…
2 parents 93ed94d + f6ff0b2 commit 51553fb

23 files changed

+352
-168
lines changed

src/App.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import WIPDisclaimer from "./components/WIPDisclaimer";
55
import ErrorNotFound from "./components/ErrorNotFound";
66

77
// 9-28-22
8-
// Refactoring routes, and general way this 'web app' works. Making HomeView the default route, with a 'modal' over it which will be Landing Page. Instead of all this weird routing form Landing Page to Homeview, landing page will be an overlay that exists within HomeView, that is only present when the user is at /landing. Thinking of actually making the LandingPage an option for "HomeViewContent" that steels the entire viewport, so that HomeView is always there behind it.
8+
// Refactoring routes, and general way this 'web app' works. Making HomeView the default route, with a 'modal' over it which will be Landing Page. Instead of all this weird routing form Landing Page to Homeview, landing page will be an overlay that exists within HomeView, that is only present when the user is at /landing. Thinking of actually making the LandingPage an option for "HVContent" that steels the entire viewport, so that HomeView is always there behind it.
99

10-
// This would effectively make "App" into what is currently HomeView, and turn HomeView into HomeViewContent which can then be routed between
10+
// This would effectively make "App" into what is currently HomeView, and turn HomeView into HVContent which can then be routed between
1111

1212
// jakesnyder.dev/:landingOrHome/:category1/:gameOrWeb/:project
1313
// jakesnyder.dev/:landingOrHome/:category1/introduction

src/AppConfig.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"hueAnimDuration": 7000,
33
"hueAnimDuration_Slow": 10000,
4-
"projectURL_Params": ["deerfall", "mediamatchup"]
4+
"projectURL_Params": ["deerfall", "mediamatchup"],
5+
"intro_txt_p1": "Hi! I'm Jake.",
6+
"intro_txt_p2": "Life long tinkerer, learner, IT enthusiast... and the one that built this website!",
7+
"intro_txt_p3": "I love figuring out how things work, how people work, and how the two (things and people) interact.",
8+
"intro_txt_p4": "I'll be creating a contact form here soon, but in the meantime please reachout via LinkedIn!",
9+
"built_using_txt": "REACT JS | REACT SPRING | TYPESCRIPT | FIREBASE"
510
}

src/components/HomeViewContent.tsx renamed to src/components/HVContent.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
import { useEffect, useState } from "react";
22
import { animated, useTransition } from "react-spring";
3-
import "./styles/HomeViewContent.css";
3+
import "./styles/HVContent.css";
44
import Deerfall from "./projects/Deerfall";
55
import MediaMatchup from "./projects/MediaMatchup";
66
import { useNavigate } from "react-router-dom";
7-
import PersonalIntro from "./projects/PersonalIntro";
7+
import Introduction from "./projects/Introduction";
88

99
interface Props {
1010
currentContent: string | undefined;
1111
isIntro: boolean;
1212
}
1313

14-
const HomeViewContent = ({ currentContent, isIntro }: Props) => {
14+
const HVContent = ({ currentContent, isIntro }: Props) => {
1515
// - - - - States - - - -
1616
// toggleQueue false = projQueue1, toggleQueue true = projQueue2
1717
const [toggleQueue, setToggleQueue] = useState(false);
1818
const navigate = useNavigate();
1919
// - - - - Projects - - - -
2020
const allProjList = {
21-
intro: <PersonalIntro />,
21+
intro: <Introduction />,
2222
deerfall: <Deerfall isPortfolio={true} />,
2323
mediamatchup: <MediaMatchup isPortfolio={true} />,
2424
};
@@ -47,7 +47,7 @@ const HomeViewContent = ({ currentContent, isIntro }: Props) => {
4747
}, [currentContent, isIntro]);
4848

4949
return (
50-
<div className='HomeViewContent'>
50+
<div className='HVContent'>
5151
{transition(
5252
(styles, item) =>
5353
item && (
@@ -60,4 +60,4 @@ const HomeViewContent = ({ currentContent, isIntro }: Props) => {
6060
);
6161
};
6262

63-
export default HomeViewContent;
63+
export default HVContent;

src/components/HomeViewFooter.tsx renamed to src/components/HVFooter.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ import { useContext } from "react";
22
import { NavLink } from "react-router-dom";
33
import { animated } from "react-spring";
44
import AppContext from "../contexts/AppContext";
5-
import "./styles/HomeViewFooter.css";
5+
import "./styles/HVFooter.css";
66

77
interface Props {
88
allParams: string[];
99
isIntro: boolean;
1010
}
1111

12-
const HomeViewFooter = ({ allParams, isIntro }: Props) => {
12+
const HVFooter = ({ allParams, isIntro }: Props) => {
1313
const currentYear = new Date();
1414
const { hueRotation } = useContext(AppContext);
1515

1616
return (
17-
<div className='HomeViewFooter'>
17+
<div className='HVFooter'>
1818
<div className='project-nav-ctr'>
1919
<div className={isIntro ? "project-nav hidden" : "project-nav"}>
2020
<span className='material-symbols-outlined'>chevron_left</span>
@@ -68,4 +68,4 @@ const HomeViewFooter = ({ allParams, isIntro }: Props) => {
6868
);
6969
};
7070

71-
export default HomeViewFooter;
71+
export default HVFooter;

src/components/HomeViewHeader.tsx renamed to src/components/HVHeader.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useContext, useEffect, useReducer, useState } from "react";
22
import { Link, NavLink, useLocation } from "react-router-dom";
33
import { animated } from "react-spring";
44
import AppContext from "../contexts/AppContext";
5-
import "./styles/HomeViewHeader.css";
5+
import "./styles/HVHeader.css";
66

77
interface Props {
88
subtitle: string;
@@ -11,13 +11,13 @@ interface Props {
1111
isIntro: boolean;
1212
}
1313

14-
const HomeViewHeader = ({ subtitle, subEmoji, allParams, isIntro }: Props) => {
14+
const HVHeader = ({ subtitle, subEmoji, allParams, isIntro }: Props) => {
1515
// GENERAL
1616
const { hueRotation } = useContext(AppContext);
1717

1818
// Some elements in the return will be hidden by media query CSS, to allow UI elements in the header or footer depending on mobile / Desktop. This is why there are some "redundant" elements
1919
return (
20-
<div className='HomeViewHeader'>
20+
<div className='HVHeader'>
2121
<Link className='title-ctr' to={{ pathname: "/landing" }}>
2222
<h1>
2323
{`${isIntro ? "who is " : ""}`}
@@ -103,4 +103,4 @@ const HomeViewHeader = ({ subtitle, subEmoji, allParams, isIntro }: Props) => {
103103
);
104104
};
105105

106-
export default HomeViewHeader;
106+
export default HVHeader;

src/components/HomeView.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import "./styles/HomeView.css";
22
import { useLocation, useNavigate, useParams } from "react-router-dom";
33
import { useContext, useEffect, useState } from "react";
4-
import HomeViewHeader from "./HomeViewHeader";
5-
import HomeViewFooter from "./HomeViewFooter";
4+
import HVHeader from "./HVHeader";
5+
import HVFooter from "./HVFooter";
66
import AppContext from "../contexts/AppContext";
77
import AppConfig from "../AppConfig.json";
88
import LandingPage from "./LandingPage";
9-
import HomeViewContent from "./HomeViewContent";
9+
import HVContent from "./HVContent";
1010

1111
interface Props {}
1212

@@ -120,14 +120,14 @@ const HomeView = ({}: Props) => {
120120
return (
121121
<div className='HomeView'>
122122
{isLanding ? <LandingPage setIsLanding={setIsLanding} /> : ""}
123-
<HomeViewHeader
123+
<HVHeader
124124
subtitle={subtitle}
125125
subEmoji={subEmoji}
126126
allParams={allParamsArray}
127127
isIntro={isIntro}
128128
/>
129-
<HomeViewContent currentContent={param4} isIntro={isIntro} />
130-
<HomeViewFooter allParams={allParamsArray} isIntro={isIntro} />
129+
<HVContent currentContent={param4} isIntro={isIntro} />
130+
<HVFooter allParams={allParamsArray} isIntro={isIntro} />
131131
</div>
132132
);
133133
};

src/components/LandingPageLink.tsx renamed to src/components/LPLink.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useContext, useEffect, useRef, useState } from "react";
22
import { Link } from "react-router-dom";
33
import { animated, SpringValue, useSpring } from "react-spring";
44
import AppContext from "../contexts/AppContext";
5-
import "./styles/LandingPageLink.css";
5+
import "./styles/LPLink.css";
66

77
interface Props {
88
currentDisplay: string;
@@ -11,12 +11,7 @@ interface Props {
1111
isH1: boolean;
1212
}
1313

14-
const LandingPageLink = ({
15-
currentDisplay,
16-
linkText,
17-
pathName,
18-
isH1,
19-
}: Props) => {
14+
const LPLink = ({ currentDisplay, linkText, pathName, isH1 }: Props) => {
2015
const { isMobile } = useContext(AppContext);
2116
const opacityRef = useRef(0);
2217
const hoverOn: any = useSpring({
@@ -84,4 +79,4 @@ const LandingPageLink = ({
8479
);
8580
};
8681

87-
export default LandingPageLink;
82+
export default LPLink;

src/components/LandingPage.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useContext, useEffect, useState } from "react";
22
import { useLocation, useNavigate } from "react-router-dom";
33
import "./styles/LandingPage.css";
4-
import LandingPageLink from "./LandingPageLink";
4+
import LPLink from "./LPLink";
55
import { animated, useTransition } from "react-spring";
66
import pixelBG from "../img/pixelBG_LowRes.png";
77
import pixelFadeBG from "../img/animated-14fps.png";
@@ -98,7 +98,7 @@ const LandingPage = ({ setIsLanding }: Props) => {
9898
{fadeOut((style: any, item: any) =>
9999
item ? (
100100
<animated.div className={"header-ctr"} style={style}>
101-
<LandingPageLink
101+
<LPLink
102102
currentDisplay={currentDisplay}
103103
linkText={currentDisplay}
104104
pathName={"/"}
@@ -109,17 +109,17 @@ const LandingPage = ({ setIsLanding }: Props) => {
109109
""
110110
)
111111
)}
112-
{/* <PersonalIntro /> */}
112+
{/* <Introduction /> */}
113113
{fadeOut((style: any, item: any) =>
114114
item ? (
115115
<animated.div className='nav-ctr' style={style}>
116-
<LandingPageLink
116+
<LPLink
117117
currentDisplay={currentDisplay}
118118
linkText={link1Text}
119119
pathName={link1Path}
120120
isH1={false}
121121
/>
122-
<LandingPageLink
122+
<LPLink
123123
currentDisplay={currentDisplay}
124124
linkText={link2Text}
125125
pathName={link2Path}
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
/* RESETS */
2+
p {
3+
margin: 10px 3%;
4+
}
5+
6+
/* GENERAL */
7+
.Introduction {
8+
display: flex;
9+
flex-direction: column;
10+
align-items: center;
11+
justify-content: start;
12+
box-sizing: border-box;
13+
margin-bottom: 0%;
14+
width: 100%;
15+
height: 100%;
16+
z-index: 1;
17+
}
18+
19+
/* background images */
20+
.Introduction .bg-img-ctr {
21+
/* position */
22+
display: flex;
23+
align-items: center; /* vertical */
24+
justify-content: center; /* horizontal */
25+
position: absolute;
26+
z-index: 0;
27+
/* sizing */
28+
height: 100%;
29+
max-height: 100%;
30+
width: 100vw;
31+
}
32+
33+
.Introduction .bg-img {
34+
height: 100%;
35+
max-height: 100%;
36+
min-width: 100%;
37+
object-fit: cover;
38+
/* . . . Image Rendering . . . */
39+
image-rendering: -moz-crisp-edges; /* Firefox */
40+
image-rendering: -o-crisp-edges; /* Opera */
41+
image-rendering: -webkit-optimize-contrast; /* Chrome / Safari */
42+
image-rendering: pixelated; /* Chrome as of 2019 */
43+
image-rendering: optimize-contrast; /* CSS3 Proposed */
44+
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
45+
z-index: -1;
46+
}
47+
48+
/* content */
49+
.Introduction .content-ctr {
50+
display: flex;
51+
flex-direction: column;
52+
align-items: center;
53+
width: 100vw;
54+
max-height: 63%;
55+
overflow: scroll;
56+
z-index: 1;
57+
color: rgb(250, 250, 250);
58+
padding: 6vh 0%;
59+
}
60+
61+
.Introduction .img-ctr {
62+
display: flex;
63+
position: relative;
64+
width: fit-content;
65+
padding: 5px;
66+
margin: 15px;
67+
}
68+
.Introduction .headshot {
69+
min-width: 100px;
70+
min-height: 100px;
71+
max-width: 250px;
72+
max-height: 250px;
73+
width: 45vw;
74+
height: auto;
75+
}
76+
.Introduction .img-bg-border {
77+
position: absolute;
78+
top: 50%;
79+
left: 50%;
80+
transform: translate(-50%, -50%);
81+
width: 100%;
82+
height: 100%;
83+
border: 10px ridge rgba(0, 255, 225, 0.767);
84+
}
85+
86+
.Introduction .text-ctr {
87+
max-width: 100%;
88+
height: auto;
89+
}
90+
91+
.Introduction .text-ctr .technologies {
92+
font-weight: 600;
93+
font-size: 17px;
94+
text-shadow: 0 0 1.5px rgba(255, 255, 255, 1),
95+
0 0 1.5px rgba(255, 255, 255, 1), 0 0 1.5px rgba(255, 255, 255, 1),
96+
0 0 1.5px rgba(255, 255, 255, 1);
97+
color: rgb(34, 176, 150);
98+
}
99+
100+
@media only screen and (min-width: 768px) {
101+
.Introduction {
102+
justify-content: center;
103+
}
104+
105+
.Introduction .content-ctr {
106+
display: flex;
107+
align-items: center;
108+
justify-content: center;
109+
max-height: none;
110+
overflow: hidden;
111+
}
112+
113+
.Introduction .content-ctr p {
114+
text-align: center;
115+
width: 300px;
116+
}
117+
118+
.Introduction .content-ctr h1 {
119+
font-size: 26px;
120+
}
121+
122+
.Introduction .content-ctr h2 {
123+
font-size: 22px;
124+
}
125+
126+
.Introduction .text-ctr {
127+
display: flex;
128+
flex-direction: column;
129+
align-items: center;
130+
justify-content: center;
131+
}
132+
133+
.Introduction .text-ctr .technologies {
134+
font-size: 30px;
135+
text-shadow: 0 0 4px rgba(255, 255, 255, 0.8),
136+
0 0 4px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255, 255, 255, 0.8),
137+
0 0 4px rgba(255, 255, 255, 0.8);
138+
color: rgb(34, 176, 150);
139+
}
140+
141+
.Introduction .technologies p {
142+
margin: 0px 0px 5px 0px;
143+
width: 100%;
144+
}
145+
}

0 commit comments

Comments
 (0)