anycoder-72e81bc1 / index.html
Ialready8's picture
Upload folder using huggingface_hub
2983006 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Retry Application</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
:root {
--primary: #4361ee;
--secondary: #3a0ca3;
--success: #4cc9f0;
--danger: #f72585;
--warning: #f8961e;
--light: #f8f9fa;
--dark: #212529;
--gray: #6c757d;
--transition: all 0.3s ease;
}
body {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1rem;
color: var(--light);
}
.header {
position: absolute;
top: 1rem;
right: 1rem;
}
.header a {
color: var(--light);
text-decoration: none;
font-size: 0.9rem;
opacity: 0.8;
transition: var(--transition);
}
.header a:hover {
opacity: 1;
text-decoration: underline;
}
.container {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 20px;
padding: 2rem;
width: 100%;
max-width: 600px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.2);
}
h1 {
text-align: center;
margin-bottom: 1.5rem;
font-weight: 700;
font-size: 2.5rem;
text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.description {
text-align: center;
margin-bottom: 2rem;
font-size: 1.1rem;
opacity: 0.9;
line-height: 1.6;
}
.retry-container {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.retry-card {
background: rgba(255, 255, 255, 0.15);
border-radius: 15px;
padding: 1.5rem;
transition: var(--transition);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.retry-card:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateY(-5px);
}
.retry-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1rem;
}
.retry-title {
font-size: 1.3rem;
font-weight: 600;
}
.retry-status {
padding: 0.3rem 0.8rem;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
}
.status-pending {
background: var(--warning);
color: var(--dark);
}
.status-failed {
background: var(--danger);
}
.status-success {
background: var(--success);
color: var(--dark);
}
.retry-details {
display: flex;
justify-content: space-between;
margin-bottom: 1rem;
font-size: 0.9rem;
opacity: 0.9;
}
.retry-progress {
height: 8px;
background: rgba(255, 255, 255, 0.2);
border-radius: 10px;
overflow: hidden;
margin-bottom: 1rem;
}
.progress-bar {
height: 100%;
border-radius: 10px;
transition: width 0.5s ease;
}
.progress-pending {
background: var(--warning);
width: 60%;
}
.progress-failed {
background: var(--danger);
width: 100%;
}
.progress-success {
background: var(--success);
width: 100%;
}
.retry-actions {
display: flex;
gap: 0.8rem;
justify-content: flex-end;
}
.btn {
padding: 0.5rem 1.2rem;
border: none;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: var(--transition);
display: flex;
align-items: center;
gap: 0.5rem;
}
.btn-primary {
background: var(--primary);
color: white;
}
.btn-primary:hover {
background: var(--secondary);
transform: scale(1.05);
}
.btn-outline {
background: transparent;
color: var(--light);
border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn-outline:hover {
background: rgba(255, 255, 255, 0.1);
}
.stats-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 1rem;
margin-top: 2rem;
}
.stat-card {
background: rgba(255, 255, 255, 0.1);
border-radius: 12px;
padding: 1rem;
text-align: center;
transition: var(--transition);
}
.stat-card:hover {
background: rgba(255, 255, 255, 0.15);
transform: translateY(-3px);
}
.stat-value {
font-size: 2rem;
font-weight: 700;
margin-bottom: 0.5rem;
}
.stat-label {
font-size: 0.9rem;
opacity: 0.8;
}
.notification {
position: fixed;
bottom: 2rem;
right: 2rem;
background: var(--success);
color: var(--dark);
padding: 1rem 1.5rem;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
gap: 0.8rem;
transform: translateY(150%);
transition: transform 0.4s ease;
z-index: 1000;
}
.notification.show {
transform: translateY(0);
}
@media (max-width: 768px) {
.container {
padding: 1.5rem;
}
h1 {
font-size: 2rem;
}
.retry-header {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
.retry-actions {
justify-content: flex-start;
flex-wrap: wrap;
}
.stats-container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.container {
padding: 1rem;
}
h1 {
font-size: 1.8rem;
}
.stats-container {
grid-template-columns: 1fr;
}
.notification {
right: 1rem;
left: 1rem;
}
}
</style>
</head>
<body>
<div class="header">
<a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">Built with anycoder</a>
</div>
<div class="container">
<h1><i class="fas fa-redo-alt"></i> Retry Manager</h1>
<p class="description">Monitor and manage your retry operations with real-time status updates and controls.</p>
<div class="retry-container">
<div class="retry-card">
<div class="retry-header">
<div class="retry-title">API Connection</div>
<div class="retry-status status-pending">Pending</div>
</div>
<div class="retry-details">
<div>Attempt: 3 of 5</div>
<div>Last tried: 2 minutes ago</div>
</div>
<div class="retry-progress">
<div class="progress-bar progress-pending"></div>
</div>
<div class="retry-actions">
<button class="btn btn-outline"><i class="fas fa-pause"></i> Pause</button>
<button class="btn btn-primary retry-btn"><i class="fas fa-redo"></i> Retry Now</button>
</div>
</div>
<div class="retry-card">
<div class="retry-header">
<div class="retry-title">Data Sync</div>
<div class="retry-status status-failed">Failed</div>
</div>
<div class="retry-details">
<div>Attempt: 5 of 5</div>
<div>Last tried: 10 minutes ago</div>
</div>
<div class="retry-progress">
<div class="progress-bar progress-failed"></div>
</div>
<div class="retry-actions">
<button class="btn btn-outline"><i class="fas fa-info-circle"></i> Details</button>
<button class="btn btn-primary retry-btn"><i class="fas fa-redo"></i> Retry</button>
</div>
</div>
<div class="retry-card">
<div class="retry-header">
<div class="retry-title">File Upload</div>
<div class="retry-status status-success">Completed</div>
</div>
<div class="retry-details">
<div>Attempt: 2 of 5</div>
<div>Completed: 5 minutes ago</div>
</div>
<div class="retry-progress">
<div class="progress-bar progress-success"></div>
</div>
<div class="retry-actions">
<button class="btn btn-outline"><i class="fas fa-history"></i> View Logs</button>
<button class="btn btn-primary"><i class="fas fa-play"></i> Run Again</button>
</div>
</div>
</div>
<div class="stats-container">
<div class="stat-card">
<div class="stat-value">12</div>
<div class="stat-label">Total Operations</div>
</div>
<div class="stat-card">
<div class="stat-value">8</div>
<div class="stat-label">Successful</div>
</div>
<div class="stat-card">
<div class="stat-value">3</div>
<div class="stat-label">Pending</div>
</div>
<div class="stat-card">
<div class="stat-value">1</div>
<div class="stat-label">Failed</div>
</div>
</div>
</div>
<div class="notification" id="notification">
<i class="fas fa-check-circle"></i>
<div>Retry operation initiated successfully!</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const retryButtons = document.querySelectorAll('.retry-btn');
const notification = document.getElementById('notification');
retryButtons.forEach(button => {
button.addEventListener('click', function() {
// Show notification
notification.classList.add('show');
// Hide notification after 3 seconds
setTimeout(() => {
notification.classList.remove('show');
}, 3000);
// Simulate status change for demo purposes
const card = this.closest('.retry-card');
const status = card.querySelector('.retry-status');
const progress = card.querySelector('.progress-bar');
if (status.classList.contains('status-failed')) {
status.textContent = 'Pending';
status.className = 'retry-status status-pending';
progress.className = 'progress-bar progress-pending';
} else if (status.classList.contains('status-pending')) {
status.textContent = 'Completed';
status.className = 'retry-status status-success';
progress.className = 'progress-bar progress-success';
}
});
});
});
</script>
</body>
</html>