Spaces:
Paused
Paused
export const treeTemplates = { | |
_empty: { | |
name: "Empty", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/vanilla.svg", | |
tabs: { | |
javascript: { | |
title: "app.jsx", | |
entryPoints: "index.js", | |
monacoLanguage: "javascript", | |
data: ``, | |
}, | |
html: { | |
title: "index.html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: ``, | |
}, | |
css: { | |
title: "main.css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: ``, | |
}, | |
}, | |
}, | |
_vanilla: { | |
name: "Vanilla", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/vanilla.svg", | |
tabs: { | |
javascript: { | |
title: "JS/JSX", | |
entryPoints: "index.js", | |
monacoLanguage: "javascript", | |
data: `document.getElementById("app").innerHTML = \` | |
<h1>Vanilla</h1> | |
<div> | |
Bare minimal javascript template | |
</div> | |
\`; | |
`, | |
}, | |
html: { | |
title: "html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: `<div id="app"></div>`, | |
}, | |
css: { | |
title: "Css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: `body { | |
font-family: sans-serif; | |
} | |
#app { | |
display: flex; | |
flex-direction: column; | |
justify-content: center; | |
align-items: center; | |
} | |
`, | |
}, | |
}, | |
}, | |
_typescript: { | |
name: "Typescript", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/typescript.svg", | |
tabs: { | |
javascript: { | |
title: "Ts/Tsx", | |
entryPoints: "index.ts", | |
monacoLanguage: "typescript", | |
data: `function add(x: number, y: number): number { | |
return x + y; | |
} | |
const result = add(2,5) | |
console.log(result)`, | |
}, | |
html: { | |
title: "Html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: `<div id="app"> | |
<h1>Typescript</h1> | |
<div>Bare minimal Typescript template 🚀</div> | |
</div> | |
`, | |
}, | |
css: { | |
title: "Css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: `body { | |
font-family: sans-serif; | |
} | |
#app { | |
display: flex; | |
flex-direction: column; | |
justify-content: center; | |
align-items: center; | |
} | |
`, | |
}, | |
}, | |
}, | |
_p5: { | |
name: "P5js", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/p5-dot-js.svg", | |
tabs: { | |
javascript: { | |
title: "JS/JSX", | |
entryPoints: "index.js", | |
monacoLanguage: "javascript", | |
data: `import p5 from "p5"; | |
let sketch = function (p) { | |
p.setup = function () { | |
p.createCanvas(window.innerWidth, window.innerHeight); | |
p.background(0); | |
}; | |
p.draw = () => { | |
// sketch.background(100); | |
p.fill(255); | |
p.ellipse(p.mouseX, p.mouseY, 50, 50); | |
}; | |
}; | |
new p5(sketch, window.document.getElementById("container")); | |
`, | |
}, | |
html: { | |
title: "Html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: ``, | |
}, | |
css: { | |
title: "Css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: `body { | |
margin: 0px; | |
font-family: sans-serif; | |
} | |
canvas { | |
margin: 0px; | |
} | |
`, | |
}, | |
}, | |
}, | |
_react: { | |
name: "React", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/reactjs.svg", | |
tabs: { | |
javascript: { | |
title: "JS/JSX", | |
entryPoints: "index.js", | |
monacoLanguage: "javascript", | |
data: `import React, { useState } from "react"; | |
import ReactDOM from "react-dom"; | |
function App() { | |
const [count, setCount] = useState(0); | |
return ( | |
<div className="App"> | |
<h1>Hello ReactTree</h1> | |
<h2>You clicked {count} times!</h2> | |
<button onClick={() => setCount(count - 1)}>Decrement</button> | |
<button onClick={() => setCount(count + 1)}>Increment</button> | |
</div> | |
); | |
} | |
const rootElement = document.getElementById("root"); | |
ReactDOM.render(<App />, rootElement); | |
`, | |
}, | |
html: { | |
title: "index.html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: ``, | |
}, | |
css: { | |
title: "main.css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: `.App { | |
font-family: sans-serif; | |
text-align: center; | |
} | |
`, | |
}, | |
}, | |
}, | |
_gsap: { | |
name: "Gsap", | |
description: "By codetree", | |
public: true, | |
iconSrc: "/icons/gsap-greensock.svg", | |
tabs: { | |
javascript: { | |
title: "JS/JSX", | |
entryPoints: "index.js", | |
monacoLanguage: "javascript", | |
data: `import gsap from "gsap" | |
var tl = gsap.timeline({ repeat: -1 }); | |
tl.to("h1", 30, { backgroundPosition: "-960px 0" }); | |
`, | |
}, | |
html: { | |
title: "Html", | |
entryPoints: "index.html", | |
monacoLanguage: "html", | |
data: `<div class="wrapper"> | |
<h1 class="title">Codetree<h1> | |
</div> `, | |
}, | |
css: { | |
title: "Css", | |
entryPoints: "main.css", | |
monacoLanguage: "css", | |
data: `body { | |
background-color: #1d1d1d; | |
margin: 0; | |
padding: 0; | |
} | |
.wrapper { | |
display: flex; | |
height: 100vh; | |
justify-content: center; | |
align-items: center; | |
} | |
h1 { | |
max-width: 75%; | |
font-size: 100px; | |
text-align: center; | |
font-family: "Montserrat", sans-serif; | |
color: #540032; | |
} | |
.title { | |
background-image: url(https://cdn.pixabay.com/photo/2017/07/03/20/17/abstract-2468874_960_720.jpg); | |
background-attachment: fixed; | |
-webkit-text-fill-color: transparent; | |
-webkit-background-clip: text; | |
}`, | |
}, | |
}, | |
}, | |
}; | |