Add sync button to welcome page

This commit is contained in:
crschnick 2024-06-08 10:13:25 +00:00
parent 55de483c62
commit 06323d6a6e
13 changed files with 92 additions and 5 deletions

View file

@ -1,13 +1,15 @@
package io.xpipe.app.comp.store;
import atlantafx.base.theme.Styles;
import io.xpipe.app.core.AppFont;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.fxcomps.SimpleComp;
import io.xpipe.app.fxcomps.impl.PrettySvgComp;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.util.ScanAlert;
import javafx.beans.property.SimpleStringProperty;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
@ -15,14 +17,11 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import atlantafx.base.theme.Styles;
import org.kordamp.ikonli.javafx.FontIcon;
public class StoreIntroComp extends SimpleComp {
@Override
public Region createSimple() {
private Region createIntro() {
var title = new Label();
title.textProperty().bind(AppI18n.observable("storeIntroTitle"));
title.getStyleClass().add(Styles.TEXT_BOLD);
@ -56,8 +55,60 @@ public class StoreIntroComp extends SimpleComp {
v.setSpacing(10);
v.getStyleClass().add("intro");
return v;
}
private Region createImportIntro() {
var title = new Label();
title.textProperty().bind(AppI18n.observable("importConnectionsTitle"));
title.getStyleClass().add(Styles.TEXT_BOLD);
AppFont.setSize(title, 7);
var importDesc = new Label();
importDesc.textProperty().bind(AppI18n.observable("storeIntroImportDescription"));
importDesc.setWrapText(true);
importDesc.setMaxWidth(550);
var importButton = new Button(null, new FontIcon("mdi2g-git"));
importButton.textProperty().bind(AppI18n.observable("importConnections"));
importButton.setOnAction(event -> AppPrefs.get().selectCategory("sync"));
var importPane = new StackPane(importButton);
importPane.setAlignment(Pos.CENTER);
var img = new Region();
img.setPrefHeight(150);
var text = new VBox(title, importDesc);
text.setSpacing(5);
text.setAlignment(Pos.CENTER_LEFT);
var hbox = new HBox(img, text);
hbox.setSpacing(35);
hbox.setAlignment(Pos.CENTER);
var v = new VBox(hbox, importPane);
v.setMinWidth(Region.USE_PREF_SIZE);
v.setMaxWidth(Region.USE_PREF_SIZE);
v.setMinHeight(Region.USE_PREF_SIZE);
v.setMaxHeight(Region.USE_PREF_SIZE);
v.setSpacing(10);
v.getStyleClass().add("intro");
return v;
}
@Override
public Region createSimple() {
var intro = createIntro();
var introImport = createImportIntro();
var v = new VBox(intro, introImport);
v.setSpacing(80);
v.setMinWidth(Region.USE_PREF_SIZE);
v.setMaxWidth(Region.USE_PREF_SIZE);
v.setMinHeight(Region.USE_PREF_SIZE);
v.setMaxHeight(Region.USE_PREF_SIZE);
var sp = new StackPane(v);
sp.setPadding(new Insets(40, 0, 0, 0));
sp.setAlignment(Pos.CENTER);
sp.setPickOnBounds(false);
return sp;

View file

@ -470,3 +470,6 @@ apiKeyDescription=API-nøglen til godkendelse af XPipe-dæmonens API-anmodninger
disableApiAuthentication=Deaktiver API-godkendelse
disableApiAuthenticationDescription=Deaktiverer alle nødvendige godkendelsesmetoder, så enhver uautoriseret anmodning vil blive håndteret.\n\nAutentificering bør kun deaktiveres til udviklingsformål.\n\nKræver en genstart for at blive anvendt.
api=API
storeIntroImportDescription=Bruger du allerede XPipe på et andet system? Synkroniser dine eksisterende forbindelser på tværs af flere systemer via et eksternt git-repository. Du kan også synkronisere senere når som helst, hvis det ikke er sat op endnu.
importConnections=Synkroniser forbindelser
importConnectionsTitle=Importer forbindelser

View file

@ -464,3 +464,6 @@ apiKeyDescription=Der API-Schlüssel zur Authentifizierung von XPipe Daemon API-
disableApiAuthentication=API-Authentifizierung deaktivieren
disableApiAuthenticationDescription=Deaktiviert alle erforderlichen Authentifizierungsmethoden, so dass jede nicht authentifizierte Anfrage bearbeitet wird.\n\nDie Authentifizierung sollte nur zu Entwicklungszwecken deaktiviert werden.\n\nErfordert einen Neustart zur Anwendung.
api=API
storeIntroImportDescription=Benutzt du XPipe bereits auf einem anderen System? Synchronisiere deine bestehenden Verbindungen über mehrere Systeme hinweg über ein Remote-Git-Repository. Du kannst auch später jederzeit synchronisieren, wenn es noch nicht eingerichtet ist.
importConnections=Synchronisierte Verbindungen
importConnectionsTitle=Verbindungen importieren

View file

@ -470,3 +470,6 @@ apiKeyDescription=The API key to authenticate XPipe daemon API requests. For mor
disableApiAuthentication=Disable API authentication
disableApiAuthenticationDescription=Disables all required authentication methods so that any unauthenticated request will be handled.\n\nAuthentication should only be disabled for development purposes.\n\nRequires a restart to apply.
api=API
storeIntroImportDescription=Already using XPipe on another system? Synchronize your existing connections across multiple systems through a remote git repository. You can also sync later at any time if it is not set up yet.
importConnections=Sync connections
importConnectionsTitle=Import Connections

View file

@ -451,3 +451,6 @@ apiKeyDescription=La clave API para autenticar las peticiones API del demonio XP
disableApiAuthentication=Desactivar la autenticación de la API
disableApiAuthenticationDescription=Desactiva todos los métodos de autenticación requeridos para que se gestione cualquier solicitud no autenticada.\n\nLa autenticación sólo debe desactivarse con fines de desarrollo.\n\nRequiere un reinicio para aplicarse.
api=API
storeIntroImportDescription=¿Ya utilizas XPipe en otro sistema? Sincroniza tus conexiones existentes en varios sistemas a través de un repositorio git remoto. También puedes sincronizar más tarde en cualquier momento si aún no está configurado.
importConnections=Sincronizar conexiones
importConnectionsTitle=Importar conexiones

View file

@ -451,3 +451,6 @@ apiKeyDescription=La clé API pour authentifier les demandes API du démon XPipe
disableApiAuthentication=Désactiver l'authentification de l'API
disableApiAuthenticationDescription=Désactive toutes les méthodes d'authentification requises, de sorte que toute demande non authentifiée sera traitée.\n\nL'authentification ne doit être désactivée qu'à des fins de développement.\n\nNécessite un redémarrage pour être appliqué.
api=API
storeIntroImportDescription=Tu utilises déjà XPipe sur un autre système ? Synchronise tes connexions existantes sur plusieurs systèmes grâce à un dépôt git distant. Tu peux aussi synchroniser plus tard à tout moment si ce n'est pas encore configuré.
importConnections=Synchronisation des connexions
importConnectionsTitle=Importer des connexions

View file

@ -451,3 +451,6 @@ apiKeyDescription=La chiave API per autenticare le richieste API del demone XPip
disableApiAuthentication=Disabilita l'autenticazione API
disableApiAuthenticationDescription=Disabilita tutti i metodi di autenticazione richiesti in modo che qualsiasi richiesta non autenticata venga gestita.\n\nL'autenticazione dovrebbe essere disabilitata solo per scopi di sviluppo.\n\nRichiede un riavvio per essere applicata.
api=API
storeIntroImportDescription=Stai già usando XPipe su un altro sistema? Sincronizza le connessioni esistenti su più sistemi attraverso un repository git remoto. Puoi anche sincronizzare in seguito, in qualsiasi momento, se non è ancora stato configurato.
importConnections=Connessioni di sincronizzazione
importConnectionsTitle=Importazione di connessioni

View file

@ -451,3 +451,6 @@ apiKeyDescription=XPipeデーモンAPIリクエストを認証するためのAPI
disableApiAuthentication=API認証を無効にする
disableApiAuthenticationDescription=認証されていないリクエストが処理されるように、必要な認証方法をすべて無効にする。\n\n認証は開発目的でのみ無効にすべきである。\n\n適用するには再起動が必要である。
api=API
storeIntroImportDescription=すでに他のシステムでXPipeを使っているリモートgitリポジトリを通して、複数のシステム間で既存の接続を同期する。まだ設定されていない場合は、後からいつでも同期することもできる。
importConnections=シンク接続
importConnectionsTitle=コネクションのインポート

View file

@ -451,3 +451,6 @@ apiKeyDescription=De API sleutel om XPipe daemon API verzoeken te authenticeren.
disableApiAuthentication=API-authenticatie uitschakelen
disableApiAuthenticationDescription=Schakelt alle vereiste authenticatiemethoden uit, zodat elk niet-geauthenticeerd verzoek wordt afgehandeld.\n\nAuthenticatie zou alleen uitgeschakeld moeten worden voor ontwikkelingsdoeleinden.\n\nVereist een herstart om toe te passen.
api=API
storeIntroImportDescription=Gebruik je XPipe al op een ander systeem? Synchroniseer je bestaande verbindingen over meerdere systemen via een remote git repository. Je kunt ook later synchroniseren op elk gewenst moment als het nog niet is ingesteld.
importConnections=Synchronisatieverbindingen
importConnectionsTitle=Verbindingen importeren

View file

@ -451,3 +451,6 @@ apiKeyDescription=A chave da API para autenticar os pedidos de API do daemon XPi
disableApiAuthentication=Desativar a autenticação da API
disableApiAuthenticationDescription=Desactiva todos os métodos de autenticação necessários para que qualquer pedido não autenticado seja tratado.\n\nA autenticação só deve ser desactivada para fins de desenvolvimento.\n\nRequer um reinício para ser aplicado.
api=API
storeIntroImportDescription=Já estás a utilizar o XPipe noutro sistema? Sincroniza as tuas ligações existentes em vários sistemas através de um repositório git remoto. Também podes sincronizar mais tarde, a qualquer momento, se ainda não estiver configurado.
importConnections=Sincroniza ligações
importConnectionsTitle=Importar ligações

View file

@ -451,3 +451,6 @@ apiKeyDescription=API-ключ для аутентификации API-запр
disableApiAuthentication=Отключить аутентификацию API
disableApiAuthenticationDescription=Отключает все необходимые методы аутентификации, так что любой неаутентифицированный запрос будет обработан.\n\nАутентификацию следует отключать только в целях разработки.\n\nТребуется перезагрузка для применения.
api=API
storeIntroImportDescription=Уже используешь XPipe на другой системе? Синхронизируй существующие соединения на нескольких системах через удаленный git-репозиторий. Ты также можешь синхронизировать позже в любой момент, если он еще не настроен.
importConnections=Синхронизация соединений
importConnectionsTitle=Импортные соединения

View file

@ -452,3 +452,6 @@ apiKeyDescription=XPipe daemon API isteklerinin kimliğini doğrulamak için API
disableApiAuthentication=API kimlik doğrulamasını devre dışı bırakma
disableApiAuthenticationDescription=Gerekli tüm kimlik doğrulama yöntemlerini devre dışı bırakır, böylece kimliği doğrulanmamış herhangi bir istek işlenir.\n\nKimlik doğrulama yalnızca geliştirme amacıyla devre dışı bırakılmalıdır.\n\nUygulamak için yeniden başlatma gerekir.
api=API
storeIntroImportDescription=XPipe'ı zaten başka bir sistemde mi kullanıyorsunuz? Mevcut bağlantılarınızı uzak bir git deposu aracılığıyla birden fazla sistem arasında senkronize edin. Henüz kurulmamışsa daha sonra istediğiniz zaman senkronize edebilirsiniz.
importConnections=Senkronizasyon bağlantıları
importConnectionsTitle=Bağlantıları İçe Aktar

View file

@ -451,3 +451,6 @@ apiKeyDescription=用于验证 XPipe 守护进程 API 请求的 API 密钥。有
disableApiAuthentication=禁用 API 身份验证
disableApiAuthenticationDescription=禁用所有必要的身份验证方法,以便处理任何未经身份验证的请求。\n\n只有出于开发目的才可禁用身份验证。\n\n需要重新启动才能应用。
api=应用程序接口
storeIntroImportDescription=已经在其他系统上使用 XPipe通过远程 git 仓库在多个系统间同步您的现有连接。如果尚未设置,您也可以稍后随时同步。
importConnections=同步连接
importConnectionsTitle=导入连接