From 2604a4676abb5ab9d5c01aa2064648dbba0b6a06 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Sun, 9 May 2021 18:54:05 +0200 Subject: beginnings editor --- components/icons.tsx | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++ pages/_app.tsx | 3 +- pages/index.tsx | 13 +++++- styles/globals.css | 6 +++ styles/paper.css | 8 ++++ timeline.ts | 14 +++--- 6 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 components/icons.tsx create mode 100644 styles/paper.css diff --git a/components/icons.tsx b/components/icons.tsx new file mode 100644 index 0000000..95c1813 --- /dev/null +++ b/components/icons.tsx @@ -0,0 +1,129 @@ +import { keyframeTypes } from '../timeline'; + +export function PressureIcon() { + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; +} + +export function SlideKeyframe(props: { + type: keyframeTypes; + loopEnd?: boolean; +}) { + return + {{ + 'default': , + 'delay': , + 'speedChange': , + 'loop': !props.loopEnd + ? + : , + }[props.type]} + ; +} diff --git a/pages/_app.tsx b/pages/_app.tsx index bcab146..9d4c44d 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,7 +1,8 @@ import Head from 'next/head'; -import '../styles/globals.css'; import '../styles/colors.css'; +import '../styles/globals.css'; +import '../styles/paper.css'; export default function Blog({ Component, pageProps }) { return <> diff --git a/pages/index.tsx b/pages/index.tsx index 99c2ab8..4cd0a1c 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,6 +1,15 @@ +import AppBar from '@material-ui/core/AppBar'; +import Toolbar from '@material-ui/core/Toolbar'; + +import { PressureIcon, SlideKeyframe } from '../components/icons'; + export default function Index() { return <> -

gert

+ + + +

pressure

+
+
; } - diff --git a/styles/globals.css b/styles/globals.css index fc41e88..028d585 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -8,3 +8,9 @@ html, body { font-family: "Inter", sans-serif; } +.keyframe { fill: var(--gruble); } + +h1 { font-size: 1.25rem; } +h2 { font-size: 1.125rem; } +h3 { font-size: 1rem; } + diff --git a/styles/paper.css b/styles/paper.css new file mode 100644 index 0000000..a0e5a99 --- /dev/null +++ b/styles/paper.css @@ -0,0 +1,8 @@ +.MuiAppBar-root.MuiAppBar-colorTransparent { + background-color: var(--c300); +} + +.MuiAppBar-root.MuiAppBar-colorTransparent h1 { + color: var(--mint); + margin-left: 16px; +} diff --git a/timeline.ts b/timeline.ts index fb60cf5..f6f8cc9 100644 --- a/timeline.ts +++ b/timeline.ts @@ -1,23 +1,25 @@ -interface slide { +export type keyframeTypes = 'default' | 'delay' | 'speedChange' | 'loop'; + +export interface slide { frame: number; clickThroughBehaviour: 'ImmediatelySkip' | 'PlayOut'; - type: 'default' | 'delay' | 'speedChange' | 'loop'; + type: keyframeTypes; } -interface delaySlide extends slide { +export interface delaySlide extends slide { delay: number; } -interface speedChangeSlide extends slide { +export interface speedChangeSlide extends slide { newFramerate: number; } -interface loopSlide extends slide { +export interface loopSlide extends slide { endFrame: number; playbackType: 'PingPong' | 'Normal'; } -interface timeline { +export interface timeline { slides: slide[]; framecount: number; framerate: number; -- cgit v1.2.3