From 747badeae60ee7b33c86229812274fde1c77fda8 Mon Sep 17 00:00:00 2001 From: Hickmeister <35031453+Hickmeister@users.noreply.github.com> Date: Sun, 11 Oct 2026 18:08:01 +0100 Subject: [PATCH] Simplify integration settings management --- .../Controllers/EtsySettingsController.php | 1 + resources/views/settings/index.blade.php | 134 ++++++++++-------- tests/Feature/EtsySettingsTest.php | 2 +- tests/Feature/IntegrationSettingsTest.php | 7 +- 4 files changed, 83 insertions(+), 61 deletions(-) diff --git a/app/Http/Controllers/EtsySettingsController.php b/app/Http/Controllers/EtsySettingsController.php index a51da80..b3b3f42 100644 --- a/app/Http/Controllers/EtsySettingsController.php +++ b/app/Http/Controllers/EtsySettingsController.php @@ -28,6 +28,7 @@ class EtsySettingsController extends Controller return view('settings.index', [ 'storedCredentials' => $credentials !== null, 'configured' => $etsy->configured(), + 'shopConnected' => EtsyConnection::query()->exists(), 'redirectUri' => $etsy->redirectUri(), 'shopName' => $credentials?->shop_name ?: config('services.etsy.shop_name', 'HickLab3D'), 'integrations' => [ diff --git a/resources/views/settings/index.blade.php b/resources/views/settings/index.blade.php index 05fd885..e704cc2 100644 --- a/resources/views/settings/index.blade.php +++ b/resources/views/settings/index.blade.php @@ -1,114 +1,130 @@ @extends('layouts.app') @section('title', 'Settings') @section('content') -
Integrations
-Manage the connections used by your shop and workshop. Saved values are encrypted in the database.
+Workspace connections
Manage the services behind your orders, shipping and workshop. Saved credentials are encrypted in the database.
{{ $storedCredentials ? 'Credentials saved in the database.' : ($configured ? 'Using server credentials. Save them here to manage them in the dashboard.' : 'No credentials saved yet.') }}
+{{ $storedCredentials ? 'App credentials saved in dashboard.' : ($configured ? 'Using server app credentials.' : 'Add your Etsy app credentials.') }}
Blank credential fields keep the current values. Saving imports any server credentials you have not entered here. Changing the app key disconnects the current Etsy shop. The callback must match the URL registered with Etsy.
+Leave saved credentials blank to keep them. Saving imports server credentials if needed. Changing the app key disconnects the shop until you reconnect it.
Quotes, labels, shipments and collections.
Client Credentials for shipping, account history and labels.
{{ $integrations['parcel2go']['stored'] ? 'Saved in the database.' : 'Using server values where available. Save to import them.' }}
-Optional Parcel2Go account consent
$integrations['parcel2go']['profile_connected'], 'bg-amber-500/10 text-amber-200' => ! $integrations['parcel2go']['profile_connected']])>{{ $integrations['parcel2go']['profile_connected'] ? 'Connected' : 'Not connected' }}Create an Authorization Code client in Parcel2Go. Set Application URL to {{ url('/') }} and Redirect URI to this exact address:
{{ $integrations['parcel2go']['callback_url'] }}
- Save its Client ID above, then sign in and approve my-profile access. The account tokens are encrypted in the database. If Parcel2Go does not issue a refresh token, reconnect when access expires. If consent rejects this scope, contact apihelp@parcel2go.com.
The dashboard tries shipment history and account details with Client Credentials first. Authorization Code consent is optional.
+Create an Authorization Code client in Parcel2Go. Set Application URL to {{ url('/') }} and register this exact Redirect URI:
{{ $integrations['parcel2go']['callback_url'] }}
+ Save its Client ID under Advanced API settings, then connect below. If consent is rejected, contact Parcel2Go API support.
+ @if($integrations['parcel2go']['profile_client_configured'])@endif +Live print farm data.
{{ $integrations['bambuddy']['stored'] ? 'Saved in the database.' : 'Using server values where available. Save to import them.' }}
+Leave the API key blank to keep its current value.
Status, cycles and fault controls.
{{ $integrations['dryer']['stored'] ? 'Saved in the database.' : 'Using server values where available. Save to import them.' }}
+Leave the API key blank to keep its current value.
Register this exact HTTPS URL in your Etsy developer app.
-{{ $redirectUri }}
- @if($configured)Go to Etsy shop@endif
-