Update from Git Manager GUI
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
<meta charset="utf-8" />
|
||||
<title>Git Manager Explorer Pro</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https: http:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none';">
|
||||
<link rel="icon" type="image/png" href="./icon.png">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
@@ -43,6 +44,7 @@
|
||||
<div class="toolbar-top-actions">
|
||||
<div class="tool-group tool-group--quick-actions">
|
||||
<button id="btnOpenRepoActions" title="Neues Repository erstellen">🚀 New Repo</button>
|
||||
<button id="btnOpenMigration" title="Repository von GitHub/GitLab zu Gitea migrieren">📥 Migrieren</button>
|
||||
<button id="btnPush" title="Projekt pushen">⬆️ Push</button>
|
||||
</div>
|
||||
|
||||
@@ -66,7 +68,7 @@
|
||||
<div class="tool-group tool-group--workspace">
|
||||
<span class="tool-group-title">Quelle</span>
|
||||
<button id="btnSelectFolder" class="accent-btn" title="Lokalen Ordner öffnen">📂 Open Local</button>
|
||||
<button id="btnLoadGiteaRepos" class="accent-btn" title="Gitea Repositories laden">🌐 Load Gitea</button>
|
||||
<button id="btnLoadGiteaRepos" class="accent-btn" title="Projekte der gewählten Plattform laden">🌐 Load Projekte</button>
|
||||
</div>
|
||||
|
||||
<div class="tool-group tool-group--repo">
|
||||
@@ -104,10 +106,19 @@
|
||||
</div>
|
||||
|
||||
<div class="settings-header">
|
||||
<div>
|
||||
<div class="settings-eyebrow">Konfiguration</div>
|
||||
<h2>⚙️ Einstellungen</h2>
|
||||
<p class="settings-subtitle">Alle wichtigen Optionen auf einer Seite: Zugangsdaten, Verbindungscheck, Darstellung und Updates.</p>
|
||||
<div class="settings-header-inner">
|
||||
<div class="settings-avatar-wrap" id="settingsAvatarWrap" title="Profilbild ändern">
|
||||
<img id="settingsAvatarImg" class="settings-avatar-img" src="" alt="Avatar" style="display:none;">
|
||||
<div id="settingsAvatarPlaceholder" class="settings-avatar-placeholder">👤</div>
|
||||
<div class="settings-avatar-overlay">✏️</div>
|
||||
<input id="settingsAvatarInput" type="file" accept="image/*" style="display:none;">
|
||||
</div>
|
||||
<button id="btnUploadAvatar" class="settings-avatar-upload-btn" title="Gespeichertes Bild jetzt auf Gitea hochladen">📤 Auf Gitea aktualisieren</button>
|
||||
<div>
|
||||
<div class="settings-eyebrow">Konfiguration</div>
|
||||
<h2>⚙️ Einstellungen</h2>
|
||||
<p class="settings-subtitle">Alle wichtigen Optionen auf einer Seite: Zugangsdaten, Verbindungscheck, Darstellung und Updates.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -121,25 +132,35 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="settings-fields-grid">
|
||||
<div class="input-group">
|
||||
<label for="githubToken">GitHub Token</label>
|
||||
<input id="githubToken" type="password" placeholder="ghp_...">
|
||||
</div>
|
||||
<div class="settings-credentials-grid">
|
||||
<article class="settings-auth-card settings-auth-card--github">
|
||||
<div class="settings-auth-card-header">
|
||||
<h4>GitHub</h4>
|
||||
<button id="btnTestGithubConnection" class="secondary" type="button">🔌 Verbindung testen</button>
|
||||
</div>
|
||||
<div class="input-group settings-auth-input">
|
||||
<label for="githubToken">GitHub Token</label>
|
||||
<input id="githubToken" type="password" placeholder="ghp_...">
|
||||
</div>
|
||||
<div class="settings-auth-spacer" aria-hidden="true">GitHub benötigt keine Server-URL</div>
|
||||
<div id="githubTokenHint" class="settings-inline-hint">Hinweis: Der Token wird direkt über api.github.com geprüft.</div>
|
||||
</article>
|
||||
|
||||
<div class="input-group">
|
||||
<label for="giteaToken">Gitea Token</label>
|
||||
<input id="giteaToken" type="password" placeholder="Token hier einfügen">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="input-group input-group--wide">
|
||||
<label for="giteaURL">Gitea URL</label>
|
||||
<input id="giteaURL" type="text" placeholder="https://gitea.example.com">
|
||||
<div class="settings-connection-tools">
|
||||
<article class="settings-auth-card settings-auth-card--gitea">
|
||||
<div class="settings-auth-card-header">
|
||||
<h4>Gitea</h4>
|
||||
<button id="btnTestGiteaConnection" class="secondary" type="button">🔌 Verbindung testen</button>
|
||||
</div>
|
||||
<div class="input-group settings-auth-input">
|
||||
<label for="giteaToken">Gitea Token</label>
|
||||
<input id="giteaToken" type="password" placeholder="Token hier einfügen">
|
||||
</div>
|
||||
<div class="input-group settings-auth-input">
|
||||
<label for="giteaURL">Gitea URL</label>
|
||||
<input id="giteaURL" type="text" placeholder="https://gitea.example.com">
|
||||
</div>
|
||||
<div id="giteaUrlHint" class="settings-inline-hint">Hinweis: IPv6 mit Klammern eingeben, z.B. http://[2001:db8::1]:3000</div>
|
||||
<button id="btnTestGiteaConnection" class="secondary">🔌 Verbindung testen</button>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -195,43 +216,8 @@
|
||||
<span class="toggle-track"></span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="settings-panel settings-panel--backups">
|
||||
<div class="settings-panel-header">
|
||||
<div>
|
||||
<h3>💽 Lokale Backups</h3>
|
||||
<p>Automatische lokale Backups in einen Zielordner.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="settings-toggle-list">
|
||||
<label class="settings-toggle-row" for="settingAutoBackup">
|
||||
<span class="settings-toggle-info">
|
||||
<span class="settings-toggle-title">🔄 Auto-Backup nach Push</span>
|
||||
<span class="settings-toggle-desc">Erstellt automatisch vor jedem Upload ein lokales Backup im gewählten Zielordner.</span>
|
||||
</span>
|
||||
<span class="toggle-switch">
|
||||
<input type="checkbox" id="settingAutoBackup">
|
||||
<span class="toggle-track"></span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button id="btnOpenBackupManagement" style="
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
background: linear-gradient(135deg, rgba(0,212,255,0.1), rgba(100,200,255,0.05));
|
||||
border: 1px solid rgba(0,212,255,0.3);
|
||||
border-radius: 6px;
|
||||
color: var(--accent-primary);
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
margin-top: 12px;
|
||||
">
|
||||
💾 Backup-Verwaltung öffnen →
|
||||
</button>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
@@ -350,6 +336,60 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Migration Modal -->
|
||||
<div id="migrationModal" class="modal hidden">
|
||||
<div class="modalContent card migration-modal-content">
|
||||
<h2>📥 Repository migrieren</h2>
|
||||
<p class="settings-subtitle">Ein Repository von GitHub, GitLab oder einer anderen Git-Quelle auf deine Gitea-Instanz kopieren.</p>
|
||||
|
||||
<div class="migration-fields">
|
||||
<div class="input-group">
|
||||
<label for="migrateCloneUrl">Quell-URL (Clone-URL)</label>
|
||||
<input id="migrateCloneUrl" type="text" placeholder="https://github.com/benutzer/repo.git">
|
||||
<div class="settings-inline-hint">Beispiel: https://github.com/M_Viper/NexTrade.git</div>
|
||||
</div>
|
||||
|
||||
<div class="input-group">
|
||||
<label for="migrateRepoName">Neuer Repository-Name auf Gitea</label>
|
||||
<input id="migrateRepoName" type="text" placeholder="NexTrade">
|
||||
</div>
|
||||
|
||||
<div class="input-group">
|
||||
<label for="migrateDescription">Beschreibung (optional)</label>
|
||||
<input id="migrateDescription" type="text" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="migration-row-split">
|
||||
<div class="input-group">
|
||||
<label for="migrateAuthUsername">Auth-Benutzername (bei privaten Repos)</label>
|
||||
<input id="migrateAuthUsername" type="text" placeholder="GitHub-Benutzername">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="migrateAuthToken">Auth-Token (bei privaten Repos)</label>
|
||||
<input id="migrateAuthToken" type="password" placeholder="ghp_…">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="settings-toggle-row" style="margin-top:4px;" for="migratePrivate">
|
||||
<span class="settings-toggle-info">
|
||||
<span class="settings-toggle-title">🔒 Privates Repository</span>
|
||||
</span>
|
||||
<span class="toggle-switch">
|
||||
<input type="checkbox" id="migratePrivate">
|
||||
<span class="toggle-track"></span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="migrationStatus" class="migration-status hidden"></div>
|
||||
|
||||
<div class="modal-buttons">
|
||||
<button id="btnStartMigration" class="accent-btn">📥 Migration starten</button>
|
||||
<button id="btnCloseMigration" class="secondary">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="batchActionModal" class="modal hidden">
|
||||
<div class="modalContent card">
|
||||
<h2>🧩 Batch-Aktionen</h2>
|
||||
@@ -502,72 +542,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Backup Management Modal -->
|
||||
<div id="backupManagementModal" class="hidden">
|
||||
<div class="backup-management-card">
|
||||
<div class="backup-modal-header">
|
||||
<h2 style="margin: 0; display: flex; align-items: center; gap: 10px; font-size: 18px;">
|
||||
<span>📦</span> Backup-Verwaltung
|
||||
</h2>
|
||||
<button id="btnCloseBackupModal" class="backup-modal-close" title="Schließen">✕</button>
|
||||
</div>
|
||||
|
||||
<div class="backup-modal-body">
|
||||
<div class="backup-credentials-section" style="display: flex;">
|
||||
<div class="backup-input-group">
|
||||
<label for="backupSourceSelect">Backup-Quelle (aus vorhandenen Projekten)</label>
|
||||
<select id="backupSourceSelect">
|
||||
<option value="">-- Wähle aus vorhandenen Projekten --</option>
|
||||
</select>
|
||||
<small style="color: var(--text-muted); font-size: 11px;">
|
||||
Option "Alles komplett sichern" erstellt Backups aller verfügbaren Git-Projekte im gewählten Zielordner.
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Local Credentials -->
|
||||
<div id="localCredentials" class="backup-credentials-section">
|
||||
<div class="backup-input-group">
|
||||
<label for="localBackupFolder">Backup-Zielordner</label>
|
||||
<div style="display: grid; grid-template-columns: 1fr auto; gap: 8px;">
|
||||
<input id="localBackupFolder" type="text" placeholder="C:/Backups/GitManager" readonly>
|
||||
<button id="btnPickLocalBackupFolder" class="backup-btn backup-btn-secondary" type="button" style="min-width: 120px;">📁 Ordner wählen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Section Divider -->
|
||||
<div style="height: 1px; background: rgba(88, 213, 255, 0.2); margin: 8px 0;"></div>
|
||||
|
||||
<!-- Backup List Section -->
|
||||
<div style="margin-top: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--accent-primary);">📋 Gespeicherte Backups</h3>
|
||||
<div id="backupListContainer" style="
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 6px;
|
||||
max-height: 250px;
|
||||
overflow-y: auto;
|
||||
min-height: 100px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
">
|
||||
<div style="padding: 16px; text-align: center; color: var(--text-muted); font-size: 13px;">
|
||||
⏳ Lade Liste... oder keine Backups vorhanden
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Backup Action Buttons -->
|
||||
<div class="backup-modal-buttons">
|
||||
<button id="btnCreateBackupNow" class="backup-btn backup-btn-primary" style="flex: 1;">➕ Backup erstellen</button>
|
||||
<button id="btnRefreshBackupsList" class="backup-btn backup-btn-secondary" style="flex: 1;">🔄 Aktualisieren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <script src="renderer.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user