Skip to content

Commit

Permalink
feat: 🎸 upgrade to sanity studio v3
Browse files Browse the repository at this point in the history
  • Loading branch information
BolajiAyodeji committed Feb 10, 2023
1 parent 84e88b9 commit c85f09d
Show file tree
Hide file tree
Showing 47 changed files with 11,023 additions and 24,254 deletions.
11 changes: 11 additions & 0 deletions studio/.sanity/runtime/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

// This file is auto-generated on 'sanity dev'
// Modifications to this file is automatically discarded
import {renderStudio} from "sanity"
import studioConfig from "../../sanity.config.ts"

renderStudio(
document.getElementById("sanity"),
studioConfig,
{reactStrictMode: false, basePath: "/"}
)
206 changes: 206 additions & 0 deletions studio/.sanity/runtime/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
<!DOCTYPE html><html lang="en">
<!--
This file is auto-generated from "sanity dev".
Modifications to this file is automatically discarded.
To customize the rendering of this file, see
https://docs.sanity.io/help/custom-document-component
-->
<head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><meta name="robots" content="noindex"/><meta name="referrer" content="same-origin"/><link rel="icon" href="/static/favicon.ico" sizes="any"/><link rel="icon" href="/static/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/static/apple-touch-icon.png"/><link rel="manifest" href="/static/manifest.webmanifest"/><title>Sanity Studio</title><script>
;(function () {
var _caughtErrors = []

var errorChannel = (function () {
var subscribers = []

function publish(msg) {
for (var i = 0; i < subscribers.length; i += 1) {
subscribers[i](msg)
}
}

function subscribe(subscriber) {
subscribers.push(subscriber)

return function () {
var idx = subscribers.indexOf(subscriber)

if (idx > -1) {
subscribers.splice(idx, 1)
}
}
}

return {publish, subscribe, subscribers}
})()

// NOTE: Store the error channel instance in the global scope so that the Studio application can
// access it and subscribe to errors.
window.__sanityErrorChannel = {
subscribe: errorChannel.subscribe,
}

function _nextTick(callback) {
setTimeout(callback, 0)
}

function _handleError(error, params) {
_nextTick(function () {
// - If there are error channel subscribers, then we notify them (no console error).
// - If there are no subscribers, then we log the error to the console and render the error overlay.
if (errorChannel.subscribers.length) {
errorChannel.publish({error, params})
} else {
console.error(error)

_renderErrorOverlay(error, params)
}
})
}

var ERROR_BOX_STYLE = [
'background: #fff',
'border-radius: 6px',
'box-sizing: border-box',
'color: #121923',
'flex: 1',
"font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue','Liberation Sans',Helvetica,Arial,system-ui,sans-serif",
'font-size: 16px',
'line-height: 21px',
'margin: 0 auto',
'max-width: 960px',
'overflow: auto',
'padding: 20px',
'width: 100%',
].join(';')

var ERROR_CODE_STYLE = [
'color: #972E2A',
"font-family: -apple-system-ui-monospace, 'SF Mono', Menlo, Monaco, Consolas, monospace",
'font-size: 13px',
'line-height: 17px',
'margin: 0',
].join(';')

function _renderErrorOverlay(error, params) {
var errorElement = document.querySelector('#__sanityError') || document.createElement('div')
var colno = params.event.colno
var lineno = params.event.lineno
var filename = params.event.filename

errorElement.id = '__sanityError'
errorElement.innerHTML = [
'<div style="' + ERROR_BOX_STYLE + '">',
'<div style="font-weight: 700;">Uncaught error: ' + error.message + '</div>',
'<div style="color: #515E72; font-size: 13px; line-height: 17px; margin: 10px 0;">' +
filename +
':' +
lineno +
':' +
colno +
'</div>',
'<pre style="' + ERROR_CODE_STYLE + '">' + error.stack + '</pre>',
'</div>',
].join('')

errorElement.style.position = 'fixed'
errorElement.style.zIndex = 1000000
errorElement.style.top = 0
errorElement.style.left = 0
errorElement.style.right = 0
errorElement.style.bottom = 0
errorElement.style.padding = '20px'
errorElement.style.background = 'rgba(16,17,18,0.66)'
errorElement.style.display = 'flex'
errorElement.style.alignItems = 'center'
errorElement.style.justifyContent = 'center'

document.body.appendChild(errorElement)
}

// NOTE:
// Yes – we're attaching 2 error listeners below 👀
// This is because React makes the same error throw twice (in development mode).
// See: https://github.com/facebook/react/issues/10384

// Error listener #1
window.onerror = function (event, source, lineno, colno, error) {
_nextTick(function () {
if (_caughtErrors.indexOf(error) !== -1) return

_caughtErrors.push(error)

_handleError(error, {
event,
lineno,
colno,
source,
})

_nextTick(function () {
var idx = _caughtErrors.indexOf(error)

if (idx > -1) _caughtErrors.splice(idx, 1)
})
})

// IMPORTANT: this callback must return `true` to prevent the error from being rendered in
// the browser’s console.
return true
}

// Error listener #2
window.addEventListener('error', function (event) {
if (_caughtErrors.indexOf(event.error) !== -1) return true

_caughtErrors.push(event.error)

_handleError(event.error, {
event,
lineno: event.lineno,
colno: event.colno,
})

_nextTick(function () {
_nextTick(function () {
var idx = _caughtErrors.indexOf(event.error)

if (idx > -1) _caughtErrors.splice(idx, 1)
})
})

return true
})
})()
</script><style>
html {
background-color: #f1f3f6;
}
html,
body,
#sanity {
height: 100%;
}
body {
margin: 0;
-webkit-font-smoothing: antialiased;
}
</style></head><body><div id="sanity"></div><script type="module" src="/.sanity/runtime/app.js"></script><noscript><div class="sanity-app-no-js__root"><div class="sanity-app-no-js__content"><style type="text/css">
.sanity-app-no-js__root {
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: #fff;
}

.sanity-app-no-js__content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
font-family: helvetica, arial, sans-serif;
}
</style><h1>JavaScript disabled</h1><p>Please <a href="https://www.enable-javascript.com/">enable JavaScript</a> in your browser and reload the page to proceed.</p></div></div></noscript></body></html>
8 changes: 0 additions & 8 deletions studio/config/.checksums

This file was deleted.

3 changes: 0 additions & 3 deletions studio/config/@sanity/data-aspects.json

This file was deleted.

6 changes: 0 additions & 6 deletions studio/config/@sanity/default-layout.json

This file was deleted.

7 changes: 0 additions & 7 deletions studio/config/@sanity/default-login.json

This file was deleted.

5 changes: 0 additions & 5 deletions studio/config/@sanity/form-builder.json

This file was deleted.

3 changes: 0 additions & 3 deletions studio/config/@sanity/vision.json

This file was deleted.

10 changes: 10 additions & 0 deletions studio/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// env.d.ts
/// <reference types="vite/client" />

interface ImportMetaEnv {
readonly SANITY_STUDIO_PROJECT_ID: string;
readonly SANITY_STUDIO_DATASET: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
Loading

0 comments on commit c85f09d

Please sign in to comment.