36
common/resources/views/install/admin.blade.php
Executable file
36
common/resources/views/install/admin.blade.php
Executable file
@@ -0,0 +1,36 @@
|
||||
<x-install-layout>
|
||||
<p class="mb-24">Enter credentials for the super admin account.</p>
|
||||
|
||||
@if($errors->hasAny())
|
||||
<div class="bg-danger p-10 mb-20 rounded-md text-white ">
|
||||
<div class="font-semibold mb-6">There was an issue. This is the error message:</div>
|
||||
<div class="text-sm">{{$errors->first()}}</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{ url('install/admin/validate') }}" method="post" class="w-full">
|
||||
@csrf
|
||||
<div class="mb-20">
|
||||
<label for="email" class="block mb-4 text-sm">Admin email</label>
|
||||
<input type="text" name="email" id="email" class="block py-8 px-12 border rounded shadow w-full" value="{{ old('email') }}" required>
|
||||
@if($errors->has('email'))
|
||||
<div class="text-danger text-sm mt-4">{{$errors->get('email')[0]}}</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="password" class="block mb-4 text-sm">Admin password</label>
|
||||
<input type="password" name="password" id="password" class="block py-8 px-12 border rounded shadow w-full" value="{{ old('password') }}" required>
|
||||
@if($errors->has('password'))
|
||||
<div class="text-danger text-sm mt-4">{{$errors->get('password')[0]}}</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="password_confirmation" class="block mb-4 text-sm">Confirm password</label>
|
||||
<input type="password" name="password_confirmation" id="password_confirmation" class="block py-8 px-12 border rounded shadow w-full" value="{{ old('password_confirmation') }}" required>
|
||||
@if($errors->has('password_confirmation'))
|
||||
<div class="text-danger text-sm mt-4">{{$errors->get('password_confirmation')[0]}}</div>
|
||||
@endif
|
||||
</div>
|
||||
<x-install-button>Continue</x-install-button>
|
||||
</form>
|
||||
</x-install-layout>
|
||||
5
common/resources/views/install/components/install-button.blade.php
Executable file
5
common/resources/views/install/components/install-button.blade.php
Executable file
@@ -0,0 +1,5 @@
|
||||
@if($attributes->has('href'))
|
||||
<a href="{{ $attributes->get('href') }}" type="submit" class="mt-24 block w-max py-8 px-16 bg-primary font-semibold text-on-primary rounded shadow active:bg-primary-dark focus:ring">{{$slot}}</a>
|
||||
@else
|
||||
<button type="submit" class="mt-24 block w-max py-8 px-16 bg-primary font-semibold text-on-primary rounded shadow active:bg-primary-dark focus:ring">{{$slot}}</button>
|
||||
@endif
|
||||
23
common/resources/views/install/components/install-layout.blade.php
Executable file
23
common/resources/views/install/components/install-layout.blade.php
Executable file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
$cssVariables = collect(config('common.themes.light'))
|
||||
->mapWithKeys(fn($value, $key) => [$key => $value])
|
||||
->map(fn($value, $key) => "$key: $value;")
|
||||
->implode('');
|
||||
$buttonClass =
|
||||
'py-8 px-16 bg-primary font-semibold text-on-primary rounded shadow active:bg-primary-dark focus:ring';
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html style="{{$cssVariables}}">
|
||||
<head>
|
||||
<title>Install</title>
|
||||
@vite('resources/client/main.css')
|
||||
</head>
|
||||
<body class="bg-alt flex flex-col items-center justify-center text-main">
|
||||
<img src="{{ file_exists(public_path('images/logo-dark.png')) ? asset('images/logo-dark.png') : asset('images/logo-dark.svg') }}" alt="Logo" class="h-40 mb-34" />
|
||||
<div class="w-780 p-24 rounded-md bg shadow border">
|
||||
{{$slot}}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
40
common/resources/views/install/database.blade.php
Executable file
40
common/resources/views/install/database.blade.php
Executable file
@@ -0,0 +1,40 @@
|
||||
<x-install-layout>
|
||||
<p class="mb-24">Below you should enter your database connection details. If you're not sure about these, contact your hosting provider.</p>
|
||||
|
||||
@if($errors->has('database'))
|
||||
<div class="bg-danger p-10 mb-20 rounded-md text-white ">
|
||||
<div class="font-semibold mb-6">There was an issue. This is the error message:</div>
|
||||
<div class="text-sm">{{$errors->get('database')[0]}}</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{ url('install/database/validate') }}" method="post" class="w-full">
|
||||
@csrf
|
||||
<div class="mb-20">
|
||||
<label for="host" class="block mb-4 text-sm">Database host</label>
|
||||
<input type="text" name="host" id="host" class="block py-8 px-12 border rounded shadow w-full" value="{{ $host ?? 'localhost' }}" required>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="database" class="block mb-4 text-sm">Database name</label>
|
||||
<input type="text" name="database" id="database" class="block py-8 px-12 border rounded shadow w-full" value="{{ $database ?? 'database' }}" required>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="username" class="block mb-4 text-sm">Database username</label>
|
||||
<input type="text" name="username" id="username" class="block py-8 px-12 border rounded shadow w-full" value="{{ $username ?? 'root' }}" required>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="password" class="block mb-4 text-sm">Database password</label>
|
||||
<input type="password" name="password" id="password" class="block py-8 px-12 border rounded shadow w-full" value="{{ $password ?? '' }}">
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="port" class="block mb-4 text-sm">Database port</label>
|
||||
<input type="text" name="port" id="port" class="block py-8 px-12 border rounded shadow w-full" value="{{ $port ?? '3306' }}" placeholder="Optional">
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<label for="prefix" class="block mb-4 text-sm">Database prefix</label>
|
||||
<input type="text" name="prefix" id="prefix" class="block py-8 px-12 border rounded shadow w-full" value="{{ $prefix ?? '' }}" placeholder="Optional">
|
||||
</div>
|
||||
|
||||
<x-install-button>Continue</x-install-button>
|
||||
</form>
|
||||
</x-install-layout>
|
||||
24
common/resources/views/install/finalize.blade.php
Executable file
24
common/resources/views/install/finalize.blade.php
Executable file
@@ -0,0 +1,24 @@
|
||||
<x-install-layout>
|
||||
<p class="mb-24 text-lg">Installation has been successfully completed!</p>
|
||||
|
||||
<div class="flex items-start gap-24 justify-between mb-24">
|
||||
<div>
|
||||
<div class="font-semibold mb-4">Website address</div>
|
||||
<div class="mb-4">Your website is located at this URL:</div>
|
||||
<p><a class="text-primary underline" href="{{$url}}">{{$url}}</a></p>
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<h4 class="font-semibold mb-4">Administration area</h4>
|
||||
<div class="mb-4">Use the following link to log into the administration area:</div>
|
||||
<p><a class="text-primary underline" href={{"$url/admin"}}>{{"$url/admin"}}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4>Support and questions</h4>
|
||||
<div>If you have any issues or questions please submit a ticket <a class="text-primary underline" target="_blank" href="https://support.vebto.com">here</a>. Thanks!</div>
|
||||
</div>
|
||||
|
||||
<x-install-button href="/">Done</x-install-button>
|
||||
</x-install-layout>
|
||||
13
common/resources/views/install/introduction.blade.php
Executable file
13
common/resources/views/install/introduction.blade.php
Executable file
@@ -0,0 +1,13 @@
|
||||
<x-install-layout>
|
||||
<p class="mb-24">Welcome to the {{config('app.name')}}. Before getting started, we need some information on the database. You will need to know the following items before proceeding.</p>
|
||||
<ol class="mb-24 list-decimal list-inside">
|
||||
<li>Database host</li>
|
||||
<li>Database name</li>
|
||||
<li>Database username</li>
|
||||
<li>Database password</li>
|
||||
</ol>
|
||||
<p class="mb-24">Most likely these items were supplied to you by your Web Host. If you don’t have this information, then you will need to contact them before you can continue.</p>
|
||||
<p>Installer will insert this information inside a configuration file so your site can communicate with your database.</p>
|
||||
<p>Need more help? <a class="text-primary underline hover:text-primary-dark" href="https://support.vebto.com/hc/articles/35/37/34/installation" target="_blank">See installation guide.</a></p>
|
||||
<x-install-button :href="url('install/requirements')">Continue</x-install-button>
|
||||
</x-install-layout>
|
||||
29
common/resources/views/install/requirements.blade.php
Executable file
29
common/resources/views/install/requirements.blade.php
Executable file
@@ -0,0 +1,29 @@
|
||||
<x-install-layout>
|
||||
@if($allPassed)
|
||||
<p class="mb-24">Your server meets all the requirements for {{config('app.name')}}. Click continue button below to proceed with the installation.</p>
|
||||
@else
|
||||
<p class="mb-24">We've found some issues that need to be fixed before you can proceed with the installation.</p>
|
||||
@endif
|
||||
@foreach($results as $groupName => $group)
|
||||
<div class="border-b py-12">
|
||||
<div class="flex items-center justify-between gap-24">
|
||||
<div class="capitalize">{{$groupName}}</div>
|
||||
@if($group['allPassed'])
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#22c55e"><path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>
|
||||
@else
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#ef4444"><path d="M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm-40-160h80v-240h-80v240Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>
|
||||
@endif
|
||||
</div>
|
||||
@if(!$group['allPassed'])
|
||||
@foreach($group['items'] as $item)
|
||||
@if(!$item['passes'])
|
||||
<p class="text-sm text-danger mt-10">{!! $item['errorMessage'] !!}</p>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
<x-install-button
|
||||
:href="$allPassed ? url('install/database') : url('install/requirements')"
|
||||
>{{ $allPassed ? 'Continue' : 'Check again' }}</x-install-button>
|
||||
</x-install-layout>
|
||||
12
common/resources/views/install/update-complete.blade.php
Executable file
12
common/resources/views/install/update-complete.blade.php
Executable file
@@ -0,0 +1,12 @@
|
||||
<x-install-layout>
|
||||
<p class="mb-24 text-lg">Update has been successfully completed!</p>
|
||||
|
||||
<p class="mb-24">You can close this page now and continue using the site.</p>
|
||||
|
||||
<div>
|
||||
<h4>Support and questions</h4>
|
||||
<div>If you have any issues or questions please submit a ticket <a class="text-primary underline" target="_blank" href="https://support.vebto.com">here</a>. Thanks!</div>
|
||||
</div>
|
||||
|
||||
<x-install-button href="/">Done</x-install-button>
|
||||
</x-install-layout>
|
||||
29
common/resources/views/install/update.blade.php
Executable file
29
common/resources/views/install/update.blade.php
Executable file
@@ -0,0 +1,29 @@
|
||||
<x-install-layout>
|
||||
@if($allPassed)
|
||||
<p class="mb-24">Your server meets all the requirements. Click continue button below to proceed with the update.</p>
|
||||
@else
|
||||
<p class="mb-24">We've found some issues that need to be fixed before you can proceed with the update.</p>
|
||||
@endif
|
||||
@foreach($results as $groupName => $group)
|
||||
<div class="border-b py-12">
|
||||
<div class="flex items-center justify-between gap-24">
|
||||
<div class="capitalize">{{$groupName}}</div>
|
||||
@if($group['allPassed'])
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#22c55e"><path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>
|
||||
@else
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#ef4444"><path d="M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm-40-160h80v-240h-80v240Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>
|
||||
@endif
|
||||
</div>
|
||||
@if(!$group['allPassed'])
|
||||
@foreach($group['items'] as $item)
|
||||
@if(!$item['passes'])
|
||||
<p class="text-sm text-danger mt-10">{{$item['errorMessage']}}</p>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
<x-install-button
|
||||
:href="$allPassed ? url('update/perform') : url('update')"
|
||||
>{{ $allPassed ? 'Continue' : 'Check again' }}</x-install-button>
|
||||
</x-install-layout>
|
||||
Reference in New Issue
Block a user