Compare commits
30 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3b944f450 | ||
|
|
e197a915b3 | ||
|
|
db1240c43f | ||
|
|
732ed7ea43 | ||
|
|
e776ae299a | ||
|
|
b8c07cde53 | ||
|
|
6eb36a84af | ||
|
|
9622a08b74 | ||
|
|
4d11e3939a | ||
|
|
592bc2b0f6 | ||
|
|
33ccdd1b2d | ||
|
|
065773fb6f | ||
|
|
e26a7c2a50 | ||
|
|
022caacb24 | ||
|
|
b5da1367d0 | ||
|
|
175134233b | ||
|
|
072018b122 | ||
|
|
694254cd21 | ||
|
|
8b5c5734c1 | ||
|
|
528868c1df | ||
|
|
ba2b932bb8 | ||
|
|
a986d4316e | ||
|
|
f05206f940 | ||
|
|
2d6a5fa770 | ||
|
|
cd29843a88 | ||
|
|
5a6e742fd9 | ||
|
|
6a991aa320 | ||
|
|
1a61a01628 | ||
|
|
896564990d | ||
|
|
3fa5bb7df9 |
@@ -7,7 +7,6 @@ APP_DEMO=false
|
||||
APP_DATE_TIME_FORMAT="Y-m-d H:i:s"
|
||||
|
||||
PLOI_TOKEN=
|
||||
PLOI_CORE_TOKEN=
|
||||
|
||||
IMPERSONATION=false
|
||||
|
||||
|
||||
2
.github/workflows/run-tests.yml
vendored
2
.github/workflows/run-tests.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
php: [8.2]
|
||||
php: [8.4]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -21,3 +21,4 @@ yarn-error.log
|
||||
rr
|
||||
.rr.yaml
|
||||
.DS_Store
|
||||
.phpunit.cache
|
||||
|
||||
@@ -15,4 +15,5 @@ return (new PhpCsFixer\Config)
|
||||
'ordered_imports' => ['sort_algorithm' => 'length'],
|
||||
'no_unused_imports' => true,
|
||||
])
|
||||
->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect())
|
||||
->setFinder($finder);
|
||||
|
||||
122
CLAUDE.md
Normal file
122
CLAUDE.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
Ploi Core is a Laravel-based webhosting management platform that allows users to launch their own webhosting service using ploi.io as the backend infrastructure.
|
||||
|
||||
## Essential Commands
|
||||
|
||||
### Development
|
||||
```bash
|
||||
# Start development server
|
||||
npm run dev
|
||||
|
||||
# Build for production
|
||||
npm run build
|
||||
|
||||
# Watch for changes
|
||||
npm run watch
|
||||
|
||||
# Format PHP code
|
||||
composer format
|
||||
|
||||
# Run tests
|
||||
php artisan test
|
||||
php artisan test --filter=TestName
|
||||
|
||||
# Run browser tests
|
||||
php artisan dusk
|
||||
|
||||
# Clear all caches
|
||||
php artisan cache:clear
|
||||
php artisan config:clear
|
||||
php artisan route:clear
|
||||
php artisan view:clear
|
||||
|
||||
# Queue management
|
||||
php artisan horizon
|
||||
php artisan queue:work
|
||||
```
|
||||
|
||||
### Database
|
||||
```bash
|
||||
# Run migrations
|
||||
php artisan migrate
|
||||
|
||||
# Rollback migrations
|
||||
php artisan migrate:rollback
|
||||
|
||||
# Fresh migration with seeders
|
||||
php artisan migrate:fresh --seed
|
||||
```
|
||||
|
||||
### Custom Artisan Commands
|
||||
```bash
|
||||
php artisan core:install # Initial installation
|
||||
php artisan core:synchronize # Sync with Ploi API
|
||||
php artisan core:cleanup # Clean up resources
|
||||
php artisan core:trial # Manage trials
|
||||
```
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
### Technology Stack
|
||||
- **Backend**: Laravel 11 (PHP 8.2+), Filament v3 admin panel
|
||||
- **Frontend**: Vue 3 with Inertia.js, Tailwind CSS, Vite
|
||||
- **Queue**: Laravel Horizon with Redis
|
||||
- **Payments**: Laravel Cashier (Stripe)
|
||||
- **Testing**: Pest PHP, Laravel Dusk
|
||||
|
||||
### Key Directories
|
||||
- `app/Services/Ploi/` - Ploi.io API integration layer
|
||||
- `app/Filament/` - Admin panel resources and pages
|
||||
- `app/Http/Controllers/` - Web and API controllers
|
||||
- `app/Jobs/` - Async queue jobs for Ploi API operations
|
||||
- `resources/js/Pages/` - Inertia.js Vue pages
|
||||
- `resources/js/components/` - Reusable Vue components
|
||||
|
||||
### Ploi API Integration
|
||||
The application heavily integrates with the Ploi.io API. Key service class is at `app/Services/Ploi/Ploi.php`. All server/site management operations go through this API layer. Use queue jobs for long-running operations to avoid timeouts.
|
||||
|
||||
### Database Structure
|
||||
Main entities: Users, Packages, Servers, Sites, Databases, Certificates, Cronjobs. Multi-tenancy through user-server-site relationships. Role-based access: admin, reseller, user.
|
||||
|
||||
### Frontend Architecture
|
||||
- Inertia.js handles the Vue-Laravel bridge
|
||||
- Pages are in `resources/js/Pages/` following Laravel route structure
|
||||
- Shared data is passed via Inertia middleware
|
||||
- Vuex store modules in `resources/js/store/`
|
||||
- Form handling uses Inertia forms
|
||||
|
||||
### Testing Approach
|
||||
- Feature tests use Pest PHP syntax
|
||||
- Database tests use RefreshDatabase trait
|
||||
- API calls should be mocked using Http::fake()
|
||||
- Browser tests in `tests/Browser/` using Dusk
|
||||
|
||||
### Important Environment Variables
|
||||
```
|
||||
PLOI_TOKEN= # Ploi API token
|
||||
APP_DEMO=false # Demo mode toggle
|
||||
STRIPE_KEY= # Stripe public key
|
||||
STRIPE_SECRET= # Stripe secret key
|
||||
```
|
||||
|
||||
### Development Workflow
|
||||
1. Always run `npm run dev` for frontend changes
|
||||
2. Use queue workers for Ploi API operations
|
||||
3. Clear caches when changing config or routes
|
||||
4. Format code with `composer format` before commits
|
||||
5. Test with `php artisan test` for unit/feature tests
|
||||
|
||||
### Common Patterns
|
||||
- Use Actions (`app/Actions/`) for business logic
|
||||
- API responses follow Laravel's resource pattern
|
||||
- Filament resources handle admin CRUD operations
|
||||
- Queue jobs for async Ploi API calls
|
||||
- Service classes for external integrations
|
||||
|
||||
### Deployment
|
||||
Production deployment uses the `update.sh` script which handles git pull, composer install, migrations, and cache clearing. Laravel Horizon manages queues in production.
|
||||
@@ -22,7 +22,7 @@ class SynchronizeServerAction
|
||||
return null;
|
||||
}
|
||||
|
||||
if(!$serverData){
|
||||
if (!$serverData) {
|
||||
Notification::make()
|
||||
->title('Server synchronization')
|
||||
->body('It was not possible to synchronize servers, it seems the API key has the wrong scopes. Please make sure the Ploi API key you\'ve entered has all the scopes enabled.')
|
||||
|
||||
@@ -11,9 +11,19 @@ use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Console\Command;
|
||||
use App\Services\VersionChecker;
|
||||
use function Laravel\Prompts\info;
|
||||
use function Laravel\Prompts\note;
|
||||
use function Laravel\Prompts\spin;
|
||||
use function Laravel\Prompts\text;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use function Laravel\Prompts\error;
|
||||
use function Laravel\Prompts\intro;
|
||||
use function Laravel\Prompts\outro;
|
||||
use function Laravel\Prompts\select;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use function Laravel\Prompts\confirm;
|
||||
use function Laravel\Prompts\warning;
|
||||
use function Laravel\Prompts\password;
|
||||
|
||||
class Install extends Command
|
||||
{
|
||||
@@ -25,29 +35,34 @@ class Install extends Command
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$this->init();
|
||||
$this->intro();
|
||||
$this->isInstalled();
|
||||
$this->checkApplicationKey();
|
||||
$this->checkDatabaseConnection();
|
||||
$this->runDatabaseMigrations();
|
||||
$this->checkCredentials();
|
||||
$this->askAboutAdministrationAccount();
|
||||
$this->askAboutDefaultPackages();
|
||||
$this->checkApplicationUrl();
|
||||
$this->createInstallationFile();
|
||||
$this->linkStorage();
|
||||
try {
|
||||
$this->init();
|
||||
$this->intro();
|
||||
$this->isInstalled();
|
||||
$this->checkApplicationKey();
|
||||
$this->checkDatabaseConnection();
|
||||
$this->runDatabaseMigrations();
|
||||
$this->checkCredentials();
|
||||
$this->askAboutAdministrationAccount();
|
||||
$this->askAboutDefaultPackages();
|
||||
$this->checkApplicationUrl();
|
||||
$this->createInstallationFile();
|
||||
$this->linkStorage();
|
||||
|
||||
$this->info('Success! Installation has finished.');
|
||||
$this->line(' ');
|
||||
$this->writeSeparationLine();
|
||||
$this->info('Make sure to also setup emailing, the cronjob and the queue worker.');
|
||||
$this->line(' ');
|
||||
$this->info('Setting up emailing: https://docs.ploi-core.io/261-getting-started/918-setting-up-email');
|
||||
$this->info('Setting up cronjob & queue worker: https://docs.ploi-core.io/261-getting-started/638-installation');
|
||||
$this->writeSeparationLine();
|
||||
$this->line(' ');
|
||||
$this->info('Visit your platform at ' . env('APP_URL'));
|
||||
outro('🎉 Installation completed successfully!');
|
||||
|
||||
note(
|
||||
"Next steps:\n\n" .
|
||||
"📧 Setup email: https://docs.ploi-core.io/261-getting-started/918-setting-up-email\n" .
|
||||
"⚙️ Setup cron & queue: https://docs.ploi-core.io/261-getting-started/638-installation\n\n" .
|
||||
"Visit your platform at: " . env('APP_URL')
|
||||
);
|
||||
|
||||
return Command::SUCCESS;
|
||||
} catch (\Exception $e) {
|
||||
error('Installation failed: ' . $e->getMessage());
|
||||
return Command::FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
protected function init()
|
||||
@@ -58,96 +73,122 @@ class Install extends Command
|
||||
protected function askAboutAdministrationAccount()
|
||||
{
|
||||
if (!User::query()->where('role', User::ADMIN)->count()) {
|
||||
$this->info('Let\'s start by setting up your administration account.');
|
||||
note('Let\'s set up your administration account');
|
||||
|
||||
$name = $this->ask('What is your name', $this->company['user_name']);
|
||||
$email = $this->ask('What is your e-mail address', $this->company['email']);
|
||||
$password = $this->secret('What password do you desire');
|
||||
$name = text(
|
||||
label: 'What is your name?',
|
||||
default: $this->company['user_name'],
|
||||
required: true
|
||||
);
|
||||
|
||||
$check = User::where('email', $email)->count();
|
||||
$email = text(
|
||||
label: 'What is your email address?',
|
||||
default: $this->company['email'],
|
||||
required: true,
|
||||
validate: fn (string $value) => match (true) {
|
||||
!filter_var($value, FILTER_VALIDATE_EMAIL) => 'Please enter a valid email address.',
|
||||
User::where('email', $value)->exists() => 'This email is already registered in the system.',
|
||||
default => null
|
||||
}
|
||||
);
|
||||
|
||||
if ($check) {
|
||||
$this->line('');
|
||||
$this->comment('This user is already present in your system, please refresh your database or use different credentials.');
|
||||
$this->comment('Aborting installation..');
|
||||
$password = password(
|
||||
label: 'Choose a secure password',
|
||||
required: true,
|
||||
validate: fn (string $value) => match (true) {
|
||||
strlen($value) < 8 => 'Password must be at least 8 characters.',
|
||||
default => null
|
||||
}
|
||||
);
|
||||
|
||||
exit();
|
||||
}
|
||||
spin(
|
||||
function () use ($name, $email, $password) {
|
||||
User::forceCreate([
|
||||
'name' => $name,
|
||||
'email' => $email,
|
||||
'password' => $password,
|
||||
'role' => User::ADMIN
|
||||
]);
|
||||
},
|
||||
'Creating administrator account...'
|
||||
);
|
||||
|
||||
User::forceCreate([
|
||||
'name' => $name,
|
||||
'email' => $email,
|
||||
'password' => $password,
|
||||
'role' => User::ADMIN
|
||||
]);
|
||||
info('✓ Administrator account created successfully');
|
||||
} else {
|
||||
$this->line('Already found a administrator user in your system. Use that user to login.');
|
||||
note('Administrator account already exists. Use existing credentials to login.');
|
||||
}
|
||||
}
|
||||
|
||||
protected function askAboutDefaultPackages()
|
||||
{
|
||||
$basicPackages = $this->confirm(
|
||||
'Do you want to create the basic packages which you can edit later?',
|
||||
true
|
||||
$createPackages = confirm(
|
||||
label: 'Would you like to create default packages?',
|
||||
default: true,
|
||||
hint: 'Basic (5 sites), Professional (30 sites), and Unlimited packages'
|
||||
);
|
||||
|
||||
if (!$basicPackages) {
|
||||
if (!$createPackages) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Package::create([
|
||||
'name' => 'Basic',
|
||||
'maximum_sites' => 5,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
spin(
|
||||
function () {
|
||||
Package::create([
|
||||
'name' => 'Basic',
|
||||
'maximum_sites' => 5,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Professional',
|
||||
'maximum_sites' => 30,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
Package::create([
|
||||
'name' => 'Professional',
|
||||
'maximum_sites' => 30,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Unlimited',
|
||||
'maximum_sites' => 0,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
Package::create([
|
||||
'name' => 'Unlimited',
|
||||
'maximum_sites' => 0,
|
||||
'site_permissions' => [
|
||||
'create' => true,
|
||||
'update' => true,
|
||||
'delete' => true
|
||||
],
|
||||
'server_permissions' => [
|
||||
'create' => false,
|
||||
'update' => false,
|
||||
'delete' => false
|
||||
]
|
||||
]);
|
||||
},
|
||||
'Creating default packages...'
|
||||
);
|
||||
|
||||
info('✓ Created 3 default packages');
|
||||
}
|
||||
|
||||
protected function getCompany($ploiCoreKey, $token)
|
||||
protected function getCompany($token)
|
||||
{
|
||||
$response = Http::withHeaders([
|
||||
'Accept' => 'application/json',
|
||||
'Content-Type' => 'application/json',
|
||||
'X-Ploi-Core-Key' => $ploiCoreKey
|
||||
'Content-Type' => 'application/json'
|
||||
])
|
||||
->withToken($token)
|
||||
->get((new Ploi)->url . 'ping');
|
||||
@@ -170,28 +211,26 @@ class Install extends Command
|
||||
|
||||
protected function intro()
|
||||
{
|
||||
$this->writeSeparationLine();
|
||||
$this->line('Ploi Core Installation');
|
||||
$this->line('Ploi Core version: ' . $this->versionChecker->currentVersion);
|
||||
$this->line('Ploi Core remote: ' . $this->versionChecker->remoteVersion);
|
||||
$this->line('Laravel version: ' . app()->version());
|
||||
$this->line('PHP version: ' . trim(phpversion()));
|
||||
$this->line(' ');
|
||||
$this->line('Website: https://ploi-core.io');
|
||||
$this->line('E-mail: core@ploi.io');
|
||||
$this->line('Terms of service: https://ploi-core.io/terms');
|
||||
$this->writeSeparationLine();
|
||||
$this->line('');
|
||||
intro('🚀 Ploi Core Installation');
|
||||
|
||||
note(
|
||||
"Ploi Core v{$this->versionChecker->currentVersion} (Remote: v{$this->versionChecker->remoteVersion})\n" .
|
||||
"Laravel v" . app()->version() . " | PHP v" . trim(phpversion()) . "\n\n" .
|
||||
"Website: https://ploi-core.io\n" .
|
||||
"E-mail: core@ploi.io\n" .
|
||||
"Terms: https://ploi-core.io/terms"
|
||||
);
|
||||
}
|
||||
|
||||
protected function isInstalled()
|
||||
{
|
||||
if (file_exists(storage_path($this->installationFile)) && !$this->option('force')) {
|
||||
$this->line('');
|
||||
$this->comment('Ploi Core has already been installed before.');
|
||||
$this->comment('If you still want to start installation, remove this file to continue: ./storage/' . $this->installationFile);
|
||||
$this->comment('Aborting installation..');
|
||||
|
||||
warning('Ploi Core has already been installed before.');
|
||||
error(
|
||||
"To reinstall, either:\n" .
|
||||
"• Remove the file: ./storage/{$this->installationFile}\n" .
|
||||
"• Or run with --force flag"
|
||||
);
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -201,138 +240,215 @@ class Install extends Command
|
||||
protected function checkApplicationKey(): void
|
||||
{
|
||||
if (!config('app.key')) {
|
||||
$this->call('key:generate');
|
||||
|
||||
$this->info('Application key has been set');
|
||||
spin(
|
||||
fn () => $this->call('key:generate', [], $this->getOutput()),
|
||||
'Generating application key...'
|
||||
);
|
||||
info('✓ Application key has been set');
|
||||
}
|
||||
}
|
||||
|
||||
protected function checkApplicationUrl()
|
||||
{
|
||||
// Ask about URL
|
||||
$url = $this->ask('What URL is this platform using?', env('APP_URL'));
|
||||
$url = text(
|
||||
label: 'What URL will this platform use?',
|
||||
default: env('APP_URL', 'https://example.com'),
|
||||
required: true,
|
||||
validate: fn (string $value) => match (true) {
|
||||
!filter_var($value, FILTER_VALIDATE_URL) => 'Please enter a valid URL.',
|
||||
!str_starts_with($value, 'http://') && !str_starts_with($value, 'https://') => 'URL must start with http:// or https://',
|
||||
default => null
|
||||
},
|
||||
hint: 'Include the protocol (http:// or https://)'
|
||||
);
|
||||
|
||||
$this->writeToEnvironmentFile('APP_URL', $url);
|
||||
try {
|
||||
$this->writeToEnvironmentFile('APP_URL', $url);
|
||||
info('✓ Application URL configured');
|
||||
} catch (\Exception $e) {
|
||||
error('Failed to save application URL: ' . $e->getMessage());
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
protected function createInstallationFile()
|
||||
{
|
||||
file_put_contents(storage_path($this->installationFile), json_encode($this->getInstallationPayload(), JSON_PRETTY_PRINT));
|
||||
try {
|
||||
$path = storage_path($this->installationFile);
|
||||
$content = json_encode($this->getInstallationPayload(), JSON_PRETTY_PRINT);
|
||||
|
||||
if (file_put_contents($path, $content) === false) {
|
||||
error('Failed to create installation file');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
info('✓ Installation marker created');
|
||||
} catch (\Exception $e) {
|
||||
error('Error creating installation file: ' . $e->getMessage());
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
protected function linkStorage()
|
||||
{
|
||||
Artisan::call('storage:link');
|
||||
// Create storage symlink
|
||||
$publicPath = public_path('storage');
|
||||
$storagePath = storage_path('app/public');
|
||||
|
||||
// Remove existing symlink if it exists
|
||||
if (is_link($publicPath)) {
|
||||
unlink($publicPath);
|
||||
}
|
||||
|
||||
// Create new symlink
|
||||
if (!file_exists($publicPath)) {
|
||||
try {
|
||||
symlink($storagePath, $publicPath);
|
||||
info('✓ Storage symlink created');
|
||||
} catch (\Exception $e) {
|
||||
warning('Could not create storage symlink (may need manual creation)');
|
||||
}
|
||||
} else {
|
||||
info('✓ Storage path already exists');
|
||||
}
|
||||
}
|
||||
|
||||
protected function createDatabaseCredentials(): bool
|
||||
{
|
||||
$storeCredentials = $this->confirm(
|
||||
'Unable to connect to your database. Would you like to enter your credentials now?',
|
||||
true
|
||||
$storeCredentials = confirm(
|
||||
label: 'Would you like to configure database credentials now?',
|
||||
default: true
|
||||
);
|
||||
|
||||
if (!$storeCredentials) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$connection = $this->choice('Type', ['mysql', 'pgsql'], 0);
|
||||
$connection = select(
|
||||
label: 'Select database type',
|
||||
options: [
|
||||
'mysql' => 'MySQL / MariaDB',
|
||||
'pgsql' => 'PostgreSQL'
|
||||
],
|
||||
default: 'mysql'
|
||||
);
|
||||
|
||||
$defaultPort = $connection === 'mysql' ? '3306' : '5432';
|
||||
|
||||
$variables = [
|
||||
'DB_CONNECTION' => $connection,
|
||||
|
||||
'DB_HOST' => $this->anticipate(
|
||||
'Host',
|
||||
['127.0.0.1', 'localhost'],
|
||||
config("database.connections.{$connection}.host", '127.0.0.1')
|
||||
'DB_HOST' => text(
|
||||
label: 'Database host',
|
||||
default: config("database.connections.{$connection}.host", '127.0.0.1'),
|
||||
required: true,
|
||||
hint: 'Usually 127.0.0.1 or localhost'
|
||||
),
|
||||
|
||||
'DB_PORT' => $this->ask(
|
||||
'Port',
|
||||
config("database.connections.{$connection}.port", '3306')
|
||||
'DB_PORT' => text(
|
||||
label: 'Database port',
|
||||
default: config("database.connections.{$connection}.port", $defaultPort),
|
||||
required: true
|
||||
),
|
||||
|
||||
'DB_DATABASE' => $this->ask(
|
||||
'Database',
|
||||
config("database.connections.{$connection}.database")
|
||||
'DB_DATABASE' => text(
|
||||
label: 'Database name',
|
||||
default: config("database.connections.{$connection}.database", 'ploi_core'),
|
||||
required: true
|
||||
),
|
||||
|
||||
'DB_USERNAME' => $this->ask(
|
||||
'Username',
|
||||
config("database.connections.{$connection}.username")
|
||||
'DB_USERNAME' => text(
|
||||
label: 'Database username',
|
||||
default: config("database.connections.{$connection}.username", 'root'),
|
||||
required: true
|
||||
),
|
||||
|
||||
'DB_PASSWORD' => $this->secret(
|
||||
'Password',
|
||||
config("database.connections.{$connection}.password")
|
||||
),
|
||||
'DB_PASSWORD' => password(
|
||||
label: 'Database password',
|
||||
hint: 'Leave empty if no password is set'
|
||||
) ?: '',
|
||||
];
|
||||
|
||||
$this->persistVariables($variables);
|
||||
spin(
|
||||
fn () => $this->persistVariables($variables),
|
||||
'Saving database configuration...'
|
||||
);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function checkCredentials()
|
||||
{
|
||||
do {
|
||||
$ploiApiToken = $this->ask('Enter the Ploi API token', env('PLOI_TOKEN'));
|
||||
} while (empty($ploiApiToken));
|
||||
$ploiApiToken = text(
|
||||
label: 'Enter your Ploi API token',
|
||||
default: env('PLOI_TOKEN'),
|
||||
required: true,
|
||||
hint: 'You can find this in your Ploi account settings'
|
||||
);
|
||||
|
||||
do {
|
||||
$ploiCoreKey = $this->ask('Enter the Ploi Core key', env('PLOI_CORE_TOKEN'));
|
||||
} while (empty($ploiCoreKey));
|
||||
|
||||
$this->company = $this->getCompany($ploiCoreKey, $ploiApiToken);
|
||||
$this->company = spin(
|
||||
fn () => $this->getCompany($ploiApiToken),
|
||||
'Authenticating with Ploi API...'
|
||||
);
|
||||
|
||||
if (!$this->company) {
|
||||
$this->error('Could not authenticate with ploi.io, please retry by running this command again.');
|
||||
|
||||
error('Could not authenticate with ploi.io');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($this->company['error'])) {
|
||||
$this->error($this->company['error']);
|
||||
|
||||
error($this->company['error']);
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($this->company['user']['subscription'] !== 'unlimited') {
|
||||
$this->error('Your subscription does not cover the usage of Ploi Core. Please upgrade your subscription to Unlimited.');
|
||||
|
||||
error('Your Ploi subscription does not support Ploi Core.');
|
||||
warning('Please upgrade to the Unlimited plan at https://ploi.io');
|
||||
exit();
|
||||
}
|
||||
|
||||
info('✓ Successfully authenticated with Ploi');
|
||||
|
||||
$this->writeToEnvironmentFile('PLOI_TOKEN', $ploiApiToken);
|
||||
$this->writeToEnvironmentFile('PLOI_CORE_TOKEN', $ploiCoreKey);
|
||||
|
||||
$name = $this->ask('What is the name of your company? (Press enter to keep the name here)', $this->company['name']);
|
||||
$name = text(
|
||||
label: 'What is the name of your company?',
|
||||
default: $this->company['name'],
|
||||
required: true
|
||||
);
|
||||
|
||||
$this->writeToEnvironmentFile('APP_NAME', $name);
|
||||
|
||||
setting(['name' => $name]);
|
||||
}
|
||||
|
||||
protected function runDatabaseMigrations()
|
||||
{
|
||||
$this->info('Running database migrations..');
|
||||
$this->call('migrate', ['--force' => true]);
|
||||
$this->info('Database migrations successful');
|
||||
spin(
|
||||
fn () => $this->call('migrate', ['--force' => true], $this->getOutput()),
|
||||
'Running database migrations...'
|
||||
);
|
||||
info('✓ Database migrations completed');
|
||||
}
|
||||
|
||||
protected function checkDatabaseConnection(): void
|
||||
{
|
||||
try {
|
||||
DB::connection()->getPdo();
|
||||
$this->info('Database connection successful.');
|
||||
spin(
|
||||
fn () => DB::connection()->getPdo(),
|
||||
'Testing database connection...'
|
||||
);
|
||||
info('✓ Database connection successful');
|
||||
} catch (Exception $e) {
|
||||
warning('Unable to connect to database');
|
||||
|
||||
try {
|
||||
if (!$this->createDatabaseCredentials()) {
|
||||
$this->error('A database connection could not be established. Please update your configuration and try again.');
|
||||
error('Database connection could not be established.');
|
||||
$this->printDatabaseConfig();
|
||||
exit();
|
||||
}
|
||||
} catch (RuntimeException $e) {
|
||||
$this->error('Failed to persist environment configuration.');
|
||||
error('Failed to persist environment configuration.');
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -344,14 +460,15 @@ class Install extends Command
|
||||
{
|
||||
$connection = config('database.default');
|
||||
|
||||
$this->line('');
|
||||
$this->info('Database Configuration:');
|
||||
$this->line("- Connection: {$connection}");
|
||||
$this->line('- Host: ' . config("database.connections.{$connection}.host"));
|
||||
$this->line('- Port: ' . config("database.connections.{$connection}.port"));
|
||||
$this->line('- Database: ' . config("database.connections.{$connection}.database"));
|
||||
$this->line('- Username: ' . config("database.connections.{$connection}.username"));
|
||||
$this->line('- Password: ' . config("database.connections.{$connection}.password"));
|
||||
note(
|
||||
"Current Database Configuration:\n" .
|
||||
"• Connection: {$connection}\n" .
|
||||
"• Host: " . config("database.connections.{$connection}.host") . "\n" .
|
||||
"• Port: " . config("database.connections.{$connection}.port") . "\n" .
|
||||
"• Database: " . config("database.connections.{$connection}.database") . "\n" .
|
||||
"• Username: " . config("database.connections.{$connection}.username") . "\n" .
|
||||
"• Password: " . (config("database.connections.{$connection}.password") ? '***' : '(not set)')
|
||||
);
|
||||
}
|
||||
|
||||
protected function persistVariables(array $connectionData): void
|
||||
@@ -407,8 +524,4 @@ class Install extends Command
|
||||
$this->laravel['config'][$key] = $value;
|
||||
}
|
||||
|
||||
protected function writeSeparationLine()
|
||||
{
|
||||
$this->info('*---------------------------------------------------------------------------*');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ class AlertResource extends Resource
|
||||
Alert::TYPE_INFO => __('Informational'),
|
||||
Alert::TYPE_WARNING => __('Warning'),
|
||||
Alert::TYPE_DANGER => __('Danger'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'primary' => Alert::TYPE_INFO,
|
||||
|
||||
@@ -5,7 +5,6 @@ namespace App\Filament\Resources\AlertResource\Pages;
|
||||
use Filament\Actions;
|
||||
use App\Filament\Resources\AlertResource;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
use Illuminate\Contracts\Support\Htmlable;
|
||||
|
||||
class ListAlerts extends ListRecords
|
||||
{
|
||||
|
||||
@@ -54,6 +54,7 @@ class CertificateResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Certificate::STATUS_BUSY => __('Busy'),
|
||||
Certificate::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Certificate::STATUS_BUSY,
|
||||
|
||||
@@ -39,6 +39,7 @@ class CronjobResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Cronjob::STATUS_BUSY => __('Busy'),
|
||||
Cronjob::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Cronjob::STATUS_BUSY,
|
||||
|
||||
@@ -45,6 +45,7 @@ class DatabaseResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Database::STATUS_BUSY => __('Busy'),
|
||||
Database::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Database::STATUS_BUSY,
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\PackageResource\Pages;
|
||||
use App\Filament\Resources\PackageResource\RelationManagers;
|
||||
use Filament\Forms;
|
||||
use Filament\Tables;
|
||||
use App\Models\Package;
|
||||
use App\Models\Provider;
|
||||
use App\Models\ProviderPlan;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use App\Models\ProviderPlan;
|
||||
use Filament\Resources\Resource;
|
||||
use Illuminate\Support\HtmlString;
|
||||
use Filament\Notifications\Notification;
|
||||
use App\Filament\Resources\PackageResource\Pages;
|
||||
use App\Filament\Resources\PackageResource\RelationManagers;
|
||||
|
||||
class PackageResource extends Resource
|
||||
{
|
||||
@@ -134,8 +134,8 @@ class PackageResource extends Resource
|
||||
}),
|
||||
Forms\Components\CheckboxList::make("provider_plans")
|
||||
->label(__('Select plans'))
|
||||
->options(fn() => $provider->plans->mapWithKeys(fn(ProviderPlan $providerPlan) => [$providerPlan->id => $providerPlan->label ?? $providerPlan->plan_id])->all())
|
||||
->visible(fn(Forms\Get $get) => $get('select_specific_provider_plans'))
|
||||
->options(fn () => $provider->plans->mapWithKeys(fn (ProviderPlan $providerPlan) => [$providerPlan->id => $providerPlan->label ?? $providerPlan->plan_id])->all())
|
||||
->visible(fn (Forms\Get $get) => $get('select_specific_provider_plans'))
|
||||
->reactive()
|
||||
->bulkToggleable()
|
||||
->columns(2)
|
||||
@@ -174,20 +174,20 @@ class PackageResource extends Resource
|
||||
->color('gray')
|
||||
->disabled(function (Package $record, Forms\Get $get) {
|
||||
$providers = collect($get('providers'))
|
||||
->map(fn(string $id): int => (int)$id)
|
||||
->map(fn (string $id): int => (int)$id)
|
||||
->sort();
|
||||
|
||||
return $record->providers->pluck('id')->map(fn(string $id): int => (int)$id)->sort()->toArray() !== $providers->all();
|
||||
return $record->providers->pluck('id')->map(fn (string $id): int => (int)$id)->sort()->toArray() !== $providers->all();
|
||||
})
|
||||
]),
|
||||
Forms\Components\Placeholder::make('save_warning')
|
||||
->content(__('You\'ve changed the available server providers. Please save your changes before you can manage the provider plans.'))
|
||||
->visible(function (Package $record, Forms\Get $get) {
|
||||
$providers = collect($get('providers'))
|
||||
->map(fn(string $id): int => (int)$id)
|
||||
->map(fn (string $id): int => (int)$id)
|
||||
->sort();
|
||||
|
||||
return $record->providers->pluck('id')->map(fn(string $id): int => (int)$id)->sort()->toArray() !== $providers->all();
|
||||
return $record->providers->pluck('id')->map(fn (string $id): int => (int)$id)->sort()->toArray() !== $providers->all();
|
||||
})
|
||||
->hiddenLabel(),
|
||||
])
|
||||
@@ -218,10 +218,10 @@ class PackageResource extends Resource
|
||||
return "Attached to stripe - {$record->price_monthly} {$record->currency}";
|
||||
}),
|
||||
Tables\Columns\TextColumn::make('maximum_sites')
|
||||
->formatStateUsing(fn(int $state) => $state === 0 ? __('Unlimited') : $state)
|
||||
->formatStateUsing(fn (int $state) => $state === 0 ? __('Unlimited') : $state)
|
||||
->label(__('Maximum sites')),
|
||||
Tables\Columns\TextColumn::make('maximum_servers')
|
||||
->formatStateUsing(fn(int $state) => $state === 0 ? __('Unlimited') : $state)
|
||||
->formatStateUsing(fn (int $state) => $state === 0 ? __('Unlimited') : $state)
|
||||
->label(__('Maximum servers')),
|
||||
Tables\Columns\TextColumn::make('users_count')
|
||||
->counts('users'),
|
||||
|
||||
@@ -59,6 +59,7 @@ class RedirectResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Redirect::STATUS_BUSY => __('Busy'),
|
||||
Redirect::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Redirect::STATUS_BUSY,
|
||||
|
||||
@@ -67,6 +67,7 @@ class ServerResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Server::STATUS_BUSY => __('Busy'),
|
||||
Server::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Server::STATUS_BUSY,
|
||||
|
||||
@@ -70,6 +70,7 @@ class SiteResource extends Resource
|
||||
->formatStateUsing(fn (string $state) => match ($state) {
|
||||
Site::STATUS_BUSY => __('Busy'),
|
||||
Site::STATUS_ACTIVE => __('Active'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'warning' => Site::STATUS_BUSY,
|
||||
|
||||
@@ -52,6 +52,7 @@ class SupportTicketResource extends Resource
|
||||
SupportTicket::STATUS_CLOSED => __('Closed'),
|
||||
SupportTicket::STATUS_CUSTOMER_REPLY => __('Customer Reply'),
|
||||
SupportTicket::STATUS_SUPPORT_REPLY => __('Support Reply'),
|
||||
default => __('Unknown status')
|
||||
})
|
||||
->colors([
|
||||
'primary' => [SupportTicket::STATUS_OPEN, SupportTicket::STATUS_SUPPORT_REPLY, SupportTicket::STATUS_CUSTOMER_REPLY],
|
||||
|
||||
@@ -45,7 +45,7 @@ class ViewSupportTicket extends Page
|
||||
->success()
|
||||
->send();
|
||||
|
||||
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->getRecord()]));
|
||||
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->record]));
|
||||
})
|
||||
->visible(fn (self $livewire) => $livewire->record->status !== SupportTicket::STATUS_CLOSED)
|
||||
->color('danger'),
|
||||
@@ -60,7 +60,7 @@ class ViewSupportTicket extends Page
|
||||
->success()
|
||||
->send();
|
||||
|
||||
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->getRecord()]));
|
||||
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->record]));
|
||||
})
|
||||
->visible(fn (self $livewire) => $livewire->record->status === SupportTicket::STATUS_CLOSED)
|
||||
->color('primary'),
|
||||
|
||||
@@ -208,9 +208,14 @@ class ProfileBillingController extends Controller
|
||||
|
||||
public function pdf(Request $request, $id)
|
||||
{
|
||||
$invoice = $request->user()->findInvoice($id);
|
||||
$planId = $invoice->lines->data[0]->plan->id;
|
||||
|
||||
$plan = Package::query()->where('stripe_plan_id', $planId)->first();
|
||||
|
||||
return $request->user()->downloadInvoice($id, [
|
||||
'vendor' => setting('name'),
|
||||
'product' => 'Webhosting',
|
||||
'product' => $plan->name,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,6 @@ class InstallationComplete
|
||||
protected function isInstallationComplete()
|
||||
{
|
||||
return config('app.key') &&
|
||||
config('services.ploi.token') &&
|
||||
config('services.ploi.core-token');
|
||||
config('services.ploi.token');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,7 @@ class Ping implements ShouldQueue
|
||||
|
||||
$response = Http::withHeaders([
|
||||
'Accept' => 'application/json',
|
||||
'Content-Type' => 'application/json',
|
||||
'X-Ploi-Core-Key' => config('services.ploi.core-token')
|
||||
'Content-Type' => 'application/json'
|
||||
])
|
||||
->withToken(config('services.ploi.token'))
|
||||
->post((new Ploi)->url . 'ping', [
|
||||
|
||||
@@ -7,6 +7,7 @@ use Sushi\Sushi;
|
||||
use App\Services\Ploi\Ploi;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Filament\Notifications\Notification;
|
||||
|
||||
class AvailableServer extends Model
|
||||
{
|
||||
@@ -14,13 +15,23 @@ class AvailableServer extends Model
|
||||
|
||||
public function getRows(): array
|
||||
{
|
||||
$availableServers = Ploi::make()
|
||||
->synchronize()
|
||||
->servers()
|
||||
->getData();
|
||||
try {
|
||||
$availableServers = Ploi::make()
|
||||
->synchronize()
|
||||
->servers()
|
||||
->getData();
|
||||
} catch (\Throwable $e) {
|
||||
Notification::make('wrong')
|
||||
->title('Synchronize')
|
||||
->body('Something went wrong when gathering the available servers: '. $e->getMessage())
|
||||
->danger()
|
||||
->send();
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
return collect($availableServers)
|
||||
->map(fn (stdClass $server): array => Arr::only((array) $server, ['id', 'name', 'ip_address', 'sites_count']))
|
||||
->map(fn (stdClass $server): array => Arr::only((array)$server, ['id', 'name', 'ip_address', 'sites_count']))
|
||||
->all();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,21 +55,13 @@ class User extends Authenticatable implements HasLocalePreference, TwoFactorAuth
|
||||
'keyboard_shortcuts' => 'boolean',
|
||||
'requires_password_for_ftp' => 'boolean',
|
||||
'trial_ends_at' => 'datetime',
|
||||
'password' => 'hashed'
|
||||
];
|
||||
|
||||
protected $appends = [
|
||||
'avatar',
|
||||
];
|
||||
|
||||
public function setPasswordAttribute($value)
|
||||
{
|
||||
if (! $value) {
|
||||
$this->attributes['password'] = null;
|
||||
} else {
|
||||
$this->attributes['password'] = bcrypt($value);
|
||||
}
|
||||
}
|
||||
|
||||
public function canAccessPanel(Panel $panel): bool
|
||||
{
|
||||
return $this->role === self::ADMIN;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace Services\Ploi\Exceptions\Resource;
|
||||
namespace App\Services\Ploi\Exceptions\Resource;
|
||||
|
||||
use Exception;
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Services\Ploi\Exceptions\Resource\Server\Site;
|
||||
namespace App\Services\Ploi\Exceptions\Resource\Server\Site;
|
||||
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* Class DomainAlreadyExists
|
||||
*
|
||||
* @package Services\Ploi\Exceptions\Resource\Server\Site
|
||||
* @package App\Services\Ploi\Exceptions\Resource\Server\Site
|
||||
*/
|
||||
class DomainAlreadyExists extends Exception
|
||||
{
|
||||
|
||||
@@ -23,11 +23,9 @@ class Ploi
|
||||
|
||||
private $apiToken;
|
||||
|
||||
private $apiCoreToken;
|
||||
|
||||
protected PendingRequest $client;
|
||||
|
||||
public function __construct(string $token = null, string $coreApiToken = null)
|
||||
public function __construct(string $token = null)
|
||||
{
|
||||
$this->url = config('services.ploi-api.url');
|
||||
|
||||
@@ -35,13 +33,7 @@ class Ploi
|
||||
$token = config('services.ploi.token');
|
||||
}
|
||||
|
||||
if (!$coreApiToken) {
|
||||
$coreApiToken = config('services.ploi.core-token');
|
||||
}
|
||||
|
||||
$this->setApiToken($token);
|
||||
$this->setCoreApiToken($coreApiToken);
|
||||
|
||||
$this->buildClient();
|
||||
}
|
||||
|
||||
@@ -58,14 +50,6 @@ class Ploi
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setCoreApiToken($coreApiToken): self
|
||||
{
|
||||
// Set the token
|
||||
$this->apiCoreToken = $coreApiToken;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function buildClient(): static
|
||||
{
|
||||
$this->client = Http::baseUrl($this->url)
|
||||
@@ -73,7 +57,7 @@ class Ploi
|
||||
'Authorization' => 'Bearer ' . $this->getApiToken(),
|
||||
'Accept' => 'application/json',
|
||||
'Content-Type' => 'application/json',
|
||||
'X-Ploi-Core-Key' => $this->getCoreApiToken(),
|
||||
'X-Custom-Ploi-Agent' => 'Ploi-Core',
|
||||
]);
|
||||
|
||||
if (app()->isLocal()) {
|
||||
@@ -88,11 +72,6 @@ class Ploi
|
||||
return $this->apiToken;
|
||||
}
|
||||
|
||||
public function getCoreApiToken(): string
|
||||
{
|
||||
return $this->apiCoreToken;
|
||||
}
|
||||
|
||||
public function makeAPICall(string $url, string $method = 'get', array $options = []): Response
|
||||
{
|
||||
if (!in_array($method, ['get', 'post', 'patch', 'delete'])) {
|
||||
@@ -134,17 +113,17 @@ class Ploi
|
||||
return new Response($response);
|
||||
}
|
||||
|
||||
public function server(int $id = null)
|
||||
public function server(int $id = null): Server
|
||||
{
|
||||
return new Server($this, $id);
|
||||
}
|
||||
|
||||
public function user()
|
||||
public function user(): User
|
||||
{
|
||||
return new User($this);
|
||||
}
|
||||
|
||||
public function synchronize()
|
||||
public function synchronize(): Synchronize
|
||||
{
|
||||
return new Synchronize($this);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace App\Services\Ploi\Resources;
|
||||
use stdClass;
|
||||
use App\Services\Ploi\Ploi;
|
||||
use App\Services\Ploi\Exceptions\Http\NotValid;
|
||||
use Services\Ploi\Exceptions\Resource\RequiresId;
|
||||
use App\Services\Ploi\Exceptions\Resource\RequiresId;
|
||||
|
||||
class Server extends Resource
|
||||
{
|
||||
|
||||
@@ -5,8 +5,8 @@ namespace App\Services\Ploi\Resources;
|
||||
use stdClass;
|
||||
use Exception;
|
||||
use App\Services\Ploi\Exceptions\Http\NotValid;
|
||||
use Services\Ploi\Exceptions\Resource\RequiresId;
|
||||
use Services\Ploi\Exceptions\Resource\Server\Site\DomainAlreadyExists;
|
||||
use App\Services\Ploi\Exceptions\Resource\RequiresId;
|
||||
use App\Services\Ploi\Exceptions\Resource\Server\Site\DomainAlreadyExists;
|
||||
|
||||
/**
|
||||
* Class Site
|
||||
@@ -68,8 +68,7 @@ class Site extends Resource
|
||||
string $projectRoot = '/',
|
||||
string $systemUser = 'ploi',
|
||||
string $systemUserPassword = null
|
||||
): stdClass
|
||||
{
|
||||
): stdClass {
|
||||
// Remove the id
|
||||
$this->setId(null);
|
||||
|
||||
|
||||
@@ -15,21 +15,20 @@
|
||||
"calebporzio/sushi": "^2.4",
|
||||
"cloudflare/sdk": "^1.3",
|
||||
"doctrine/dbal": "^3.3",
|
||||
"filament/filament": "^3.0.62",
|
||||
"filament/filament": "^v3.2.131",
|
||||
"guzzlehttp/guzzle": "^7.4.1",
|
||||
"inertiajs/inertia-laravel": "^0.6.3",
|
||||
"laragear/two-factor": "^1.1",
|
||||
"laravel/cashier": "^13.17",
|
||||
"laravel/framework": "^10.5.1",
|
||||
"inertiajs/inertia-laravel": "^2.0",
|
||||
"laragear/two-factor": "^2.1.0",
|
||||
"laravel/cashier": "^15.0",
|
||||
"laravel/framework": "^11.0",
|
||||
"laravel/horizon": "^5.15",
|
||||
"laravel/octane": "^1.5.1",
|
||||
"laravel/octane": "^2.3",
|
||||
"laravel/tinker": "^2.0",
|
||||
"laravel/ui": "^4.2",
|
||||
"predis/predis": "^1.1",
|
||||
"saade/filament-laravel-log": "^3.0",
|
||||
"spatie/laravel-data": "^3.9",
|
||||
"spiral/roadrunner": "^2.8.2",
|
||||
"stechstudio/filament-impersonate": "3.0",
|
||||
"stechstudio/filament-impersonate": "3.15",
|
||||
"symfony/http-client": "^6.0",
|
||||
"symfony/mailgun-mailer": "^6.0",
|
||||
"symfony/postmark-mailer": "^6.0",
|
||||
@@ -38,13 +37,13 @@
|
||||
"require-dev": {
|
||||
"barryvdh/laravel-debugbar": "^3.3",
|
||||
"friendsofphp/php-cs-fixer": "^3.1.0",
|
||||
"fzaninotto/faker": "^1.9.1",
|
||||
"laravel/dusk": "^7.7",
|
||||
"fakerphp/faker": "^1.23",
|
||||
"laravel/dusk": "^8.0",
|
||||
"mockery/mockery": "^1.3.1",
|
||||
"nunomaduro/collision": "^6.1",
|
||||
"pestphp/pest": "^1.21",
|
||||
"pestphp/pest-plugin-laravel": "^1.2",
|
||||
"phpunit/phpunit": "^9.5.4",
|
||||
"nunomaduro/collision": "^8.1",
|
||||
"pestphp/pest": "^3.0",
|
||||
"pestphp/pest-plugin-laravel": "^3.0",
|
||||
"phpunit/phpunit": "^11.0",
|
||||
"spatie/laravel-ignition": "^2.0",
|
||||
"spatie/laravel-ray": "^1.29"
|
||||
},
|
||||
@@ -91,7 +90,6 @@
|
||||
"vendor/bin/php-cs-fixer fix"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"@php artisan horizon:publish",
|
||||
"@php artisan filament:upgrade"
|
||||
]
|
||||
},
|
||||
|
||||
8559
composer.lock
generated
8559
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -32,7 +32,6 @@ return [
|
||||
|
||||
'ploi' => [
|
||||
'token' => env('PLOI_TOKEN'),
|
||||
'core-token' => env('PLOI_CORE_TOKEN')
|
||||
],
|
||||
|
||||
'ploi-api' => [
|
||||
|
||||
@@ -18,7 +18,7 @@ class UserFactory extends Factory
|
||||
'name' => $this->faker->name,
|
||||
'email' => $this->faker->unique()->safeEmail,
|
||||
'email_verified_at' => now(),
|
||||
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||
'password' => 'password', // Will be hashed by the model's cast
|
||||
'remember_token' => Str::random(10),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->string('stripe_id')->nullable()->index();
|
||||
$table->string('pm_type')->nullable();
|
||||
$table->string('pm_last_four', 4)->nullable();
|
||||
$table->timestamp('trial_ends_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropIndex([
|
||||
'stripe_id',
|
||||
]);
|
||||
|
||||
$table->dropColumn([
|
||||
'stripe_id',
|
||||
'pm_type',
|
||||
'pm_last_four',
|
||||
'trial_ends_at',
|
||||
]);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('subscriptions', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignId('user_id');
|
||||
$table->string('type');
|
||||
$table->string('stripe_id')->unique();
|
||||
$table->string('stripe_status');
|
||||
$table->string('stripe_price')->nullable();
|
||||
$table->integer('quantity')->nullable();
|
||||
$table->timestamp('trial_ends_at')->nullable();
|
||||
$table->timestamp('ends_at')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
$table->index(['user_id', 'stripe_status']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('subscriptions');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('subscription_items', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignId('subscription_id');
|
||||
$table->string('stripe_id')->unique();
|
||||
$table->string('stripe_product');
|
||||
$table->string('stripe_price');
|
||||
$table->integer('quantity')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
$table->index(['subscription_id', 'stripe_price']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('subscription_items');
|
||||
}
|
||||
};
|
||||
7809
package-lock.json
generated
7809
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
38
package.json
38
package.json
@@ -11,38 +11,34 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||
"@inertiajs/inertia": "^0.11.1",
|
||||
"@inertiajs/inertia-vue3": "^0.6.0",
|
||||
"@inertiajs/vue3": "^2.0.17",
|
||||
"@rollup/plugin-commonjs": "^21.0",
|
||||
"@tailwindcss/forms": "^0.4.1",
|
||||
"@tailwindcss/forms": "^0.5.9",
|
||||
"@tailwindcss/typography": "^0.5.10",
|
||||
"@types/node": "^18.0.6",
|
||||
"@vue/compat": "^3.1.0",
|
||||
"@vue/compiler-sfc": "^3.1.0",
|
||||
"autoprefixer": "^10.4.16",
|
||||
"axios": "^1.6.7",
|
||||
"@vitejs/plugin-vue": "^6.0.1",
|
||||
"@vue/compat": "^3.5.13",
|
||||
"@vue/compiler-sfc": "^3.5.13",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"axios": "^1.7.9",
|
||||
"balloon-css": "^1.2.0",
|
||||
"click-outside-vue3": "^4.0.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"laravel-vite-plugin": "^2.0.0",
|
||||
"lodash": "^4.17.15",
|
||||
"laravel-vite-plugin": "^1.0.0",
|
||||
"mitt": "^3.0.0",
|
||||
"portal-vue": "^3.0.0",
|
||||
"postcss": "^8.4.30",
|
||||
"postcss": "^8.4.49",
|
||||
"resolve-url-loader": "^3.1.0",
|
||||
"sass": "^1.53.0",
|
||||
"sass-loader": "^8.0.0",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"sass": "^1.83.0",
|
||||
"sass-loader": "^16.0.0",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"tippy.js": "^6.3.7",
|
||||
"v-click-outside": "^3.2.0",
|
||||
"vite": "^5.1.3",
|
||||
"vue": "^3.1.0",
|
||||
"vite": "^7.1.2",
|
||||
"vue": "^3.5.13",
|
||||
"vue-clipboard2": "^0.3.1",
|
||||
"vue-loader": "^16.0.0",
|
||||
"vuex": "^4.0.2"
|
||||
"vue-loader": "^17.4.2",
|
||||
"vuex": "^4.1.0"
|
||||
},
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@vitejs/plugin-vue": "^5.0.4"
|
||||
}
|
||||
"type": "module"
|
||||
}
|
||||
|
||||
55
phpunit.xml
55
phpunit.xml
@@ -1,30 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true">
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<php>
|
||||
<server name="APP_KEY" value="base64:cd+nQxEjQRq47wnOEkDUgLm9ejXMQgrwp7u4XoRZKso="/>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="MAIL_MAILER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
<server name="PLOI_TOKEN" value="TEST" />
|
||||
<server name="PLOI_CORE_TOKEN" value="TEST" />
|
||||
</php>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.5/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true" cacheDirectory=".phpunit.cache">
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<php>
|
||||
<server name="APP_KEY" value="base64:cd+nQxEjQRq47wnOEkDUgLm9ejXMQgrwp7u4XoRZKso="/>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="MAIL_MAILER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
<server name="PLOI_TOKEN" value="TEST"/>
|
||||
</php>
|
||||
<source>
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
</include>
|
||||
</source>
|
||||
</phpunit>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true">
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
@@ -12,12 +13,8 @@
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">./app</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
<php>
|
||||
<server name="APP_KEY" value="base64:cd+nQxEjQRq47wnOEkDUgLm9ejXMQgrwp7u4XoRZKso="/>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
@@ -27,5 +24,7 @@
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
<server name="PLOI_TOKEN" value="TEST" />
|
||||
<server name="PLOI_CORE_TOKEN" value="TEST" />
|
||||
</php>
|
||||
</phpunit>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import TopBar from "./TopBar-Dv6SKowP.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-os4rmFxP.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,9 +1,9 @@
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -20,16 +20,6 @@ const _sfc_main = {
|
||||
NotificationBadge
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Page not found");
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { class: "space-y-4" }, [
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "We were unable to find this page."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, [
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "text-primary",
|
||||
href: "/"
|
||||
}, "Go home")
|
||||
])
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
@@ -53,19 +43,29 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[0] || (_cache[0] = [
|
||||
createTextVNode("Page not found", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [0]
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_2
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[1] || (_cache[1] = [
|
||||
createBaseVNode("div", { class: "space-y-4" }, [
|
||||
createBaseVNode("p", null, "We were unable to find this page."),
|
||||
createBaseVNode("p", null, [
|
||||
createBaseVNode("a", {
|
||||
class: "text-primary",
|
||||
href: "/"
|
||||
}, "Go home")
|
||||
])
|
||||
], -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [1]
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
@@ -1,22 +1,22 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, h as withDirectives, v as vModelCheckbox, d as withModifiers, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, b as createBaseVNode, d as withModifiers, h as withDirectives, v as vModelCheckbox, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -112,7 +112,6 @@ const _hoisted_1 = {
|
||||
for: "request_new_certificate",
|
||||
class: "ml-2 text-sm"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createTextVNode("Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -256,10 +255,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(alias)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_2
|
||||
], void 0, true),
|
||||
_: 2
|
||||
default: withCtx(() => _cache[3] || (_cache[3] = [
|
||||
createTextVNode("Delete ", -1)
|
||||
]), void 0, true),
|
||||
_: 2,
|
||||
__: [3]
|
||||
}, 1032, ["onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
@@ -1,17 +1,17 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, b as createBaseVNode, h as withDirectives, v as vModelCheckbox } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, b as createBaseVNode, h as withDirectives, v as vModelCheckbox } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-DgiXSls-.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import Tabs from "./Tabs-DAh5F9QQ.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-D_esN5Tq.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import Tabs from "./Tabs-DAgXcUvw.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, b as createBaseVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconArrowDown, a as IconArrowUp } from "./IconArrowDown-hiNjEAcY.js";
|
||||
import { I as IconClose, M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, c as createElementBlock, e as createCommentVNode, d as withModifiers, f as createTextVNode, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { I as IconArrowUp, a as IconArrowDown } from "./IconArrowDown-BfVPofF4.js";
|
||||
import { M as ModalContainer, a as Modal, I as IconClose } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, c as createElementBlock, f as createCommentVNode, d as withModifiers, g as createTextVNode, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -230,40 +230,26 @@ const _hoisted_9 = {
|
||||
class: "form-label",
|
||||
for: "card-element"
|
||||
};
|
||||
const _hoisted_10 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
id: "card-element",
|
||||
class: "form-input"
|
||||
}, null, -1);
|
||||
const _hoisted_11 = { class: "space-x-2" };
|
||||
const _hoisted_12 = {
|
||||
const _hoisted_10 = { class: "space-x-2" };
|
||||
const _hoisted_11 = {
|
||||
key: 0,
|
||||
class: "md:col-span-3 space-y-8"
|
||||
};
|
||||
const _hoisted_13 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
class: "bg-primary text-on-primary px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("strong", { class: "font-bold" }, "No packages available."),
|
||||
/* @__PURE__ */ createBaseVNode("p", { class: "block" }, " There are currently no packages to choose from. If you're and administrator, you can attach packages via the administrator area. ")
|
||||
], -1);
|
||||
const _hoisted_14 = [
|
||||
_hoisted_13
|
||||
];
|
||||
const _hoisted_15 = {
|
||||
const _hoisted_12 = {
|
||||
key: 1,
|
||||
class: "md:col-span-3 space-y-8"
|
||||
};
|
||||
const _hoisted_16 = { class: "text-lg text-medium-emphasis" };
|
||||
const _hoisted_13 = { class: "text-lg text-medium-emphasis" };
|
||||
const _hoisted_14 = ["aria-label"];
|
||||
const _hoisted_15 = ["aria-label"];
|
||||
const _hoisted_16 = ["aria-label"];
|
||||
const _hoisted_17 = ["aria-label"];
|
||||
const _hoisted_18 = ["aria-label"];
|
||||
const _hoisted_19 = ["aria-label"];
|
||||
const _hoisted_20 = ["aria-label"];
|
||||
const _hoisted_21 = { class: "md:col-span-5 space-y-8 border-t border-low-emphasis" };
|
||||
const _hoisted_22 = {
|
||||
const _hoisted_18 = { class: "md:col-span-5 space-y-8 border-t border-low-emphasis" };
|
||||
const _hoisted_19 = {
|
||||
key: 0,
|
||||
class: "mt-5 text-lg text-medium-emphasis"
|
||||
};
|
||||
const _hoisted_23 = ["href"];
|
||||
const _hoisted_20 = ["href"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -373,9 +359,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "label"]),
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createBaseVNode("label", _hoisted_9, toDisplayString(_ctx.__("Card details")), 1),
|
||||
_hoisted_10
|
||||
_cache[12] || (_cache[12] = createBaseVNode("div", {
|
||||
id: "card-element",
|
||||
class: "form-input"
|
||||
}, null, -1))
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_11, [
|
||||
createBaseVNode("div", _hoisted_10, [
|
||||
createVNode(_component_Button, {
|
||||
"data-secret": $data.clientSecret,
|
||||
id: "card-button",
|
||||
@@ -390,9 +379,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
])
|
||||
], 32)
|
||||
]),
|
||||
!$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_12, _hoisted_14)) : createCommentVNode("", true),
|
||||
$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_15, [
|
||||
createBaseVNode("h2", _hoisted_16, toDisplayString(_ctx.__("Available packages")), 1),
|
||||
!$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_11, _cache[13] || (_cache[13] = [
|
||||
createBaseVNode("div", {
|
||||
class: "bg-primary text-on-primary px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
createBaseVNode("strong", { class: "font-bold" }, "No packages available."),
|
||||
createBaseVNode("p", { class: "block" }, " There are currently no packages to choose from. If you're and administrator, you can attach packages via the administrator area. ")
|
||||
], -1)
|
||||
]))) : createCommentVNode("", true),
|
||||
$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_12, [
|
||||
createBaseVNode("h2", _hoisted_13, toDisplayString(_ctx.__("Available packages")), 1),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.coupon,
|
||||
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.coupon = $event),
|
||||
@@ -421,7 +418,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Name")), 1),
|
||||
$props.filters.sort.name === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.name === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_17)
|
||||
], 8, _hoisted_14)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
@@ -438,7 +435,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Max sites")), 1),
|
||||
$props.filters.sort.sites === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.sites === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_18)
|
||||
], 8, _hoisted_15)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
@@ -455,7 +452,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Max servers")), 1),
|
||||
$props.filters.sort.servers === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.servers === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_19)
|
||||
], 8, _hoisted_16)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
@@ -472,7 +469,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Price")), 1),
|
||||
$props.filters.sort.price === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.price === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_20)
|
||||
], 8, _hoisted_17)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
@@ -573,8 +570,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
_: 1
|
||||
})
|
||||
])) : createCommentVNode("", true),
|
||||
createBaseVNode("div", _hoisted_21, [
|
||||
$data.invoices.length ? (openBlock(), createElementBlock("h2", _hoisted_22, toDisplayString(_ctx.__("Invoices")), 1)) : createCommentVNode("", true),
|
||||
createBaseVNode("div", _hoisted_18, [
|
||||
$data.invoices.length ? (openBlock(), createElementBlock("h2", _hoisted_19, toDisplayString(_ctx.__("Invoices")), 1)) : createCommentVNode("", true),
|
||||
$data.invoices.length ? (openBlock(), createBlock(_component_Table, {
|
||||
key: 1,
|
||||
caption: "Invoice list overview"
|
||||
@@ -651,7 +648,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("a", {
|
||||
class: "text-primary",
|
||||
href: _ctx.route("profile.billing.invoices.pdf", invoice.id)
|
||||
}, "Download", 8, _hoisted_23)
|
||||
}, "Download", 8, _hoisted_20)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
@@ -1,15 +1,15 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconArrowDown, a as IconArrowUp } from "./IconArrowDown-hiNjEAcY.js";
|
||||
import { I as IconClose, M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { I as IconArrowUp, a as IconArrowDown } from "./IconArrowDown-BfVPofF4.js";
|
||||
import { M as ModalContainer, a as Modal, I as IconClose } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./Form-B2QYoLoL.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
import "./Form-Bg3Lzm8Q.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -50,18 +50,6 @@ const _sfc_main = {
|
||||
};
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
class: "bg-warning text-on-warning px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("strong", { class: "font-bold" }, "Problem with billing provider."),
|
||||
/* @__PURE__ */ createBaseVNode("p", { class: "block" }, " There's an issue getting in touch with the payment service provider. Please check your settings and the error log or get in touch with the administrator of this software. "),
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "block font-bold underline",
|
||||
href: "https://docs.ploi-core.io/263-digging-deeper/743-using-stripe",
|
||||
target: "_blank"
|
||||
}, "How to setup Stripe for billing")
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -83,10 +71,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("div", {
|
||||
class: "bg-warning text-on-warning px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
createBaseVNode("strong", { class: "font-bold" }, "Problem with billing provider."),
|
||||
createBaseVNode("p", { class: "block" }, " There's an issue getting in touch with the payment service provider. Please check your settings and the error log or get in touch with the administrator of this software. "),
|
||||
createBaseVNode("a", {
|
||||
class: "block font-bold underline",
|
||||
href: "https://docs.ploi-core.io/263-digging-deeper/743-using-stripe",
|
||||
target: "_blank"
|
||||
}, "How to setup Stripe for billing")
|
||||
], -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [0]
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, g as createBlock, w as withCtx, j as renderSlot, n as normalizeClass, m as resolveDynamicComponent } from "./app-CxxfQWko.js";
|
||||
import { e as createBlock, o as openBlock, w as withCtx, j as renderSlot, n as normalizeClass, l as resolveDynamicComponent } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const baseClasses = "items-center justify-center font-medium capitalize rounded select-none focus:outline-none";
|
||||
const flexClasses = "flex w-full text-body";
|
||||
@@ -1,22 +1,22 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, c as createElementBlock, e as createCommentVNode, b as createBaseVNode, d as withModifiers, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, b as createBaseVNode, d as withModifiers, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -164,9 +164,6 @@ const _sfc_main = {
|
||||
};
|
||||
const _hoisted_1 = ["textContent"];
|
||||
const _hoisted_2 = ["textContent"];
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("option", { value: "letsencrypt" }, "Let's Encrypt certificate", -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("option", { value: "custom" }, "Custom SSL certificate", -1);
|
||||
const _hoisted_5 = /* @__PURE__ */ createTextVNode("Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -245,11 +242,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
modelValue: $data.form.type,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.type = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_3,
|
||||
_hoisted_4
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[6] || (_cache[6] = [
|
||||
createBaseVNode("option", { value: "letsencrypt" }, "Let's Encrypt certificate", -1),
|
||||
createBaseVNode("option", { value: "custom" }, "Custom SSL certificate", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [6]
|
||||
}, 8, ["label", "modelValue"]),
|
||||
createBaseVNode("div", null, [
|
||||
$data.form.type === "letsencrypt" ? (openBlock(), createBlock(_component_FormInput, {
|
||||
@@ -352,10 +350,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(certificate)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_5
|
||||
], void 0, true),
|
||||
_: 2
|
||||
default: withCtx(() => _cache[7] || (_cache[7] = [
|
||||
createTextVNode("Delete ", -1)
|
||||
]), void 0, true),
|
||||
_: 2,
|
||||
__: [7]
|
||||
}, 1032, ["disabled", "onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
@@ -1,15 +1,15 @@
|
||||
import TopBar from "./TopBar-BHk5zf5x.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-Bf0vddD4.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,8 +1,8 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, f as createTextVNode, g as createBlock } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, e as createBlock, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -40,9 +40,7 @@ const _hoisted_5 = {
|
||||
class: "flex justify-between"
|
||||
};
|
||||
const _hoisted_6 = { key: 0 };
|
||||
const _hoisted_7 = /* @__PURE__ */ createTextVNode(" Terms Of Service ");
|
||||
const _hoisted_8 = { key: 1 };
|
||||
const _hoisted_9 = /* @__PURE__ */ createTextVNode(" Privacy Policy ");
|
||||
const _hoisted_7 = { key: 1 };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
@@ -101,21 +99,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
href: _ctx.route("page.show", "terms-of-service"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_7
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[2] || (_cache[2] = [
|
||||
createTextVNode(" Terms Of Service ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [2]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "privacy-policy"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_9
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[3] || (_cache[3] = [
|
||||
createTextVNode(" Privacy Policy ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [3]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true)
|
||||
])) : createCommentVNode("", true)
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, n as normalizeClass } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, j as renderSlot, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const baseClasses = "w-full px-4 sm:px-8 mx-auto";
|
||||
const sizeClasses = {
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, h as withDirectives, A as vModelRadio, B as vShow, d as withModifiers, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, f as createCommentVNode, b as createBaseVNode, d as withModifiers, h as withDirectives, t as toDisplayString, z as vModelRadio, A as vShow, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -164,20 +164,13 @@ const _sfc_main = {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Cronjobs");
|
||||
const _hoisted_2 = { class: "inline-block text-small font-medium" };
|
||||
const _hoisted_1 = { class: "inline-block text-small font-medium" };
|
||||
const _hoisted_2 = { class: "inline-flex items-center" };
|
||||
const _hoisted_3 = { class: "inline-flex items-center" };
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Every minute", -1);
|
||||
const _hoisted_4 = { class: "inline-flex items-center" };
|
||||
const _hoisted_5 = { class: "inline-flex items-center" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Hourly", -1);
|
||||
const _hoisted_6 = { class: "inline-flex items-center" };
|
||||
const _hoisted_7 = { class: "inline-flex items-center" };
|
||||
const _hoisted_8 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Nightly (2AM)", -1);
|
||||
const _hoisted_9 = { class: "inline-flex items-center" };
|
||||
const _hoisted_10 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Weekly", -1);
|
||||
const _hoisted_11 = { class: "inline-flex items-center" };
|
||||
const _hoisted_12 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Monthly", -1);
|
||||
const _hoisted_13 = { class: "inline-flex items-center" };
|
||||
const _hoisted_14 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Custom", -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -215,10 +208,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[9] || (_cache[9] = [
|
||||
createTextVNode("Cronjobs", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [9]
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
@@ -249,9 +243,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.command = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_2, " Frequency (" + toDisplayString($options.convertedFrequency) + ") ", 1),
|
||||
createBaseVNode("label", _hoisted_1, " Frequency (" + toDisplayString($options.convertedFrequency) + ") ", 1),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_3, [
|
||||
createBaseVNode("label", _hoisted_2, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
class: "form-radio",
|
||||
type: "radio",
|
||||
@@ -260,11 +254,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_4
|
||||
_cache[10] || (_cache[10] = createBaseVNode("span", { class: "ml-2" }, "Every minute", -1))
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_5, [
|
||||
createBaseVNode("label", _hoisted_3, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
@@ -274,11 +268,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_6
|
||||
_cache[11] || (_cache[11] = createBaseVNode("span", { class: "ml-2" }, "Hourly", -1))
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_7, [
|
||||
createBaseVNode("label", _hoisted_4, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
@@ -288,11 +282,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_8
|
||||
_cache[12] || (_cache[12] = createBaseVNode("span", { class: "ml-2" }, "Nightly (2AM)", -1))
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_9, [
|
||||
createBaseVNode("label", _hoisted_5, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
@@ -302,11 +296,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_10
|
||||
_cache[13] || (_cache[13] = createBaseVNode("span", { class: "ml-2" }, "Weekly", -1))
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_11, [
|
||||
createBaseVNode("label", _hoisted_6, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
@@ -316,11 +310,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_12
|
||||
_cache[14] || (_cache[14] = createBaseVNode("span", { class: "ml-2" }, "Monthly", -1))
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_13, [
|
||||
createBaseVNode("label", _hoisted_7, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
@@ -330,7 +324,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_14
|
||||
_cache[15] || (_cache[15] = createBaseVNode("span", { class: "ml-2" }, "Custom", -1))
|
||||
])
|
||||
]),
|
||||
withDirectives(createVNode(_component_FormInput, {
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, d as withModifiers, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, f as createCommentVNode, b as createBaseVNode, d as withModifiers, t as toDisplayString, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
@@ -148,7 +148,6 @@ const _sfc_main = {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Databases");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -186,10 +185,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[4] || (_cache[4] = [
|
||||
createTextVNode("Databases", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [4]
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, d as withModifiers, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, c as createElementBlock, b as createBaseVNode, d as withModifiers, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -129,32 +129,6 @@ const _hoisted_1 = {
|
||||
key: 1,
|
||||
class: "inline-flex px-4"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("svg", {
|
||||
class: "animate-spin -ml-1 mr-3 h-5 w-5 text-white",
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
fill: "none",
|
||||
viewBox: "0 0 24 24"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("circle", {
|
||||
class: "opacity-25",
|
||||
cx: "12",
|
||||
cy: "12",
|
||||
r: "10",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": "4"
|
||||
}),
|
||||
/* @__PURE__ */ createBaseVNode("path", {
|
||||
class: "opacity-75",
|
||||
fill: "currentColor",
|
||||
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
||||
})
|
||||
], -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createTextVNode(" Loading records.. ");
|
||||
const _hoisted_4 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3
|
||||
];
|
||||
const _hoisted_5 = /* @__PURE__ */ createTextVNode("Delete");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -247,7 +221,29 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
_: 1
|
||||
}),
|
||||
!$data.records.length && !$data.loading ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$data.loading ? (openBlock(), createElementBlock("div", _hoisted_1, _hoisted_4)) : createCommentVNode("", true),
|
||||
$data.loading ? (openBlock(), createElementBlock("div", _hoisted_1, _cache[3] || (_cache[3] = [
|
||||
createBaseVNode("svg", {
|
||||
class: "animate-spin -ml-1 mr-3 h-5 w-5 text-white",
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
fill: "none",
|
||||
viewBox: "0 0 24 24"
|
||||
}, [
|
||||
createBaseVNode("circle", {
|
||||
class: "opacity-25",
|
||||
cx: "12",
|
||||
cy: "12",
|
||||
r: "10",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": "4"
|
||||
}),
|
||||
createBaseVNode("path", {
|
||||
class: "opacity-75",
|
||||
fill: "currentColor",
|
||||
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
||||
})
|
||||
], -1),
|
||||
createTextVNode(" Loading records.. ", -1)
|
||||
]))) : createCommentVNode("", true),
|
||||
$data.records.length ? (openBlock(), createBlock(_component_SettingsSegment, { key: 2 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Records")), 1)
|
||||
@@ -305,10 +301,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
variant: "danger",
|
||||
size: "sm"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_5
|
||||
], void 0, true),
|
||||
_: 2
|
||||
default: withCtx(() => _cache[4] || (_cache[4] = [
|
||||
createTextVNode("Delete", -1)
|
||||
]), void 0, true),
|
||||
_: 2,
|
||||
__: [4]
|
||||
}, 1032, ["onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, j as renderSlot } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, j as renderSlot } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1 = {
|
||||
@@ -8,15 +8,13 @@ const _hoisted_1 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = [
|
||||
_hoisted_2
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_3);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconMore = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {
|
||||
@@ -1,9 +1,9 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, n as normalizeClass, d as withModifiers } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, j as renderSlot, n as normalizeClass, d as withModifiers } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$1 = {
|
||||
props: {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, n as normalizeClass, b as createBaseVNode, g as createBlock, w as withCtx, f as createTextVNode, t as toDisplayString, e as createCommentVNode, a as createVNode, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, j as renderSlot, n as normalizeClass, b as createBaseVNode, r as resolveComponent, e as createBlock, w as withCtx, f as createCommentVNode, g as createTextVNode, t as toDisplayString, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$6 = {};
|
||||
const _hoisted_1$6 = { class: "flex flex-col space-y-1" };
|
||||
@@ -54,20 +54,17 @@ const _hoisted_1$2 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M9.5 1h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"
|
||||
}, null, -1);
|
||||
const _hoisted_4$1 = [
|
||||
_hoisted_2$1,
|
||||
_hoisted_3$1
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_4$1);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M9.5 1h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconClipboard = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {};
|
||||
@@ -79,17 +76,14 @@ const _hoisted_1$1 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("path", { d: "M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" }, null, -1);
|
||||
const _hoisted_4 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_4);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", { d: "M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" }, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconKey = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
@@ -179,8 +173,15 @@ const _sfc_main = {
|
||||
this.$emit("update:modelValue", value);
|
||||
},
|
||||
copy() {
|
||||
this.copied = true;
|
||||
this.$copyText(this.value);
|
||||
if (this.modelValue) {
|
||||
navigator.clipboard.writeText(this.modelValue).then(() => {
|
||||
this.copied = true;
|
||||
}).catch((err) => {
|
||||
console.error("Failed to copy text: ", err);
|
||||
});
|
||||
} else {
|
||||
console.error("No value to copy");
|
||||
}
|
||||
},
|
||||
generateString() {
|
||||
this.$emit("input", this.randomString());
|
||||
@@ -1,5 +1,5 @@
|
||||
import { a as FormGroup, L as Label, E as ErrorText, H as HelperText } from "./FormInput-DVqI9ei1.js";
|
||||
import { o as openBlock, g as createBlock, w as withCtx, f as createTextVNode, t as toDisplayString, e as createCommentVNode, h as withDirectives, z as vModelSelect, b as createBaseVNode, j as renderSlot, n as normalizeClass, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { H as HelperText, E as ErrorText, L as Label, a as FormGroup } from "./FormInput-43oIPTin.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, f as createCommentVNode, b as createBaseVNode, g as createTextVNode, t as toDisplayString, n as normalizeClass, j as renderSlot } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main = {
|
||||
@@ -62,7 +62,7 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["disabled", "id", "required", "placeholder"];
|
||||
const _hoisted_1 = ["disabled", "id", "required", "placeholder", "value"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Label = resolveComponent("Label");
|
||||
const _component_ErrorText = resolveComponent("ErrorText");
|
||||
@@ -80,7 +80,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["errors", "forId"])) : createCommentVNode("", true),
|
||||
withDirectives(createBaseVNode("select", {
|
||||
createBaseVNode("select", {
|
||||
disabled: $props.loading || $props.disabled,
|
||||
class: normalizeClass([
|
||||
$data.defaultClasses,
|
||||
@@ -91,12 +91,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
required: $props.required,
|
||||
placeholder: $props.placeholder,
|
||||
onInput: _cache[0] || (_cache[0] = ($event) => $options.updateValue($event.target.value)),
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $props.modelValue = $event)
|
||||
value: $props.modelValue
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 42, _hoisted_1), [
|
||||
[vModelSelect, $props.modelValue]
|
||||
]),
|
||||
], 42, _hoisted_1),
|
||||
$props.errors ? (openBlock(), createBlock(_component_ErrorText, { key: 1 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.errors[0]), 1)
|
||||
@@ -1,5 +1,5 @@
|
||||
import { a as FormGroup, L as Label, E as ErrorText, H as HelperText } from "./FormInput-DVqI9ei1.js";
|
||||
import { o as openBlock, g as createBlock, w as withCtx, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, n as normalizeClass, e as createCommentVNode, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { H as HelperText, E as ErrorText, L as Label, a as FormGroup } from "./FormInput-43oIPTin.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, f as createCommentVNode, g as createTextVNode, t as toDisplayString, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main = {
|
||||
42
public/build/assets/IconArrowDown-BfVPofF4.js
vendored
Normal file
42
public/build/assets/IconArrowDown-BfVPofF4.js
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-up",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconArrowUp = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-down",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconArrowDown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconArrowUp as I,
|
||||
IconArrowDown as a
|
||||
};
|
||||
46
public/build/assets/IconArrowDown-hiNjEAcY.js
vendored
46
public/build/assets/IconArrowDown-hiNjEAcY.js
vendored
@@ -1,46 +0,0 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode } from "./app-CxxfQWko.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-up",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
}
|
||||
const IconArrowUp = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-down",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = [
|
||||
_hoisted_2
|
||||
];
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_3);
|
||||
}
|
||||
const IconArrowDown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconArrowDown as I,
|
||||
IconArrowUp as a
|
||||
};
|
||||
71
public/build/assets/IconStorage-1qcOMFdR.js
vendored
71
public/build/assets/IconStorage-1qcOMFdR.js
vendored
@@ -1,71 +0,0 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode } from "./app-CxxfQWko.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$2 = {};
|
||||
const _hoisted_1$2 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$2 = [
|
||||
_hoisted_2$2
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
|
||||
}
|
||||
const IconBox = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M1.018 7.5h2.49c.037-1.07.189-2.087.437-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5zM3.05 3.049c.362.184.763.349 1.198.49.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05zM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm-.5 1.077c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.473.257 2.282.287V1.077zm0 4.014c-.91-.03-1.783-.145-2.591-.332a12.344 12.344 0 0 0-.4 2.741H7.5V5.091zm1 2.409V5.091c.91-.03 1.783-.145 2.591-.332.223.827.364 1.754.4 2.741H8.5zm-1 1H4.51c.035.987.176 1.914.399 2.741A13.596 13.596 0 0 1 7.5 10.91V8.5zm1 2.409V8.5h2.99a12.343 12.343 0 0 1-.399 2.741A13.596 13.596 0 0 0 8.5 10.91zm-1 1c-.81.03-1.577.13-2.282.287.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91zm-2.173 2.563a6.695 6.695 0 0 1-.597-.933 8.857 8.857 0 0 1-.481-1.078 8.356 8.356 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.52zM2.38 12.175c.47-.258.995-.482 1.565-.667A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.964 6.964 0 0 0 1.362 3.675zm8.293 2.297a7.01 7.01 0 0 0 2.275-1.521 8.353 8.353 0 0 0-1.197-.49 8.859 8.859 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zm.11-2.276A12.63 12.63 0 0 0 8.5 11.91v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872zm1.272-.688c.57.185 1.095.409 1.565.667A6.964 6.964 0 0 0 14.982 8.5h-2.49a13.355 13.355 0 0 1-.437 3.008zm.437-4.008h2.49a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zm-.74-3.96a8.854 8.854 0 0 0-.482-1.079 6.692 6.692 0 0 0-.597-.933c.857.355 1.63.875 2.275 1.521a8.368 8.368 0 0 1-1.197.49zm-.97.264c-.705.157-1.473.257-2.282.287V1.077c.67.204 1.335.82 1.887 1.855.143.268.276.56.395.872z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
}
|
||||
const IconGlobe = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M14 9H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zM2 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("path", { d: "M5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z" }, null, -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4.094 4a.5.5 0 0 0-.44.26l-2.47 4.532A1.5 1.5 0 0 0 1 9.51v.99H0v-.99c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198v.99h-1v-.99a1.5 1.5 0 0 0-.183-.718L12.345 4.26a.5.5 0 0 0-.439-.26H4.094z"
|
||||
}, null, -1);
|
||||
const _hoisted_5 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3,
|
||||
_hoisted_4
|
||||
];
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_5);
|
||||
}
|
||||
const IconStorage = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconBox as I,
|
||||
IconGlobe as a,
|
||||
IconStorage as b
|
||||
};
|
||||
63
public/build/assets/IconStorage-B8gRbWgP.js
vendored
Normal file
63
public/build/assets/IconStorage-B8gRbWgP.js
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$2 = {};
|
||||
const _hoisted_1$2 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconBox = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M1.018 7.5h2.49c.037-1.07.189-2.087.437-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5zM3.05 3.049c.362.184.763.349 1.198.49.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05zM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm-.5 1.077c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.473.257 2.282.287V1.077zm0 4.014c-.91-.03-1.783-.145-2.591-.332a12.344 12.344 0 0 0-.4 2.741H7.5V5.091zm1 2.409V5.091c.91-.03 1.783-.145 2.591-.332.223.827.364 1.754.4 2.741H8.5zm-1 1H4.51c.035.987.176 1.914.399 2.741A13.596 13.596 0 0 1 7.5 10.91V8.5zm1 2.409V8.5h2.99a12.343 12.343 0 0 1-.399 2.741A13.596 13.596 0 0 0 8.5 10.91zm-1 1c-.81.03-1.577.13-2.282.287.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91zm-2.173 2.563a6.695 6.695 0 0 1-.597-.933 8.857 8.857 0 0 1-.481-1.078 8.356 8.356 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.52zM2.38 12.175c.47-.258.995-.482 1.565-.667A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.964 6.964 0 0 0 1.362 3.675zm8.293 2.297a7.01 7.01 0 0 0 2.275-1.521 8.353 8.353 0 0 0-1.197-.49 8.859 8.859 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zm.11-2.276A12.63 12.63 0 0 0 8.5 11.91v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872zm1.272-.688c.57.185 1.095.409 1.565.667A6.964 6.964 0 0 0 14.982 8.5h-2.49a13.355 13.355 0 0 1-.437 3.008zm.437-4.008h2.49a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zm-.74-3.96a8.854 8.854 0 0 0-.482-1.079 6.692 6.692 0 0 0-.597-.933c.857.355 1.63.875 2.275 1.521a8.368 8.368 0 0 1-1.197.49zm-.97.264c-.705.157-1.473.257-2.282.287V1.077c.67.204 1.335.82 1.887 1.855.143.268.276.56.395.872z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconGlobe = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M14 9H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zM2 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", { d: "M5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z" }, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4.094 4a.5.5 0 0 0-.44.26l-2.47 4.532A1.5 1.5 0 0 0 1 9.51v.99H0v-.99c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198v.99h-1v-.99a1.5 1.5 0 0 0-.183-.718L12.345 4.26a.5.5 0 0 0-.439-.26H4.094z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconStorage = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconStorage as I,
|
||||
IconGlobe as a,
|
||||
IconBox as b
|
||||
};
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-DgiXSls-.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import Tabs from "./Tabs-DAh5F9QQ.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-D_esN5Tq.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import Tabs from "./Tabs-DAgXcUvw.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -104,7 +104,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
items: $props.items.data
|
||||
}, null, 8, ["items"])
|
||||
]),
|
||||
segments: withCtx(() => []),
|
||||
segments: withCtx(() => _cache[0] || (_cache[0] = [])),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
@@ -1,19 +1,19 @@
|
||||
import TopBar from "./TopBar-R8PQU1S5.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar-BcnMXXeG.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton-7vWP_3t1.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, c as createElementBlock, i as renderList, F as Fragment, e as createCommentVNode, l as createSlots } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CBAi3WdO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { D as DropdownListItem, c as DropdownList, d as Dropdown, I as IconButton } from "./TabBar-BJF8ypca.js";
|
||||
import { D as DropdownListItemButton, I as IconMore } from "./DropdownListItemButton-xSGjrdxi.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, f as createCommentVNode, b as createBaseVNode, t as toDisplayString, c as createElementBlock, F as Fragment, i as renderList, g as createTextVNode, k as createSlots } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -175,8 +175,6 @@ const _hoisted_8 = { value: "mariadb" };
|
||||
const _hoisted_9 = { value: "postgresql" };
|
||||
const _hoisted_10 = { value: "postgresql13" };
|
||||
const _hoisted_11 = { key: 0 };
|
||||
const _hoisted_12 = /* @__PURE__ */ createTextVNode("View");
|
||||
const _hoisted_13 = /* @__PURE__ */ createTextVNode(" Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
@@ -336,7 +334,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
]),
|
||||
key: "0"
|
||||
} : void 0
|
||||
]), 1024),
|
||||
createVNode(_component_PageBody, null, {
|
||||
@@ -386,20 +385,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createVNode(_component_DropdownListItem, {
|
||||
to: _ctx.route("servers.show", server.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_12
|
||||
], void 0, true),
|
||||
_: 2
|
||||
default: withCtx(() => _cache[7] || (_cache[7] = [
|
||||
createTextVNode("View", -1)
|
||||
]), void 0, true),
|
||||
_: 2,
|
||||
__: [7]
|
||||
}, 1032, ["to"]),
|
||||
_ctx.can("servers", "delete") ? (openBlock(), createBlock(_component_DropdownListItemButton, {
|
||||
key: 0,
|
||||
class: "!text-danger",
|
||||
onClick: ($event) => $options.confirmDelete(server)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_13
|
||||
], void 0, true),
|
||||
_: 2
|
||||
default: withCtx(() => _cache[8] || (_cache[8] = [
|
||||
createTextVNode(" Delete ", -1)
|
||||
]), void 0, true),
|
||||
_: 2,
|
||||
__: [8]
|
||||
}, 1032, ["onClick"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
@@ -1,16 +1,16 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, c as createElementBlock, i as renderList, F as Fragment, f as createTextVNode, d as withModifiers } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, d as withModifiers, c as createElementBlock, F as Fragment, i as renderList, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -71,14 +71,7 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("option", { value: "en" }, "English", -1);
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("option", { value: "nl" }, "Dutch", -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("option", { value: "fr" }, "French", -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("option", { value: "da" }, "Danish", -1);
|
||||
const _hoisted_5 = /* @__PURE__ */ createBaseVNode("option", { value: "nb-no" }, "Norwegian", -1);
|
||||
const _hoisted_6 = /* @__PURE__ */ createBaseVNode("option", { value: "pt" }, "Portuguese", -1);
|
||||
const _hoisted_7 = /* @__PURE__ */ createBaseVNode("option", { value: "zh" }, "Chinese", -1);
|
||||
const _hoisted_8 = ["value", "textContent"];
|
||||
const _hoisted_1 = ["value", "textContent"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -128,16 +121,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
modelValue: $data.form.language,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.language = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1,
|
||||
_hoisted_2,
|
||||
_hoisted_3,
|
||||
_hoisted_4,
|
||||
_hoisted_5,
|
||||
_hoisted_6,
|
||||
_hoisted_7
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[8] || (_cache[8] = [
|
||||
createBaseVNode("option", { value: "en" }, "English", -1),
|
||||
createBaseVNode("option", { value: "nl" }, "Dutch", -1),
|
||||
createBaseVNode("option", { value: "fr" }, "French", -1),
|
||||
createBaseVNode("option", { value: "da" }, "Danish", -1),
|
||||
createBaseVNode("option", { value: "nb-no" }, "Norwegian", -1),
|
||||
createBaseVNode("option", { value: "pt" }, "Portuguese", -1),
|
||||
createBaseVNode("option", { value: "zh" }, "Chinese", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [8]
|
||||
}, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Address"),
|
||||
@@ -157,7 +151,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("option", {
|
||||
value: code,
|
||||
textContent: toDisplayString(country)
|
||||
}, null, 8, _hoisted_8);
|
||||
}, null, 8, _hoisted_1);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar-BcnMXXeG.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton-7vWP_3t1.js";
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, g as createBlock, w as withCtx, r as resolveComponent, a as createVNode, t as toDisplayString, f as createTextVNode, i as renderList, F as Fragment, e as createCommentVNode, l as createSlots } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { D as DropdownListItem, c as DropdownList, d as Dropdown, I as IconButton } from "./TabBar-BJF8ypca.js";
|
||||
import { D as DropdownListItemButton, I as IconMore } from "./DropdownListItemButton-xSGjrdxi.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, r as resolveComponent, e as createBlock, w as withCtx, a as createVNode, f as createCommentVNode, t as toDisplayString, F as Fragment, i as renderList, g as createTextVNode, k as createSlots } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
@@ -23,12 +23,10 @@ const _hoisted_1$1 = {
|
||||
height: "1.5em",
|
||||
fill: "currentColor"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", { d: "M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z" }, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", { d: "M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z" }, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconPhp = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {
|
||||
@@ -290,7 +288,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
]),
|
||||
key: "0"
|
||||
} : void 0
|
||||
]), 1024),
|
||||
createVNode(_component_PageBody, null, {
|
||||
@@ -1,17 +1,17 @@
|
||||
import TopBar from "./TopBar-BHk5zf5x.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-Bf0vddD4.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createCommentVNode, g as createTextVNode, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,12 +1,12 @@
|
||||
import TopBar from "./TopBar-Dv6SKowP.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, n as normalizeClass, c as createElementBlock, e as createCommentVNode, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-os4rmFxP.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode, n as normalizeClass, c as createElementBlock, f as createCommentVNode, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,53 +0,0 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TextDivider,
|
||||
FormInput,
|
||||
Button,
|
||||
Container
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen" };
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { class: "space-y-4" }, [
|
||||
/* @__PURE__ */ createBaseVNode("h1", { class: "font-semibold text-center text-title" }, "Installation incomplete"),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "It seems your installation is incomplete, we seem to miss some important credentials."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "Please go over the installation process again so all credentials can be filled in."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, [
|
||||
/* @__PURE__ */ createTextVNode("You can start the Ploi Core installation by running "),
|
||||
/* @__PURE__ */ createBaseVNode("code", null, "php artisan core:install")
|
||||
]),
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "block text-primary",
|
||||
target: "_blank",
|
||||
href: "https://docs.ploi-core.io"
|
||||
}, "View Ploi Core Documentation")
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
return openBlock(), createElementBlock(Fragment, null, [
|
||||
createVNode(_component_Head, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("title", null, toDisplayString(_ctx.__("Installation incomplete")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createBaseVNode("div", _hoisted_1, [
|
||||
createVNode(_component_Container, { size: "small" }, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_2
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
], 64);
|
||||
}
|
||||
const InstallationIncomplete = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
InstallationIncomplete as default
|
||||
};
|
||||
53
public/build/assets/InstallationIncomplete-bvQY6I6k.js
vendored
Normal file
53
public/build/assets/InstallationIncomplete-bvQY6I6k.js
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TextDivider,
|
||||
FormInput,
|
||||
Button,
|
||||
Container
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
return openBlock(), createElementBlock(Fragment, null, [
|
||||
createVNode(_component_Head, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("title", null, toDisplayString(_ctx.__("Installation incomplete")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createBaseVNode("div", _hoisted_1, [
|
||||
createVNode(_component_Container, { size: "small" }, {
|
||||
default: withCtx(() => _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("div", { class: "space-y-4" }, [
|
||||
createBaseVNode("h1", { class: "font-semibold text-center text-title" }, "Installation incomplete"),
|
||||
createBaseVNode("p", null, "It seems your installation is incomplete, we seem to miss some important credentials."),
|
||||
createBaseVNode("p", null, "Please go over the installation process again so all credentials can be filled in."),
|
||||
createBaseVNode("p", null, [
|
||||
createTextVNode("You can start the Ploi Core installation by running "),
|
||||
createBaseVNode("code", null, "php artisan core:install")
|
||||
]),
|
||||
createBaseVNode("a", {
|
||||
class: "block text-primary",
|
||||
target: "_blank",
|
||||
href: "https://docs.ploi-core.io"
|
||||
}, "View Ploi Core Documentation")
|
||||
], -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [0]
|
||||
})
|
||||
])
|
||||
], 64);
|
||||
}
|
||||
const InstallationIncomplete = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
InstallationIncomplete as default
|
||||
};
|
||||
@@ -1,18 +1,18 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, e as createCommentVNode, f as createTextVNode, d as withModifiers, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createCommentVNode, d as withModifiers, g as createTextVNode, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,8 +1,8 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, f as createTextVNode, g as createBlock } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, e as createBlock, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -48,15 +48,12 @@ const _hoisted_2 = { class: "flex flex-col items-center space-y-5" };
|
||||
const _hoisted_3 = ["src"];
|
||||
const _hoisted_4 = { class: "font-semibold text-center text-title" };
|
||||
const _hoisted_5 = { class: "space-y-3" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createTextVNode("Register ");
|
||||
const _hoisted_7 = {
|
||||
const _hoisted_6 = {
|
||||
key: 2,
|
||||
class: "flex justify-between"
|
||||
};
|
||||
const _hoisted_8 = { key: 0 };
|
||||
const _hoisted_9 = /* @__PURE__ */ createTextVNode(" Terms Of Service ");
|
||||
const _hoisted_10 = { key: 1 };
|
||||
const _hoisted_11 = /* @__PURE__ */ createTextVNode(" Privacy Policy ");
|
||||
const _hoisted_7 = { key: 0 };
|
||||
const _hoisted_8 = { key: 1 };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
@@ -141,37 +138,40 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
disabled: $data.sending,
|
||||
block: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_6
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[3] || (_cache[3] = [
|
||||
createTextVNode("Register ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [3]
|
||||
}, 8, ["href", "disabled"])) : createCommentVNode("", true)
|
||||
]),
|
||||
_ctx.$page.props.settings.has_terms ? (openBlock(), createBlock(_component_TextDivider, {
|
||||
key: 1,
|
||||
"without-text": true
|
||||
})) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_terms || _ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
||||
_ctx.$page.props.settings.has_terms ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
||||
_ctx.$page.props.settings.has_terms || _ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_6, [
|
||||
_ctx.$page.props.settings.has_terms ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "terms-of-service"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_9
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[4] || (_cache[4] = [
|
||||
createTextVNode(" Terms Of Service ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [4]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_10, [
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "privacy-policy"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_11
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[5] || (_cache[5] = [
|
||||
createTextVNode(" Privacy Policy ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [5]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true)
|
||||
])) : createCommentVNode("", true)
|
||||
@@ -1,6 +1,6 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, b as createBaseVNode, e as createCommentVNode, n as normalizeClass, t as toDisplayString, p as resolveDirective, h as withDirectives, q as vModelText, a as createVNode, w as withCtx, F as Fragment, i as renderList, T as Transition, g as createBlock, f as createTextVNode, u as TransitionGroup, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, j as renderSlot, b as createBaseVNode, f as createCommentVNode, n as normalizeClass, t as toDisplayString, m as resolveDirective, h as withDirectives, a as createVNode, p as vModelText, w as withCtx, F as Fragment, i as renderList, T as Transition, r as resolveComponent, e as createBlock, g as createTextVNode, q as TransitionGroup } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
const _sfc_main$g = {};
|
||||
const _hoisted_1$g = {
|
||||
id: "main",
|
||||
@@ -59,19 +59,19 @@ function _sfc_render$b(_ctx, _cache) {
|
||||
const List = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b]]);
|
||||
const _sfc_main$a = {};
|
||||
const _hoisted_1$a = { class: "-mx-4" };
|
||||
const _hoisted_2$9 = { class: "block p-4 transition rounded shadow-none duration-fast hover:bg-surface-2" };
|
||||
const _hoisted_3$9 = { class: "flex flex-row items-center space-x-4" };
|
||||
const _hoisted_4$9 = { class: "flex-1" };
|
||||
const _hoisted_5$4 = { class: "font-medium text-body" };
|
||||
const _hoisted_2$5 = { class: "block p-4 transition rounded shadow-none duration-fast hover:bg-surface-2" };
|
||||
const _hoisted_3$4 = { class: "flex flex-row items-center space-x-4" };
|
||||
const _hoisted_4$4 = { class: "flex-1" };
|
||||
const _hoisted_5$3 = { class: "font-medium text-body" };
|
||||
const _hoisted_6$3 = { class: "text-small text-medium-emphasis" };
|
||||
function _sfc_render$a(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("li", null, [
|
||||
createBaseVNode("div", _hoisted_1$a, [
|
||||
createBaseVNode("div", _hoisted_2$9, [
|
||||
createBaseVNode("div", _hoisted_3$9, [
|
||||
createBaseVNode("div", _hoisted_2$5, [
|
||||
createBaseVNode("div", _hoisted_3$4, [
|
||||
renderSlot(_ctx.$slots, "prefix"),
|
||||
createBaseVNode("div", _hoisted_4$9, [
|
||||
createBaseVNode("h2", _hoisted_5$4, [
|
||||
createBaseVNode("div", _hoisted_4$4, [
|
||||
createBaseVNode("h2", _hoisted_5$3, [
|
||||
renderSlot(_ctx.$slots, "title")
|
||||
]),
|
||||
createBaseVNode("p", _hoisted_6$3, [
|
||||
@@ -118,14 +118,10 @@ const _sfc_main$9 = {
|
||||
}
|
||||
};
|
||||
const _hoisted_1$9 = ["aria-label"];
|
||||
const _hoisted_2$8 = {
|
||||
const _hoisted_2$4 = {
|
||||
key: 0,
|
||||
class: "flex items-center justify-center inset-0 h-2 w-2"
|
||||
};
|
||||
const _hoisted_3$8 = /* @__PURE__ */ createBaseVNode("span", { class: "animate-ping absolute inline-flex h-full w-full rounded-circle bg-success opacity-75" }, null, -1);
|
||||
const _hoisted_4$8 = [
|
||||
_hoisted_3$8
|
||||
];
|
||||
function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("div", {
|
||||
"aria-label": $options.label,
|
||||
@@ -133,7 +129,9 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
"data-balloon-pos": "down",
|
||||
class: normalizeClass(["flex items-center justify-center w-2 h-2 rounded-circle relative", $data.variantClasses[$props.variant]])
|
||||
}, [
|
||||
$props.variant === "gray" ? (openBlock(), createElementBlock("span", _hoisted_2$8, _hoisted_4$8)) : createCommentVNode("", true)
|
||||
$props.variant === "gray" ? (openBlock(), createElementBlock("span", _hoisted_2$4, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("span", { class: "animate-ping absolute inline-flex h-full w-full rounded-circle bg-success opacity-75" }, null, -1)
|
||||
]))) : createCommentVNode("", true)
|
||||
], 10, _hoisted_1$9);
|
||||
}
|
||||
const StatusBubble = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9]]);
|
||||
@@ -180,18 +178,18 @@ const _hoisted_1$7 = {
|
||||
key: 0,
|
||||
class: "fixed inset-0 z-50 flex items-end justify-center p-2 sm:items-center"
|
||||
};
|
||||
const _hoisted_2$7 = { class: "w-full max-w-xs overflow-hidden rounded shadow-2xl bg-surface-1" };
|
||||
const _hoisted_3$7 = { class: "px-4 py-6 space-y-2 text-center" };
|
||||
const _hoisted_4$7 = { class: "font-medium text-body" };
|
||||
const _hoisted_5$3 = { class: "text-small text-medium-emphasis" };
|
||||
const _hoisted_2$3 = { class: "w-full max-w-xs overflow-hidden rounded shadow-2xl bg-surface-1" };
|
||||
const _hoisted_3$3 = { class: "px-4 py-6 space-y-2 text-center" };
|
||||
const _hoisted_4$3 = { class: "font-medium text-body" };
|
||||
const _hoisted_5$2 = { class: "text-small text-medium-emphasis" };
|
||||
const _hoisted_6$2 = { class: "grid grid-cols-2 border-t divide-x border-low-emphasis divide-low-emphasis" };
|
||||
function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _directive_click_outside = resolveDirective("click-outside");
|
||||
return $options.confirm.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
|
||||
withDirectives((openBlock(), createElementBlock("div", _hoisted_2$7, [
|
||||
createBaseVNode("header", _hoisted_3$7, [
|
||||
createBaseVNode("h2", _hoisted_4$7, toDisplayString($options.confirm.title), 1),
|
||||
createBaseVNode("p", _hoisted_5$3, toDisplayString($options.confirm.message), 1)
|
||||
withDirectives((openBlock(), createElementBlock("div", _hoisted_2$3, [
|
||||
createBaseVNode("header", _hoisted_3$3, [
|
||||
createBaseVNode("h2", _hoisted_4$3, toDisplayString($options.confirm.title), 1),
|
||||
createBaseVNode("p", _hoisted_5$2, toDisplayString($options.confirm.message), 1)
|
||||
]),
|
||||
createBaseVNode("footer", _hoisted_6$2, [
|
||||
createBaseVNode("button", {
|
||||
@@ -211,17 +209,17 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const Confirm = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7]]);
|
||||
const _sfc_main$6 = {};
|
||||
const _hoisted_1$6 = { class: "flex flex-row items-start w-full max-w-sm px-5 py-3 space-x-4 rounded shadow-2xl pointer-events-auto bg-overlay bf-blur" };
|
||||
const _hoisted_2$6 = { class: "mr-auto" };
|
||||
const _hoisted_3$6 = { class: "font-medium text-body" };
|
||||
const _hoisted_4$6 = { class: "text-small text-medium-emphasis" };
|
||||
const _hoisted_2$2 = { class: "mr-auto" };
|
||||
const _hoisted_3$2 = { class: "font-medium text-body" };
|
||||
const _hoisted_4$2 = { class: "text-small text-medium-emphasis" };
|
||||
function _sfc_render$6(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("li", _hoisted_1$6, [
|
||||
renderSlot(_ctx.$slots, "prefix"),
|
||||
createBaseVNode("div", _hoisted_2$6, [
|
||||
createBaseVNode("p", _hoisted_3$6, [
|
||||
createBaseVNode("div", _hoisted_2$2, [
|
||||
createBaseVNode("p", _hoisted_3$2, [
|
||||
renderSlot(_ctx.$slots, "title")
|
||||
]),
|
||||
createBaseVNode("p", _hoisted_4$6, [
|
||||
createBaseVNode("p", _hoisted_4$2, [
|
||||
renderSlot(_ctx.$slots, "subtitle")
|
||||
])
|
||||
])
|
||||
@@ -236,17 +234,14 @@ const _hoisted_1$5 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$5 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M7.938 2.016a.146.146 0 0 0-.054.057L1.027 13.74a.176.176 0 0 0-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017h13.713a.12.12 0 0 0 .066-.017.163.163 0 0 0 .055-.06.176.176 0 0 0-.003-.183L8.12 2.073a.146.146 0 0 0-.054-.057A.13.13 0 0 0 8.002 2a.13.13 0 0 0-.064.016zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$5 = /* @__PURE__ */ createBaseVNode("path", { d: "M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z" }, null, -1);
|
||||
const _hoisted_4$5 = [
|
||||
_hoisted_2$5,
|
||||
_hoisted_3$5
|
||||
];
|
||||
function _sfc_render$5(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_4$5);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$5, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M7.938 2.016a.146.146 0 0 0-.054.057L1.027 13.74a.176.176 0 0 0-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017h13.713a.12.12 0 0 0 .066-.017.163.163 0 0 0 .055-.06.176.176 0 0 0-.003-.183L8.12 2.073a.146.146 0 0 0-.054-.057A.13.13 0 0 0 8.002 2a.13.13 0 0 0-.064.016zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", { d: "M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z" }, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconDanger = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
|
||||
const _sfc_main$4 = {};
|
||||
@@ -257,17 +252,14 @@ const _hoisted_1$4 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$4 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$4 = /* @__PURE__ */ createBaseVNode("path", { d: "M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" }, null, -1);
|
||||
const _hoisted_4$4 = [
|
||||
_hoisted_2$4,
|
||||
_hoisted_3$4
|
||||
];
|
||||
function _sfc_render$4(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_4$4);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", { d: "M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" }, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconWarning = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
|
||||
const _sfc_main$3 = {};
|
||||
@@ -278,20 +270,17 @@ const _hoisted_1$3 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$3 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$3 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.236.236 0 0 1 .02-.022z"
|
||||
}, null, -1);
|
||||
const _hoisted_4$3 = [
|
||||
_hoisted_2$3,
|
||||
_hoisted_3$3
|
||||
];
|
||||
function _sfc_render$3(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$3, _hoisted_4$3);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$3, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.236.236 0 0 1 .02-.022z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconSuccess = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3]]);
|
||||
const _sfc_main$2 = {};
|
||||
@@ -303,23 +292,19 @@ const _hoisted_1$2 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$2 = /* @__PURE__ */ createBaseVNode("path", { d: "M8.93 6.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588z" }, null, -1);
|
||||
const _hoisted_4$2 = /* @__PURE__ */ createBaseVNode("circle", {
|
||||
cx: "8",
|
||||
cy: "4.5",
|
||||
r: "1"
|
||||
}, null, -1);
|
||||
const _hoisted_5$2 = [
|
||||
_hoisted_2$2,
|
||||
_hoisted_3$2,
|
||||
_hoisted_4$2
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_5$2);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", { d: "M8.93 6.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588z" }, null, -1),
|
||||
createBaseVNode("circle", {
|
||||
cx: "8",
|
||||
cy: "4.5",
|
||||
r: "1"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconInfo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {
|
||||
@@ -354,13 +339,11 @@ const _sfc_main$1 = {
|
||||
});
|
||||
},
|
||||
unmounted() {
|
||||
if (this.timeout)
|
||||
clearTimeout(this.timeout);
|
||||
if (this.timeout) clearTimeout(this.timeout);
|
||||
},
|
||||
methods: {
|
||||
getResults() {
|
||||
if (this.timeout)
|
||||
clearTimeout(this.timeout);
|
||||
if (this.timeout) clearTimeout(this.timeout);
|
||||
this.timeout = setTimeout(() => {
|
||||
if (!this.search) {
|
||||
this.loading = false;
|
||||
@@ -440,20 +423,17 @@ const _hoisted_4$1 = {
|
||||
};
|
||||
const _hoisted_5$1 = { class: "flex flex-col space-y-3" };
|
||||
const _hoisted_6$1 = { class: "text-small font-medium" };
|
||||
const _hoisted_7$1 = { class: "space-x-2 text-small" };
|
||||
const _hoisted_8$1 = /* @__PURE__ */ createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "/", -1);
|
||||
const _hoisted_7 = { class: "space-x-2 text-small" };
|
||||
const _hoisted_8 = { class: "space-x-2 text-small" };
|
||||
const _hoisted_9 = { class: "space-x-2 text-small" };
|
||||
const _hoisted_10 = /* @__PURE__ */ createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "c", -1);
|
||||
const _hoisted_11 = { class: "space-x-2 text-small" };
|
||||
const _hoisted_12 = /* @__PURE__ */ createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "p", -1);
|
||||
const _hoisted_13 = {
|
||||
const _hoisted_10 = {
|
||||
class: "rounded bg-surface-1 shadow-md overflow-hidden",
|
||||
key: "results"
|
||||
};
|
||||
const _hoisted_14 = { class: "flex flex-col divide-y divide-low-emphasis" };
|
||||
const _hoisted_15 = { class: "px-4 py-2 bg-surface-2" };
|
||||
const _hoisted_16 = { class: "text-small font-medium" };
|
||||
const _hoisted_17 = ["onClick"];
|
||||
const _hoisted_11 = { class: "flex flex-col divide-y divide-low-emphasis" };
|
||||
const _hoisted_12 = { class: "px-4 py-2 bg-surface-2" };
|
||||
const _hoisted_13 = { class: "text-small font-medium" };
|
||||
const _hoisted_14 = ["onClick"];
|
||||
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _directive_click_outside = resolveDirective("click-outside");
|
||||
return $data.searchOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
|
||||
@@ -482,31 +462,31 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("li", null, [
|
||||
createBaseVNode("h3", _hoisted_6$1, toDisplayString(_ctx.__("All helpful key shortcuts")), 1)
|
||||
]),
|
||||
createBaseVNode("li", _hoisted_7$1, [
|
||||
_hoisted_8$1,
|
||||
createBaseVNode("li", _hoisted_7, [
|
||||
_cache[1] || (_cache[1] = createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "/", -1)),
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Open search")), 1)
|
||||
]),
|
||||
createBaseVNode("li", _hoisted_9, [
|
||||
_hoisted_10,
|
||||
createBaseVNode("li", _hoisted_8, [
|
||||
_cache[2] || (_cache[2] = createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "c", -1)),
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Create site")), 1)
|
||||
]),
|
||||
createBaseVNode("li", _hoisted_11, [
|
||||
_hoisted_12,
|
||||
createBaseVNode("li", _hoisted_9, [
|
||||
_cache[3] || (_cache[3] = createBaseVNode("code", { class: "rounded px-2 py-1 monospace border border-low-emphasis shadow-sm" }, "p", -1)),
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Goto profile")), 1)
|
||||
])
|
||||
])
|
||||
])) : (openBlock(), createElementBlock("div", _hoisted_13, [
|
||||
])) : (openBlock(), createElementBlock("div", _hoisted_10, [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.results, (category) => {
|
||||
return openBlock(), createElementBlock("ul", _hoisted_14, [
|
||||
createBaseVNode("li", _hoisted_15, [
|
||||
createBaseVNode("h3", _hoisted_16, toDisplayString(category.label) + " (" + toDisplayString(category.total) + ")", 1)
|
||||
return openBlock(), createElementBlock("ul", _hoisted_11, [
|
||||
createBaseVNode("li", _hoisted_12, [
|
||||
createBaseVNode("h3", _hoisted_13, toDisplayString(category.label) + " (" + toDisplayString(category.total) + ")", 1)
|
||||
]),
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList(category.results, (result) => {
|
||||
return openBlock(), createElementBlock("li", null, [
|
||||
createBaseVNode("button", {
|
||||
onClick: ($event) => $options.closeSearch(result.route),
|
||||
class: "px-4 py-3 block text-small"
|
||||
}, toDisplayString(result.name), 9, _hoisted_17)
|
||||
}, toDisplayString(result.name), 9, _hoisted_14)
|
||||
]);
|
||||
}), 256))
|
||||
]);
|
||||
@@ -585,18 +565,10 @@ const _hoisted_2 = {
|
||||
key: 0,
|
||||
class: "relative bg-primary text-white"
|
||||
};
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("div", { class: "max-w-screen-xl mx-auto py-3 px-3 sm:px-6 lg:px-8" }, [
|
||||
/* @__PURE__ */ createBaseVNode("div", { class: "pr-16 sm:text-center sm:px-16" }, [
|
||||
/* @__PURE__ */ createBaseVNode("p", { class: "font-medium text-on-primary" }, " You are currently in a demo environment. ")
|
||||
])
|
||||
], -1);
|
||||
const _hoisted_4 = [
|
||||
_hoisted_3
|
||||
];
|
||||
const _hoisted_5 = { class: "max-w-screen-xl mx-auto py-3 px-3 sm:px-6 lg:px-8" };
|
||||
const _hoisted_6 = ["innerHTML"];
|
||||
const _hoisted_7 = { class: "fixed inset-0 z-50 flex items-start justify-end p-5 pointer-events-none" };
|
||||
const _hoisted_8 = {
|
||||
const _hoisted_3 = { class: "max-w-screen-xl mx-auto py-3 px-3 sm:px-6 lg:px-8" };
|
||||
const _hoisted_4 = ["innerHTML"];
|
||||
const _hoisted_5 = { class: "fixed inset-0 z-50 flex items-start justify-end p-5 pointer-events-none" };
|
||||
const _hoisted_6 = {
|
||||
key: 0,
|
||||
class: "fixed inset-0 z-40 bg-backdrop bf-blur"
|
||||
};
|
||||
@@ -610,7 +582,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_SearchPalette = resolveComponent("SearchPalette");
|
||||
const _component_Confirm = resolveComponent("Confirm");
|
||||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||||
_ctx.$page.props.settings.demo ? (openBlock(), createElementBlock("div", _hoisted_2, _hoisted_4)) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.demo ? (openBlock(), createElementBlock("div", _hoisted_2, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("div", { class: "max-w-screen-xl mx-auto py-3 px-3 sm:px-6 lg:px-8" }, [
|
||||
createBaseVNode("div", { class: "pr-16 sm:text-center sm:px-16" }, [
|
||||
createBaseVNode("p", { class: "font-medium text-on-primary" }, " You are currently in a demo environment. ")
|
||||
])
|
||||
], -1)
|
||||
]))) : createCommentVNode("", true),
|
||||
_ctx.$page.props.system_alert ? (openBlock(), createElementBlock("div", {
|
||||
key: 1,
|
||||
class: normalizeClass(["relative text-white", {
|
||||
@@ -619,15 +597,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
"bg-danger": _ctx.$page.props.system_alert.type === "danger"
|
||||
}])
|
||||
}, [
|
||||
createBaseVNode("div", _hoisted_5, [
|
||||
createBaseVNode("div", _hoisted_3, [
|
||||
createBaseVNode("div", {
|
||||
class: "pr-16 sm:text-center sm:px-16 font-medium text-on-primary",
|
||||
innerHTML: _ctx.$page.props.system_alert.message_html
|
||||
}, null, 8, _hoisted_6)
|
||||
}, null, 8, _hoisted_4)
|
||||
])
|
||||
], 2)) : createCommentVNode("", true),
|
||||
createVNode(_component_PortalTarget, { name: "modals" }),
|
||||
createBaseVNode("div", _hoisted_7, [
|
||||
createBaseVNode("div", _hoisted_5, [
|
||||
createVNode(TransitionGroup, {
|
||||
"enter-active-class": "transition ease-out transform duration-fast",
|
||||
"enter-class": "translate-x-6 opacity-0",
|
||||
@@ -681,7 +659,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
"leave-to-class": "opacity-0"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
$options.backdropIsOpen ? (openBlock(), createElementBlock("div", _hoisted_8)) : createCommentVNode("", true)
|
||||
$options.backdropIsOpen ? (openBlock(), createElementBlock("div", _hoisted_6)) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
@@ -705,13 +683,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const MainLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Content as C,
|
||||
List as L,
|
||||
ListItem as L,
|
||||
MainLayout as M,
|
||||
NotificationBadge as N,
|
||||
Page as P,
|
||||
PageBody as P,
|
||||
StatusBubble as S,
|
||||
PageHeader as a,
|
||||
List as a,
|
||||
PageHeaderTitle as b,
|
||||
PageBody as c,
|
||||
ListItem as d
|
||||
PageHeader as c,
|
||||
Page as d
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, h as withDirectives, a as createVNode, w as withCtx, j as renderSlot, r as resolveComponent, p as resolveDirective, T as Transition } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, r as resolveComponent, m as resolveDirective, h as withDirectives, a as createVNode, w as withCtx, j as renderSlot, T as Transition } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import { F as FormActions, a as Form } from "./Form-B2QYoLoL.js";
|
||||
import { a as Form, F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
const _sfc_main$2 = {};
|
||||
const _hoisted_1$2 = {
|
||||
width: "1em",
|
||||
@@ -9,20 +9,17 @@ const _hoisted_1$2 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M11.854 4.146a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708-.708l7-7a.5.5 0 0 1 .708 0z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4.146 4.146a.5.5 0 0 0 0 .708l7 7a.5.5 0 0 0 .708-.708l-7-7a.5.5 0 0 0-.708 0z"
|
||||
}, null, -1);
|
||||
const _hoisted_4 = [
|
||||
_hoisted_2$1,
|
||||
_hoisted_3$1
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_4);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M11.854 4.146a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708-.708l7-7a.5.5 0 0 1 .708 0z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4.146 4.146a.5.5 0 0 0 0 .708l7 7a.5.5 0 0 0 .708-.708l-7-7a.5.5 0 0 0-.708 0z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconClose = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {
|
||||
@@ -96,6 +93,6 @@ function _sfc_render(_ctx, _cache) {
|
||||
const ModalContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconClose as I,
|
||||
Modal as M,
|
||||
ModalContainer as a
|
||||
ModalContainer as M,
|
||||
Modal as a
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, F as Fragment, i as renderList, n as normalizeClass, g as createBlock, e as createCommentVNode, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { r as resolveComponent, c as createElementBlock, f as createCommentVNode, o as openBlock, F as Fragment, i as renderList, e as createBlock, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -1,9 +1,9 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -1,8 +1,8 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, e as createCommentVNode, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -21,10 +21,8 @@ const _sfc_main = {
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen py-8 px-8" };
|
||||
const _hoisted_2 = { class: "flex flex-col items-center space-y-5" };
|
||||
const _hoisted_3 = ["src"];
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("h1", { class: "font-semibold text-center text-heading" }, " Privacy Policy ", -1);
|
||||
const _hoisted_5 = { class: "flex justify-between" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createTextVNode("Back to login");
|
||||
const _hoisted_7 = ["innerHTML"];
|
||||
const _hoisted_4 = { class: "flex justify-between" };
|
||||
const _hoisted_5 = ["innerHTML"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TextDivider = resolveComponent("TextDivider");
|
||||
@@ -49,19 +47,20 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
class: "h-14",
|
||||
src: _ctx.$page.props.settings.logo
|
||||
}, null, 8, _hoisted_3)) : createCommentVNode("", true),
|
||||
_hoisted_4
|
||||
_cache[0] || (_cache[0] = createBaseVNode("h1", { class: "font-semibold text-center text-heading" }, " Privacy Policy ", -1))
|
||||
]),
|
||||
createVNode(_component_TextDivider, { "without-text": true }),
|
||||
createBaseVNode("ul", _hoisted_5, [
|
||||
createBaseVNode("ul", _hoisted_4, [
|
||||
createBaseVNode("li", null, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("login"),
|
||||
class: "text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_6
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[1] || (_cache[1] = [
|
||||
createTextVNode("Back to login", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [1]
|
||||
}, 8, ["href"])
|
||||
])
|
||||
]),
|
||||
@@ -69,7 +68,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("div", {
|
||||
class: "prose",
|
||||
innerHTML: $props.content
|
||||
}, null, 8, _hoisted_7)
|
||||
}, null, 8, _hoisted_5)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
@@ -1,21 +1,21 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, d as withModifiers, e as createCommentVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, b as createBaseVNode, d as withModifiers, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,9 +1,9 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput, E as ErrorText } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, h as withDirectives, v as vModelCheckbox, g as createBlock, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { E as ErrorText, F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, f as createCommentVNode, e as createBlock, h as withDirectives, v as vModelCheckbox, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -50,9 +50,7 @@ const _hoisted_8 = {
|
||||
class: "flex justify-between"
|
||||
};
|
||||
const _hoisted_9 = { key: 0 };
|
||||
const _hoisted_10 = /* @__PURE__ */ createTextVNode(" Terms Of Service ");
|
||||
const _hoisted_11 = { key: 1 };
|
||||
const _hoisted_12 = /* @__PURE__ */ createTextVNode(" Privacy Policy ");
|
||||
const _hoisted_10 = { key: 1 };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
@@ -175,21 +173,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
href: _ctx.route("page.show", "terms-of-service"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_10
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[6] || (_cache[6] = [
|
||||
createTextVNode(" Terms Of Service ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [6]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_11, [
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_10, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "privacy-policy"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_12
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[7] || (_cache[7] = [
|
||||
createTextVNode(" Privacy Policy ", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [7]
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true)
|
||||
])) : createCommentVNode("", true)
|
||||
@@ -1,9 +1,9 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, d as withModifiers, e as createCommentVNode, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, d as withModifiers, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -1,18 +1,18 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import TwoFactorAuthentication from "./TwoFactorAuthentication-1gMnZK8r.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, d as withModifiers } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import TwoFactorAuthentication from "./TwoFactorAuthentication-MRyf2N4m.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, d as withModifiers, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,23 +1,23 @@
|
||||
import TopBar from "./TopBar-R8PQU1S5.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar-BcnMXXeG.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton-7vWP_3t1.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import Tabs from "./Tabs-C40WyOki.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, d as withModifiers, e as createCommentVNode } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CBAi3WdO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { D as DropdownListItem, c as DropdownList, d as Dropdown, I as IconButton } from "./TabBar-BJF8ypca.js";
|
||||
import { D as DropdownListItemButton, I as IconMore } from "./DropdownListItemButton-xSGjrdxi.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import Tabs from "./Tabs-BoQ1P4Nd.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode, f as createCommentVNode, d as withModifiers } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,17 +1,17 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, d as withModifiers, c as createElementBlock, i as renderList, e as createCommentVNode, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, f as createCommentVNode, b as createBaseVNode, d as withModifiers, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -113,13 +113,7 @@ const _hoisted_2 = {
|
||||
key: 0,
|
||||
class: "flex absolute h-3 w-3 top-0 right-0 -mt-1 -mr-1"
|
||||
};
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("span", { class: "animate-ping absolute inline-flex h-full w-full rounded-circle bg-surface-1 opacity-75" }, null, -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("span", { class: "relative inline-flex rounded-circle h-3 w-3 bg-success" }, null, -1);
|
||||
const _hoisted_5 = [
|
||||
_hoisted_3,
|
||||
_hoisted_4
|
||||
];
|
||||
const _hoisted_6 = {
|
||||
const _hoisted_3 = {
|
||||
class: "bg-success text-on-primary p-4 rounded",
|
||||
role: "alert"
|
||||
};
|
||||
@@ -216,7 +210,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(available_php_version) + " ", 1),
|
||||
$data.timeout ? (openBlock(), createElementBlock("span", _hoisted_2, _hoisted_5)) : createCommentVNode("", true)
|
||||
$data.timeout ? (openBlock(), createElementBlock("span", _hoisted_2, _cache[4] || (_cache[4] = [
|
||||
createBaseVNode("span", { class: "animate-ping absolute inline-flex h-full w-full rounded-circle bg-surface-1 opacity-75" }, null, -1),
|
||||
createBaseVNode("span", { class: "relative inline-flex rounded-circle h-3 w-3 bg-success" }, null, -1)
|
||||
]))) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["disabled", "onClick"]);
|
||||
@@ -233,7 +230,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createTextVNode(toDisplayString(_ctx.__("DNS settings")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_6, [
|
||||
createBaseVNode("div", _hoisted_3, [
|
||||
createBaseVNode("p", null, toDisplayString(_ctx.__("Cloudflare is attached to this domain")), 1)
|
||||
])
|
||||
]),
|
||||
@@ -1,17 +1,17 @@
|
||||
import TopBar from "./TopBar-0HmotGst.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormSelect } from "./FormSelect-CgMQQnnn.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { u as useConfirm } from "./confirm-DZ_UQmgm.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, h as withDirectives, v as vModelCheckbox, f as createTextVNode, d as withModifiers } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-DRxYbtNm.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormSelect } from "./FormSelect-B_MULTc4.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { u as useConfirm } from "./confirm-Dthsy5hS.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, d as withModifiers, h as withDirectives, v as vModelCheckbox, g as createTextVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -87,8 +87,6 @@ const _hoisted_4 = {
|
||||
class: "ml-2 text-sm"
|
||||
};
|
||||
const _hoisted_5 = { class: "text-small mt-1 text-medium-emphasis" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createBaseVNode("div", { class: "border-t border-low-emphasis" }, null, -1);
|
||||
const _hoisted_7 = /* @__PURE__ */ createBaseVNode("p", null, " You can remove your account here. This will remove all data of your account. ", -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
@@ -158,14 +156,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
_hoisted_6,
|
||||
_cache[5] || (_cache[5] = createBaseVNode("div", { class: "border-t border-low-emphasis" }, null, -1)),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[3] || (_cache[3] = withModifiers((...args) => $options.deleteAccount && $options.deleteAccount(...args), ["prevent"]))
|
||||
}, [
|
||||
_hoisted_7,
|
||||
_cache[4] || (_cache[4] = createBaseVNode("p", null, " You can remove your account here. This will remove all data of your account. ", -1)),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, { variant: "danger" }, {
|
||||
@@ -182,7 +180,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
_: 1,
|
||||
__: [5]
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, e as createCommentVNode, b as createBaseVNode, n as normalizeClass } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, f as createCommentVNode, b as createBaseVNode, j as renderSlot, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, j as renderSlot } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, j as renderSlot } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = { class: "px-8 pb-8 space-y-6 border rounded border-low-emphasis" };
|
||||
@@ -1,20 +1,20 @@
|
||||
import TopBar from "./TopBar-DgiXSls-.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import Tabs from "./Tabs-DAh5F9QQ.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, f as createTextVNode, t as toDisplayString, b as createBaseVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-D_esN5Tq.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import Tabs from "./Tabs-DAgXcUvw.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, g as createTextVNode, t as toDisplayString, b as createBaseVNode, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,16 +1,16 @@
|
||||
import TopBar from "./TopBar-BHk5zf5x.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-BSmbux_l.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, f as createTextVNode, c as createElementBlock, i as renderList, F as Fragment, d as withModifiers, e as createCommentVNode } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-Bf0vddD4.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormTextarea } from "./FormTextarea-C9J5JfuY.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, g as createTextVNode, c as createElementBlock, f as createCommentVNode, F as Fragment, i as renderList, d as withModifiers } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -1,18 +1,18 @@
|
||||
import TopBar from "./TopBar-Bug88aOI.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { a as Form, F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { u as useNotification } from "./notification-CeHPAkcU.js";
|
||||
import Tabs from "./Tabs-Dc3bhyC5.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { o as openBlock, c as createElementBlock, g as createBlock, w as withCtx, r as resolveComponent, a as createVNode, f as createTextVNode, t as toDisplayString, e as createCommentVNode, b as createBaseVNode, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CUXW22BO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions, a as Form } from "./Form-Bg3Lzm8Q.js";
|
||||
import { u as useNotification } from "./notification-CGGsF_L-.js";
|
||||
import Tabs from "./Tabs-BBqf8oUX.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { c as createElementBlock, o as openBlock, r as resolveComponent, e as createBlock, w as withCtx, a as createVNode, f as createCommentVNode, t as toDisplayString, g as createTextVNode, b as createBaseVNode, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./TabBar-BcnMXXeG.js";
|
||||
import "./TabBar-BJF8ypca.js";
|
||||
const _sfc_main$1 = {
|
||||
data() {
|
||||
return {
|
||||
@@ -160,38 +160,21 @@ const _sfc_main = {
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["href"];
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("svg", {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
class: "h-5 w-5 text-primary hover:scale-125",
|
||||
fill: "none",
|
||||
viewBox: "0 0 24 24",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": "2"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("path", {
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
|
||||
})
|
||||
], -1);
|
||||
const _hoisted_3 = [
|
||||
_hoisted_2
|
||||
];
|
||||
const _hoisted_4 = { key: 0 };
|
||||
const _hoisted_5 = { class: "space-y-4" };
|
||||
const _hoisted_6 = { class: "grid grid-cols-2 gap-4" };
|
||||
const _hoisted_7 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_8 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_9 = {
|
||||
const _hoisted_2 = { key: 0 };
|
||||
const _hoisted_3 = { class: "space-y-4" };
|
||||
const _hoisted_4 = { class: "grid grid-cols-2 gap-4" };
|
||||
const _hoisted_5 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_6 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_7 = {
|
||||
key: 0,
|
||||
class: "grid grid-cols-2 gap-4"
|
||||
};
|
||||
const _hoisted_10 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_11 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_12 = { class: "space-y-4" };
|
||||
const _hoisted_13 = { class: "grid grid-cols-2 gap-4" };
|
||||
const _hoisted_14 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_15 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_8 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_9 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_10 = { class: "space-y-4" };
|
||||
const _hoisted_11 = { class: "grid grid-cols-2 gap-4" };
|
||||
const _hoisted_12 = { class: "col-span-2 md:col-span-1" };
|
||||
const _hoisted_13 = { class: "col-span-2 md:col-span-1" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
@@ -268,7 +251,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
href: `http://${$props.site.domain}`,
|
||||
class: "text-primary",
|
||||
target: "_blank"
|
||||
}, _hoisted_3, 8, _hoisted_1)
|
||||
}, _cache[2] || (_cache[2] = [
|
||||
createBaseVNode("svg", {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
class: "h-5 w-5 text-primary hover:scale-125",
|
||||
fill: "none",
|
||||
viewBox: "0 0 24 24",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": "2"
|
||||
}, [
|
||||
createBaseVNode("path", {
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
|
||||
})
|
||||
], -1)
|
||||
]), 8, _hoisted_1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
@@ -359,7 +357,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}),
|
||||
createVNode(_component_TableData, { border: false }, {
|
||||
default: withCtx(() => [
|
||||
$data.ftp_password ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
||||
$data.ftp_password ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
||||
createVNode(_component_copy, {
|
||||
label: `${$data.ftp_password}`,
|
||||
value: $data.ftp_password
|
||||
@@ -416,16 +414,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createTextVNode(toDisplayString(_ctx.__("Setup these DNS records to attach your webhosting to your domain.")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", _hoisted_5, [
|
||||
createBaseVNode("div", _hoisted_6, [
|
||||
createBaseVNode("div", _hoisted_7, [
|
||||
createBaseVNode("form", _hoisted_3, [
|
||||
createBaseVNode("div", _hoisted_4, [
|
||||
createBaseVNode("div", _hoisted_5, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "A",
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
"model-value": $options.mainDnsRecord
|
||||
}, null, 8, ["errors", "model-value"])
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createBaseVNode("div", _hoisted_6, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "IP",
|
||||
"allow-copy": "",
|
||||
@@ -434,15 +432,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, null, 8, ["errors", "model-value"])
|
||||
])
|
||||
]),
|
||||
$options.mainDnsRecord.split(".").length - 1 < 2 ? (openBlock(), createElementBlock("div", _hoisted_9, [
|
||||
createBaseVNode("div", _hoisted_10, [
|
||||
$options.mainDnsRecord.split(".").length - 1 < 2 ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "A",
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
"model-value": `www`
|
||||
}, null, 8, ["errors"])
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_11, [
|
||||
createBaseVNode("div", _hoisted_9, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "IP",
|
||||
"allow-copy": "",
|
||||
@@ -463,17 +461,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createTextVNode(toDisplayString(_ctx.__("Setup these DNS records to attach your webhosting to your domain.")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", _hoisted_12, [
|
||||
createBaseVNode("form", _hoisted_10, [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.site.aliases, (alias) => {
|
||||
return openBlock(), createElementBlock("div", _hoisted_13, [
|
||||
createBaseVNode("div", _hoisted_14, [
|
||||
return openBlock(), createElementBlock("div", _hoisted_11, [
|
||||
createBaseVNode("div", _hoisted_12, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "A",
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
value: alias
|
||||
}, null, 8, ["errors", "value"])
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_15, [
|
||||
createBaseVNode("div", _hoisted_13, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: "IP",
|
||||
"allow-copy": "",
|
||||
@@ -1,22 +1,22 @@
|
||||
import TopBar from "./TopBar-R8PQU1S5.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout-g3dgo2nU.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage-1qcOMFdR.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar-BcnMXXeG.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton-7vWP_3t1.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-C-1YjsQZ.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer-HI6hZWaV.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormActions } from "./Form-B2QYoLoL.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-1ztrgVCz.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-CEzgzIQ7.js";
|
||||
import { P as Pagination } from "./Pagination-Bv2cZ6go.js";
|
||||
import Tabs from "./Tabs-C40WyOki.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData-BOFDEper.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, l as createSlots, f as createTextVNode, c as createElementBlock, i as renderList, F as Fragment } from "./app-CxxfQWko.js";
|
||||
import TopBar from "./TopBar-CBAi3WdO.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { N as NotificationBadge, S as StatusBubble, L as ListItem, a as List, P as PageBody, b as PageHeaderTitle, c as PageHeader, d as Page, C as Content, M as MainLayout } from "./MainLayout-BaHappCa.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { I as IconStorage, a as IconGlobe, b as IconBox } from "./IconStorage-B8gRbWgP.js";
|
||||
import { D as DropdownListItem, c as DropdownList, d as Dropdown, I as IconButton } from "./TabBar-BJF8ypca.js";
|
||||
import { D as DropdownListItemButton, I as IconMore } from "./DropdownListItemButton-xSGjrdxi.js";
|
||||
import { E as EmptyImage } from "./EmptyImage-DSOs8pi0.js";
|
||||
import { M as ModalContainer, a as Modal } from "./ModalContainer-BJYjkZHR.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { F as FormActions } from "./Form-Bg3Lzm8Q.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout-DxGPRVqx.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment-DAvKglpz.js";
|
||||
import { P as Pagination } from "./Pagination-BxkKPX-y.js";
|
||||
import Tabs from "./Tabs-BoQ1P4Nd.js";
|
||||
import { T as TableData, a as TableBody, b as TableRow, c as TableHeader, d as TableHead, e as Table } from "./TableData-BL85fwH0.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode, b as createBaseVNode, t as toDisplayString, k as createSlots, g as createTextVNode, c as createElementBlock, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./notification-CeHPAkcU.js";
|
||||
import "./notification-CGGsF_L-.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
@@ -134,7 +134,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])
|
||||
]),
|
||||
key: "0"
|
||||
} : void 0
|
||||
]), 1024),
|
||||
createVNode(_component_PageBody, null, {
|
||||
@@ -1,5 +1,5 @@
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, x as normalizeProps, y as guardReactiveProps, n as normalizeClass, a as createVNode, w as withCtx, b as createBaseVNode, r as resolveComponent, e as createCommentVNode, g as createBlock, t as toDisplayString, f as createTextVNode, F as Fragment, i as renderList } from "./app-CxxfQWko.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { c as createElementBlock, o as openBlock, j as renderSlot, u as normalizeProps, x as guardReactiveProps, n as normalizeClass, y as link_default, r as resolveComponent, a as createVNode, w as withCtx, b as createBaseVNode, f as createCommentVNode, e as createBlock, t as toDisplayString, g as createTextVNode, F as Fragment, i as renderList } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$c = {
|
||||
data: () => ({
|
||||
@@ -81,6 +81,9 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}
|
||||
const DropdownList = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b]]);
|
||||
const _sfc_main$a = {
|
||||
components: {
|
||||
Link: link_default
|
||||
},
|
||||
props: {
|
||||
to: {
|
||||
type: String,
|
||||
@@ -101,14 +104,14 @@ const _sfc_main$a = {
|
||||
}
|
||||
};
|
||||
const _hoisted_1$7 = { class: "text-medium-emphasis" };
|
||||
const _hoisted_2$5 = { key: 0 };
|
||||
const _hoisted_3$4 = { key: 1 };
|
||||
const _hoisted_4$3 = ["href"];
|
||||
const _hoisted_2$2 = { key: 0 };
|
||||
const _hoisted_3$1 = { key: 1 };
|
||||
const _hoisted_4$1 = ["href"];
|
||||
function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_Link = resolveComponent("Link");
|
||||
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
||||
$props.componentIsInertiaLink ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
|
||||
createVNode(_component_inertia_link, {
|
||||
$props.componentIsInertiaLink ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
|
||||
createVNode(_component_Link, {
|
||||
as: $props.componentIs,
|
||||
href: $props.to,
|
||||
method: $props.method,
|
||||
@@ -119,13 +122,13 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
], void 0, true),
|
||||
_: 3
|
||||
}, 8, ["as", "href", "method"])
|
||||
])) : (openBlock(), createElementBlock("div", _hoisted_3$4, [
|
||||
])) : (openBlock(), createElementBlock("div", _hoisted_3$1, [
|
||||
createBaseVNode("a", {
|
||||
href: $props.to,
|
||||
class: "flex items-center w-full h-10 px-6 whitespace-nowrap text-small focus:bg-primary focus:text-on-primary hover:text-high-emphasis focus:outline-none"
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 8, _hoisted_4$3)
|
||||
], 8, _hoisted_4$1)
|
||||
]))
|
||||
]);
|
||||
}
|
||||
@@ -139,15 +142,13 @@ const _hoisted_1$6 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$4 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M14.53 10.53a7 7 0 0 1-9.058-9.058A7.003 7.003 0 0 0 8 15a7.002 7.002 0 0 0 6.53-4.47z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$3 = [
|
||||
_hoisted_2$4
|
||||
];
|
||||
function _sfc_render$9(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$6, _hoisted_3$3);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$6, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M14.53 10.53a7 7 0 0 1-9.058-9.058A7.003 7.003 0 0 0 8 15a7.002 7.002 0 0 0 6.53-4.47z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconMoon = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9]]);
|
||||
const _sfc_main$8 = {};
|
||||
@@ -159,17 +160,14 @@ const _hoisted_1$5 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$3 = /* @__PURE__ */ createBaseVNode("path", { d: "M3.5 8a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0z" }, null, -1);
|
||||
const _hoisted_3$2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8.202.28a.25.25 0 0 0-.404 0l-.91 1.255a.25.25 0 0 1-.334.067L5.232.79a.25.25 0 0 0-.374.155l-.36 1.508a.25.25 0 0 1-.282.19l-1.532-.245a.25.25 0 0 0-.286.286l.244 1.532a.25.25 0 0 1-.189.282l-1.509.36a.25.25 0 0 0-.154.374l.812 1.322a.25.25 0 0 1-.067.333l-1.256.91a.25.25 0 0 0 0 .405l1.256.91a.25.25 0 0 1 .067.334L.79 10.768a.25.25 0 0 0 .154.374l1.51.36a.25.25 0 0 1 .188.282l-.244 1.532a.25.25 0 0 0 .286.286l1.532-.244a.25.25 0 0 1 .282.189l.36 1.508a.25.25 0 0 0 .374.155l1.322-.812a.25.25 0 0 1 .333.067l.91 1.256a.25.25 0 0 0 .405 0l.91-1.256a.25.25 0 0 1 .334-.067l1.322.812a.25.25 0 0 0 .374-.155l.36-1.508a.25.25 0 0 1 .282-.19l1.532.245a.25.25 0 0 0 .286-.286l-.244-1.532a.25.25 0 0 1 .189-.282l1.508-.36a.25.25 0 0 0 .155-.374l-.812-1.322a.25.25 0 0 1 .067-.333l1.256-.91a.25.25 0 0 0 0-.405l-1.256-.91a.25.25 0 0 1-.067-.334l.812-1.322a.25.25 0 0 0-.155-.374l-1.508-.36a.25.25 0 0 1-.19-.282l.245-1.532a.25.25 0 0 0-.286-.286l-1.532.244a.25.25 0 0 1-.282-.189l-.36-1.508a.25.25 0 0 0-.374-.155l-1.322.812a.25.25 0 0 1-.333-.067L8.203.28zM8 2.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11z"
|
||||
}, null, -1);
|
||||
const _hoisted_4$2 = [
|
||||
_hoisted_2$3,
|
||||
_hoisted_3$2
|
||||
];
|
||||
function _sfc_render$8(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_4$2);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$5, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", { d: "M3.5 8a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0z" }, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8.202.28a.25.25 0 0 0-.404 0l-.91 1.255a.25.25 0 0 1-.334.067L5.232.79a.25.25 0 0 0-.374.155l-.36 1.508a.25.25 0 0 1-.282.19l-1.532-.245a.25.25 0 0 0-.286.286l.244 1.532a.25.25 0 0 1-.189.282l-1.509.36a.25.25 0 0 0-.154.374l.812 1.322a.25.25 0 0 1-.067.333l-1.256.91a.25.25 0 0 0 0 .405l1.256.91a.25.25 0 0 1 .067.334L.79 10.768a.25.25 0 0 0 .154.374l1.51.36a.25.25 0 0 1 .188.282l-.244 1.532a.25.25 0 0 0 .286.286l1.532-.244a.25.25 0 0 1 .282.189l.36 1.508a.25.25 0 0 0 .374.155l1.322-.812a.25.25 0 0 1 .333.067l.91 1.256a.25.25 0 0 0 .405 0l.91-1.256a.25.25 0 0 1 .334-.067l1.322.812a.25.25 0 0 0 .374-.155l.36-1.508a.25.25 0 0 1 .282-.19l1.532.245a.25.25 0 0 0 .286-.286l-.244-1.532a.25.25 0 0 1 .189-.282l1.508-.36a.25.25 0 0 0 .155-.374l-.812-1.322a.25.25 0 0 1 .067-.333l1.256-.91a.25.25 0 0 0 0-.405l-1.256-.91a.25.25 0 0 1-.067-.334l.812-1.322a.25.25 0 0 0-.155-.374l-1.508-.36a.25.25 0 0 1-.19-.282l.245-1.532a.25.25 0 0 0-.286-.286l-1.532.244a.25.25 0 0 1-.282-.189l-.36-1.508a.25.25 0 0 0-.374-.155l-1.322.812a.25.25 0 0 1-.333-.067L8.203.28zM8 2.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconSun = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$8]]);
|
||||
const _sfc_main$7 = {};
|
||||
@@ -181,20 +179,17 @@ const _hoisted_1$4 = {
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M10.442 10.442a1 1 0 0 1 1.415 0l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1 1 0 0 1 0-1.415z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"
|
||||
}, null, -1);
|
||||
const _hoisted_4$1 = [
|
||||
_hoisted_2$2,
|
||||
_hoisted_3$1
|
||||
];
|
||||
function _sfc_render$7(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_4$1);
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M10.442 10.442a1 1 0 0 1 1.415 0l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1 1 0 0 1 0-1.415z"
|
||||
}, null, -1),
|
||||
createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"
|
||||
}, null, -1)
|
||||
]));
|
||||
}
|
||||
const IconSearch = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7]]);
|
||||
const _sfc_main$6 = {};
|
||||
@@ -539,11 +534,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const TabBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Breadcrumbs as B,
|
||||
Dropdown as D,
|
||||
DropdownListItem as D,
|
||||
IconButton as I,
|
||||
TopBar as T,
|
||||
TopBarTabBarContainer as T,
|
||||
TabBar as a,
|
||||
TopBarTabBarContainer as b,
|
||||
TopBar as b,
|
||||
DropdownList as c,
|
||||
DropdownListItem as d
|
||||
Dropdown as d
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, t as toDisplayString, j as renderSlot, n as normalizeClass } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, j as renderSlot, t as toDisplayString, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main$5 = {
|
||||
props: {
|
||||
@@ -63,10 +63,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}
|
||||
const TableData = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Table as T,
|
||||
TableHead as a,
|
||||
TableHeader as b,
|
||||
TableRow as c,
|
||||
TableBody as d,
|
||||
TableData as e
|
||||
TableData as T,
|
||||
TableBody as a,
|
||||
TableRow as b,
|
||||
TableHeader as c,
|
||||
TableHead as d,
|
||||
Table as e
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import { c as createElementBlock, F as Fragment, i as renderList, o as openBlock, g as createBlock, w as withCtx, f as createTextVNode, t as toDisplayString, n as normalizeClass, m as resolveDynamicComponent, e as createCommentVNode } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, F as Fragment, i as renderList, e as createBlock, f as createCommentVNode, w as withCtx, g as createTextVNode, t as toDisplayString, n as normalizeClass, l as resolveDynamicComponent } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { c as createElementBlock, F as Fragment, i as renderList, o as openBlock, g as createBlock, w as withCtx, f as createTextVNode, t as toDisplayString, n as normalizeClass, m as resolveDynamicComponent, e as createCommentVNode } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, F as Fragment, i as renderList, e as createBlock, f as createCommentVNode, w as withCtx, g as createTextVNode, t as toDisplayString, n as normalizeClass, l as resolveDynamicComponent } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -1,4 +1,4 @@
|
||||
import { c as createElementBlock, F as Fragment, i as renderList, o as openBlock, a as createVNode, w as withCtx, f as createTextVNode, t as toDisplayString, n as normalizeClass, r as resolveComponent } from "./app-CxxfQWko.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, F as Fragment, i as renderList, a as createVNode, w as withCtx, g as createTextVNode, t as toDisplayString, n as normalizeClass } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -1,8 +1,8 @@
|
||||
import { T as TextDivider } from "./TextDivider-BljtVJNa.js";
|
||||
import { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { C as Container } from "./Container-CNq5kmz8.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, b as createBaseVNode, F as Fragment, r as resolveComponent, o as openBlock, t as toDisplayString, e as createCommentVNode, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TextDivider } from "./TextDivider-9k7Ruy3O.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { C as Container } from "./Container-puWPPyw6.js";
|
||||
import { r as resolveComponent, c as createElementBlock, o as openBlock, a as createVNode, b as createBaseVNode, w as withCtx, t as toDisplayString, f as createCommentVNode, g as createTextVNode, F as Fragment } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
@@ -21,10 +21,8 @@ const _sfc_main = {
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen py-8 px-8" };
|
||||
const _hoisted_2 = { class: "flex flex-col items-center space-y-5" };
|
||||
const _hoisted_3 = ["src"];
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("h1", { class: "font-semibold text-center text-heading" }, " Terms of Service ", -1);
|
||||
const _hoisted_5 = { class: "flex justify-between" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createTextVNode("Back to login");
|
||||
const _hoisted_7 = ["innerHTML"];
|
||||
const _hoisted_4 = { class: "flex justify-between" };
|
||||
const _hoisted_5 = ["innerHTML"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Head = resolveComponent("Head");
|
||||
const _component_TextDivider = resolveComponent("TextDivider");
|
||||
@@ -49,19 +47,20 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
class: "h-14",
|
||||
src: _ctx.$page.props.settings.logo
|
||||
}, null, 8, _hoisted_3)) : createCommentVNode("", true),
|
||||
_hoisted_4
|
||||
_cache[0] || (_cache[0] = createBaseVNode("h1", { class: "font-semibold text-center text-heading" }, " Terms of Service ", -1))
|
||||
]),
|
||||
createVNode(_component_TextDivider, { "without-text": true }),
|
||||
createBaseVNode("ul", _hoisted_5, [
|
||||
createBaseVNode("ul", _hoisted_4, [
|
||||
createBaseVNode("li", null, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("login"),
|
||||
class: "text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_6
|
||||
], void 0, true),
|
||||
_: 1
|
||||
default: withCtx(() => _cache[1] || (_cache[1] = [
|
||||
createTextVNode("Back to login", -1)
|
||||
]), void 0, true),
|
||||
_: 1,
|
||||
__: [1]
|
||||
}, 8, ["href"])
|
||||
])
|
||||
]),
|
||||
@@ -69,7 +68,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
createBaseVNode("div", {
|
||||
class: "prose",
|
||||
innerHTML: $props.content
|
||||
}, null, 8, _hoisted_7)
|
||||
}, null, 8, _hoisted_5)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
@@ -1,4 +1,4 @@
|
||||
import { o as openBlock, c as createElementBlock, j as renderSlot, e as createCommentVNode, b as createBaseVNode } from "./app-CxxfQWko.js";
|
||||
import { c as createElementBlock, o as openBlock, b as createBaseVNode, f as createCommentVNode, j as renderSlot } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
@@ -9,15 +9,14 @@ const _sfc_main = {
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "relative flex items-center justify-center" };
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { class: "absolute inset-x-0 w-full border-t border-low-emphasis" }, null, -1);
|
||||
const _hoisted_3 = {
|
||||
const _hoisted_2 = {
|
||||
key: 0,
|
||||
class: "relative px-2 py-1 bg-surface-1 text-body text-medium-emphasis"
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||||
_hoisted_2,
|
||||
!$props.withoutText ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
||||
_cache[0] || (_cache[0] = createBaseVNode("div", { class: "absolute inset-x-0 w-full border-t border-low-emphasis" }, null, -1)),
|
||||
!$props.withoutText ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
])) : createCommentVNode("", true)
|
||||
]);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user