Finish move from index to terminal
This commit is contained in:
parent
995cfc5aea
commit
a7cc473f53
@ -1,7 +1,8 @@
|
|||||||
import type { NextPage } from "next";
|
import type { NextPage } from "next";
|
||||||
import { useEffect, useRef, useState, isValidElement, useCallback } from "react";
|
import { useEffect, useRef, useState, isValidElement, useCallback } from "react";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import styles from "../../styles/ProjectModal.module.css";
|
import styles from "../../styles/Terminal/ProjectModal.module.css";
|
||||||
|
import asciidocStyles from "../../styles/Terminal/customAsciidoc.module.scss";
|
||||||
import type { Project, Diary } from "../../lib/content/types";
|
import type { Project, Diary } from "../../lib/content/types";
|
||||||
import { useCommands } from "../../lib/commands/ContextProvider";
|
import { useCommands } from "../../lib/commands/ContextProvider";
|
||||||
import { generateContent, projectEmpty } from "../../lib/content/generate";
|
import { generateContent, projectEmpty } from "../../lib/content/generate";
|
||||||
@ -108,7 +109,7 @@ const ProjectModal: NextPage = () => {
|
|||||||
</a>
|
</a>
|
||||||
<div className={styles.modalContainer} onClick={(event) => event.stopPropagation()}>
|
<div className={styles.modalContainer} onClick={(event) => event.stopPropagation()}>
|
||||||
{nextPageSelector}
|
{nextPageSelector}
|
||||||
<div className={`${styles.modalText} asciidoc`} ref={containerRef} dangerouslySetInnerHTML={{ __html: HTMLContent ? HTMLContent : projectEmpty }}>
|
<div className={`${styles.modalText} ${asciidocStyles.asciidoc}`} ref={containerRef} dangerouslySetInnerHTML={{ __html: HTMLContent ? HTMLContent : projectEmpty }}>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{nextPageSelector}
|
{nextPageSelector}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { NextPage } from "next";
|
import { NextPage } from "next";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import type { BaseSyntheticEvent, MutableRefObject } from "react";
|
import type { BaseSyntheticEvent, MutableRefObject } from "react";
|
||||||
import styles from "../../../styles/REPL/REPLHistory.module.css";
|
import styles from "../../../styles/Terminal/REPL/REPLHistory.module.css";
|
||||||
|
|
||||||
interface REPLHistoryParams {
|
interface REPLHistoryParams {
|
||||||
history: string[];
|
history: string[];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import type { NextPage } from "next";
|
import type { NextPage } from "next";
|
||||||
import { MutableRefObject, useState, createRef, useEffect } from "react";
|
import { MutableRefObject, useState, createRef, useEffect } from "react";
|
||||||
import { CommandInterface } from "../../../lib/commands";
|
import { CommandInterface } from "../../../lib/commands";
|
||||||
import styles from "../../../styles/REPL/REPLInput.module.css";
|
import styles from "../../../styles/Terminal/REPL/REPLInput.module.css";
|
||||||
import { useCommands } from "../../../lib/commands/ContextProvider";
|
import { useCommands } from "../../../lib/commands/ContextProvider";
|
||||||
import { useModalFunctions } from "../contexts/ModalFunctions";
|
import { useModalFunctions } from "../contexts/ModalFunctions";
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import { MutableRefObject, useEffect, useRef, useState } from "react";
|
import { MutableRefObject, useEffect, useRef, useState } from "react";
|
||||||
import REPLInput from "./REPLInput";
|
import REPLInput from "./REPLInput";
|
||||||
import REPLHistory from "./REPLHistory";
|
import REPLHistory from "./REPLHistory";
|
||||||
import styles from "../../../styles/REPL/REPLComplete.module.css";
|
import styles from "../../../styles/Terminal/REPL/REPLComplete.module.css";
|
||||||
import type { NextPage } from "next";
|
import type { NextPage } from "next";
|
||||||
import { useCommands } from "../../../lib/commands/ContextProvider";
|
// import { useCommands } from "../../../lib/commands/ContextProvider";
|
||||||
|
|
||||||
interface IREPLProps {
|
interface IREPLProps {
|
||||||
inputRef: MutableRefObject<HTMLInputElement|null>;
|
inputRef: MutableRefObject<HTMLInputElement|null>;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { createContext, useContext } from "react";
|
import { createContext, useContext } from "react";
|
||||||
import type { PropsWithChildren } from "react";
|
import type { PropsWithChildren } from "react";
|
||||||
import type { Project, Diary } from "../../lib/content/types";
|
import type { Project, Diary } from "../../../lib/content/types";
|
||||||
|
|
||||||
interface ModalFunctions {
|
interface ModalFunctions {
|
||||||
setVisible?: CallableFunction;
|
setVisible?: CallableFunction;
|
||||||
|
@ -3,7 +3,7 @@ import type { Command, Flag } from "./types";
|
|||||||
import Color from "color";
|
import Color from "color";
|
||||||
import { getColors, setColors } from "../colors";
|
import { getColors, setColors } from "../colors";
|
||||||
import Rainbow from "../colors";
|
import Rainbow from "../colors";
|
||||||
import styles from "../../styles/Random.module.scss";
|
import styles from "../../styles/Terminal/Random.module.scss";
|
||||||
|
|
||||||
function getCommandByName(name: string): Command | undefined {
|
function getCommandByName(name: string): Command | undefined {
|
||||||
return commandList.find(cmd => cmd.name === name);
|
return commandList.find(cmd => cmd.name === name);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import type { AppProps } from "next/app";
|
import type { AppProps } from "next/app";
|
||||||
import Head from "next/head";
|
import Head from "next/head";
|
||||||
import "../styles/globals.css";
|
import "../styles/globals.css";
|
||||||
import "../styles/customAsciidoc.scss";
|
//import "../styles/customAsciidoc.scss";
|
||||||
import { CommandsProvider } from "../lib/commands/ContextProvider";
|
import { CommandsProvider } from "../lib/commands/ContextProvider";
|
||||||
import { ModalFunctionProvider } from "../components/Terminal/contexts/ModalFunctions";
|
import { ModalFunctionProvider } from "../components/Terminal/contexts/ModalFunctions";
|
||||||
|
|
||||||
|
@ -9,6 +9,12 @@ import Spinner from "../components/Spinner";
|
|||||||
const Blog: NextPage<{}> = () => {
|
const Blog: NextPage<{}> = () => {
|
||||||
const { data: projectList, error } = useSWR("/content/list.json", (...args) => fetch(...args).then(res => res.json()));
|
const { data: projectList, error } = useSWR("/content/list.json", (...args) => fetch(...args).then(res => res.json()));
|
||||||
|
|
||||||
|
const generateCards = (type: string) => {
|
||||||
|
if (error) return <div>Error on fetching projects.</div>;
|
||||||
|
if (!projectList) return <Spinner size={200} color={"#fff"} />;
|
||||||
|
else return <div className="contentList">{(projectList as ContentList).filter(p => p.type === type).map(p => <ProjectCard key={p.name} title={p.name} description={p.desc.join(" ")} />)}</div>;
|
||||||
|
};
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<Head>
|
<Head>
|
||||||
<title>c0ntroller.de</title>
|
<title>c0ntroller.de</title>
|
||||||
@ -18,11 +24,11 @@ const Blog: NextPage<{}> = () => {
|
|||||||
<p>Miaumiau Lorem ipsum</p>
|
<p>Miaumiau Lorem ipsum</p>
|
||||||
<h2>Projects</h2>
|
<h2>Projects</h2>
|
||||||
{
|
{
|
||||||
projectList ? (projectList as ContentList).filter(p => p.type === "project").map(p => <ProjectCard key={p.name} title={p.name} description={p.desc.join(" ")} />) : <Spinner size={200} />
|
generateCards("project")
|
||||||
}
|
}
|
||||||
<h2>Diaries</h2>
|
<h2>Diaries</h2>
|
||||||
{
|
{
|
||||||
projectList ? (projectList as ContentList).filter(p => p.type === "diary").map(p => <ProjectCard key={p.name} title={p.name} description={p.desc.join(" ")} />) : <Spinner size={200} />
|
generateCards("diary")
|
||||||
}
|
}
|
||||||
</>;
|
</>;
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import { useCommands } from "../lib/commands/ContextProvider";
|
|||||||
import { useModalFunctions } from "../components/Terminal/contexts/ModalFunctions";
|
import { useModalFunctions } from "../components/Terminal/contexts/ModalFunctions";
|
||||||
import ProjectModal from "../components/Terminal/ProjectModal";
|
import ProjectModal from "../components/Terminal/ProjectModal";
|
||||||
import REPL from "../components/Terminal/REPL";
|
import REPL from "../components/Terminal/REPL";
|
||||||
import styles from "../styles/Home.module.css";
|
import styles from "../styles/Terminal/Terminal.module.css";
|
||||||
import type { ContentList } from "../lib/content/types";
|
import type { ContentList } from "../lib/content/types";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import Rainbow from "../lib/colors";
|
import Rainbow from "../lib/colors";
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 2px 10px 10px 10px;
|
padding: 2px 10px 10px 10px;
|
||||||
|
color: var(--repl-color);
|
||||||
|
background: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
@ -16,6 +16,4 @@
|
|||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: var(--repl-color);
|
|
||||||
background: #000;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user