diff --git a/app/Livewire/Project/Application/Configuration.php b/app/Livewire/Project/Application/Configuration.php
index cc1bf15b9..ad025bed5 100644
--- a/app/Livewire/Project/Application/Configuration.php
+++ b/app/Livewire/Project/Application/Configuration.php
@@ -35,7 +35,7 @@ class Configuration extends Component
$project = currentTeam()
->projects()
- ->select('id', 'uuid', 'team_id')
+ ->select('id', 'uuid', 'name', 'team_id')
->where('uuid', request()->route('project_uuid'))
->firstOrFail();
$environment = $project->environments()
diff --git a/app/Livewire/Project/Database/Configuration.php b/app/Livewire/Project/Database/Configuration.php
index 7c64a6eef..a62fbf2fe 100644
--- a/app/Livewire/Project/Database/Configuration.php
+++ b/app/Livewire/Project/Database/Configuration.php
@@ -34,7 +34,7 @@ class Configuration extends Component
$project = currentTeam()
->projects()
- ->select('id', 'uuid', 'team_id')
+ ->select('id', 'uuid', 'name', 'team_id')
->where('uuid', request()->route('project_uuid'))
->firstOrFail();
$environment = $project->environments()
diff --git a/app/Livewire/Project/Service/Configuration.php b/app/Livewire/Project/Service/Configuration.php
index 2d69ceb12..bf0a6b6a2 100644
--- a/app/Livewire/Project/Service/Configuration.php
+++ b/app/Livewire/Project/Service/Configuration.php
@@ -51,7 +51,7 @@ class Configuration extends Component
$this->query = request()->query();
$project = currentTeam()
->projects()
- ->select('id', 'uuid', 'team_id')
+ ->select('id', 'uuid', 'name', 'team_id')
->where('uuid', request()->route('project_uuid'))
->firstOrFail();
$environment = $project->environments()
diff --git a/app/Livewire/Project/Shared/ResourceDetails.php b/app/Livewire/Project/Shared/ResourceDetails.php
new file mode 100644
index 000000000..8a4117c39
--- /dev/null
+++ b/app/Livewire/Project/Shared/ResourceDetails.php
@@ -0,0 +1,91 @@
+authorize('view', $this->resource);
+
+ $environment = $this->resource->environment ?? null;
+ if ($environment) {
+ $this->environment_uuid = $environment->uuid;
+ $this->environment_name = $environment->name;
+ $project = $environment->project ?? null;
+ if ($project) {
+ $this->project_uuid = $project->uuid;
+ $this->project_name = $project->name;
+ }
+ }
+
+ $server = $this->resolveServer();
+ if ($server) {
+ $this->server_uuid = $server->uuid;
+ $this->server_name = $server->name;
+ }
+
+ if ($this->resource instanceof Service) {
+ $this->stack_applications = $this->resource->applications
+ ->map(fn ($app) => [
+ 'name' => $app->human_name ?: $app->name,
+ 'uuid' => $app->uuid,
+ ])
+ ->values()
+ ->all();
+
+ $this->stack_databases = $this->resource->databases
+ ->map(fn ($db) => [
+ 'name' => $db->human_name ?: $db->name,
+ 'uuid' => $db->uuid,
+ ])
+ ->values()
+ ->all();
+ }
+ }
+
+ private function resolveServer()
+ {
+ try {
+ if (isset($this->resource->destination) && $this->resource->destination && isset($this->resource->destination->server)) {
+ return $this->resource->destination->server;
+ }
+ if (method_exists($this->resource, 'server') && $this->resource->server) {
+ return $this->resource->server;
+ }
+ } catch (\Throwable $e) {
+ return null;
+ }
+
+ return null;
+ }
+
+ public function render()
+ {
+ return view('livewire.project.shared.resource-details');
+ }
+}
diff --git a/resources/views/components/forms/copy-button.blade.php b/resources/views/components/forms/copy-button.blade.php
index 12fadc595..eb3f3d8a4 100644
--- a/resources/views/components/forms/copy-button.blade.php
+++ b/resources/views/components/forms/copy-button.blade.php
@@ -1,7 +1,13 @@
-@props(['text'])
+@props(['text', 'label' => null])
-
-
+
+ @if ($label)
+
+ @endif
+
diff --git a/resources/views/livewire/project/application/general.blade.php b/resources/views/livewire/project/application/general.blade.php
index fe3ef3686..e0d1153e8 100644
--- a/resources/views/livewire/project/application/general.blade.php
+++ b/resources/views/livewire/project/application/general.blade.php
@@ -12,6 +12,9 @@
{{ $application->compose_parsing_version }}
@endif
Save
+
+
+
@if ($buildPack === 'dockercompose')
diff --git a/resources/views/livewire/project/database/clickhouse/general.blade.php b/resources/views/livewire/project/database/clickhouse/general.blade.php
index 9283172ad..5fd006e8e 100644
--- a/resources/views/livewire/project/database/clickhouse/general.blade.php
+++ b/resources/views/livewire/project/database/clickhouse/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/dragonfly/general.blade.php b/resources/views/livewire/project/database/dragonfly/general.blade.php
index ce46e47dd..0e29948a2 100644
--- a/resources/views/livewire/project/database/dragonfly/general.blade.php
+++ b/resources/views/livewire/project/database/dragonfly/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/keydb/general.blade.php b/resources/views/livewire/project/database/keydb/general.blade.php
index ee3f8fd0c..1964fd5f3 100644
--- a/resources/views/livewire/project/database/keydb/general.blade.php
+++ b/resources/views/livewire/project/database/keydb/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/mariadb/general.blade.php b/resources/views/livewire/project/database/mariadb/general.blade.php
index 1154124d1..ab6badda5 100644
--- a/resources/views/livewire/project/database/mariadb/general.blade.php
+++ b/resources/views/livewire/project/database/mariadb/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/mongodb/general.blade.php b/resources/views/livewire/project/database/mongodb/general.blade.php
index e9e5d621d..787bc7ad5 100644
--- a/resources/views/livewire/project/database/mongodb/general.blade.php
+++ b/resources/views/livewire/project/database/mongodb/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/mysql/general.blade.php b/resources/views/livewire/project/database/mysql/general.blade.php
index bb3916ec8..80dcad117 100644
--- a/resources/views/livewire/project/database/mysql/general.blade.php
+++ b/resources/views/livewire/project/database/mysql/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/postgresql/general.blade.php b/resources/views/livewire/project/database/postgresql/general.blade.php
index 9c956f5b3..3f51bf31d 100644
--- a/resources/views/livewire/project/database/postgresql/general.blade.php
+++ b/resources/views/livewire/project/database/postgresql/general.blade.php
@@ -19,6 +19,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/database/redis/general.blade.php b/resources/views/livewire/project/database/redis/general.blade.php
index 73ee5f0e5..e644a9107 100644
--- a/resources/views/livewire/project/database/redis/general.blade.php
+++ b/resources/views/livewire/project/database/redis/general.blade.php
@@ -5,6 +5,9 @@
Save
+
+
+
diff --git a/resources/views/livewire/project/service/stack-form.blade.php b/resources/views/livewire/project/service/stack-form.blade.php
index e63e7a509..0aec7c873 100644
--- a/resources/views/livewire/project/service/stack-form.blade.php
+++ b/resources/views/livewire/project/service/stack-form.blade.php
@@ -12,6 +12,9 @@
@endcan
+
+
+
Configuration
diff --git a/resources/views/livewire/project/shared/resource-details.blade.php b/resources/views/livewire/project/shared/resource-details.blade.php
new file mode 100644
index 000000000..3be82da12
--- /dev/null
+++ b/resources/views/livewire/project/shared/resource-details.blade.php
@@ -0,0 +1,57 @@
+
+
Identifiers for this resource. Read-only
+
+
+
+
+ @if ($environment_uuid)
+
+ @endif
+
+ @if ($project_uuid)
+
+ @endif
+
+ @if ($server_uuid)
+
+ @endif
+
+ @if (! empty($stack_applications) || ! empty($stack_databases))
+
+
Stack Sub-Resources
+
+ @foreach ($stack_applications as $item)
+
+ @endforeach
+ @foreach ($stack_databases as $item)
+
+ @endforeach
+
+
+ @endif
+
+