90 lines
2.2 KiB
HTML
90 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>PlexSync Manager</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
plex: {
|
|
orange: '#e5a00d',
|
|
dark: '#1f2937',
|
|
darker: '#111827',
|
|
card: '#374151'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style>
|
|
/* Custom scrollbar for webkit to match dark theme */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: #111827;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: #4b5563;
|
|
border-radius: 4px;
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #6b7280;
|
|
}
|
|
|
|
/* Overflow marquee (auto-scroll when truncated) */
|
|
.overflow-marquee {
|
|
display: inline-block;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.overflow-marquee__text {
|
|
display: inline-block;
|
|
will-change: transform;
|
|
}
|
|
|
|
.overflow-marquee__text--animate {
|
|
animation: overflow-marquee-scroll var(--marquee-duration, 6s) linear infinite;
|
|
}
|
|
|
|
@keyframes overflow-marquee-scroll {
|
|
0%, 12% {
|
|
transform: translateX(0);
|
|
}
|
|
70%, 86% {
|
|
transform: translateX(calc(var(--marquee-distance, 0px) * -1));
|
|
}
|
|
100% {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.overflow-marquee__text--animate {
|
|
animation: none;
|
|
}
|
|
}
|
|
</style>
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"lucide-react": "https://aistudiocdn.com/lucide-react@^0.555.0",
|
|
"react/": "https://aistudiocdn.com/react@^19.2.0/",
|
|
"react": "https://aistudiocdn.com/react@^19.2.0",
|
|
"react-dom/": "https://aistudiocdn.com/react-dom@^19.2.0/"
|
|
}
|
|
}
|
|
</script>
|
|
<script type="module" src="/index.tsx"></script>
|
|
</head>
|
|
<body class="bg-gray-900 text-gray-100 antialiased min-h-screen">
|
|
<div id="root"></div>
|
|
</body>
|
|
</html> |