Skip to content

Commit

Permalink
Merge pull request #2 from tiny-factories/preview
Browse files Browse the repository at this point in the history
Styling and Copy
  • Loading branch information
gndclouds authored Nov 3, 2022
2 parents 0be7b1f + 7ad954b commit 80f6eee
Show file tree
Hide file tree
Showing 65 changed files with 6,524 additions and 1,727 deletions.
3 changes: 1 addition & 2 deletions .nova/Configuration.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
{
"workspace.art_style" : 0,
"workspace.name" : "ClimateDictionary"
"workspace.name" : "Climate Glossery"
}
17 changes: 17 additions & 0 deletions cache/cache.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import fs from "fs";
import { cachedPostData } from "@/lib/utils";

// First step
const blogContent = await cachedPostData("blog");

// Second step
function createBlogCache(filename) {
fs.writeFile(`./cache/${filename}.js`, blogContent, function (err) {
if (err) {
console.log(err);
}
console.log("Blog cache file written");
});
}

createBlogCache("blog");
125 changes: 83 additions & 42 deletions components/Footer.tsx
Original file line number Diff line number Diff line change
@@ -1,69 +1,110 @@
import Link from "next/link";
const navigation = {
main: [
{
name: "about",
href: "https://madefor.earth/about",
},
{
name: "support us",
href: "https://madefor.earth/support",
},

{
name: "work with us",
href: "https://github.com/orgs/tiny-factories/teams/made-for-earth",
href: "https://madefor.earth/work",
},
{ name: "newsletter", href: "https://buttondown.email/madeforearth" },
],
contribute: [
{
name: "Help Translate",
href: "https://glossary.madeforearth/translate",
},
{ name: "Add Term", href: "https://glossary.madeforearth/add" },
{
name: "GitHub ↗",
href: "https://github.com/orgs/tiny-factories/teams/made-for-earth",
},
],
social: [
{
name: "Tiny Garden",
href: "#",
icon: (props) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path
fillRule="evenodd"
d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
clipRule="evenodd"
/>
</svg>
),
name: "Twitter ↗",
href: "https://twitter.com/madeforearth1",
},
{
name: "Twitter",
href: "#",
icon: (props) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
</svg>
),
name: "Are.na ↗",
href: "https://www.are.na/made-for-earth",
},
{
name: "GitHub",
name: "GitHub",
href: "https://github.com/tiny-factories/climate-dictionary",
icon: (props) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path
fillRule="evenodd"
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
clipRule="evenodd"
/>
</svg>
),
},
{
name: "Dribbble",
name: "Disscord ↗",
href: "#",
icon: (props) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path
fillRule="evenodd"
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z"
clipRule="evenodd"
/>
</svg>
),
},
],
};

