wip livewire migration
This commit is contained in:
parent
718603e37e
commit
f934dfef33
@ -37,7 +37,7 @@ class CheckLicense extends Component
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
session()->flash('error', 'Something went wrong. Please contact support. <br>Error: ' . $e->getMessage());
|
session()->flash('error', 'Something went wrong. Please contact support. <br>Error: ' . $e->getMessage());
|
||||||
ray($e->getMessage());
|
ray($e->getMessage());
|
||||||
return redirect()->to('/settings/license');
|
return $this->redirect('/settings/license', navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ class Form extends Component
|
|||||||
instant_remote_process(['docker network rm -f ' . $this->destination->network], $this->destination->server);
|
instant_remote_process(['docker network rm -f ' . $this->destination->network], $this->destination->server);
|
||||||
}
|
}
|
||||||
$this->destination->delete();
|
$this->destination->delete();
|
||||||
return redirect()->route('dashboard');
|
return $this->redirectRoute('dashboard', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ class StandaloneDocker extends Component
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
$this->createNetworkAndAttachToProxy();
|
$this->createNetworkAndAttachToProxy();
|
||||||
return redirect()->route('destination.show', $docker->uuid);
|
return $this->redirectRoute('destination.show', $docker->uuid, navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ class ForcePasswordReset extends Component
|
|||||||
if ($firstLogin) {
|
if ($firstLogin) {
|
||||||
send_internal_notification('First login for ' . auth()->user()->email);
|
send_internal_notification('First login for ' . auth()->user()->email);
|
||||||
}
|
}
|
||||||
return redirect()->route('dashboard');
|
return $this->redirectRoute('dashboard', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ class Change extends Component
|
|||||||
if ($this->private_key->isEmpty()) {
|
if ($this->private_key->isEmpty()) {
|
||||||
$this->private_key->delete();
|
$this->private_key->delete();
|
||||||
currentTeam()->privateKeys = PrivateKey::where('team_id', currentTeam()->id)->get();
|
currentTeam()->privateKeys = PrivateKey::where('team_id', currentTeam()->id)->get();
|
||||||
return redirect()->route('security.private-key.index');
|
return $this->redirectRoute('security.private-key.index', navigate: true);
|
||||||
}
|
}
|
||||||
$this->dispatch('error', 'This private key is in use and cannot be deleted. Please delete all servers, applications, and GitHub/GitLab apps that use this private key before deleting it.');
|
$this->dispatch('error', 'This private key is in use and cannot be deleted. Please delete all servers, applications, and GitHub/GitLab apps that use this private key before deleting it.');
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
@ -67,9 +67,9 @@ class Create extends Component
|
|||||||
'team_id' => currentTeam()->id
|
'team_id' => currentTeam()->id
|
||||||
]);
|
]);
|
||||||
if ($this->from === 'server') {
|
if ($this->from === 'server') {
|
||||||
return redirect()->route('server.create');
|
return $this->redirectRoute('server.create', navigate: true);
|
||||||
}
|
}
|
||||||
return redirect()->route('security.private-key.show', ['private_key_uuid' => $private_key->uuid]);
|
return $this->redirectRoute('security.private-key.show', ['private_key_uuid' => $private_key->uuid], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ class AddEmpty extends Component
|
|||||||
'description' => $this->description,
|
'description' => $this->description,
|
||||||
'team_id' => currentTeam()->id,
|
'team_id' => currentTeam()->id,
|
||||||
]);
|
]);
|
||||||
return redirect()->route('project.show', $project->uuid);
|
return $this->redirectRoute('project.show', $project->uuid, navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -27,10 +27,10 @@ class AddEnvironment extends Component
|
|||||||
'project_id' => $this->project->id,
|
'project_id' => $this->project->id,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()->route('project.resources', [
|
return $this->redirectRoute('project.resources', [
|
||||||
'project_uuid' => $this->project->uuid,
|
'project_uuid' => $this->project->uuid,
|
||||||
'environment_name' => $environment->name,
|
'environment_name' => $environment->name,
|
||||||
]);
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
handleError($e, $this);
|
handleError($e, $this);
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -15,15 +15,15 @@ class Configuration extends Component
|
|||||||
{
|
{
|
||||||
$project = currentTeam()->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
|
$project = currentTeam()->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
|
||||||
if (!$project) {
|
if (!$project) {
|
||||||
return redirect()->route('dashboard');
|
return $this->redirectRoute('dashboard', navigate: true);
|
||||||
}
|
}
|
||||||
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
|
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
|
||||||
if (!$environment) {
|
if (!$environment) {
|
||||||
return redirect()->route('dashboard');
|
return $this->redirectRoute('dashboard', navigate: true);
|
||||||
}
|
}
|
||||||
$application = $environment->applications->where('uuid', request()->route('application_uuid'))->first();
|
$application = $environment->applications->where('uuid', request()->route('application_uuid'))->first();
|
||||||
if (!$application) {
|
if (!$application) {
|
||||||
return redirect()->route('dashboard');
|
return $this->redirectRoute('dashboard', navigate: true);
|
||||||
}
|
}
|
||||||
$this->application = $application;
|
$this->application = $application;
|
||||||
$mainServer = $this->application->destination->server;
|
$mainServer = $this->application->destination->server;
|
||||||
|
@ -52,12 +52,12 @@ class Heading extends Component
|
|||||||
force_rebuild: false,
|
force_rebuild: false,
|
||||||
is_new_deployment: true,
|
is_new_deployment: true,
|
||||||
);
|
);
|
||||||
return redirect()->route('project.application.deployment', [
|
return $this->redirectRoute('project.application.deployment', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'application_uuid' => $this->parameters['application_uuid'],
|
'application_uuid' => $this->parameters['application_uuid'],
|
||||||
'deployment_uuid' => $this->deploymentUuid,
|
'deployment_uuid' => $this->deploymentUuid,
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
public function deploy(bool $force_rebuild = false)
|
public function deploy(bool $force_rebuild = false)
|
||||||
{
|
{
|
||||||
@ -101,12 +101,12 @@ class Heading extends Component
|
|||||||
restart_only: true,
|
restart_only: true,
|
||||||
is_new_deployment: true,
|
is_new_deployment: true,
|
||||||
);
|
);
|
||||||
return redirect()->route('project.application.deployment', [
|
return $this->redirectRoute('project.application.deployment', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'application_uuid' => $this->parameters['application_uuid'],
|
'application_uuid' => $this->parameters['application_uuid'],
|
||||||
'deployment_uuid' => $this->deploymentUuid,
|
'deployment_uuid' => $this->deploymentUuid,
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
public function restart()
|
public function restart()
|
||||||
{
|
{
|
||||||
@ -116,11 +116,11 @@ class Heading extends Component
|
|||||||
deployment_uuid: $this->deploymentUuid,
|
deployment_uuid: $this->deploymentUuid,
|
||||||
restart_only: true,
|
restart_only: true,
|
||||||
);
|
);
|
||||||
return redirect()->route('project.application.deployment', [
|
return $this->redirectRoute('project.application.deployment', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'application_uuid' => $this->parameters['application_uuid'],
|
'application_uuid' => $this->parameters['application_uuid'],
|
||||||
'deployment_uuid' => $this->deploymentUuid,
|
'deployment_uuid' => $this->deploymentUuid,
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,12 +52,12 @@ class Previews extends Component
|
|||||||
force_rebuild: true,
|
force_rebuild: true,
|
||||||
pull_request_id: $pull_request_id,
|
pull_request_id: $pull_request_id,
|
||||||
);
|
);
|
||||||
return redirect()->route('project.application.deployment', [
|
return $this->redirectRoute('project.application.deployment', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'application_uuid' => $this->parameters['application_uuid'],
|
'application_uuid' => $this->parameters['application_uuid'],
|
||||||
'deployment_uuid' => $this->deployment_uuid,
|
'deployment_uuid' => $this->deployment_uuid,
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
]);
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -29,13 +29,12 @@ class Rollback extends Component
|
|||||||
commit: $commit,
|
commit: $commit,
|
||||||
force_rebuild: false,
|
force_rebuild: false,
|
||||||
);
|
);
|
||||||
|
return $this->redirectRoute('project.application.deployment', [
|
||||||
return redirect()->route('project.application.deployment', [
|
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'application_uuid' => $this->parameters['application_uuid'],
|
'application_uuid' => $this->parameters['application_uuid'],
|
||||||
'deployment_uuid' => $deployment_uuid,
|
'deployment_uuid' => $deployment_uuid,
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadImages($showToast = false)
|
public function loadImages($showToast = false)
|
||||||
|
@ -148,10 +148,10 @@ class CloneProject extends Component
|
|||||||
}
|
}
|
||||||
$newService->parse();
|
$newService->parse();
|
||||||
}
|
}
|
||||||
return redirect()->route('project.resources', [
|
return $this->redirectRoute('project.resources', [
|
||||||
'project_uuid' => $newProject->uuid,
|
'project_uuid' => $newProject->uuid,
|
||||||
'environment_name' => $newEnvironment->name,
|
'environment_name' => $newEnvironment->name,
|
||||||
]);
|
], navigate: true);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -50,9 +50,9 @@ class BackupEdit extends Component
|
|||||||
$url = $url->withoutQueryParameter('selectedBackupId');
|
$url = $url->withoutQueryParameter('selectedBackupId');
|
||||||
$url = $url->withFragment('backups');
|
$url = $url->withFragment('backups');
|
||||||
$url = $url->getPath() . "#{$url->getFragment()}";
|
$url = $url->getPath() . "#{$url->getFragment()}";
|
||||||
return redirect()->to($url);
|
return $this->redirect($url,navigate: true);
|
||||||
} else {
|
} else {
|
||||||
redirect()->route('project.database.backups.all', $this->parameters);
|
return $this->redirectRoute('project.database.backups.all', $this->parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ class DeleteEnvironment extends Component
|
|||||||
$environment = Environment::findOrFail($this->environment_id);
|
$environment = Environment::findOrFail($this->environment_id);
|
||||||
if ($environment->isEmpty()) {
|
if ($environment->isEmpty()) {
|
||||||
$environment->delete();
|
$environment->delete();
|
||||||
return redirect()->route('project.show', ['project_uuid' => $this->parameters['project_uuid']]);
|
return $this->redirectRoute('project.show', ['project_uuid' => $this->parameters['project_uuid']], navigate: true);
|
||||||
}
|
}
|
||||||
return $this->dispatch('error', 'Environment has defined resources, please delete them first.');
|
return $this->dispatch('error', 'Environment has defined resources, please delete them first.');
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,6 @@ class DeleteProject extends Component
|
|||||||
return $this->dispatch('error', 'Project has resources defined, please delete them first.');
|
return $this->dispatch('error', 'Project has resources defined, please delete them first.');
|
||||||
}
|
}
|
||||||
$project->delete();
|
$project->delete();
|
||||||
return redirect()->route('projects');
|
return $this->redirectRoute('projects', navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,11 +69,12 @@ class DockerCompose extends Component
|
|||||||
|
|
||||||
$service->parse(isNew: true);
|
$service->parse(isNew: true);
|
||||||
|
|
||||||
return redirect()->route('project.service.configuration', [
|
return $this->redirectRoute('project.service.configuration', [
|
||||||
'service_uuid' => $service->uuid,
|
'service_uuid' => $service->uuid,
|
||||||
'environment_name' => $environment->name,
|
'environment_name' => $environment->name,
|
||||||
'project_uuid' => $project->uuid,
|
'project_uuid' => $project->uuid,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -64,12 +64,11 @@ class DockerImage extends Component
|
|||||||
'name' => 'docker-image-' . $application->uuid,
|
'name' => 'docker-image-' . $application->uuid,
|
||||||
'fqdn' => $fqdn
|
'fqdn' => $fqdn
|
||||||
]);
|
]);
|
||||||
|
return $this->redirectRoute('project.application.configuration', [
|
||||||
redirect()->route('project.application.configuration', [
|
|
||||||
'application_uuid' => $application->uuid,
|
'application_uuid' => $application->uuid,
|
||||||
'environment_name' => $environment->name,
|
'environment_name' => $environment->name,
|
||||||
'project_uuid' => $project->uuid,
|
'project_uuid' => $project->uuid,
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
|
@ -13,6 +13,6 @@ class EmptyProject extends Component
|
|||||||
'name' => generate_random_name(),
|
'name' => generate_random_name(),
|
||||||
'team_id' => currentTeam()->id,
|
'team_id' => currentTeam()->id,
|
||||||
]);
|
]);
|
||||||
return redirect()->route('project.show', ['project_uuid' => $project->uuid, 'environment_name' => 'production']);
|
return $this->redirectRoute('project.show', ['project_uuid' => $project->uuid, 'environment_name' => 'production'], navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -151,11 +151,11 @@ class GithubPrivateRepository extends Component
|
|||||||
$application->name = generate_application_name($this->selected_repository_owner . '/' . $this->selected_repository_repo, $this->selected_branch_name, $application->uuid);
|
$application->name = generate_application_name($this->selected_repository_owner . '/' . $this->selected_repository_repo, $this->selected_branch_name, $application->uuid);
|
||||||
$application->save();
|
$application->save();
|
||||||
|
|
||||||
redirect()->route('project.application.configuration', [
|
return $this->redirectRoute('project.application.configuration', [
|
||||||
'application_uuid' => $application->uuid,
|
'application_uuid' => $application->uuid,
|
||||||
'environment_name' => $environment->name,
|
'environment_name' => $environment->name,
|
||||||
'project_uuid' => $project->uuid,
|
'project_uuid' => $project->uuid,
|
||||||
]);
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -132,11 +132,11 @@ class GithubPrivateRepositoryDeployKey extends Component
|
|||||||
$application->name = generate_random_name($application->uuid);
|
$application->name = generate_random_name($application->uuid);
|
||||||
$application->save();
|
$application->save();
|
||||||
|
|
||||||
return redirect()->route('project.application.configuration', [
|
return $this->redirectRoute('project.application.configuration', [
|
||||||
'project_uuid' => $project->uuid,
|
|
||||||
'environment_name' => $environment->name,
|
|
||||||
'application_uuid' => $application->uuid,
|
'application_uuid' => $application->uuid,
|
||||||
]);
|
'environment_name' => $environment->name,
|
||||||
|
'project_uuid' => $project->uuid,
|
||||||
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -184,11 +184,11 @@ class PublicGitRepository extends Component
|
|||||||
$application->fqdn = $fqdn;
|
$application->fqdn = $fqdn;
|
||||||
$application->save();
|
$application->save();
|
||||||
|
|
||||||
return redirect()->route('project.application.configuration', [
|
return $this->redirectRoute('project.application.configuration', [
|
||||||
'project_uuid' => $project->uuid,
|
|
||||||
'environment_name' => $environment->name,
|
|
||||||
'application_uuid' => $application->uuid,
|
'application_uuid' => $application->uuid,
|
||||||
]);
|
'environment_name' => $environment->name,
|
||||||
|
'project_uuid' => $project->uuid,
|
||||||
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -53,10 +53,10 @@ class Select extends Component
|
|||||||
|
|
||||||
public function updatedSelectedEnvironment()
|
public function updatedSelectedEnvironment()
|
||||||
{
|
{
|
||||||
return redirect()->route('project.resources.new', [
|
return $this->redirectRoute('project.resources.new', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'environment_name' => $this->selectedEnvironment,
|
'environment_name' => $this->selectedEnvironment,
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public function addExistingPostgresql()
|
// public function addExistingPostgresql()
|
||||||
@ -133,13 +133,13 @@ class Select extends Component
|
|||||||
public function setDestination(string $destination_uuid)
|
public function setDestination(string $destination_uuid)
|
||||||
{
|
{
|
||||||
$this->destination_uuid = $destination_uuid;
|
$this->destination_uuid = $destination_uuid;
|
||||||
redirect()->route('project.resources.new', [
|
return $this->redirectRoute('project.resources.new', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'environment_name' => $this->parameters['environment_name'],
|
'environment_name' => $this->parameters['environment_name'],
|
||||||
'type' => $this->type,
|
'type' => $this->type,
|
||||||
'destination' => $this->destination_uuid,
|
'destination' => $this->destination_uuid,
|
||||||
'server_id' => $this->server_id,
|
'server_id' => $this->server_id,
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadServers()
|
public function loadServers()
|
||||||
|
@ -70,10 +70,10 @@ CMD ["nginx", "-g", "daemon off;"]
|
|||||||
'fqdn' => $fqdn
|
'fqdn' => $fqdn
|
||||||
]);
|
]);
|
||||||
|
|
||||||
redirect()->route('project.application.configuration', [
|
return $this->redirectRoute('project.application.configuration', [
|
||||||
'application_uuid' => $application->uuid,
|
'application_uuid' => $application->uuid,
|
||||||
'environment_name' => $environment->name,
|
'environment_name' => $environment->name,
|
||||||
'project_uuid' => $project->uuid,
|
'project_uuid' => $project->uuid,
|
||||||
]);
|
], navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ class Application extends Component
|
|||||||
try {
|
try {
|
||||||
$this->application->delete();
|
$this->application->delete();
|
||||||
$this->dispatch('success', 'Application deleted successfully.');
|
$this->dispatch('success', 'Application deleted successfully.');
|
||||||
return redirect()->route('project.service.configuration', $this->parameters);
|
return $this->redirectRoute('project.service.configuration', $this->parameters, navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -22,10 +22,10 @@ class Danger extends Component
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
DeleteResourceJob::dispatchSync($this->resource);
|
DeleteResourceJob::dispatchSync($this->resource);
|
||||||
return redirect()->route('project.resources', [
|
return $this->redirectRoute('project.resources', [
|
||||||
'project_uuid' => $this->parameters['project_uuid'],
|
'project_uuid' => $this->parameters['project_uuid'],
|
||||||
'environment_name' => $this->parameters['environment_name']
|
'environment_name' => $this->parameters['environment_name']
|
||||||
]);
|
], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ class GetLogs extends Component
|
|||||||
{
|
{
|
||||||
public string $outputs = '';
|
public string $outputs = '';
|
||||||
public string $errors = '';
|
public string $errors = '';
|
||||||
public Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb $resource;
|
public Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|null $resource = null;
|
||||||
public ServiceApplication|ServiceDatabase|null $servicesubtype = null;
|
public ServiceApplication|ServiceDatabase|null $servicesubtype = null;
|
||||||
public Server $server;
|
public Server $server;
|
||||||
public ?string $container = null;
|
public ?string $container = null;
|
||||||
@ -29,6 +29,7 @@ class GetLogs extends Component
|
|||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
{
|
{
|
||||||
|
if (!is_null($this->resource)) {
|
||||||
if ($this->resource->getMorphClass() === 'App\Models\Application') {
|
if ($this->resource->getMorphClass() === 'App\Models\Application') {
|
||||||
$this->showTimeStamps = $this->resource->settings->is_include_timestamps;
|
$this->showTimeStamps = $this->resource->settings->is_include_timestamps;
|
||||||
} else {
|
} else {
|
||||||
@ -39,12 +40,14 @@ class GetLogs extends Component
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public function doSomethingWithThisChunkOfOutput($output)
|
public function doSomethingWithThisChunkOfOutput($output)
|
||||||
{
|
{
|
||||||
$this->outputs .= removeAnsiColors($output);
|
$this->outputs .= removeAnsiColors($output);
|
||||||
}
|
}
|
||||||
public function instantSave()
|
public function instantSave()
|
||||||
{
|
{
|
||||||
|
if (!is_null($this->resource)) {
|
||||||
if ($this->resource->getMorphClass() === 'App\Models\Application') {
|
if ($this->resource->getMorphClass() === 'App\Models\Application') {
|
||||||
$this->resource->settings->is_include_timestamps = $this->showTimeStamps;
|
$this->resource->settings->is_include_timestamps = $this->showTimeStamps;
|
||||||
$this->resource->settings->save();
|
$this->resource->settings->save();
|
||||||
@ -58,6 +61,7 @@ class GetLogs extends Component
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public function getLogs($refresh = false)
|
public function getLogs($refresh = false)
|
||||||
{
|
{
|
||||||
if ($this->container) {
|
if ($this->container) {
|
||||||
|
@ -19,7 +19,7 @@ class Delete extends Component
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$this->server->delete();
|
$this->server->delete();
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,9 @@ class Show extends Component
|
|||||||
{
|
{
|
||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
try {
|
try {
|
||||||
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
|
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($this->server)) {
|
if (is_null($this->server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
|
@ -44,8 +44,10 @@ class Form extends Component
|
|||||||
{
|
{
|
||||||
$this->wildcard_domain = $this->server->settings->wildcard_domain;
|
$this->wildcard_domain = $this->server->settings->wildcard_domain;
|
||||||
$this->cleanup_after_percentage = $this->server->settings->cleanup_after_percentage;
|
$this->cleanup_after_percentage = $this->server->settings->cleanup_after_percentage;
|
||||||
|
if (!$this->server->isFunctional()) {
|
||||||
$this->validateServer();
|
$this->validateServer();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public function serverRefresh($install = true)
|
public function serverRefresh($install = true)
|
||||||
{
|
{
|
||||||
$this->validateServer($install);
|
$this->validateServer($install);
|
||||||
|
@ -41,9 +41,9 @@ class LogDrains extends Component
|
|||||||
{
|
{
|
||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
try {
|
try {
|
||||||
$server = Server::ownedByCurrentTeam(['name', 'description', 'ip', 'port', 'user', 'proxy'])->whereUuid(request()->server_uuid)->first();
|
$server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($server)) {
|
if (is_null($server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
$this->server = $server;
|
$this->server = $server;
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
@ -79,7 +79,7 @@ class ByIp extends Component
|
|||||||
$server->settings->is_swarm_manager = $this->is_swarm_manager;
|
$server->settings->is_swarm_manager = $this->is_swarm_manager;
|
||||||
$server->settings->save();
|
$server->settings->save();
|
||||||
$server->addInitialNetwork();
|
$server->addInitialNetwork();
|
||||||
return redirect()->route('server.show', $server->uuid);
|
return $this->redirectRoute('server.show', $server->uuid, navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ class Show extends Component
|
|||||||
try {
|
try {
|
||||||
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($this->server)) {
|
if (is_null($this->server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
$this->privateKeys = PrivateKey::ownedByCurrentTeam()->get()->where('is_git_related', false);
|
$this->privateKeys = PrivateKey::ownedByCurrentTeam()->get()->where('is_git_related', false);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
@ -13,9 +13,9 @@ class Logs extends Component
|
|||||||
{
|
{
|
||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
try {
|
try {
|
||||||
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
|
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($this->server)) {
|
if (is_null($this->server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
|
@ -18,9 +18,9 @@ class Show extends Component
|
|||||||
{
|
{
|
||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
try {
|
try {
|
||||||
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
|
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($this->server)) {
|
if (is_null($this->server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
|
@ -15,9 +15,9 @@ class Show extends Component
|
|||||||
{
|
{
|
||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
try {
|
try {
|
||||||
$this->server = Server::ownedByCurrentTeam(['name', 'description', 'ip', 'port', 'user', 'proxy'])->whereUuid(request()->server_uuid)->first();
|
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
|
||||||
if (is_null($this->server)) {
|
if (is_null($this->server)) {
|
||||||
return redirect()->route('server.all');
|
return $this->redirectRoute('server.all', navigate: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
@ -41,7 +41,7 @@ class Change extends Component
|
|||||||
$github_app_uuid = request()->github_app_uuid;
|
$github_app_uuid = request()->github_app_uuid;
|
||||||
$this->github_app = GithubApp::where('uuid', $github_app_uuid)->first();
|
$this->github_app = GithubApp::where('uuid', $github_app_uuid)->first();
|
||||||
if (!$this->github_app) {
|
if (!$this->github_app) {
|
||||||
return redirect()->route('source.all');
|
return $this->redirectRoute('source.all', navigate: true);
|
||||||
}
|
}
|
||||||
$settings = InstanceSettings::get();
|
$settings = InstanceSettings::get();
|
||||||
$this->github_app->makeVisible('client_secret')->makeVisible('webhook_secret');
|
$this->github_app->makeVisible('client_secret')->makeVisible('webhook_secret');
|
||||||
@ -67,7 +67,7 @@ class Change extends Component
|
|||||||
$type = data_get($parameters, 'type');
|
$type = data_get($parameters, 'type');
|
||||||
$destination = data_get($parameters, 'destination');
|
$destination = data_get($parameters, 'destination');
|
||||||
session()->forget('from');
|
session()->forget('from');
|
||||||
return redirect()->route($back, [
|
return $this->redirectRoute($back, [
|
||||||
'environment_name' => $environment_name,
|
'environment_name' => $environment_name,
|
||||||
'project_uuid' => $project_uuid,
|
'project_uuid' => $project_uuid,
|
||||||
'type' => $type,
|
'type' => $type,
|
||||||
@ -105,7 +105,7 @@ class Change extends Component
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->github_app->delete();
|
$this->github_app->delete();
|
||||||
redirect()->route('source.all');
|
return $this->redirectRoute('source.all', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ class Create extends Component
|
|||||||
if (session('from')) {
|
if (session('from')) {
|
||||||
session(['from' => session('from') + ['source_id' => $github_app->id]]);
|
session(['from' => session('from') + ['source_id' => $github_app->id]]);
|
||||||
}
|
}
|
||||||
redirect()->route('source.github.show', ['github_app_uuid' => $github_app->uuid]);
|
return $this->redirectRoute('source.github.show', ['github_app_uuid' => $github_app->uuid], navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ class Show extends Component
|
|||||||
public bool $alreadySubscribed = false;
|
public bool $alreadySubscribed = false;
|
||||||
public function mount() {
|
public function mount() {
|
||||||
if (!isCloud()) {
|
if (!isCloud()) {
|
||||||
return redirect('/');
|
return $this->redirect('/', navigate: true);
|
||||||
}
|
}
|
||||||
$this->settings = InstanceSettings::get();
|
$this->settings = InstanceSettings::get();
|
||||||
$this->alreadySubscribed = currentTeam()->subscription()->exists();
|
$this->alreadySubscribed = currentTeam()->subscription()->exists();
|
||||||
|
@ -30,7 +30,7 @@ class Create extends Component
|
|||||||
]);
|
]);
|
||||||
auth()->user()->teams()->attach($team, ['role' => 'admin']);
|
auth()->user()->teams()->attach($team, ['role' => 'admin']);
|
||||||
refreshSession();
|
refreshSession();
|
||||||
return redirect()->route('team.index');
|
return $this->redirectRoute('team.index', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,6 @@ class Delete extends Component
|
|||||||
});
|
});
|
||||||
|
|
||||||
refreshSession();
|
refreshSession();
|
||||||
return redirect()->route('team.index');
|
return $this->redirectRoute('team.index', navigate: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ class Create extends Component
|
|||||||
$this->storage->team_id = currentTeam()->id;
|
$this->storage->team_id = currentTeam()->id;
|
||||||
$this->storage->testConnection();
|
$this->storage->testConnection();
|
||||||
$this->storage->save();
|
$this->storage->save();
|
||||||
return redirect()->route('team.storages.show', $this->storage->uuid);
|
return $this->redirectRoute('team.storages.show', $this->storage->uuid, navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ class Form extends Component
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->storage->delete();
|
$this->storage->delete();
|
||||||
return redirect()->route('team.storages.all');
|
return $this->redirectRoute('team.storages.all', navigate: true);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ class Index extends Component
|
|||||||
public function mount()
|
public function mount()
|
||||||
{
|
{
|
||||||
if (config('coolify.waitlist') == false) {
|
if (config('coolify.waitlist') == false) {
|
||||||
return redirect()->route('register');
|
return $this->redirectRoute('register', navigate: true);
|
||||||
}
|
}
|
||||||
$this->waitingInLine = Waitlist::whereVerified(true)->count();
|
$this->waitingInLine = Waitlist::whereVerified(true)->count();
|
||||||
$this->users = User::count();
|
$this->users = User::count();
|
||||||
|
@ -61,6 +61,7 @@ function remote_process(
|
|||||||
// }
|
// }
|
||||||
function savePrivateKeyToFs(Server $server)
|
function savePrivateKeyToFs(Server $server)
|
||||||
{
|
{
|
||||||
|
ray(data_get($server, 'privateKey.private_key'));
|
||||||
if (data_get($server, 'privateKey.private_key') === null) {
|
if (data_get($server, 'privateKey.private_key') === null) {
|
||||||
throw new \Exception("Server {$server->name} does not have a private key");
|
throw new \Exception("Server {$server->name} does not have a private key");
|
||||||
}
|
}
|
||||||
|
@ -128,11 +128,12 @@ function allowedPathsForUnsubscribedAccounts()
|
|||||||
'logout',
|
'logout',
|
||||||
'waitlist',
|
'waitlist',
|
||||||
'force-password-reset',
|
'force-password-reset',
|
||||||
'livewire/message/force-password-reset',
|
// 'livewire/message/force-password-reset',
|
||||||
'livewire/message/check-license',
|
// 'livewire/message/check-license',
|
||||||
'livewire/message/switch-team',
|
// 'livewire/message/switch-team',
|
||||||
'livewire/message/subscription.pricing-plans',
|
// 'livewire/message/subscription.pricing-plans',
|
||||||
'livewire/message/help'
|
// 'livewire/message/help',
|
||||||
|
'livewire/update'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
function allowedPathsForBoardingAccounts()
|
function allowedPathsForBoardingAccounts()
|
||||||
@ -140,8 +141,9 @@ function allowedPathsForBoardingAccounts()
|
|||||||
return [
|
return [
|
||||||
...allowedPathsForUnsubscribedAccounts(),
|
...allowedPathsForUnsubscribedAccounts(),
|
||||||
'boarding',
|
'boarding',
|
||||||
'livewire/message/boarding.index',
|
// 'livewire/message/boarding.index',
|
||||||
'livewire/message/activity-monitor'
|
// 'livewire/message/activity-monitor',
|
||||||
|
'livewire/update'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
function allowedPathsForInvalidAccounts() {
|
function allowedPathsForInvalidAccounts() {
|
||||||
@ -149,8 +151,9 @@ function allowedPathsForInvalidAccounts() {
|
|||||||
'logout',
|
'logout',
|
||||||
'verify',
|
'verify',
|
||||||
'force-password-reset',
|
'force-password-reset',
|
||||||
'livewire/message/force-password-reset',
|
// 'livewire/message/force-password-reset',
|
||||||
'livewire/message/verify-email',
|
// 'livewire/message/verify-email',
|
||||||
'livewire/message/help'
|
// 'livewire/message/help',
|
||||||
|
'livewire/update'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ uZx9iFkCELtxrh31QJ68AAAAEXNhaWxANzZmZjY2ZDJlMmRkAQIDBA==
|
|||||||
|
|
||||||
]);
|
]);
|
||||||
PrivateKey::create([
|
PrivateKey::create([
|
||||||
|
"id" => 1,
|
||||||
"team_id" => 0,
|
"team_id" => 0,
|
||||||
"name" => "development-github-app",
|
"name" => "development-github-app",
|
||||||
"description" => "This is the key for using the development GitHub app",
|
"description" => "This is the key for using the development GitHub app",
|
||||||
@ -61,6 +62,7 @@ a1C8EDKapCw5hAhizEFOUQKOygL8Ipn+tmEUkORYdZ8Q8cWFCv9nIw==
|
|||||||
"is_git_related" => true
|
"is_git_related" => true
|
||||||
]);
|
]);
|
||||||
PrivateKey::create([
|
PrivateKey::create([
|
||||||
|
"id" => 2,
|
||||||
"team_id" => 0,
|
"team_id" => 0,
|
||||||
"name" => "development-gitlab-app",
|
"name" => "development-gitlab-app",
|
||||||
"description" => "This is the key for using the development Gitlab app",
|
"description" => "This is the key for using the development Gitlab app",
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<div class="navbar-main">
|
<div class="navbar-main">
|
||||||
<a class="{{ request()->routeIs('project.database.configuration') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.database.configuration') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.database.configuration', $parameters) }}">
|
href="{{ route('project.database.configuration', $parameters) }}">
|
||||||
<button>Configuration</button>
|
<button>Configuration</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('project.database.command') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.database.command') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.database.command', $parameters) }}">
|
href="{{ route('project.database.command', $parameters) }}">
|
||||||
<button>Execute Command</button>
|
<button>Execute Command</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('project.database.logs') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.database.logs') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.database.logs', $parameters) }}">
|
href="{{ route('project.database.logs', $parameters) }}">
|
||||||
<button>Logs</button>
|
<button>Logs</button>
|
||||||
</a>
|
</a>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
$database->getMorphClass() === 'App\Models\StandaloneMongodb' ||
|
$database->getMorphClass() === 'App\Models\StandaloneMongodb' ||
|
||||||
$database->getMorphClass() === 'App\Models\StandaloneMysql' ||
|
$database->getMorphClass() === 'App\Models\StandaloneMysql' ||
|
||||||
$database->getMorphClass() === 'App\Models\StandaloneMariadb')
|
$database->getMorphClass() === 'App\Models\StandaloneMariadb')
|
||||||
<a class="{{ request()->routeIs('project.database.backups.all') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.database.backups.all') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.database.backups.all', $parameters) }}">
|
href="{{ route('project.database.backups.all', $parameters) }}">
|
||||||
<button>Backups</button>
|
<button>Backups</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
clip-rule="evenodd"></path>
|
clip-rule="evenodd"></path>
|
||||||
</svg>
|
</svg>
|
||||||
<a wire:nagivate class="text-xs truncate lg:text-sm"
|
<a wire:navigate wire:nagivate class="text-xs truncate lg:text-sm"
|
||||||
href="{{ route('project.resources', ['environment_name' => $this->parameters['environment_name'], 'project_uuid' => $this->parameters['project_uuid']]) }}">{{ $this->parameters['environment_name'] }}</a>
|
href="{{ route('project.resources', ['environment_name' => $this->parameters['environment_name'], 'project_uuid' => $this->parameters['project_uuid']]) }}">{{ $this->parameters['environment_name'] }}</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<nav class="navbar-main">
|
<nav class="navbar-main">
|
||||||
<a href="{{ route('security.private-key.index') }}">
|
<a wire:navigate href="{{ route('security.private-key.index') }}">
|
||||||
<button>Private Keys</button>
|
<button>Private Keys</button>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ route('security.api-tokens') }}">
|
<a wire:navigate href="{{ route('security.api-tokens') }}">
|
||||||
<button>API tokens</button>
|
<button>API tokens</button>
|
||||||
</a>
|
</a>
|
||||||
<div class="flex-1"></div>
|
<div class="flex-1"></div>
|
||||||
|
@ -8,31 +8,31 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="subtitle ">{{ data_get($server, 'name') }}</div>
|
<div class="subtitle ">{{ data_get($server, 'name') }}</div>
|
||||||
<nav class="navbar-main">
|
<nav class="navbar-main">
|
||||||
<a class="{{ request()->routeIs('server.show') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('server.show') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.show', [
|
href="{{ route('server.show', [
|
||||||
'server_uuid' => data_get($parameters, 'server_uuid'),
|
'server_uuid' => data_get($parameters, 'server_uuid'),
|
||||||
]) }}">
|
]) }}">
|
||||||
<button>General</button>
|
<button>General</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('server.private-key') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('server.private-key') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.private-key', [
|
href="{{ route('server.private-key', [
|
||||||
'server_uuid' => data_get($parameters, 'server_uuid'),
|
'server_uuid' => data_get($parameters, 'server_uuid'),
|
||||||
]) }}">
|
]) }}">
|
||||||
<button>Private Key</button>
|
<button>Private Key</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('server.proxy') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('server.proxy') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.proxy', [
|
href="{{ route('server.proxy', [
|
||||||
'server_uuid' => data_get($parameters, 'server_uuid'),
|
'server_uuid' => data_get($parameters, 'server_uuid'),
|
||||||
]) }}">
|
]) }}">
|
||||||
<button>Proxy</button>
|
<button>Proxy</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('server.destinations') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('server.destinations') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.destinations', [
|
href="{{ route('server.destinations', [
|
||||||
'server_uuid' => data_get($parameters, 'server_uuid'),
|
'server_uuid' => data_get($parameters, 'server_uuid'),
|
||||||
]) }}">
|
]) }}">
|
||||||
<button>Destinations</button>
|
<button>Destinations</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('server.log-drains') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('server.log-drains') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.log-drains', [
|
href="{{ route('server.log-drains', [
|
||||||
'server_uuid' => data_get($parameters, 'server_uuid'),
|
'server_uuid' => data_get($parameters, 'server_uuid'),
|
||||||
]) }}">
|
]) }}">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="navbar-main">
|
<div class="navbar-main">
|
||||||
<a class="{{ request()->routeIs('project.service.configuration') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.service.configuration') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.service.configuration', $parameters) }}">
|
href="{{ route('project.service.configuration', $parameters) }}">
|
||||||
<button>Configuration</button>
|
<button>Configuration</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div class="pb-6">
|
<div class="pb-6">
|
||||||
<div class="flex items-end gap-2">
|
<div class="flex items-end gap-2">
|
||||||
<h1>Team</h1>
|
<h1>Team</h1>
|
||||||
<a href="/team/new"><x-forms.button>+ New Team</x-forms.button></a>
|
<a wire:navigate href="/team/new"><x-forms.button>+ New Team</x-forms.button></a>
|
||||||
</div>
|
</div>
|
||||||
<nav class="flex pt-2 pb-10">
|
<nav class="flex pt-2 pb-10">
|
||||||
<ol class="inline-flex items-center">
|
<ol class="inline-flex items-center">
|
||||||
@ -14,17 +14,17 @@
|
|||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<nav class="navbar-main">
|
<nav class="navbar-main">
|
||||||
<a class="{{ request()->routeIs('team.index') ? 'text-white' : '' }}" href="{{ route('team.index') }}">
|
<a wire:navigate class="{{ request()->routeIs('team.index') ? 'text-white' : '' }}" href="{{ route('team.index') }}">
|
||||||
<button>General</button>
|
<button>General</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('team.members') ? 'text-white' : '' }}" href="{{ route('team.members') }}">
|
<a wire:navigate class="{{ request()->routeIs('team.members') ? 'text-white' : '' }}" href="{{ route('team.members') }}">
|
||||||
<button>Members</button>
|
<button>Members</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('team.storages.all') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('team.storages.all') ? 'text-white' : '' }}"
|
||||||
href="{{ route('team.storages.all') }}">
|
href="{{ route('team.storages.all') }}">
|
||||||
<button>S3 Storages</button>
|
<button>S3 Storages</button>
|
||||||
</a>
|
</a>
|
||||||
<a class="{{ request()->routeIs('team.notifications') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('team.notifications') ? 'text-white' : '' }}"
|
||||||
href="{{ route('team.notifications') }}">
|
href="{{ route('team.notifications') }}">
|
||||||
<button>Notifications</button>
|
<button>Notifications</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -57,39 +57,39 @@
|
|||||||
<livewire:project.application.general :application="$application" />
|
<livewire:project.application.general :application="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'advanced'" class="h-full">
|
<div x-cloak x-show="activeTab === 'advanced'" class="h-full">
|
||||||
<livewire:project.application.advanced :application="$application" lazy />
|
<livewire:project.application.advanced :application="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'environment-variables'">
|
<div x-cloak x-show="activeTab === 'environment-variables'">
|
||||||
<livewire:project.shared.environment-variable.all :resource="$application" lazy />
|
<livewire:project.shared.environment-variable.all :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
@if ($application->git_based())
|
@if ($application->git_based())
|
||||||
<div x-cloak x-show="activeTab === 'source'">
|
<div x-cloak x-show="activeTab === 'source'">
|
||||||
<livewire:project.application.source :application="$application" lazy />
|
<livewire:project.application.source :application="$application" />
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div x-cloak x-show="activeTab === 'server'">
|
<div x-cloak x-show="activeTab === 'server'">
|
||||||
<livewire:project.shared.destination :resource="$application" :servers="$servers" lazy />
|
<livewire:project.shared.destination :resource="$application" :servers="$servers" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'storages'">
|
<div x-cloak x-show="activeTab === 'storages'">
|
||||||
<livewire:project.service.storage :resource="$application" lazy />
|
<livewire:project.service.storage :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'webhooks'">
|
<div x-cloak x-show="activeTab === 'webhooks'">
|
||||||
<livewire:project.shared.webhooks :resource="$application" lazy />
|
<livewire:project.shared.webhooks :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'previews'">
|
<div x-cloak x-show="activeTab === 'previews'">
|
||||||
<livewire:project.application.previews :application="$application" lazy />
|
<livewire:project.application.previews :application="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'health'">
|
<div x-cloak x-show="activeTab === 'health'">
|
||||||
<livewire:project.shared.health-checks :resource="$application" lazy />
|
<livewire:project.shared.health-checks :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'rollback'">
|
<div x-cloak x-show="activeTab === 'rollback'">
|
||||||
<livewire:project.application.rollback :application="$application" lazy />
|
<livewire:project.application.rollback :application="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'resource-limits'">
|
<div x-cloak x-show="activeTab === 'resource-limits'">
|
||||||
<livewire:project.shared.resource-limits :resource="$application" lazy />
|
<livewire:project.shared.resource-limits :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'danger'">
|
<div x-cloak x-show="activeTab === 'danger'">
|
||||||
<livewire:project.shared.danger :resource="$application" lazy />
|
<livewire:project.shared.danger :resource="$application" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -42,9 +42,8 @@
|
|||||||
$application->status)->contains(['starting']),
|
$application->status)->contains(['starting']),
|
||||||
'flex gap-2 box group',
|
'flex gap-2 box group',
|
||||||
])>
|
])>
|
||||||
<a class="flex flex-col flex-1 group-hover:text-white hover:no-underline"
|
<a wire:navigate class="flex flex-col flex-1 group-hover:text-white hover:no-underline"
|
||||||
href="{{ route('project.service.show', [...$parameters, 'service_name' => $application->name]) }}">
|
href="{{ route('project.service.show', [...$parameters, 'service_name' => $application->name]) }}">
|
||||||
|
|
||||||
@if ($application->human_name)
|
@if ($application->human_name)
|
||||||
{{ Str::headline($application->human_name) }}
|
{{ Str::headline($application->human_name) }}
|
||||||
@else
|
@else
|
||||||
@ -61,7 +60,7 @@
|
|||||||
@endif
|
@endif
|
||||||
<div class="text-xs">{{ $application->status }}</div>
|
<div class="text-xs">{{ $application->status }}</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="flex items-center gap-2 p-1 mx-4 font-bold rounded group-hover:text-white hover:no-underline"
|
<a wire:navigate class="flex items-center gap-2 p-1 mx-4 font-bold rounded group-hover:text-white hover:no-underline"
|
||||||
href="{{ route('project.service.logs', [...$parameters, 'service_name' => $application->name]) }}"><span
|
href="{{ route('project.service.logs', [...$parameters, 'service_name' => $application->name]) }}"><span
|
||||||
class="hover:text-warning">Logs</span></a>
|
class="hover:text-warning">Logs</span></a>
|
||||||
</div>
|
</div>
|
||||||
@ -76,7 +75,7 @@
|
|||||||
$database->status)->contains(['restarting']),
|
$database->status)->contains(['restarting']),
|
||||||
'flex gap-2 box group',
|
'flex gap-2 box group',
|
||||||
])>
|
])>
|
||||||
<a class="flex flex-col flex-1 group-hover:text-white hover:no-underline"
|
<a wire:navigate class="flex flex-col flex-1 group-hover:text-white hover:no-underline"
|
||||||
href="{{ route('project.service.show', [...$parameters, 'service_name' => $database->name]) }}">
|
href="{{ route('project.service.show', [...$parameters, 'service_name' => $database->name]) }}">
|
||||||
@if ($database->human_name)
|
@if ($database->human_name)
|
||||||
{{ Str::headline($database->human_name) }}
|
{{ Str::headline($database->human_name) }}
|
||||||
@ -91,13 +90,12 @@
|
|||||||
@endif
|
@endif
|
||||||
<div class="text-xs">{{ $database->status }}</div>
|
<div class="text-xs">{{ $database->status }}</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="flex items-center gap-2 p-1 mx-4 font-bold rounded hover:no-underline group-hover:text-white"
|
<a wire:navigate class="flex items-center gap-2 p-1 mx-4 font-bold rounded hover:no-underline group-hover:text-white"
|
||||||
href="{{ route('project.service.logs', [...$parameters, 'service_name' => $database->name]) }}"><span
|
href="{{ route('project.service.logs', [...$parameters, 'service_name' => $database->name]) }}"><span
|
||||||
class="hover:text-warning">Logs</span></a>
|
class="hover:text-warning">Logs</span></a>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div x-cloak x-show="activeTab === 'storages'">
|
<div x-cloak x-show="activeTab === 'storages'">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<livewire:project.service.navbar :service="$service" :parameters="$parameters" :query="$query" />
|
<livewire:project.service.navbar :service="$service" :parameters="$parameters" :query="$query" />
|
||||||
<div class="flex h-full pt-6">
|
<div class="flex h-full pt-6">
|
||||||
<div class="flex flex-col gap-4 min-w-fit">
|
<div class="flex flex-col gap-4 min-w-fit">
|
||||||
<a class="{{ request()->routeIs('project.service.configuration') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.service.configuration') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.service.configuration', [...$parameters, 'service_name' => null]) }}">
|
href="{{ route('project.service.configuration', [...$parameters, 'service_name' => null]) }}">
|
||||||
<button><- Back</button>
|
<button><- Back</button>
|
||||||
</a>
|
</a>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
@click.prevent="activeTab = 'backups'; window.location.hash = 'backups'" href="#">Backups</a>
|
@click.prevent="activeTab = 'backups'; window.location.hash = 'backups'" href="#">Backups</a>
|
||||||
@endif
|
@endif
|
||||||
@if (data_get($parameters, 'service_name'))
|
@if (data_get($parameters, 'service_name'))
|
||||||
<a class="{{ request()->routeIs('project.service.logs') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.service.logs') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.service.logs', $parameters) }}">
|
href="{{ route('project.service.logs', $parameters) }}">
|
||||||
<button>Logs</button>
|
<button>Logs</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<livewire:project.service.navbar :service="$resource" :parameters="$parameters" :query="$query" />
|
<livewire:project.service.navbar :service="$resource" :parameters="$parameters" :query="$query" />
|
||||||
<div class="flex gap-4 pt-6">
|
<div class="flex gap-4 pt-6">
|
||||||
<div>
|
<div>
|
||||||
<a class="{{ request()->routeIs('project.service.show') ? 'text-white' : '' }}"
|
<a wire:navigate class="{{ request()->routeIs('project.service.show') ? 'text-white' : '' }}"
|
||||||
href="{{ route('project.service.show', $parameters) }}">
|
href="{{ route('project.service.show', $parameters) }}">
|
||||||
<button><- Back</button>
|
<button><- Back</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="flex items-start gap-2">
|
<div class="flex items-start gap-2">
|
||||||
<h1>Servers</h1>
|
<h1>Servers</h1>
|
||||||
<a class="text-white hover:no-underline" href="{{ route('server.create') }}">
|
<a wire:navigate class="text-white hover:no-underline" href="{{ route('server.create') }}">
|
||||||
<x-forms.button class="btn">+ Add</x-forms.button>
|
<x-forms.button class="btn">+ Add</x-forms.button>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="subtitle ">All Servers</div>
|
<div class="subtitle ">All Servers</div>
|
||||||
<div class="grid gap-2 lg:grid-cols-2">
|
<div class="grid gap-2 lg:grid-cols-2">
|
||||||
@forelse ($servers as $server)
|
@forelse ($servers as $server)
|
||||||
<a href="{{ route('server.show', ['server_uuid' => data_get($server, 'uuid')]) }}"
|
<a wire:navigate href="{{ route('server.show', ['server_uuid' => data_get($server, 'uuid')]) }}"
|
||||||
@class([
|
@class([
|
||||||
'gap-2 border cursor-pointer box group',
|
'gap-2 border cursor-pointer box group',
|
||||||
'border-transparent' => $server->settings->is_reachable,
|
'border-transparent' => $server->settings->is_reachable,
|
||||||
|
@ -23,10 +23,10 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
@forelse ($server->definedResources() as $resource)
|
@forelse ($server->definedResources() as $resource)
|
||||||
@if ($loop->first)
|
@if ($loop->first)
|
||||||
<h3 class="pt-4">Defined resources</h3>
|
<h3 class="pt-4">Resources</h3>
|
||||||
@endif
|
@endif
|
||||||
@if ($resource->link())
|
@if ($resource->link())
|
||||||
<a class="flex gap-2 p-1 hover:bg-coolgray-100 hover:no-underline" href="{{ $resource->link() }}">
|
<a wire:navigate class="flex gap-2 p-1 hover:bg-coolgray-100 hover:no-underline" href="{{ $resource->link() }}">
|
||||||
<div class="w-64">{{ str($resource->type())->headline() }}</div>
|
<div class="w-64">{{ str($resource->type())->headline() }}</div>
|
||||||
<div>{{ $resource->name }}</div>
|
<div>{{ $resource->name }}</div>
|
||||||
</a>
|
</a>
|
||||||
@ -43,10 +43,10 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
@forelse ($server->definedResources() as $resource)
|
@forelse ($server->definedResources() as $resource)
|
||||||
@if ($loop->first)
|
@if ($loop->first)
|
||||||
<h3 class="pt-4">Defined resources</h3>
|
<h3 class="pt-4">Resources</h3>
|
||||||
@endif
|
@endif
|
||||||
@if ($resource->link())
|
@if ($resource->link())
|
||||||
<a class="flex gap-2 p-1 hover:bg-coolgray-100 hover:no-underline" href="{{ $resource->link() }}">
|
<a wire:navigate class="flex gap-2 p-1 hover:bg-coolgray-100 hover:no-underline" href="{{ $resource->link() }}">
|
||||||
<div class="w-64">{{ str($resource->type())->headline() }}</div>
|
<div class="w-64">{{ str($resource->type())->headline() }}</div>
|
||||||
<div>{{ $resource->name }}</div>
|
<div>{{ $resource->name }}</div>
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="w-64">
|
<div class="w-64">
|
||||||
<x-forms.select wire:model="selectedTeamId">
|
<x-forms.select wire:model.live="selectedTeamId">
|
||||||
<option value="default" disabled selected>Switch team</option>
|
<option value="default" disabled selected>Switch team</option>
|
||||||
@foreach (auth()->user()->teams as $team)
|
@foreach (auth()->user()->teams as $team)
|
||||||
<option value="{{ $team->id }}">{{ $team->name }}</option>
|
<option value="{{ $team->id }}">{{ $team->name }}</option>
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
@if ($environment->isEmpty())
|
@if ($environment->isEmpty())
|
||||||
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
<a wire:navigate href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
||||||
class="items-center justify-center box">+ Add New Resource</a>
|
class="items-center justify-center box">+ Add New Resource</a>
|
||||||
@endif
|
@endif
|
||||||
<div class="grid gap-2 lg:grid-cols-2">
|
<div class="grid gap-2 lg:grid-cols-2">
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
<x-security.navbar />
|
<x-security.navbar />
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<h2 class="pb-4">Private Keys</h2>
|
<h2 class="pb-4">Private Keys</h2>
|
||||||
<a href="{{ route('security.private-key.new') }}"><x-forms.button>+ Add</x-forms.button></a>
|
<a wire:navigate href="{{ route('security.private-key.new') }}"><x-forms.button>+ Add</x-forms.button></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid gap-2 lg:grid-cols-2">
|
<div class="grid gap-2 lg:grid-cols-2">
|
||||||
@forelse ($privateKeys as $key)
|
@forelse ($privateKeys as $key)
|
||||||
<a class="text-center hover:no-underline box group"
|
<a wire:navigate class="text-center hover:no-underline box group"
|
||||||
href="{{ route('security.private-key.show', ['private_key_uuid' => data_get($key, 'uuid')]) }}">
|
href="{{ route('security.private-key.show', ['private_key_uuid' => data_get($key, 'uuid')]) }}">
|
||||||
<div class="group-hover:text-white">
|
<div class="group-hover:text-white">
|
||||||
<div>{{ $key->name }}</div>
|
<div>{{ $key->name }}</div>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<div class="grid gap-2 lg:grid-cols-2">
|
<div class="grid gap-2 lg:grid-cols-2">
|
||||||
@forelse ($sources as $source)
|
@forelse ($sources as $source)
|
||||||
@if ($source->getMorphClass() === 'App\Models\GithubApp')
|
@if ($source->getMorphClass() === 'App\Models\GithubApp')
|
||||||
<a class="flex gap-4 text-center hover:no-underline box group"
|
<a wire:navigate class="flex gap-4 text-center hover:no-underline box group"
|
||||||
href="{{ route('source.github.show', ['github_app_uuid' => data_get($source, 'uuid')]) }}">
|
href="{{ route('source.github.show', ['github_app_uuid' => data_get($source, 'uuid')]) }}">
|
||||||
<x-git-icon class="text-white w-9 h-9" git="{{ $source->getMorphClass() }}" />
|
<x-git-icon class="text-white w-9 h-9" git="{{ $source->getMorphClass() }}" />
|
||||||
<div class="text-left group-hover:text-white">
|
<div class="text-left group-hover:text-white">
|
||||||
@ -21,7 +21,7 @@
|
|||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
@if ($source->getMorphClass() === 'App\Models\GitlabApp')
|
@if ($source->getMorphClass() === 'App\Models\GitlabApp')
|
||||||
<a class="flex gap-4 text-center hover:no-underline box group"
|
<a wire:navigate class="flex gap-4 text-center hover:no-underline box group"
|
||||||
href="{{ route('source.gitlab.show', ['gitlab_app_uuid' => data_get($source, 'uuid')]) }}">
|
href="{{ route('source.gitlab.show', ['gitlab_app_uuid' => data_get($source, 'uuid')]) }}">
|
||||||
<x-git-icon class="text-white w-9 h-9" git="{{ $source->getMorphClass() }}" />
|
<x-git-icon class="text-white w-9 h-9" git="{{ $source->getMorphClass() }}" />
|
||||||
<div class="text-left group-hover:text-white">
|
<div class="text-left group-hover:text-white">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
->currentTeam()" />
|
->currentTeam()" />
|
||||||
<div class="flex items-start gap-2">
|
<div class="flex items-start gap-2">
|
||||||
<h2 class="pb-4">S3 Storages</h2>
|
<h2 class="pb-4">S3 Storages</h2>
|
||||||
<a class="text-white hover:no-underline" href="/team/storages/new"> <x-forms.button class="btn">+ Add
|
<a wire:navigate class="text-white hover:no-underline" href="/team/storages/new"> <x-forms.button class="btn">+ Add
|
||||||
</x-forms.button></a>
|
</x-forms.button></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid gap-2 lg:grid-cols-2">
|
<div class="grid gap-2 lg:grid-cols-2">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user