diff --git a/components/Background/index.tsx b/components/Background/index.tsx
index db40e20..a382aef 100644
--- a/components/Background/index.tsx
+++ b/components/Background/index.tsx
@@ -28,12 +28,16 @@ const setup = () => {
renderer.domElement.style.width = '100%';
renderer.domElement.style.height = '100%';
renderer.domElement.style.zIndex = -1;
- renderer.domElement.style.opacity = 1;
+ renderer.domElement.style.animationName = 'fadein';
+ renderer.domElement.style.animationDuration = '2s';
document.body.appendChild(renderer.domElement);
addParticles();
addLights();
render();
+ requestAnimationFrame(() => {
+ //renderer.domElement.style.opacity = 1;
+ })
}
const addParticles = () => {
diff --git a/components/Me.tsx b/components/Me.tsx
index a3321e4..87af655 100644
--- a/components/Me.tsx
+++ b/components/Me.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useRef, useState, useEffect } from 'react';
import styled from 'styled-components';
import image from '../public/images/me.jpg';
@@ -10,14 +10,17 @@ const Wrapper = styled.div`
padding: 80px;
`;
-const ImageWrapper = styled.div`
+const ImageWrapper = styled.div<{loaded: boolean}>`
border-radius: 50%;
border: solid 10px rgba(255, 255, 255, .5);
box-shadow: 0 0 35px rgba(0, 0, 0, .5);
overflow: hidden;
width: 100%;
- max-width: 360px;
+ max-width: 300px;
position: relative;
+ transition: opacity 1s;
+ transform: rotateY(180deg);
+ opacity: ${({ loaded }) => loaded ? '1' : '0'};
`;
const Spacer = styled.div`
@@ -34,6 +37,12 @@ const Title = styled.h1`
0 0 5px rgba(255, 255, 255, .5);
0 0 10px rgba(0, 0, 0, .5);
margin-bottom: 0px;
+ letter-spacing: 1px;
+ letter-spacing: 7px;
+
+ &::first-letter {
+ font-size: 36px;
+ }
`;
const SubTitle = styled.h2`
@@ -66,16 +75,31 @@ const Image = styled.img<{blurDataURL: string}>`
height: 100%;
`
-const Me: React.FC<{}> = () => (
-
-
-
-
-
- Morten Olsen
- “...One part genius, one part crazy”
-
-
-);
+const Me: React.FC<{}> = () => {
+ const imgRef = useRef();
+ const [loaded, setLoaded] = useState(false);
+ console.log('l', loaded);
+ useEffect(() => {
+ if (imgRef.current) {
+ setLoaded(imgRef.current.complete);
+ }
+ }, [imgRef]);
+ return (
+
+
+ setLoaded(true)}
+ />
+
+
+ Morten Olsen
+ “...One part genius, one part crazy”
+
+
+ );
+};
export default Me;
diff --git a/pages/index.tsx b/pages/index.tsx
index d872ff0..76de7aa 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,4 +1,5 @@
import React from 'react';
+import { createGlobalStyle } from 'styled-components';
import Head from 'next/head';
import Background from '../components/Background';
import Me from '../components/Me';
@@ -8,6 +9,17 @@ import githubLogo from '../public/images/logos/github.svg';
import linkedinLogo from '../public/images/logos/linkedin.svg';
import stackOverflowLogo from '../public/images/logos/stackoverflow.svg';
+const Globals = createGlobalStyle`
+ body {
+ background: #03544e;
+ }
+
+ @keyframes fadein {
+ from {opacity: 0}
+ to {opacity: 1}
+ }
+`;
+
const Frontpage: React.FC<{}> = () => {
return (
<>
@@ -17,6 +29,7 @@ const Frontpage: React.FC<{}> = () => {
+