feat: first cut at publishing tool
This commit is contained in:
@@ -495,6 +495,27 @@ const App: React.FC = () => {
|
||||
}) || (() => {})
|
||||
);
|
||||
|
||||
unsubscribers.push(
|
||||
window.electronAPI?.on('menu:uploadSite', async () => {
|
||||
try {
|
||||
const stored = localStorage.getItem('bds-credentials');
|
||||
if (!stored) {
|
||||
showToast.error(tr('app.uploadSiteNoCredentials'));
|
||||
return;
|
||||
}
|
||||
const credentials = JSON.parse(stored);
|
||||
if (!credentials.sshHost || !credentials.sshUser || !credentials.sshRemotePath) {
|
||||
showToast.error(tr('app.uploadSiteNoCredentials'));
|
||||
return;
|
||||
}
|
||||
await window.electronAPI?.publish.uploadSite(credentials);
|
||||
} catch (error) {
|
||||
console.error('Site upload failed:', error);
|
||||
showToast.error(tr('app.uploadSiteFailed'));
|
||||
}
|
||||
}) || (() => {})
|
||||
);
|
||||
|
||||
unsubscribers.push(
|
||||
window.electronAPI?.on('menu:openDocumentation', () => {
|
||||
openSingletonToolTab(openTab, 'documentation');
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
"app.textReindexFailed": "Text-Neuindizierung fehlgeschlagen",
|
||||
"app.sitemapGenerationFailed": "Sitemap-Erstellung fehlgeschlagen",
|
||||
"app.calendarRegenerationFailed": "Kalender-Neuerstellung fehlgeschlagen",
|
||||
"app.uploadSiteFailed": "Website-Upload fehlgeschlagen",
|
||||
"app.uploadSiteNoCredentials": "Bitte konfigurieren Sie zuerst die SSH-Zugangsdaten in den Einstellungen.",
|
||||
"app.previewOpenFailed": "Ausgewählte Beitragsvorschau konnte nicht geöffnet werden",
|
||||
"app.metadataDiff": "Metadaten-Diff",
|
||||
"app.importComplete": "Import abgeschlossen: {posts} Beiträge, {media} Mediendateien",
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
"app.textReindexFailed": "Text reindex failed",
|
||||
"app.sitemapGenerationFailed": "Sitemap generation failed",
|
||||
"app.calendarRegenerationFailed": "Calendar regeneration failed",
|
||||
"app.uploadSiteFailed": "Site upload failed",
|
||||
"app.uploadSiteNoCredentials": "Please configure SSH publishing credentials in Settings first.",
|
||||
"app.previewOpenFailed": "Failed to open selected post preview",
|
||||
"app.metadataDiff": "Metadata Diff",
|
||||
"app.importComplete": "Import complete: {posts} posts, {media} media files",
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
"app.textReindexFailed": "La reindexación de texto falló",
|
||||
"app.sitemapGenerationFailed": "La generación del sitemap falló",
|
||||
"app.calendarRegenerationFailed": "La regeneración del calendario falló",
|
||||
"app.uploadSiteFailed": "Error al subir el sitio",
|
||||
"app.uploadSiteNoCredentials": "Configure primero las credenciales SSH en Configuración.",
|
||||
"app.previewOpenFailed": "No se pudo abrir la vista previa de la entrada seleccionada",
|
||||
"app.metadataDiff": "Diferencia de Metadatos",
|
||||
"app.importComplete": "Importación completada: {posts} entradas, {media} archivos multimedia",
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
"app.databaseRebuildFailed": "Échec de la reconstruction de la base de données",
|
||||
"app.textReindexFailed": "Échec de la réindexation du texte",
|
||||
"app.sitemapGenerationFailed": "Échec de la génération du sitemap",
|
||||
"app.calendarRegenerationFailed": "Échec de la régénération du calendrier",
|
||||
"app.previewOpenFailed": "Impossible d’ouvrir l’aperçu de l’article sélectionné",
|
||||
"app.calendarRegenerationFailed": "Échec de la régénération du calendrier", "app.uploadSiteFailed": "Échec de la publication du site",
|
||||
"app.uploadSiteNoCredentials": "Veuillez d'abord configurer les identifiants SSH dans les paramètres.", "app.previewOpenFailed": "Impossible d’ouvrir l’aperçu de l’article sélectionné",
|
||||
"app.metadataDiff": "Diff Métadonnées",
|
||||
"app.importComplete": "Import terminé : {posts} articles, {media} fichiers média",
|
||||
"siteValidation.tabTitle": "Validation du site",
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
"app.databaseRebuildFailed": "Ricostruzione database non riuscita",
|
||||
"app.textReindexFailed": "Reindicizzazione testo non riuscita",
|
||||
"app.sitemapGenerationFailed": "Generazione sitemap non riuscita",
|
||||
"app.calendarRegenerationFailed": "Rigenerazione del calendario non riuscita",
|
||||
"app.previewOpenFailed": "Impossibile aprire l’anteprima del post selezionato",
|
||||
"app.calendarRegenerationFailed": "Rigenerazione del calendario non riuscita", "app.uploadSiteFailed": "Caricamento del sito non riuscito",
|
||||
"app.uploadSiteNoCredentials": "Configurare prima le credenziali SSH nelle impostazioni.", "app.previewOpenFailed": "Impossibile aprire l’anteprima del post selezionato",
|
||||
"app.metadataDiff": "Diff Metadati",
|
||||
"app.importComplete": "Import completato: {posts} post, {media} file multimediali",
|
||||
"siteValidation.tabTitle": "Validazione sito",
|
||||
|
||||
Reference in New Issue
Block a user