Everywhere: Remove leftover files from previous website
This commit is contained in:
parent
e544decc9d
commit
617fb7a5d6
7 changed files with 0 additions and 13712 deletions
1
cache/getGitActivity
vendored
1
cache/getGitActivity
vendored
File diff suppressed because one or more lines are too long
|
@ -1,83 +0,0 @@
|
|||
import React from "react";
|
||||
import 'react-calendar-heatmap/dist/styles.css';
|
||||
import {AnimatePresence, motion} from "framer-motion";
|
||||
import VisibilitySensor from "react-visibility-sensor";
|
||||
|
||||
|
||||
export default class CopyrightNotice extends React.Component<null, {currentStep: number}> {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
currentStep: 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
let content;
|
||||
|
||||
switch (this.state.currentStep) {
|
||||
case 0:
|
||||
content = (
|
||||
<>
|
||||
copyright networkException ${new Date().getFullYear()}
|
||||
</>
|
||||
);
|
||||
break;
|
||||
case 1:
|
||||
content = (
|
||||
<>
|
||||
copyright networkException
|
||||
<span style={{color: "rgb(96, 104, 114)"}}>$</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>{</span>
|
||||
<span style={{color: "rgb(73, 79, 86)"}}>new </span>
|
||||
<span style={{color: "rgb(96, 104, 114)"}}>Date</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>(</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>)</span>
|
||||
<span style={{color: "rgb(114, 119, 124)"}}>.</span>
|
||||
<span style={{color: "rgb(96, 104, 114)"}}>getFullYear</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>(</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>)</span>
|
||||
<span style={{color: "rgb(120, 129, 141)"}}>}</span>
|
||||
</>
|
||||
);
|
||||
break;
|
||||
case 2:
|
||||
content = (
|
||||
<>copyright networkException {new Date().getFullYear()};</>
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={"relative"}>
|
||||
<VisibilitySensor partialVisibility onChange={(visible) => {
|
||||
console.log(visible);
|
||||
|
||||
if(visible) {
|
||||
setTimeout(() => {
|
||||
this.setState({currentStep: 1});
|
||||
}, 4000);
|
||||
|
||||
setTimeout(() => {
|
||||
this.setState({currentStep: 2});
|
||||
}, 8000);
|
||||
}
|
||||
}}>
|
||||
<AnimatePresence initial={false}>
|
||||
<motion.div
|
||||
className={"absolute inset-0 text-center"}
|
||||
key={this.state.currentStep}
|
||||
initial={{opacity: 0}}
|
||||
animate={{opacity: 1}}
|
||||
exit={{opacity: 0}}
|
||||
>
|
||||
{content}
|
||||
</motion.div>
|
||||
</AnimatePresence>
|
||||
</VisibilitySensor>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
import React from "react";
|
||||
import useSWR from "swr";
|
||||
import fetch from "node-fetch";
|
||||
import CalendarHeatmap from "react-calendar-heatmap";
|
||||
import 'react-calendar-heatmap/dist/styles.css';
|
||||
|
||||
// @ts-ignore
|
||||
const fetcher = (...args) => fetch(...args).then(res => res.json())
|
||||
|
||||
export interface GitActivityProps {
|
||||
|
||||
}
|
||||
|
||||
export const GitActivity: React.FunctionComponent = () => {
|
||||
const { data, error } = useSWR('/api/getGitActivity', fetcher);
|
||||
|
||||
if (error) {
|
||||
return (
|
||||
<div>FAILED TO LOAD</div>
|
||||
);
|
||||
}
|
||||
else if (!data) {
|
||||
return (
|
||||
<div>LOADING</div>
|
||||
);
|
||||
}
|
||||
else {
|
||||
// let d = JSON.parse(data.data);
|
||||
|
||||
let startDate = new Date(data.data[data.data.length - 1].date);
|
||||
startDate.setDate(startDate.getDate() - 365);
|
||||
|
||||
console.log(data.data);
|
||||
|
||||
let largest = 0;
|
||||
|
||||
for(let dataPoint of data.data) {
|
||||
if(dataPoint.count > largest) {
|
||||
largest = dataPoint.count;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(largest);
|
||||
|
||||
return (
|
||||
<div className={"w-1/2"}>
|
||||
<CalendarHeatmap
|
||||
startDate={startDate}
|
||||
endDate={data.data[data.data.length - 1].date}
|
||||
values={data.data}
|
||||
classForValue={(obj) => {
|
||||
let value = obj.count;
|
||||
|
||||
let ret = "fill-current ";
|
||||
|
||||
if (!value) {
|
||||
ret += "text-primary-100";
|
||||
}
|
||||
else {
|
||||
if(value <= largest * 0.25) {
|
||||
ret += "text-primary-200";
|
||||
}
|
||||
else if (value <= largest * 0.5) {
|
||||
ret += "text-primary-300";
|
||||
}
|
||||
else if (value <= largest * 0.75) {
|
||||
ret += "text-primary-400";
|
||||
}
|
||||
else {
|
||||
ret += "text-primary-500";
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,122 +0,0 @@
|
|||
import * as fs from "fs";
|
||||
|
||||
const path = "./cache/getGitActivity";
|
||||
const validTime = 1000 * 60 * 30; // 30 min in milliseconds
|
||||
|
||||
export type GitActivityCache = {
|
||||
data: Map<string, number>,
|
||||
lastRefresh: number
|
||||
}
|
||||
|
||||
export default (req, res) => {
|
||||
if(fs.existsSync(path)) {
|
||||
try {
|
||||
let data: GitActivityCache = JSON.parse(fs.readFileSync(path).toString());
|
||||
|
||||
if(Date.now() - data.lastRefresh < validTime) {
|
||||
res.statusCode = 200;
|
||||
res.send(JSON.stringify(data));
|
||||
}
|
||||
else {
|
||||
getData()
|
||||
.then((data) => {
|
||||
res.statusCode = 200;
|
||||
res.send(data)
|
||||
})
|
||||
.catch(() => {
|
||||
res.statusCode = 200;
|
||||
res.send(data.data);
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
getData()
|
||||
.then((data) => {
|
||||
res.statusCode = 500;
|
||||
res.send(data)
|
||||
})
|
||||
.catch(() => {
|
||||
res.statusCode = 500;
|
||||
res.send("Error while fetching data.");
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
getData()
|
||||
.then((data) => {
|
||||
res.statusCode = 200;
|
||||
res.send(data)
|
||||
})
|
||||
.catch(() => {
|
||||
res.statusCode = 500;
|
||||
res.send("Error while fetching data.");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function getData(): Promise<string> {
|
||||
let gitData = await getGitData();
|
||||
|
||||
fs.writeFileSync(path, JSON.stringify({data: gitData, lastRefresh: Date.now()}));
|
||||
|
||||
return JSON.stringify(gitData);
|
||||
}
|
||||
|
||||
|
||||
async function getGitData(): Promise<Array<{ date: string, count: number}>> {
|
||||
console.log("Refreshing Data");
|
||||
|
||||
let token = "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";
|
||||
let username = "networkException";
|
||||
|
||||
const output: { [date: string]: number } = {};
|
||||
|
||||
const headers = {
|
||||
'Authorization': `bearer ${token}`,
|
||||
};
|
||||
|
||||
const body = {
|
||||
'query': `query {
|
||||
user(login: "${username}") {
|
||||
name
|
||||
contributionsCollection {
|
||||
contributionCalendar {
|
||||
totalContributions
|
||||
weeks {
|
||||
contributionDays {
|
||||
contributionCount
|
||||
date
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`
|
||||
};
|
||||
|
||||
const githubResponse = await fetch('https://api.github.com/graphql', { method: 'POST', body: JSON.stringify(body), headers });
|
||||
|
||||
(await githubResponse.json()).data.user.contributionsCollection.contributionCalendar.weeks.forEach((week: any) => {
|
||||
week.contributionDays.forEach((day: any) => {
|
||||
if (day.date in output) {
|
||||
output[day.date] = output[day.date] + Number(day.contributionCount);
|
||||
}
|
||||
else {
|
||||
output[day.date] = Number(day.contributionCount);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const gitlabResponse: { [date: string]: number } = await (await fetch('https://gitlab.upi.li/users/networkException/calendar.json')).json();
|
||||
|
||||
for (const date in gitlabResponse) {
|
||||
if (date in output) {
|
||||
output[date] = output[date] + gitlabResponse[date];
|
||||
}
|
||||
else {
|
||||
output[date] = gitlabResponse[date];
|
||||
}
|
||||
}
|
||||
|
||||
return Object.keys(output).map(date => { return { date, count: output[date] }; });
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
import Head from "next/head"
|
||||
import CopyrightNotice from "../components/CopyrightNotice";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>nwex.de</title>
|
||||
</Head>
|
||||
|
||||
<div style={{marginTop: 3000}}>
|
||||
<CopyrightNotice />
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
const purgeEnabled = process.env.NODE_ENV === "production"
|
||||
|
||||
console.log("\n")
|
||||
console.log(` TailwindCSS \n`)
|
||||
console.log(` ----------- \n`)
|
||||
console.log(` ✅ purgeEnabled=${purgeEnabled}\n`)
|
||||
|
||||
module.exports = {
|
||||
purge: {
|
||||
enabled: purgeEnabled,
|
||||
content: ["./src/**/*.html", "./src/**/*.tsx", "./src/**/*.jsx"]
|
||||
},
|
||||
darkMode: 'class', // or 'media' or 'class'
|
||||
theme: {
|
||||
extend: {
|
||||
screens: {
|
||||
'3xl': '1900px',
|
||||
},
|
||||
colors: {
|
||||
'primary': {
|
||||
100: '#FEE7D1',
|
||||
200: '#FDD0A3',
|
||||
300: '#FCB875',
|
||||
400: '#FBA047',
|
||||
500: '#fb8919',
|
||||
},
|
||||
'secondary': {
|
||||
100: '#8f969e',
|
||||
200: '#78818d',
|
||||
300: '#72777c',
|
||||
400: '#606872',
|
||||
500: '#494f56',
|
||||
600: '#2d3135'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
variants: {
|
||||
extend: {}
|
||||
},
|
||||
plugins: []
|
||||
}
|
Loading…
Reference in a new issue