2025-02-17 08:52:27 +00:00
< nav wire : poll . 10000 ms = " check_status " >
2023-08-11 18:19:42 +00:00
< x - resources . breadcrumbs : resource = " $database " : parameters = " $parameters " />
2024-03-21 11:44:32 +00:00
< x - slide - over @ startdatabase . window = " slideOverOpen = true " closeWithX fullScreen >
2024-09-27 15:31:48 +00:00
< x - slot : title > Database Startup </ x - slot : title >
2024-03-21 11:44:32 +00:00
< x - slot : content >
2024-12-17 09:38:32 +00:00
< livewire : activity - monitor header = " Logs " showWaiting fullHeight />
2024-03-21 11:44:32 +00:00
</ x - slot : content >
</ x - slide - over >
< div class = " navbar-main " >
2024-07-02 11:39:44 +00:00
< nav
2025-05-14 10:43:23 +00:00
class = " flex overflow-x-scroll shrink-0 gap-6 items-center whitespace-nowrap sm:overflow-x-hidden scrollbar min-h-10 " >
< a wire : navigate class = " { { request()->routeIs('project.database.configuration') ? 'dark:text-white' : '' }} "
2024-05-05 16:33:52 +00:00
href = " { { route('project.database.configuration', $parameters ) }} " >
< button > Configuration </ button >
2024-03-21 11:44:32 +00:00
</ a >
2024-09-16 08:56:11 +00:00
2025-04-29 07:04:24 +00:00
< a class = " { { request()->routeIs('project.database.logs') ? 'dark:text-white' : '' }} "
2024-05-05 16:33:52 +00:00
href = " { { route('project.database.logs', $parameters ) }} " >
< button > Logs </ button >
</ a >
2025-01-16 11:05:59 +00:00
< a class = " { { request()->routeIs('project.database.command') ? 'dark:text-white' : '' }} "
2024-09-16 08:56:11 +00:00
href = " { { route('project.database.command', $parameters ) }} " >
< button > Terminal </ button >
</ a >
2024-05-05 16:33:52 +00:00
@ if (
2024-09-20 15:28:55 +00:00
$database -> getMorphClass () === 'App\Models\StandalonePostgresql' ||
$database -> getMorphClass () === 'App\Models\StandaloneMongodb' ||
$database -> getMorphClass () === 'App\Models\StandaloneMysql' ||
$database -> getMorphClass () === 'App\Models\StandaloneMariadb' )
2025-04-29 07:04:24 +00:00
< a class = " { { request()->routeIs('project.database.backup.index') ? 'dark:text-white' : '' }} "
2024-09-20 15:28:55 +00:00
href = " { { route('project.database.backup.index', $parameters ) }} " >
< button > Backups </ button >
</ a >
2024-05-05 16:33:52 +00:00
@ endif
</ nav >
2025-01-24 10:14:55 +00:00
@ if ( $database -> destination -> server -> isFunctional ())
< div class = " flex flex-wrap gap-2 items-center " >
@ if ( ! str ( $database -> status ) -> startsWith ( 'exited' ))
< x - modal - confirmation title = " Confirm Database Restart? " buttonTitle = " Restart " submitAction = " restart "
: actions = " [
'This database will be unavailable during the restart.' ,
'If the database is currently in use data could be lost.' ,
] " :confirmWithText= " false " :confirmWithPassword= " false " step2ButtonText= " Restart Database "
: dispatchEvent = " true " dispatchEventType = " restartEvent " >
< x - slot : button - title >
< svg class = " w-5 h-5 dark:text-warning " viewBox = " 0 0 24 24 "
xmlns = " http://www.w3.org/2000/svg " >
< g fill = " none " stroke = " currentColor " stroke - linecap = " round " stroke - linejoin = " round "
stroke - width = " 2 " >
< path d = " M19.933 13.041a8 8 0 1 1-9.925-8.788c3.899-1 7.935 1.007 9.425 4.747 " />
< path d = " M20 4v5h-5 " />
</ g >
</ svg >
Restart
</ x - slot : button - title >
</ x - modal - confirmation >
< x - modal - confirmation title = " Confirm Database Stopping? " buttonTitle = " Stop " submitAction = " stop "
: checkboxes = " $checkboxes " : actions = " [
'This database will be stopped.' ,
'If the database is currently in use data could be lost.' ,
'All non-persistent data of this database (containers, networks, unused images) will be deleted (don\'t worry, no data is lost and you can start the database again).' ,
] " :confirmWithText= " false " :confirmWithPassword= " false "
step1ButtonText = " Continue " step2ButtonText = " Stop Database " : dispatchEvent = " true "
dispatchEventType = " stopEvent " >
< x - slot : button - title >
< svg xmlns = " http://www.w3.org/2000/svg " class = " w-5 h-5 text-error " viewBox = " 0 0 24 24 "
stroke - width = " 2 " stroke = " currentColor " fill = " none " stroke - linecap = " round "
stroke - linejoin = " round " >
< path stroke = " none " d = " M0 0h24v24H0z " fill = " none " ></ path >
< path d = " M6 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z " >
</ path >
< path
d = " M14 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z " >
</ path >
</ svg >
Stop
</ x - slot : button - title >
</ x - modal - confirmation >
@ else
< button @ click = " $wire .dispatch('startEvent') " class = " gap-2 button " >
< svg xmlns = " http://www.w3.org/2000/svg " class = " w-5 h-5 dark:text-warning " viewBox = " 0 0 24 24 "
stroke - width = " 1.5 " stroke = " currentColor " fill = " none " stroke - linecap = " round "
2024-09-20 15:28:55 +00:00
stroke - linejoin = " round " >
2025-01-24 10:14:55 +00:00
< path stroke = " none " d = " M0 0h24v24H0z " fill = " none " />
< path d = " M7 4v16l13 -8z " />
2024-09-20 15:28:55 +00:00
</ svg >
2025-01-24 10:14:55 +00:00
Start
</ button >
@ endif
@ script
< script >
$wire . $on ( 'startEvent' , () => {
window . dispatchEvent ( new CustomEvent ( 'startdatabase' ));
$wire . $call ( 'start' );
});
$wire . $on ( 'stopEvent' , () => {
$wire . $dispatch ( 'info' , 'Stopping database.' );
$wire . $call ( 'stop' );
});
$wire . $on ( 'restartEvent' , () => {
$wire . $dispatch ( 'info' , 'Restarting database.' );
$wire . $call ( 'restart' );
});
</ script >
@ endscript
</ div >
@ else
< div class = " text-error " > Underlying server is not functional .</ div >
@ endif
2024-03-21 11:44:32 +00:00
</ div >
2024-09-20 15:28:55 +00:00
</ nav >