| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Topcoder Challenge Steward Agent</title> |
| <link rel="stylesheet" href="/static/styles.css"> |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> |
| <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> |
| </head> |
| <body> |
| <div class="container"> |
| <header class="header"> |
| <div class="logo"> |
| <i class="fas fa-robot"></i> |
| <h1>Topcoder Challenge Steward Agent</h1> |
| </div> |
| </header> |
|
|
| <main class="main"> |
| |
| <div class="form-section" id="configSection"> |
| <div class="card"> |
| <h2><i class="fas fa-cog"></i> Configuration</h2> |
| <form id="configForm"> |
| <div class="form-group"> |
| <label for="email">Email Address</label> |
| <input type="email" id="email" name="email" required placeholder="your.email@example.com"> |
| </div> |
| |
| <div class="form-group"> |
| <label for="preferences">Preferences</label> |
| <textarea id="preferences" name="preferences" rows="4" placeholder="Enter your preferences for challenge types, technologies, difficulty levels, etc..."></textarea> |
| </div> |
| |
| <button type="submit" class="btn btn-primary"> |
| <i class="fas fa-search"></i> Find Challenges |
| </button> |
| </form> |
| </div> |
| </div> |
|
|
| |
| <div class="results-section" id="resultsSection" style="display: none;"> |
| <div class="card"> |
| <div class="results-header"> |
| <h2><i class="fas fa-trophy"></i> Available Challenges</h2> |
| <div class="results-actions"> |
| <button class="btn btn-secondary" id="editPreferences"> |
| <i class="fas fa-edit"></i> Edit Preferences |
| </button> |
| <button class="btn btn-success" id="registerForNotifications"> |
| <i class="fas fa-bell"></i> Register for Daily Notifications |
| </button> |
| </div> |
| </div> |
| |
| <div class="user-info"> |
| <p><strong>Email:</strong> <span id="displayEmail"></span></p> |
| <p><strong>Preferences:</strong> <span id="displayPreferences"></span></p> |
| </div> |
|
|
| <div class="challenges-grid" id="challengesGrid"> |
| |
| </div> |
|
|
| <div class="actions"> |
| <button class="btn btn-primary" id="refreshChallenges"> |
| <i class="fas fa-sync-alt"></i> Refresh Results |
| </button> |
| <button class="btn btn-outline" id="newSearch"> |
| <i class="fas fa-arrow-left"></i> New Search |
| </button> |
| </div> |
| </div> |
| </div> |
|
|
|
|
| |
| <div class="loading" id="loading" style="display: none;"> |
| <div class="spinner"></div> |
| <p>Finding challenges...</p> |
| </div> |
|
|
| |
| <div class="success-message" id="successMessage" style="display: none;"> |
| <i class="fas fa-check-circle"></i> |
| <span>Agent scheduled successfully! You'll receive daily challenge updates.</span> |
| </div> |
| </main> |
| </div> |
|
|
| |
| <script src="/static/js/modules/api-client.js"></script> |
| <script src="/static/js/modules/ui-components.js"></script> |
| <script src="/static/js/modules/user-manager.js"></script> |
| <script src="/static/js/modules/challenge-manager.js"></script> |
| |
| |
| <script src="/static/js/app.js"></script> |
| </body> |
| </html> |
|
|