Compare commits

...

29 Commits
3.6 ... 4.2

Author SHA1 Message Date
Dennis
e3b944f450 updates 2025-10-28 13:34:34 +01:00
Dennis
e197a915b3 Add useragent 2025-10-28 13:31:05 +01:00
Dennis
db1240c43f Composer format & run action 2025-08-13 20:49:47 +02:00
Dennis
732ed7ea43 Merge branch 'master' of https://github.com/ploi/ploi-core 2025-08-13 20:46:37 +02:00
Dennis
e776ae299a Use Laravel prompts 💬 2025-08-13 20:46:33 +02:00
Dennis Smink
b8c07cde53 Merge pull request #38 from jelleroorda/fix-support-close-reopen
Fix closing and reopening of support tickets.
2025-08-13 20:24:23 +02:00
Dennis Smink
6eb36a84af Merge pull request #37 from jelleroorda/fix-support-ticket-mail
Use the proper route for in new ticket received mail.
2025-08-13 20:23:34 +02:00
Jelle Roorda
9622a08b74 Fix closing and reopening of support tickets. 2025-08-13 17:49:47 +02:00
Jelle Roorda
4d11e3939a Use the proper route for in new ticket received mail. 2025-08-13 17:41:15 +02:00
Dennis Smink
592bc2b0f6 Merge pull request #36 from ploi/prepare-open-source
Open Source 🔥
2025-08-12 11:39:15 +02:00
Dennis
33ccdd1b2d remove traces 2025-08-12 11:23:34 +02:00
Dennis
065773fb6f wip 2025-08-12 08:32:52 +02:00
Dennis
e26a7c2a50 Vite upgrade 2025-08-12 07:44:19 +02:00
Dennis
022caacb24 wip 2025-08-12 07:39:20 +02:00
Dennis
b5da1367d0 wip 2025-08-12 07:37:58 +02:00
Dennis
175134233b wip 2025-08-11 13:53:57 +02:00
Dennis
072018b122 wip 2025-04-11 09:10:21 +02:00
Dennis
694254cd21 prod mix 2025-01-07 10:34:38 +01:00
Dennis
8b5c5734c1 fixes 2025-01-07 10:31:44 +01:00
Dennis
528868c1df wip 2025-01-07 10:19:12 +01:00
Dennis
ba2b932bb8 wip 2025-01-07 10:15:19 +01:00
Dennis
a986d4316e wip 2024-12-19 10:06:01 +01:00
Dennis Smink
f05206f940 Merge pull request #30 from ploi/sm/71-darkmode-bug-2
Added darkmode support for ticket
2024-12-19 09:54:05 +01:00
Dennis Smink
2d6a5fa770 Merge pull request #29 from ploi/sm/72-allow-custom-name-package-webhosting-on-invoice
Changed package name in invoice pdf
2024-12-19 09:53:50 +01:00
Dennis Smink
cd29843a88 Merge pull request #28 from ploi/sm/update
Upgrade Laravel 11 + Vue upgrade
2024-12-19 09:53:17 +01:00
Stan Menten
5a6e742fd9 Added darkmode support for ticket 2024-12-18 16:50:51 +01:00
Stan Menten
6a991aa320 Changed package name in invoice pdf 2024-12-18 16:46:28 +01:00
Stan Menten
1a61a01628 Added necessary migrations 2024-12-18 13:45:00 +01:00
Stan Menten
896564990d Big version update 2024-12-18 13:41:08 +01:00
132 changed files with 39087 additions and 31004 deletions

View File

@@ -7,7 +7,6 @@ APP_DEMO=false
APP_DATE_TIME_FORMAT="Y-m-d H:i:s"
PLOI_TOKEN=
PLOI_CORE_TOKEN=
IMPERSONATION=false

View File

@@ -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
View File

@@ -21,3 +21,4 @@ yarn-error.log
rr
.rr.yaml
.DS_Store
.phpunit.cache

View File

@@ -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
View 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.

View File

@@ -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.')

View File

@@ -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('*---------------------------------------------------------------------------*');
}
}

View File

@@ -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
{

View File

@@ -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'),

View File

@@ -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'),

View File

@@ -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,
]);
}

View File

@@ -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');
}
}

View File

@@ -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', [

View File

@@ -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();
}
}

View File

@@ -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;

View File

@@ -1,6 +1,6 @@
<?php
namespace Services\Ploi\Exceptions\Resource;
namespace App\Services\Ploi\Exceptions\Resource;
use Exception;

View File

@@ -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
{

View File

@@ -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);
}

View File

@@ -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
{

View File

@@ -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);

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -32,7 +32,6 @@ return [
'ploi' => [
'token' => env('PLOI_TOKEN'),
'core-token' => env('PLOI_CORE_TOKEN')
],
'ploi-api' => [

View File

@@ -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),
];
}

View File

@@ -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',
]);
});
}
};

View File

@@ -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');
}
};

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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"
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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: {

View File

@@ -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

View File

@@ -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

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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)

View File

@@ -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

View File

@@ -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";

View File

@@ -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

View File

@@ -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: {

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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, {

View File

@@ -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

View File

@@ -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

View File

@@ -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 = {

View File

@@ -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: {

View File

@@ -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 = {

View File

@@ -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: {

View File

@@ -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());

View File

@@ -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)

View File

@@ -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 = {

View 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
};

View File

@@ -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
};

View File

@@ -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
};

View 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
};

View File

@@ -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),

View File

@@ -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

View File

@@ -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

View File

@@ -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, {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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
};

View 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
};

View File

@@ -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: {

View File

@@ -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)

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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
})

View File

@@ -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: {

View File

@@ -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)

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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)
])
]),

View File

@@ -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

View File

@@ -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: {

View File

@@ -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" };

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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": "",

View File

@@ -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, {

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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
})

View File

@@ -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)
]);

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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

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