diff --git a/common/constants.js b/common/constants.js index cdba5144..1cb3608f 100644 --- a/common/constants.js +++ b/common/constants.js @@ -193,7 +193,7 @@ export const theme = { }; export const gateways = { - ipfs: "https://gateway.estuary.tech/gw/ipfs", + ipfs: "https://api.estuary.tech/gw/ipfs", }; export const hostname = "https://slate.host"; diff --git a/pages/api/addresses/send.js b/pages/api/addresses/send.js deleted file mode 100644 index 8a04c70b..00000000 --- a/pages/api/addresses/send.js +++ /dev/null @@ -1,22 +0,0 @@ -import * as Utilities from "~/node_common/utilities"; -import * as Data from "~/node_common/data"; -import * as Powergate from "~/node_common/powergate"; -import * as Logging from "~/common/logging"; -import * as RequestUtilities from "~/node_common/request-utilities"; - -export default async (req, res) => { - const userInfo = await RequestUtilities.checkAuthorizationInternal(req, res); - if (!userInfo) return; - const { id, user } = userInfo; - - const PG = Powergate.get(user); - - try { - await PG.ffs.sendFil(req.body.data.source, req.body.data.target, req.body.data.amount); - } catch (e) { - Logging.error(e); - return res.status(500).send({ decorator: "SERVER_SEND_FILECOIN_ACTION_FAILURE", error: true }); - } - - return res.status(200).send({ decorator: "SERVER_SEND_FILECOIN" }); -}; diff --git a/pages/get-slate.js b/pages/get-slate.js deleted file mode 100644 index 534c460e..00000000 --- a/pages/get-slate.js +++ /dev/null @@ -1,232 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; -import * as SVG from "~/common/svg"; - -import WebsitePrototypeWrapper from "~/components/core/WebsitePrototypeWrapper"; -import WebsiteHeader from "~/components/core/WebsiteHeader"; -import WebsiteFooter from "~/components/core/WebsiteFooter"; -import Link from "next/link"; - -import { css } from "@emotion/react"; -import { useGuideKeyCommands } from "./guide/guide"; - -const STYLES_ROOT = css` - width: 100%; - height: 100%; - min-height: calc(100vh - 61px); - background-color: ${Constants.semantic.bgLight}; - color: ${Constants.semantic.textBlack}; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: ${Constants.sizes.mobile}px) { - min-height: calc(100vh - 112px); - } -`; - -const STYLES_CONTAINER = css` - max-width: 700px; - margin: 0 auto; - padding: min(2.5vw, 120px) 0 24px 0; - - @media (max-width: ${Constants.sizes.mobile}px) { - max-width: 480px; - padding: 16px 16px 24px 16px; - } -`; - -const STYLES_IMG = css` - width: 88%; - height: auto; - margin-bottom: 8px; - - @media (max-width: ${Constants.sizes.mobile}px) { - width: 100%; - } - - @keyframes hero-fade-in { - 0% { - opacity: 0%; - transform: translateY(5%); - } - 100% { - opacity: 100%; - transform: translateY(0%); - } - } - animation: hero-fade-in 300ms ease-in-out; -`; - -const STYLES_HEADING = css` - font-family: ${Constants.font.bold}; - flex-shrink: 0; - flex-shrink: 0; - min-width: 50%; - max-width: 100%; - line-height: min(100px, 6vw); - font-size: min(100px, 6vw); - letter-spacing: -0.05em; - margin-bottom: 21px; - - @media (max-width: ${Constants.sizes.tablet}px) { - font-size: 64px; - line-height: 68px; - letter-spacing: -0.04em; - } - - @media (max-width: ${Constants.sizes.mobile}px) { - font-size: 48px; - line-height: 52px; - letter-spacing: -0.04em; - margin-bottom: 13px; - } - - @keyframes heading-fade-in { - 0% { - opacity: 0%; - transform: translateY(25%); - } - 50% { - opacity: 0%; - transform: translateY(25%); - } - 100% { - opacity: 100%; - transform: translateY(0%); - } - } - animation: heading-fade-in 400ms ease-in-out; -`; - -const STYLES_BODY = css` - font-family: ${Constants.font.medium}; - font-size: 20px; - line-height: 28px; - letter-spacing: -0.015em; - margin-bottom: 20px; - - @keyframes body-fade-in { - 0% { - opacity: 0%; - transform: translateY(50%); - } - 50% { - opacity: 0%; - transform: translateY(50%); - } - 100% { - opacity: 100%; - transform: translateY(0%); - } - } - animation: body-fade-in 600ms ease-in-out; - - @media (max-width: ${Constants.sizes.mobile}px) { - font-size: 18px; - line-height: 28px; - letter-spacing: -0.01em; - margin-bottom: 16px; - } -`; - -const STYLES_BUTTON = css` - cursor: poitner; - display: inline-flex; - flex-grow: 0; - justify-content: center; - align-items: center; - padding: 18px 32px; - border-radius: 20px; - font-family: ${Constants.font.medium}; - font-size: 18px; - line-height: 20px; - letter-spacing: -0.015em; - text-decoration: none; - cursor: pointer; - margin-right: 16px; - margin-bottom: 16px; - @keyframes button-fade-in { - 0% { - opacity: 0%; - transform: translateY(50%); - } - 50% { - opacity: 0%; - transform: translateY(50%); - } - 100% { - opacity: 100%; - transform: translateY(0%); - } - } - animation: button-fade-in 700ms ease-in-out; - - @media (max-width: ${Constants.sizes.mobile}px) { - font-size: 18px; - line-height: 24px; - letter-spacing: -0.01em; - padding: 14px 20px; - } -`; - -const STYLES_PRIMARY_BUTTON = css` - ${STYLES_BUTTON} - background-color: ${Constants.system.highlighter}; - color: ${Constants.semantic.textBlack}; -`; - -const STYLES_SECONDARY_BUTTON = css` - ${STYLES_BUTTON} - background-color: none; - border: 2px solid ${Constants.semantic.borderGray}; - color: ${Constants.semantic.textBlack}; -`; - -export default function InstallPage() { - const title = `Install Slate for Chrome - Slate`; - const description = "Install Slate from Chrome web store"; - const url = "https://slate.host/get-slate"; - const image = `${Constants.gateways.ipfs}/bafkreifww37ypduoi5pvj2cuikz7iycp7l5h7czke6lcboukkaqkoab3t4`; - const next = "/_/data"; - const prev = "../guide/new-tab"; - - useGuideKeyCommands(next, prev); - - return ( - -
- -
-
- extension jumper -
-

- Get started —
- it’s free. -

-

- Slate is currently free to use, we’ll add premium features later on for you to use. -

- - Get started - - - Get Slate from Chrome store - -
-
- -
- ); -} diff --git a/pages/guide/browser-control.js b/pages/guide/browser-control.js deleted file mode 100644 index a358c4c5..00000000 --- a/pages/guide/browser-control.js +++ /dev/null @@ -1,88 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; -import * as JumperPrototype from "~/components/landing/jumperPrototype"; -import * as SVG from "~/common/svg"; - -import Guide from "~/pages/guide/guide.js"; - -import { css } from "@emotion/react"; - -const VIEWS_ACTIONS = [{ label: "Current Window" }, { label: "All Open" }, { label: "Recent" }]; - -const OBJECTS = [ - { - title: "Concrete Architecture (@architeg) / Twitter", - Favicon: SVG.TwitterFavicon, - }, - { - title: "Fitzcarraldo 1982 Werner Herzog Klaus Kinski Full Movie HD", - Favicon: SVG.YoutubeFavicon, - }, - { - title: "Amazon.com: Whole Foods Market", - Favicon: SVG.AmazonFavicon, - }, - { - title: "NASA Is Working With Startups to Harvest the Moon’s Resources", - Favicon: SVG.WSJFavicon, - }, - { - title: "SyntheticEvent - React", - Favicon: SVG.ReactFavicon, - }, - { - title: "slate-engineering/slate-web-extension at @aminejv/history", - Favicon: SVG.GithubFavicon, - }, - { - title: "Verticle ⋅ Mount Kimbie", - Favicon: SVG.SpotifyFavicon, - }, - { - title: "tokyo travel restrictions 2022 - Google Search", - Favicon: SVG.GoogleFavicon, - }, -]; - -export default function BrowserControlGuidePage() { - return ( - - - {VIEWS_ACTIONS.map((action, i) => ( - - {action.label} - - ))} - - - - - - - {OBJECTS.map((object) => ( - - ))} - - - - } - mobileguide="../public/static/browser-control.png" - /> - ); -} diff --git a/pages/guide/file.js b/pages/guide/file.js deleted file mode 100644 index c37363ba..00000000 --- a/pages/guide/file.js +++ /dev/null @@ -1,116 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; -import * as SVG from "~/common/svg"; -import * as JumperPrototype from "~/components/landing/jumperPrototype"; - -import Guide from "~/pages/guide/guide.js"; - -const VIEWS_ACTIONS = [{ label: "Current Window" }, { label: "All Open" }, { label: "Recent" }]; - -const CUSTOM_VIEWS_ACTIONS = [{ label: "Files" }]; - -const OBJECTS = [ - { - title: "Alexander, C., Notes on the Synthesis of Form", - Favicon: SVG.Book, - isSaved: true, - tag: "computer-architecture", - }, - { - title: "Graphical database interface", - Favicon: SVG.Image, - isSaved: true, - }, - { - title: "Landscape in the Mist", - Favicon: SVG.Video, - isSaved: true, - tag: "theo-angelopoulos", - }, - { - title: "Shannon, C., “A Theory of Communications”", - Favicon: SVG.Document, - isSaved: true, - tag: "computer-architecture", - }, - { - title: "Retro computer fonts", - Favicon: SVG.TextDocument, - isSaved: true, - }, - { - title: "Prime number ASMR", - Favicon: SVG.Sound, - isSaved: true, - }, - { - title: "Hesse, H., Demian", - Favicon: SVG.Book, - isSaved: true, - tag: "reading", - }, - { - title: "Pask, G., “The Architectural Relevance of Cybernetics”", - Favicon: SVG.TextDocument, - isSaved: true, - tag: "computer-architecture", - }, -]; - -export default function FileGuidePage() { - return ( - - - {VIEWS_ACTIONS.map((action) => ( - - {action.label} - - ))} - - {CUSTOM_VIEWS_ACTIONS.map((action, i) => ( - - {action.label} - - ))} - - - - - - - {OBJECTS.map((object) => ( - - ))} - - - - } - mobileguide="../public/static/file.png" - /> - ); -} diff --git a/pages/guide/new-tab.js b/pages/guide/new-tab.js deleted file mode 100644 index 338a8628..00000000 --- a/pages/guide/new-tab.js +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; - -import Guide from "~/pages/guide/guide.js"; - -export default function NewTabGuidePage() { - return ( - - ); -} diff --git a/pages/guide/save.js b/pages/guide/save.js deleted file mode 100644 index 7d3f01bd..00000000 --- a/pages/guide/save.js +++ /dev/null @@ -1,98 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; -import * as SVG from "~/common/svg"; -import * as JumperPrototype from "~/components/landing/jumperPrototype"; - -import Guide from "~/pages/guide/guide.js"; - -import { css } from "@emotion/react"; - -const VIEWS_ACTIONS = [{ label: "Current Window" }, { label: "All Open" }, { label: "Recent" }]; - -const OBJECTS = [ - { - title: "Concrete Architecture (@architeg) / Twitter", - Favicon: SVG.TwitterFavicon, - isSaved: true, - tag: "architecture", - }, - { - title: "Fitzcarraldo 1982 Werner Herzog Klaus Kinski Full Movie HD", - Favicon: SVG.YoutubeFavicon, - isSelected: true, - }, - { - title: "Amazon.com: Whole Foods Market", - Favicon: SVG.AmazonFavicon, - }, - { - title: "NASA Is Working With Startups to Harvest the Moon’s Resources", - Favicon: SVG.WSJFavicon, - }, - { - title: "SyntheticEvent - React", - Favicon: SVG.ReactFavicon, - isSaved: true, - tag: "code", - }, - { - title: "slate-engineering/slate-web-extension at @aminejv/history", - Favicon: SVG.GithubFavicon, - isSaved: true, - tag: "slate", - }, - { - title: "Verticle ⋅ Mount Kimbie", - Favicon: SVG.SpotifyFavicon, - isSaved: true, - tag: "work-music", - }, - { - title: "tokyo travel restrictions 2022 - Google Search", - Favicon: SVG.GoogleFavicon, - }, -]; - -export default function SaveGuidePage() { - return ( - - - {VIEWS_ACTIONS.map((action, i) => ( - - {action.label} - - ))} - - - - - - - {OBJECTS.map((object) => ( - - ))} - - - - } - mobileguide="../public/static/save.png" - /> - ); -} diff --git a/pages/guide/search.js b/pages/guide/search.js deleted file mode 100644 index 1356c2cf..00000000 --- a/pages/guide/search.js +++ /dev/null @@ -1,123 +0,0 @@ -import * as React from "react"; -import * as Constants from "~/common/constants"; -import * as SVG from "~/common/svg"; -import * as JumperPrototype from "~/components/landing/jumperPrototype"; - -import Guide from "~/pages/guide/guide.js"; - -import { css } from "@emotion/react"; - -const VIEWS_ACTIONS = [{ label: "Current Window" }, { label: "All Open" }, { label: "Recent" }]; - -const CUSTOM_VIEWS_ACTIONS = [ - { label: "Files" }, - { label: "Twitter", Favicon: SVG.TwitterFavicon }, - { label: "Reading", Favicon: SVG.Hash }, -]; - -const OBJECTS = [ - { - title: "Nicholas Negroponte Architecture Machine", - Favicon: SVG.InternetArchiveFavicon, - }, - { - title: "Alexander, C., Notes on the Synthesis of Form", - Favicon: SVG.Book, - isSaved: true, - tag: "computer-architecture", - }, - { - title: "Von Neumann Architecture - Computerphile", - Favicon: SVG.YoutubeFavicon, - }, - { - title: "Shannon, C., “A Theory of Communications”", - Favicon: SVG.Document, - isSaved: true, - tag: "computer-architecture", - }, - { - title: "Pask, G., “The Architectural Relevance of Cybernetics”", - Favicon: SVG.TextDocument, - isSaved: true, - tag: "computer-architecture", - }, - { - title: "Michael Porter, “How Smart, Connected Products Are Transforming Competition”", - Favicon: SVG.HBRFavicon, - }, - { - title: "Morozov, Evgeny (2014), “The Planning Machine: Project Cybersyn… Big Data…”", - Favicon: SVG.NewYorkerFavicon, - }, - { - title: - "no on Twitter: “An Introduction to Cybernetics (1956) : Ashby, W. Ross DOI: https://doi.org/10.2307/3006723”", - Favicon: SVG.TwitterFavicon, - }, - { - title: "Capra, F., and Luisi, P. L., The Systems View of Life: A Unifying Vision", - Favicon: SVG.Document, - isSaved: true, - tag: "computer-architecture", - }, - { - title: - "Nimbu on Twitter: “📷 spaceintruderdetector: CYBERNETICS AND ITS DEVELOPMENT IN THE SOVIET UNION 1964 https://archive.org/details/DTIC_AD0602705/mode/2up The report is an introduction to the subject of cybernetics, with special reference to its origins and...”", - Favicon: SVG.TwitterFavicon, - }, -]; - -export default function SearchGuidePage() { - return ( - - - {VIEWS_ACTIONS.map((action, i) => ( - - {action.label} - - ))} - - {CUSTOM_VIEWS_ACTIONS.map((action) => ( - - {action.label} - - ))} - - - - - - - {OBJECTS.map((object) => ( - - ))} - - - - } - mobileguide="../public/static/search.png" - /> - ); -} diff --git a/pages/guide/space.js b/pages/guide/space.js deleted file mode 100644 index 73a7f18b..00000000 --- a/pages/guide/space.js +++ /dev/null @@ -1,118 +0,0 @@ -import * as React from "react"; -import * as SVG from "~/common/svg"; -import * as JumperPrototype from "~/components/landing/jumperPrototype"; -import * as Constants from "~/common/constants"; - -import Guide from "~/pages/guide/guide.js"; - -const VIEWS_ACTIONS = [{ label: "Current Window" }, { label: "All Open" }, { label: "Recent" }]; - -const CUSTOM_VIEWS_ACTIONS = [ - { label: "Files" }, - { label: "Twitter", Favicon: SVG.TwitterFavicon }, - { label: "Reading", Favicon: SVG.Hash }, -]; - -const OBJECTS = [ - { - title: "Paul Prudence on Twitter: “Computers and Automation [August-12-2022]", - Favicon: SVG.TwitterFavicon, - }, - - { - title: - "Massimo on Twitter: “This is how you cut a high voltage power line [source, full video by Joe Chenoweth: https://buff.ly/2lYgk5V]”", - Favicon: SVG.TwitterFavicon, - isSaved: true, - }, - { - title: "qubibi on Twitter: “stardust https://t.co/3Uu6nOmsJyafq...”", - Favicon: SVG.TwitterFavicon, - }, - { - title: "pictures of the end on Twitter: “https://t.co/A2k7vZdIF7 / Twitter”", - Favicon: SVG.TwitterFavicon, - }, - { - title: "Internal Tech Emails on Twitter: “https://t.co/2uOQawmsvJ..”", - Favicon: SVG.TwitterFavicon, - }, - { - title: "𝗺𝗮𝗺𝗲 on Twitter: “京都でかわいい建物を発見しました🤖”", - Favicon: SVG.TwitterFavicon, - }, - { - title: - "Letterform Archive on Twitter: “La Carte surréaliste: La première série, 1937. (1) André Breton, Poème-Objet, (2) Georges Hugnet, Au pied de la Lettre, (3) René Magritte, La solution du rébus, (4) Joan Miró, Horaire.”", - Favicon: SVG.TwitterFavicon, - isSaved: true, - }, - { - title: - "karatekid on Twitter: “Doubling down. Second @qubibien = art². And delight multiplied...”", - Favicon: SVG.TwitterFavicon, - isSaved: true, - }, - { - title: "Concrete Architecture (@architeg) / Twitter", - Favicon: SVG.TwitterFavicon, - isSaved: true, - }, -]; - -export default function SpaceGuidePage() { - return ( - - - {VIEWS_ACTIONS.map((action) => ( - - {action.label} - - ))} - - {CUSTOM_VIEWS_ACTIONS.map((action, i) => ( - - {action.label} - - ))} - - - - - - - {OBJECTS.map((object) => ( - - ))} - - - - } - mobileguide="../public/static/space.png" - /> - ); -} diff --git a/pages/index.js b/pages/index.js index a9de9329..02ff8228 100644 --- a/pages/index.js +++ b/pages/index.js @@ -19,17 +19,17 @@ const INTEGRATION = [ { title: "Chrome", body: "Connect to your browser history and bookmarks.", - logo: "https://slate.textile.io/ipfs/bafkreiamdcnqxcga7dj4fur7nqd57pbey7s6znnj4o2zpbkmsydp6rspdy", + logo: `${Constants.gateways.ipfs}/bafkreiamdcnqxcga7dj4fur7nqd57pbey7s6znnj4o2zpbkmsydp6rspdy`, }, { title: "Twitter", body: "Search your twitter bookmarks.", - logo: "https://slate.textile.io/ipfs/bafkreihtujowfnffw5jxvdo7gqazo4oy3q3q4u4z2jflx5ygmpaj7pgtnu", + logo: `${Constants.gateways.ipfs}/bafkreihtujowfnffw5jxvdo7gqazo4oy3q3q4u4z2jflx5ygmpaj7pgtnu`, }, { title: "MetaMask", body: "Keep all of your NFTs in one place.", - logo: "https://slate.textile.io/ipfs/bafkreiecbn5pjuebdelsehul6sqmxs5kk74mijmo6ybts3hfg5tr2p4rti", + logo: `${Constants.gateways.ipfs}/bafkreiecbn5pjuebdelsehul6sqmxs5kk74mijmo6ybts3hfg5tr2p4rti`, }, { title: "And more later", @@ -56,74 +56,74 @@ const BANNER = [ { link: "https://slate.host/tara/neon-genesis-evangelion?cid=bafybeib2zzeknjmih25wivzogzupd7atrdbaxpvmsxfgutrqymlyfc2dvi", name: "@tara", - img: "https://slate.textile.io/ipfs/bafybeib2zzeknjmih25wivzogzupd7atrdbaxpvmsxfgutrqymlyfc2dvi", + img: `${Constants.gateways.ipfs}/bafybeib2zzeknjmih25wivzogzupd7atrdbaxpvmsxfgutrqymlyfc2dvi`, }, { link: "https://slate.host/biodivlibrary/the-mushroom-book?cid=bafybeigph7tfup3wb3truahl7sycaywx3unwa365jk4assrjjlzv6d7x3a", name: "@biodivlibrary", - img: "https://slate.textile.io/ipfs/bafybeigph7tfup3wb3truahl7sycaywx3unwa365jk4assrjjlzv6d7x3a", + img: `${Constants.gateways.ipfs}/bafybeigph7tfup3wb3truahl7sycaywx3unwa365jk4assrjjlzv6d7x3a`, }, { link: "https://slate.host/jin/cryptovoxels-history?cid=bafybeiafrj3erh3rfqux4zqc7u2px3veqdppbtizq26p443utxunrkgonu", name: "@jin", - img: "https://slate.textile.io/ipfs/bafybeiafrj3erh3rfqux4zqc7u2px3veqdppbtizq26p443utxunrkgonu", + img: `${Constants.gateways.ipfs}/bafybeiafrj3erh3rfqux4zqc7u2px3veqdppbtizq26p443utxunrkgonu`, }, { link: "https://slate.host/ng/numero?cid=bafybeibhhfgc4amvymoblaxcoe6glyyvaxhylzisl4ib2itcbhn3mrviou", name: "@ng", - img: "https://slate.textile.io/ipfs/bafybeibhhfgc4amvymoblaxcoe6glyyvaxhylzisl4ib2itcbhn3mrviou", + img: `${Constants.gateways.ipfs}/bafybeibhhfgc4amvymoblaxcoe6glyyvaxhylzisl4ib2itcbhn3mrviou`, }, { link: "https://slate.host/thesimpsons/clips?cid=bafybeigce5klzr3vgzmlathvepuzhzhmwjc6bbvmsmcvu5eyisy6mnkx34", name: "@thesimpsons", - img: "https://slate.textile.io/ipfs/bafybeigce5klzr3vgzmlathvepuzhzhmwjc6bbvmsmcvu5eyisy6mnkx34", + img: `${Constants.gateways.ipfs}/bafybeigce5klzr3vgzmlathvepuzhzhmwjc6bbvmsmcvu5eyisy6mnkx34`, }, { link: "https://slate.host/bitgraves/september?cid=bafybeiclkru6hwzw2ghvsyrbnaf67taxxhq2hbpcia2oqj5ufdggwhcbti", name: "@bitgraves", - img: "https://slate.textile.io/ipfs/bafybeiclkru6hwzw2ghvsyrbnaf67taxxhq2hbpcia2oqj5ufdggwhcbti", + img: `${Constants.gateways.ipfs}/bafybeiclkru6hwzw2ghvsyrbnaf67taxxhq2hbpcia2oqj5ufdggwhcbti`, }, { link: "https://slate.host/nypl/japan-kimbei-kusakabe?cid=bafkreidqz6imwffq5hpkacmxnrffagzxx5usybpitt42yuzthe6uf4idlm", name: "@nypl", - img: "https://slate.textile.io/ipfs/bafkreidqz6imwffq5hpkacmxnrffagzxx5usybpitt42yuzthe6uf4idlm", + img: `${Constants.gateways.ipfs}/bafkreidqz6imwffq5hpkacmxnrffagzxx5usybpitt42yuzthe6uf4idlm`, }, { link: "https://slate.host/atlas/cartography?cid=bafybeid2n55qb4thosrxlszhzi3nwiorswv7xi2d5ykbudp3ph5hc54baa", name: "@atlas", - img: "https://slate.textile.io/ipfs/bafybeid2n55qb4thosrxlszhzi3nwiorswv7xi2d5ykbudp3ph5hc54baa", + img: `${Constants.gateways.ipfs}/bafybeid2n55qb4thosrxlszhzi3nwiorswv7xi2d5ykbudp3ph5hc54baa`, }, { link: "https://slate.host/museosabiertos/palais-de-glace-fotografia?cid=bafybeigrznzuqymmfligf6mhc7adh6r7iw5gotbrzstcqeyyybaklfguki", name: "@museosabiertos", - img: "https://slate.textile.io/ipfs/bafybeigrznzuqymmfligf6mhc7adh6r7iw5gotbrzstcqeyyybaklfguki", + img: `${Constants.gateways.ipfs}/bafybeigrznzuqymmfligf6mhc7adh6r7iw5gotbrzstcqeyyybaklfguki`, }, { link: "https://slate.host/gndclouds/animation?cid=bafybeigh44l3uzsgv4hslpruxrr5s43olpj5llptmsafkemxbwlu4fbdc4", name: "@gndclouds", - img: "https://slate.textile.io/ipfs/bafybeigh44l3uzsgv4hslpruxrr5s43olpj5llptmsafkemxbwlu4fbdc4", + img: `${Constants.gateways.ipfs}/bafybeigh44l3uzsgv4hslpruxrr5s43olpj5llptmsafkemxbwlu4fbdc4`, }, { link: "https://slate.host/cindy/sw-sans?cid=bafkreihazsjq7hlho6ab6k7tise6ufv2ccat5gv5f3fz7yy4cluz3e356e", name: "@cindy", - img: "https://slate.textile.io/ipfs/bafkreihazsjq7hlho6ab6k7tise6ufv2ccat5gv5f3fz7yy4cluz3e356e", + img: `${Constants.gateways.ipfs}/bafkreihazsjq7hlho6ab6k7tise6ufv2ccat5gv5f3fz7yy4cluz3e356e`, }, { link: "https://slate.host/haris/archive?cid=bafkreigcdnhxnh4fp7g2xy2gp43umhjrqyzz2a2t3ovnmcabepwusx5ldi", name: "@haris", - img: "https://slate.textile.io/ipfs/bafkreigcdnhxnh4fp7g2xy2gp43umhjrqyzz2a2t3ovnmcabepwusx5ldi", + img: `${Constants.gateways.ipfs}/bafkreigcdnhxnh4fp7g2xy2gp43umhjrqyzz2a2t3ovnmcabepwusx5ldi`, }, { link: "https://slate.host/guji/%E5%8C%97%E4%BA%AC%E7%9A%87%E5%9F%8E%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0?cid=bafybeiceh32ka3l6nlxniziefaxqs44ib4i47pohdftjzvlbsoem3qk6ly", name: "@guji", - img: "https://slate.textile.io/ipfs/bafybeiceh32ka3l6nlxniziefaxqs44ib4i47pohdftjzvlbsoem3qk6ly", + img: `${Constants.gateways.ipfs}/bafybeiceh32ka3l6nlxniziefaxqs44ib4i47pohdftjzvlbsoem3qk6ly`, }, { link: "https://slate.host/martina/reaction-gifs?cid=bafybeif344hukksxizwk2dhmp6xjybnbw6x62r23m6wju2btxpsk4yluki", name: "@martina", - img: "https://slate.textile.io/ipfs/bafybeif344hukksxizwk2dhmp6xjybnbw6x62r23m6wju2btxpsk4yluki", + img: `${Constants.gateways.ipfs}/bafybeif344hukksxizwk2dhmp6xjybnbw6x62r23m6wju2btxpsk4yluki`, }, ]; @@ -133,12 +133,11 @@ const OBJECTPREVIEWS = [ link: ( ), type: "Soundcloud", - preview: - "https://slate.textile.io/ipfs/bafkreic5z2j6kz4qn4zgcv2wakvgok7bgn2tdsrirrcbmcngbty3m4n7fi", + preview: `${Constants.gateways.ipfs}/bafkreic5z2j6kz4qn4zgcv2wakvgok7bgn2tdsrirrcbmcngbty3m4n7fi`, URL: "https://slate.host/slate/objects?cid=bafybeicdrezbs4xtdgwmhef52fwu5dkw2bv3m6sbfbd7wikleszezufeci", }, { @@ -146,28 +145,25 @@ const OBJECTPREVIEWS = [ link: ( ), type: "hicetnunc.art", - preview: - "https://slate.textile.io/ipfs/bafkreia7ir22cbomueh6amuypurqyggqnxsbdirapljxgeoju7m656cvve", + preview: `${Constants.gateways.ipfs}/bafkreia7ir22cbomueh6amuypurqyggqnxsbdirapljxgeoju7m656cvve`, URL: "https://slate.host/slate/objects?cid=bafybeig5mukv6kzfcwphudok6wksjxkglfb2akvt3yzhnqcooj2juwegiu", }, { title: "OP-Z Synthesizer", link: , type: "JPEG", - preview: - "https://slate.textile.io/ipfs/bafkreiagkyoslopcxar5pt4vum4ngkbqnqzspa4kbeyltlxpsh7a6xb3mm", + preview: `${Constants.gateways.ipfs}/bafkreiagkyoslopcxar5pt4vum4ngkbqnqzspa4kbeyltlxpsh7a6xb3mm`, URL: "https://slate.host/slate/objects?cid=bafybeiaaqrbqdgytuk362qe7oezw5vvkue5yhmp5oxdxw76clvnvp7w2yu", }, { title: "Hermann Hesse - Demian", link: , type: "PDF", - preview: - "https://slate.textile.io/ipfs/bafkreierp2ddmptriabymjse2mu772hftl7zrl63akbthl42cl6yvsiddu", + preview: `${Constants.gateways.ipfs}/bafkreierp2ddmptriabymjse2mu772hftl7zrl63akbthl42cl6yvsiddu`, URL: "https://slate.host/slate/objects?cid=bafybeietqtoktbmkxlsfrhhcdodbjd7bixkjvrxxxjsy6s7tdqwuicxhw4", }, { @@ -175,12 +171,11 @@ const OBJECTPREVIEWS = [ link: ( ), type: "Youtube", - preview: - "https://slate.textile.io/ipfs/bafkreiaars3ztdupanomdsy2o3ok6xr6gcjmwc2situnquggiz5x2xokgy", + preview: `${Constants.gateways.ipfs}/bafkreiaars3ztdupanomdsy2o3ok6xr6gcjmwc2situnquggiz5x2xokgy`, URL: "https://slate.host/slate/objects?cid=bafybeigaet3w3yvpchwup33tr3oyhpu3ckjnrbqq7a7kxoqwp3drzxsmvm", }, { @@ -188,12 +183,11 @@ const OBJECTPREVIEWS = [ link: ( ), type: "Reddit", - preview: - "https://slate.textile.io/ipfs/bafybeiafyuacznehtudad5hxzhbri4snjucrsnna2nzjifocebazy6xkt4", + preview: `${Constants.gateways.ipfs}/bafybeiafyuacznehtudad5hxzhbri4snjucrsnna2nzjifocebazy6xkt4`, URL: "https://slate.host/slate/objects?cid=bafybeidmxr5vebmqthxsxdy7w5laxb45y6rdg27vjhf5pauu2iyjng7b6e", }, ]; @@ -835,7 +829,7 @@ export default function IndexPage() { @@ -883,12 +877,12 @@ export default function IndexPage() {
@@ -901,7 +895,7 @@ export default function IndexPage() {
@@ -958,12 +952,12 @@ export default function IndexPage() {
@@ -977,7 +971,7 @@ export default function IndexPage() {