File size: 4,183 Bytes
e3bdc52
 
 
 
 
 
 
 
 
 
 
 
 
 
4e3ae93
e3bdc52
 
 
 
 
 
 
 
4e3ae93
e3bdc52
4e3ae93
 
 
 
e3bdc52
 
 
4e3ae93
 
e3bdc52
4e3ae93
e3bdc52
4e3ae93
e3bdc52
 
 
 
4e3ae93
 
 
 
e3bdc52
4e3ae93
e3bdc52
 
 
 
 
 
 
 
4e3ae93
e3bdc52
 
 
 
 
 
 
4e3ae93
e3bdc52
 
4e3ae93
 
e3bdc52
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ConfereAI Admin | Fine-Tuning</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@700;900&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="aurora-mesh"></div>

    <nav>
        <div class="logo">
            <a href="index.html" class="logo">
                <span>Confere<span class="vibrance">AI</span> Admin</span>
            </a>
        </div>
        <div class="nav-links">
            <a href="index.html">Voltar ao App</a>
        </div>
    </nav>

    <main class="dashboard-container">
        <!-- Login Section -->
        <section id="login-section" class="admin-login-container">
            <div class="admin-card">
                <h2 style="font-family: 'Outfit'; font-size: 2rem; margin-bottom: 1rem; text-align: center;">Acesso Restrito</h2>
                <p style="color: var(--text-secondary); margin-bottom: 2rem; text-align: center;">Insira a senha de administrador para gerenciar o aprendizado do motor neural.</p>
                
                <form id="login-form">
                    <div class="form-group">
                        <label for="admin-password">Senha do Administrador</label>
                        <input type="password" id="admin-password" placeholder="••••••••" required>
                    </div>
                    <button type="submit" class="btn-secondary" style="width: 100%; margin-top: 1rem;">Entrar no Painel</button>
                </form>
                <div id="login-error" class="status-text hidden" style="color: var(--danger); text-align: center;">Senha incorreta.</div>
            </div>
        </section>

        <!-- Dashboard Section -->
        <section id="dashboard-section" class="hidden">
            <div class="glass-card admin-panel">
                <h2 class="section-title-admin">Treinar Modelo</h2>
                <p class="section-desc-admin">Faça upload de um arquivo .zip ou .rar contendo pastas 'real' e 'fake' com áudios (.mp3, .wav, .flac).</p>
                
                <div id="drop-zone" class="drop-zone admin-drop">
                    <div class="upload-icon">
                        <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                            <polyline points="17 8 12 3 7 8"></polyline>
                            <line x1="12" y1="3" x2="12" y2="15"></line>
                        </svg>
                    </div>
                    <h3 style="margin-bottom: 10px;">Arraste o arquivo ou clique</h3>
                    <p style="color: var(--text-secondary); font-size: 0.9rem;">Limite: 100MB recomendados por lote</p>
                    <input type="file" id="file-input" class="hidden" accept=".zip,.rar">
                </div>

                <div id="selected-file-info" class="hidden" style="margin-bottom: 1.5rem; color: var(--success); font-weight: 500;">
                    Arquivo selecionado: <span id="filename-display"></span>
                </div>

                <button id="btn-upload-train" class="btn-secondary" style="width: 100%;" disabled>Iniciar Upload e Treinamento</button>

                <!-- Training Progress -->
                <div id="training-progress-container" class="hidden" style="margin-top: 2rem; text-align: left;">
                    <h4 style="color: var(--cyan); margin-bottom: 0.5rem;">Status do Treinamento</h4>
                    <div class="progress-bar-container">
                        <div id="training-progress-bar" class="progress-bar"></div>
                    </div>
                    <div id="training-status-text" class="status-text">Preparando ambiente...</div>
                </div>
            </div>
        </section>
    </main>

    <script src="js/admin.js"></script>
</body>
</html>