santa-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev b8b257a837b1
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone c7891873549c9ca1004894b3
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
src/main.tsx
// Santa's entry. "/" keeps the static landing and mounts the make-an-exchange form and "Your
// exchanges" into it; the landing never loads the Bounded SDK. "/x/..." hides the landing and loads the app.
import { lazy, Suspense } from "react";
import { createRoot } from "react-dom/client";
import { usePath } from "./lib/router";
import { Toaster } from "./ui";
import { Create } from "./Create";
import { Yours } from "./Yours";
import "./styles.css";

const App = lazy(() => import("./App"));
const APP_ROUTE = /^\/x\/[A-Za-z0-9]{8,32}(\/admin|\/p\/[A-Za-z0-9]{8,32})?\/?$/;
const LANDING_TITLE = document.title;

function Root() {
  const path = usePath();
  const inApp = APP_ROUTE.test(path);
  document.body.classList.toggle("app-mode", inApp);
  if (!inApp) document.title = LANDING_TITLE;
  return (
    <>
      {inApp && (
        <Suspense fallback={<div className="wrap page-pad"><div className="loading"><span className="spinner" /></div></div>}>
          <App path={path.replace(/\/$/, "")} />
        </Suspense>
      )}
      <Toaster />
    </>
  );
}

createRoot(document.getElementById("app")!).render(<Root />);
const createSlot = document.getElementById("create");
if (createSlot) createRoot(createSlot).render(<Create />);
const yourSlot = document.getElementById("yours");
if (yourSlot) createRoot(yourSlot).render(<Yours />);

const head = document.querySelector(".site-head");
const onScroll = () => head?.classList.toggle("scrolled", window.scrollY > 4);
window.addEventListener("scroll", onScroll, { passive: true });
onScroll();

Change history

Point OpenApps links to openapps.free
b8b257a837 · 18 hours ago
Bind agent address in policy constants
9a72d0200b · 20 hours ago
Use functions.openapps.xyz alias, add OpenApp contribution strip
60038fa63d · 20 hours ago
Bounded source sync
a2e0247232 · 1 day ago
Bounded source sync
c84c736f8b · 1 day ago
Bounded source sync
3a54a80cdc · 1 day ago
Bounded source sync
2eed41b4de · 1 day ago