You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
freqtrade/freqtrade/rpc/api_server/ui/fallback_file.html

280 lines
8.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Freqtrade - Crypto P Edition</title>
<link rel="icon" type="image/png" href="/logo.png">
<style>
:root {
--bg-color: #0d0015; /* Dark purple/black */
--text-color: #e0e0e0;
--accent-primary: #ff00ff; /* Magenta */
--accent-secondary: #00ffff; /* Cyan */
--card-bg: #1a0b2e;
--nav-bg: #240046;
--btn-bg: #ff00ff;
--btn-text: #ffffff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: 'Comic Sans MS', 'Chalkboard SE', sans-serif; /* Playful font */
margin: 0;
padding: 0;
line-height: 1.6;
}
header {
background-color: var(--nav-bg);
padding: 1rem;
text-align: center;
border-bottom: 3px solid var(--accent-secondary);
}
.logo-container {
margin-bottom: 1rem;
}
.logo {
max-width: 150px;
height: auto;
border-radius: 50%;
border: 3px solid var(--accent-primary);
box-shadow: 0 0 15px var(--accent-primary);
}
h1 {
color: var(--accent-secondary);
font-size: 2.5rem;
text-shadow: 2px 2px var(--accent-primary);
margin: 0.5rem 0;
}
nav {
margin-top: 1rem;
}
nav a {
color: #fff;
text-decoration: none;
margin: 0 10px;
font-weight: bold;
font-size: 1.1rem;
transition: color 0.3s;
}
nav a:hover {
color: var(--accent-primary);
text-shadow: 0 0 5px var(--accent-primary);
}
.hero {
text-align: center;
padding: 3rem 1rem;
background: linear-gradient(180deg, var(--bg-color) 0%, var(--card-bg) 100%);
}
.content-section {
max-width: 900px;
margin: 2rem auto;
padding: 2rem;
background-color: var(--card-bg);
border-radius: 15px;
box-shadow: 0 0 20px rgba(138, 43, 226, 0.3);
border: 1px solid var(--accent-primary);
}
h2 {
color: var(--accent-primary);
border-bottom: 2px solid var(--accent-secondary);
padding-bottom: 0.5rem;
margin-bottom: 1.5rem;
}
h3 {
color: var(--accent-secondary);
margin-top: 1.5rem;
}
p {
margin-bottom: 1rem;
font-size: 1.1rem;
}
.install-notice {
background-color: rgba(255, 0, 255, 0.1);
border: 2px dashed var(--accent-secondary);
padding: 1.5rem;
margin-top: 2rem;
border-radius: 10px;
text-align: center;
}
code {
background-color: #000;
color: #0f0;
padding: 0.5rem 1rem;
border-radius: 5px;
font-family: monospace;
font-size: 1.2rem;
display: inline-block;
margin: 1rem 0;
}
footer {
text-align: center;
padding: 2rem;
background-color: var(--nav-bg);
color: var(--text-color); /* Improved contrast */
margin-top: 3rem;
border-top: 2px solid var(--accent-primary);
}
.btn {
display: inline-block;
background-color: var(--btn-bg);
color: var(--btn-text);
padding: 0.8rem 1.5rem;
border-radius: 25px;
text-decoration: none;
font-weight: bold;
margin-top: 1rem;
border: none;
cursor: pointer;
font-size: 1rem;
transition: transform 0.2s, box-shadow 0.2s;
cursor: pointer;
border: none;
font-size: 1rem;
}
.btn:hover {
transform: scale(1.05);
box-shadow: 0 0 10px var(--accent-primary);
}
/* Accessibility & UX Improvements */
:focus-visible {
outline: 3px solid var(--accent-secondary);
outline-offset: 2px;
}
.skip-link {
position: absolute;
top: -100px;
left: 0;
background: var(--accent-primary);
color: white;
padding: 1rem;
z-index: 1000;
text-decoration: none;
font-weight: bold;
transition: top 0.3s;
}
.skip-link:focus {
top: 0;
}
.copy-container {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
flex-wrap: wrap;
}
.copy-btn {
background: transparent;
border: 2px solid var(--accent-secondary);
color: var(--accent-secondary);
cursor: pointer;
padding: 5px 12px;
border-radius: 5px;
font-size: 1.2rem;
transition: all 0.2s;
}
.copy-btn:hover {
background: rgba(0, 255, 255, 0.1);
transform: scale(1.1);
}
.copy-btn:active {
transform: scale(0.95);
}
</style>
<script>
function copyCommand() {
const commandText = document.getElementById('install-cmd').innerText;
navigator.clipboard.writeText(commandText).then(() => {
const btn = document.getElementById('copy-btn');
btn.innerText = '✅ Copied!';
setTimeout(() => {
btn.innerText = '📋 Copy';
}, 2000);
});
}
</script>
</head>
<body>
<a href="#main-content" class="skip-link">Skip to content</a>
<header>
<div class="logo-container">
<img src="/logo.png" alt="Crypto P Logo" class="logo">
</div>
<h1>Freqtrade - Crypto P Edition</h1>
<nav>
<a href="https://www.freqtrade.io/en/latest/" target="_blank" rel="noopener noreferrer">Documentation</a>
<a href="https://github.com/freqtrade/freqtrade" target="_blank" rel="noopener noreferrer">GitHub</a>
</nav>
</header>
<main id="main-content">
<div class="hero">
<h2>Welcome to the Show!</h2>
<p>Step into the most dazzling carousel for your crypto trading.</p>
</div>
<section class="content-section">
<h2>Meet Crypto P</h2>
<p><strong>Crypto P</strong> is the eccentric mastermind behind Crypto P's Magical Server! With high energy, a love for cryptocurrency, and a passion for innovation, Crypto P is constantly developing new ideas, trading bots, and crypto signals. A true visionary with a mix of seriousness and playfulness, Crypto P brings the magic of cryptocurrency to life!</p>
</section>
<section class="content-section">
<h2>The Philosophy of Crypto P</h2>
<p>Crypto P believes in the power of decentralization, the potential of blockchain technology, and the freedom that comes with it. The journey is as important as the destination, and Crypto P loves to share the excitement with others. From building advanced trading bots to providing real-time crypto signals, Crypto Ps goal is to make the crypto world accessible to everyone!</p>
</section>
<section class="content-section">
<h2>Crypto Ps Vision</h2>
<p>With a deep understanding of the crypto markets, Crypto P combines technical expertise with a creative and psychedelic spirit. Crypto Ps vision is to create a platform that not only provides valuable tools and insights for traders but also engages the community with fun, vibrant, and thought-provoking content. Whether its through high-energy crypto signals, innovative bots, or live charts, Crypto P is here to guide you on your crypto journey.</p>
</section>
<section class="content-section install-notice">
<h3>Unlock the Full Edition!</h3>
<p>The UI is currently hiding. Install it with this command:</p>
<div class="copy-container">
<code id="install-cmd">freqtrade install-ui</code>
<button class="copy-btn" onclick="copyCommand()" aria-label="Copy install command">📋</button>
</div>
<p>Then refresh this page to enter the dashboard!</p>
<button class="btn" onclick="location.reload()">🔄 Refresh</button>
</section>
</main>
<footer>
<p>&copy; 2026 Freqtrade - Crypto P Edition</p>
</footer>
<script>
function copyCommand() {
const cmdText = document.getElementById('install-cmd').innerText;
if (navigator.clipboard) {
navigator.clipboard.writeText(cmdText).then(() => {
const btn = document.querySelector('.copy-btn');
const originalText = btn.innerText;
btn.innerText = '✅';
setTimeout(() => {
btn.innerText = originalText;
}, 2000);
}).catch(err => {
console.error('Failed to copy: ', err);
alert('Copy failed. Please copy the command manually.');
});
} else {
// Fallback for non-secure contexts if possible, or just alert
alert('Copy not supported in this environment. Please copy manually.');
}
}
</script>
</body>
</html>