Compare commits
29 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 |
@@ -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('*---------------------------------------------------------------------------*');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
},
|
||||
|
||||
8541
composer.lock
generated
8541
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)
|
||||
]);
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { T as TopBar$1, B as Breadcrumbs, a as TabBar, b as TopBarTabBarContainer } from "./TabBar-BcnMXXeG.js";
|
||||
import { g as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode } from "./app-CxxfQWko.js";
|
||||
import { T as TopBarTabBarContainer, a as TabBar, B as Breadcrumbs, b as TopBar$1 } from "./TabBar-BJF8ypca.js";
|
||||
import { r as resolveComponent, e as createBlock, o as openBlock, w as withCtx, a as createVNode } from "./app-B9WIo_5_.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
||||
import "./Container-CNq5kmz8.js";
|
||||
import "./Container-puWPPyw6.js";
|
||||
const _sfc_main = {
|
||||
components: {
|
||||
TopBar: TopBar$1,
|
||||
@@ -1,7 +1,7 @@
|
||||
import { o as openBlock, c as createElementBlock, n as normalizeClass, k as dist, b as createBaseVNode, a as createVNode, w as withCtx, d as withModifiers, t as toDisplayString, F as Fragment, i as renderList, e as createCommentVNode, r as resolveComponent, f as createTextVNode } from "./app-CxxfQWko.js";
|
||||
import { B as Button } from "./Button-BU87Kkzj.js";
|
||||
import { B as Button } from "./Button-BYc82Y1k.js";
|
||||
import { c as createElementBlock, o as openBlock, n as normalizeClass, r as resolveComponent, b as createBaseVNode, a as createVNode, w as withCtx, g as createTextVNode, t as toDisplayString, d as withModifiers, 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 { F as FormInput } from "./FormInput-DVqI9ei1.js";
|
||||
import { F as FormInput } from "./FormInput-43oIPTin.js";
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body h-10 max-w-lg px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main$1 = {
|
||||
props: {
|
||||
@@ -58,22 +58,22 @@ const _sfc_main = {
|
||||
},
|
||||
methods: {
|
||||
enable2FA() {
|
||||
dist.Inertia.put(this.route("profile.security.two-factor-authentication.create"));
|
||||
this.$inertia.put(this.route("profile.security.two-factor-authentication.create"));
|
||||
},
|
||||
confirm2FA() {
|
||||
dist.Inertia.patch(this.route("profile.security.two-factor-authentication.confirm"), this.form, {
|
||||
this.$inertia.patch(this.route("profile.security.two-factor-authentication.confirm"), this.form, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
},
|
||||
regenerateRecoveryCodes() {
|
||||
dist.Inertia.patch(this.route("profile.security.two-factor-authentication.regenerate-recovery-codes"), {}, {
|
||||
this.$inertia.patch(this.route("profile.security.two-factor-authentication.regenerate-recovery-codes"), {}, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
},
|
||||
disable2FA() {
|
||||
dist.Inertia.delete(this.route("profile.security.two-factor-authentication.destroy"), {}, {
|
||||
this.$inertia.delete(this.route("profile.security.two-factor-authentication.destroy"), {}, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
28473
public/build/assets/app-B9WIo_5_.js
vendored
Normal file
28473
public/build/assets/app-B9WIo_5_.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user