export default function Example() {
return (
<footer className="">
<div className="mx-auto max-w-7xl overflow-hidden py-12 px-4 sm:px-6 lg:px-8">
<div className="border-t border-black py-12">
<div className="border-t border-black py-12 mx-auto max-w-7xl overflow-hidden">
<div className="grid grid-cols-4 gap-4">
<div className="...">
<div className="font-bold">
By{" "}
<Link href="/blog/hello-world">
<a className="underline underline-offset-2">Tiny Factories</a>
</Link>
</div>
<div className="py-2">
Made on a pale blue dot for the Earth, the only known place in the
universe to house life.
</div>
</div>
<div className="...">
<div className="font-bold">Made For Earth</div>
{navigation.main.map((item) => (
<div key={item.name} className="py-2">
<a
href={item.href}
className="text-base text-gray-500 hover:text-gray-900"
>
{item.name}
</a>
</div>
))}
</div>
<div className="...">
<div className="font-bold">Contribute</div>
{navigation.contribute.map((item) => (
<div key={item.name} className="py-2">
<a
href={item.href}
className="text-base text-gray-500 hover:text-gray-900"
>
{item.name}
</a>
</div>
))}
</div>
<div className="...">
<div className="font-bold">Social</div>
{navigation.social.map((item) => (
<div key={item.name} className="py-2">
<a
href={item.href}
className="text-base text-gray-500 hover:text-gray-900"
>
{item.name}
</a>
</div>
))}
</div>
</div>
{/* <div className="border-t border-black py-12">
<div
className="-mx-5 -my-2 flex flex-wrap justify-center"
aria-label="Footer"
Expand Down Expand Up @@ -92,7 +133,7 @@ export default function Example() {
<a className="underline underline-offset-2">Tiny Factories</a>
</Link>
</p>
</div>
</div> */}
</div>
</footer>
);
Expand Down
6 changes: 3 additions & 3 deletions components/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ const Header: React.FC = () => {
<div className="left">
<Link href="/">
<a className="bold" data-active={isActive("/")}>
ClimateDictionary/
Climate Glossary
</a>
</Link>

<select>
{/* <select>
<option value="en">🇺🇸 English</option>
<option value="zh-CN">🇨🇳 中文</option>
<option value="sv">🇸🇪 Swedish</option>
</select>
</select> */}
</div>
);

Expand Down
2 changes: 1 addition & 1 deletion components/Layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type Props = {
const Layout: React.FC<Props> = (props) => (
<div>
<Header />
<div className="layout">{props.children}</div>
<div className="mx-auto p-9">{props.children}</div>
<Footer />
<style jsx global>{`
html {
Expand Down
2 changes: 1 addition & 1 deletion components/Term.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export type TermProps = {
const Term: React.FC<{ term: TermProps }> = ({ term }) => {
return (
<div
className="text-lg font-satoshi border-t border-black snap-center "
className="text-h2 font-satoshi border-t border-black snap-center "
onClick={() => Router.push("/p/[id]", `/p/${term.id}`)}
>
<div className="hover:translate-x-3 transform-gpu hover:duration-200">
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@
"start": "next start",
"lint": "next lint",
"db:up": "docker-compose up -d",
"db:down": "docker-compose down"
"db:down": "docker-compose down",
"studio": "prisma studio"
},
"dependencies": {
"@next-auth/prisma-adapter": "1.0.3",
"@prisma/client": "3.12.0",
"commandbar": "^1.7.1",
"next": "12.1.4",
"next-auth": "4.3.1",
"react": "17.0.2",
Expand Down
77 changes: 77 additions & 0 deletions pages/_app.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,85 @@
import { useEffect, useState } from "react";
import { SessionProvider } from "next-auth/react";
import { useRouter } from "next/router";

import { AppProps } from "next/app";
import "../styles/globals.css";
import { init } from "commandbar";

if (typeof window !== "undefined") {
init("86dc031d");
}

const App = ({ Component, pageProps }: AppProps) => {
const { push } = useRouter();
const [commandBarReady, setCommandBarReady] = useState(false);

useEffect(() => {
window.CommandBar.boot("me").then(() => {
setCommandBarReady(true);
});

return window.CommandBar.shutdown;
}, []);

useEffect(() => {
if (commandBarReady) {
window.CommandBar.addCommand({
name: "home",
text: "Go to Home",
category: "Navigation",
icon: "https://openmoji.org/data/color/svg/E269.svg",
template: { type: "link", value: "/", operation: "router" },
availability_rules: [
{
type: "url",
operator: "isNot",
value: "/",
},
],
});
window.CommandBar.addCommand({
name: "foo",
text: "Go to Foo",
category: "Navigation",
icon: "https://openmoji.org/data/color/svg/E269.svg",
template: { type: "link", value: "/foo", operation: "router" },
availability_rules: [
{
type: "url",
operator: "isNot",
value: "/foo",
},
],
});
window.CommandBar.addCommand({
name: "foo2",
text: "Go to Foo2",
category: "Navigation",
icon: "https://openmoji.org/data/color/svg/E269.svg",
template: { type: "link", value: "/foo", operation: "router" },
availability_rules: [
{
type: "url",
operator: "isNot",
value: "/foo",
},
],
});

return () => {
window.CommandBar.removeCommand("home");
window.CommandBar.removeCommand("foo");
};
}
}, [commandBarReady]);

useEffect(() => {
if (commandBarReady) {
window.CommandBar.addRouter(push);
}
}, [push, commandBarReady]);

return (
<SessionProvider session={pageProps.session}>
<Component {...pageProps} />
Expand Down
14 changes: 14 additions & 0 deletions pages/api/search.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { NextApiRequest, NextApiResponse } from "next";

type Data = {
results: string[];
};

export default function handler(
req: NextApiRequest,
res: NextApiResponse<Data>
) {
res.statusCode = 200;
res.setHeader("Content-Type", "application/json");
res.end(JSON.stringify({ results: ["post1", "post2"] }));
}
Loading

1 comment on commit 80f6eee

@vercel
Copy link

@vercel vercel bot commented on 80f6eee Nov 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.