webamp/packages/webamp-demo/index.html
Jordan Eldredge c7a282c1fd
Split demo site into its own package (#1351)
* Split demo site into its own package

Move the demo site from packages/webamp/demo/ into packages/webamp-demo/
as a standalone workspace package. This cleanly separates the library
(published to npm) from the demo site (deployed to webamp.org).

Key changes:
- Demo imports webamp source via relative paths (no aliases needed)
- Demo has its own package.json with demo-specific deps
- Simplified vite config (just nodePolyfills plugin)
- Removed vite branching from rollupPlugins.mjs (library-only now)
- Renamed build-library -> build in webamp package
- Updated turbo.json, CI, netlify config, and code-size workflow
- Removed demo-only deps from webamp package (sentry, butterchurn stays
  for the butterchurn bundle)
- Zero bundle size change for the library

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix: add type-check dependency to webamp#build task

The webamp-docs package needs type declarations from webamp to
type-check. These are generated by tsc (type-check), which must run
before the build task.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add updated readme to webamp-demo package

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Document the live reloading dev flow in both readmes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix code-size CI: use deploy script that exists on both branches

The compressed-size-action checks out master and runs the build script.
Master doesn't have a root "build" script, so revert to using "deploy"
which exists on both branches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 14:40:07 -07:00

133 lines
5.5 KiB
HTML
Executable file

<!DOCTYPE html>
<html>
<head>
<title>Webamp &middot; Winamp 2 in your browser</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta
name="description"
content="Winamp reimplemented in HTML5 and JavaScript"
/>
<meta property="og:title" content="Webamp &bull; Winamp in your browser" />
<meta
property="og:description"
content="Winamp reimplemented in HTML5 and JavaScript"
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="https://webamp.org" />
<meta property="og:image" content="./images/preview.png" />
<link rel="stylesheet" type="text/css" href="./css/page.css" />
<link rel="shortcut icon" sizes="16x16 32x32" href="./images/favicon.ico" />
<!-- See https://goo.gl/qRE0vM -->
<meta name="theme-color" content="#4b4b4b" />
<meta
name="google-site-verification"
content="ycocEnfUpYf8u_UmzpqSe0gNooPs0PBjbD7HKw-qa5I"
/>
</head>
<body>
<div id="app">
<div id="loading" style="display: none">
Loading<span class="ellipsis-anim"
><span>.</span><span>.</span><span>.</span></span
>
</div>
</div>
<div id="browser-compatibility">
<p>Your browser does not support the features we need.</p>
<p>
Try using the most recent version of Chrome, Firefox, Safari or Edge.
</p>
</div>
<div id="demo-desktop"></div>
<p class="about">
<a
target="_blank"
href="https://github.com/jberg/butterchurn"
id="butterchurn-share"
style="background-image: url('./images/share/butterchurn-bg.png')"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72.767 72.766">
<path
d="M72.163,34.225C71.6,33.292,58.086,11.352,37.48,11.352h-2.195c-20.605,0-34.117,21.94-34.681,22.873
c-0.805,1.323-0.805,2.993,0,4.316c0.564,0.94,14.076,22.873,34.682,22.873h2.195c20.604,0,34.118-21.933,34.683-22.873
C72.968,37.218,72.968,35.548,72.163,34.225z M37.48,53.141h-2.195c-12.696,0-22.625-11.793-26.242-16.758
c3.621-4.971,13.546-16.758,26.242-16.758h2.195c12.7,0,22.632,11.802,26.246,16.766C60.125,41.363,50.237,53.141,37.48,53.141z
M36.383,29.66c-3.666,0-6.633,3.016-6.633,6.724c0,3.716,2.967,6.725,6.633,6.725c3.664,0,6.635-3.009,6.635-6.725
C43.018,32.675,40.047,29.66,36.383,29.66z"
/>
</svg>
</a>
<a
target="_blank"
href="https://github.com/captbaritone/webamp/blob/master/packages/webamp-demo/docs/music-credits.md"
id="music-credits"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path
d="M160 64v257.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V200h202v121.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V64H160zm245 96H203v-53h202v53z"
/>
</svg>
</a>
<a
target="_blank"
href="https://github.com/captbaritone/webamp"
id="github-share"
>
<svg
aria-labelledby="simpleicons-github-icon"
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<title id="github">GitHub icon</title>
<path
d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"
/>
</svg>
</a>
</p>
<script>
(function (i, s, o, g, r, a, m) {
i["GoogleAnalyticsObject"] = r;
(i[r] =
i[r] ||
function () {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(
window,
document,
"script",
"//www.google-analytics.com/analytics.js",
"ga"
);
ga("create", "UA-96948-19", "auto");
ga("set", "anonymizeIp", true);
ga("send", "pageview");
</script>
<script type="text/javascript">
// If we can load faster than half a second, don't bother showing the loading indicator.
setTimeout(function () {
var loading = document.getElementById("loading");
if (loading != null) {
loading.style.display = "block";
}
}, 500);
</script>
<!-- https://github.com/captbaritone/webamp/issues/750
<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="7py29249dpeddu8" async></script>
-->
<script type="module" src="./js/index.tsx"></script>
<!-- Scripts get injected by html-webpack-plugin -->
</body>
</html>