first
This commit is contained in:
1
database/.gitignore
vendored
Normal file
1
database/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.sqlite*
|
||||
44
database/factories/UserFactory.php
Normal file
44
database/factories/UserFactory.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
|
||||
*/
|
||||
class UserFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* The current password being used by the factory.
|
||||
*/
|
||||
protected static ?string $password;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => fake()->name(),
|
||||
'email' => fake()->unique()->safeEmail(),
|
||||
'email_verified_at' => now(),
|
||||
'password' => static::$password ??= Hash::make('password'),
|
||||
'remember_token' => Str::random(10),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the model's email address should be unverified.
|
||||
*/
|
||||
public function unverified(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'email_verified_at' => null,
|
||||
]);
|
||||
}
|
||||
}
|
||||
49
database/migrations/0001_01_01_000000_create_users_table.php
Normal file
49
database/migrations/0001_01_01_000000_create_users_table.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('users', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('email')->unique();
|
||||
$table->timestamp('email_verified_at')->nullable();
|
||||
$table->string('password');
|
||||
$table->rememberToken();
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
Schema::create('password_reset_tokens', function (Blueprint $table) {
|
||||
$table->string('email')->primary();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
|
||||
Schema::create('sessions', function (Blueprint $table) {
|
||||
$table->string('id')->primary();
|
||||
$table->foreignId('user_id')->nullable()->index();
|
||||
$table->string('ip_address', 45)->nullable();
|
||||
$table->text('user_agent')->nullable();
|
||||
$table->longText('payload');
|
||||
$table->integer('last_activity')->index();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('users');
|
||||
Schema::dropIfExists('password_reset_tokens');
|
||||
Schema::dropIfExists('sessions');
|
||||
}
|
||||
};
|
||||
35
database/migrations/0001_01_01_000001_create_cache_table.php
Normal file
35
database/migrations/0001_01_01_000001_create_cache_table.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('cache', function (Blueprint $table) {
|
||||
$table->string('key')->primary();
|
||||
$table->mediumText('value');
|
||||
$table->integer('expiration');
|
||||
});
|
||||
|
||||
Schema::create('cache_locks', function (Blueprint $table) {
|
||||
$table->string('key')->primary();
|
||||
$table->string('owner');
|
||||
$table->integer('expiration');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('cache');
|
||||
Schema::dropIfExists('cache_locks');
|
||||
}
|
||||
};
|
||||
57
database/migrations/0001_01_01_000002_create_jobs_table.php
Normal file
57
database/migrations/0001_01_01_000002_create_jobs_table.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('jobs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('queue')->index();
|
||||
$table->longText('payload');
|
||||
$table->unsignedTinyInteger('attempts');
|
||||
$table->unsignedInteger('reserved_at')->nullable();
|
||||
$table->unsignedInteger('available_at');
|
||||
$table->unsignedInteger('created_at');
|
||||
});
|
||||
|
||||
Schema::create('job_batches', function (Blueprint $table) {
|
||||
$table->string('id')->primary();
|
||||
$table->string('name');
|
||||
$table->integer('total_jobs');
|
||||
$table->integer('pending_jobs');
|
||||
$table->integer('failed_jobs');
|
||||
$table->longText('failed_job_ids');
|
||||
$table->mediumText('options')->nullable();
|
||||
$table->integer('cancelled_at')->nullable();
|
||||
$table->integer('created_at');
|
||||
$table->integer('finished_at')->nullable();
|
||||
});
|
||||
|
||||
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uuid')->unique();
|
||||
$table->text('connection');
|
||||
$table->text('queue');
|
||||
$table->longText('payload');
|
||||
$table->longText('exception');
|
||||
$table->timestamp('failed_at')->useCurrent();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('jobs');
|
||||
Schema::dropIfExists('job_batches');
|
||||
Schema::dropIfExists('failed_jobs');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
Schema::create('settings', function (Blueprint $table): void {
|
||||
$table->id();
|
||||
|
||||
$table->string('group');
|
||||
$table->string('name');
|
||||
$table->boolean('locked')->default(false);
|
||||
$table->json('payload');
|
||||
|
||||
$table->timestamps();
|
||||
|
||||
$table->unique(['group', 'name']);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateActivityLogTable extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->create(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->string('log_name')->nullable();
|
||||
$table->text('description');
|
||||
$table->nullableMorphs('subject', 'subject');
|
||||
$table->nullableMorphs('causer', 'causer');
|
||||
$table->json('properties')->nullable();
|
||||
$table->timestamps();
|
||||
$table->index('log_name');
|
||||
});
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->dropIfExists(config('activitylog.table_name'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddEventColumnToActivityLogTable extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->string('event')->nullable()->after('subject_type');
|
||||
});
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->dropColumn('event');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddBatchUuidColumnToActivityLogTable extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->uuid('batch_uuid')->nullable()->after('properties');
|
||||
});
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) {
|
||||
$table->dropColumn('batch_uuid');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('brands', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name')->unique();
|
||||
$table->string('image');
|
||||
$table->boolean('active')->default(true);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('brands');
|
||||
}
|
||||
};
|
||||
33
database/seeders/BrandTableSeeder.php
Normal file
33
database/seeders/BrandTableSeeder.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Brand;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class BrandTableSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
File::copyDirectory(public_path('web/assets/img/brand'), storage_path('app/public/brand'));
|
||||
File::chmod(public_path('web/assets/img/brand'), 0777);
|
||||
|
||||
$brands = [
|
||||
['name' => fake()->city, 'image' => 'brand/brand-1.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-2.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-3.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-4.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-5.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-6.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-7.png', 'active' => true],
|
||||
['name' => fake()->city, 'image' => 'brand/brand-8.png', 'active' => true],
|
||||
];
|
||||
|
||||
Brand::insert($brands);
|
||||
}
|
||||
}
|
||||
20
database/seeders/DatabaseSeeder.php
Normal file
20
database/seeders/DatabaseSeeder.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\User;
|
||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Seed the application's database.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$this->call([
|
||||
BrandTableSeeder::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('general.brand_name', 'SuperDuper Starter Kit');
|
||||
$this->migrator->add('general.brand_logo', 'sites/logo.png');
|
||||
$this->migrator->add('general.brand_logoHeight', '100');
|
||||
$this->migrator->add('general.site_favicon', 'sites/logo.ico');
|
||||
$this->migrator->add('general.search_engine_indexing', false);
|
||||
$this->migrator->add('general.site_theme', [
|
||||
'primary' => '#2D2B8D',
|
||||
'secondary' => '#FFC903',
|
||||
'gray' => '#0a0700',
|
||||
'success' => '#10B981',
|
||||
'danger' => '#EF4444',
|
||||
'info' => '#3B82F6',
|
||||
'warning' => '#F59E0B',
|
||||
]);
|
||||
}
|
||||
};
|
||||
66
database/settings/2024_02_21_153246_create_mail_settings.php
Normal file
66
database/settings/2024_02_21_153246_create_mail_settings.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('mail.from_address', 'notifications@superduperstarter.com');
|
||||
$this->migrator->add('mail.from_name', 'SuperDuper Filament Starter');
|
||||
$this->migrator->add('mail.reply_to_address', 'support@superduperstarter.com');
|
||||
$this->migrator->add('mail.reply_to_name', 'SuperDuper Support');
|
||||
|
||||
$this->migrator->add('mail.driver', 'smtp');
|
||||
$this->migrator->add('mail.host', null);
|
||||
$this->migrator->add('mail.port', 587);
|
||||
$this->migrator->add('mail.encryption', 'tls');
|
||||
$this->migrator->addEncrypted('mail.username', null);
|
||||
$this->migrator->addEncrypted('mail.password', null);
|
||||
$this->migrator->add('mail.timeout', 30);
|
||||
$this->migrator->add('mail.local_domain', null); // Local domain for HELO command, usually not needed unless behind proxy
|
||||
|
||||
$this->migrator->add('mail.template_theme', 'default');
|
||||
$this->migrator->add('mail.footer_text', '© '.date('Y').' SuperDuper Starter. All rights reserved.');
|
||||
$this->migrator->add('mail.logo_path', 'sites/email-logo.png');
|
||||
$this->migrator->add('mail.primary_color', '#2D2B8D');
|
||||
$this->migrator->add('mail.secondary_color', '#FFC903');
|
||||
|
||||
$this->migrator->add('mail.queue_emails', true);
|
||||
$this->migrator->add('mail.queue_name', 'emails');
|
||||
$this->migrator->add('mail.queue_connection', 'database');
|
||||
$this->migrator->add('mail.rate_limiting', [
|
||||
'enabled' => true,
|
||||
'attempts' => 5,
|
||||
'per_minutes' => 1,
|
||||
]);
|
||||
|
||||
$this->migrator->add('mail.notifications_enabled', true);
|
||||
$this->migrator->add('mail.notification_types', [
|
||||
'account' => true,
|
||||
'system' => true,
|
||||
'marketing' => false,
|
||||
'blog' => false,
|
||||
]);
|
||||
|
||||
$this->migrator->add('mail.test_mode', false);
|
||||
$this->migrator->add('mail.log_channel', 'stack');
|
||||
$this->migrator->add('mail.test_to_address', null);
|
||||
|
||||
$this->migrator->add('mail.providers', [
|
||||
'mailgun' => [
|
||||
'domain' => null,
|
||||
'secret' => null,
|
||||
'endpoint' => 'api.mailgun.net',
|
||||
],
|
||||
'postmark' => [
|
||||
'token' => null,
|
||||
],
|
||||
'ses' => [
|
||||
'key' => null,
|
||||
'secret' => null,
|
||||
'region' => 'us-east-1',
|
||||
],
|
||||
]);
|
||||
}
|
||||
};
|
||||
27
database/settings/2025_03_16_032002_create_sites.php
Normal file
27
database/settings/2025_03_16_032002_create_sites.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('sites.is_maintenance', false);
|
||||
$this->migrator->add('sites.name', 'SuperDuper Filament Starter');
|
||||
$this->migrator->add('sites.logo', 'sites/logo.png');
|
||||
$this->migrator->add('sites.tagline', 'Elevate Your Development Experience');
|
||||
$this->migrator->add('sites.description', 'Transform your workflow with SuperDuper Filament Starter — the toolkit for Filament 3 projects. Packed with enterprise-ready plugins, seamless configurations, and expert-crafted interfaces to accelerate your development from concept to production.');
|
||||
$this->migrator->add('sites.default_language', 'en');
|
||||
$this->migrator->add('sites.timezone', 'UTC');
|
||||
$this->migrator->add('sites.copyright_text', '© '.date('Y').' SuperDuper Starter. All rights reserved.');
|
||||
$this->migrator->add('sites.terms_url', '/terms');
|
||||
$this->migrator->add('sites.privacy_url', '/privacy');
|
||||
$this->migrator->add('sites.cookie_policy_url', '/cookie-policy');
|
||||
$this->migrator->add('sites.custom_404_message', 'Oops! This page seems to have vanished into the digital ether. Let\'s get you back on track.');
|
||||
$this->migrator->add('sites.custom_500_message', 'We\'ve encountered an unexpected glitch. Our team has been notified and is working to restore service.');
|
||||
$this->migrator->add('sites.company_name', 'SuperDuper Starter');
|
||||
$this->migrator->add('sites.company_email', 'hello@superduperstarter.com');
|
||||
$this->migrator->add('sites.company_phone', '+1 (800) 123-4567');
|
||||
$this->migrator->add('sites.company_address', 'Innovation Tower, 101 Tech Boulevard, Digital City, 10101');
|
||||
}
|
||||
};
|
||||
61
database/settings/2025_03_16_032148_create_sites_seo.php
Normal file
61
database/settings/2025_03_16_032148_create_sites_seo.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
// General SEO settings
|
||||
$this->migrator->add('sites_seo.meta_title_format', '{page_title} {separator} {site_name}');
|
||||
$this->migrator->add('sites_seo.meta_description', 'Accelerate your Laravel development with SuperDuper Filament Starter — featuring enterprise-ready plugins, seamless admin interfaces, and powerful developer tools in one package.');
|
||||
$this->migrator->add('sites_seo.meta_keywords', 'filament admin, laravel development, admin dashboard, filament starter, developer toolkit, rapid application development, enterprise cms, content management, user management');
|
||||
$this->migrator->add('sites_seo.canonical_url', '');
|
||||
$this->migrator->add('sites_seo.robots_indexing', true);
|
||||
$this->migrator->add('sites_seo.robots_following', true);
|
||||
|
||||
// Page type specific title formats
|
||||
$this->migrator->add('sites_seo.title_separator', '•');
|
||||
$this->migrator->add('sites_seo.blog_title_format', '{post_title} {separator} {site_name}');
|
||||
$this->migrator->add('sites_seo.product_title_format', '{product_name} • Filament Component {separator} {site_name}');
|
||||
$this->migrator->add('sites_seo.category_title_format', '{category_name} Solutions & Resources {separator} {site_name}');
|
||||
$this->migrator->add('sites_seo.search_title_format', 'Results for "{search_term}" {separator} Developer Resources {separator} {site_name}');
|
||||
$this->migrator->add('sites_seo.author_title_format', 'Expert Content by {author_name} {separator} {site_name}');
|
||||
|
||||
// Open Graph settings
|
||||
$this->migrator->add('sites_seo.og_type', 'website');
|
||||
$this->migrator->add('sites_seo.og_title', '{page_title} | SuperDuper Filament Starter');
|
||||
$this->migrator->add('sites_seo.og_description', 'Transform your Laravel development workflow with our Filament toolkit. Built for developers who demand excellence.');
|
||||
$this->migrator->add('sites_seo.og_image', 'sites/social-card.png');
|
||||
$this->migrator->add('sites_seo.og_site_name', 'SuperDuper Filament Starter');
|
||||
|
||||
// Twitter Card settings
|
||||
$this->migrator->add('sites_seo.twitter_card_type', 'summary_large_image');
|
||||
$this->migrator->add('sites_seo.twitter_site', '@superduperstarter');
|
||||
$this->migrator->add('sites_seo.twitter_creator', '@superduperstarter');
|
||||
$this->migrator->add('sites_seo.twitter_title', '{page_title} | Professional Developer Tools');
|
||||
$this->migrator->add('sites_seo.twitter_description', 'Crafted for developers who build exceptional applications. Our Filament Starter delivers tools for faster, better Laravel development.');
|
||||
$this->migrator->add('sites_seo.twitter_image', 'sites/twitter-card.png');
|
||||
|
||||
// Schema.org settings
|
||||
$this->migrator->add('sites_seo.schema_type', 'SoftwareApplication');
|
||||
$this->migrator->add('sites_seo.schema_name', 'SuperDuper Filament Starter');
|
||||
$this->migrator->add('sites_seo.schema_description', 'A comprehensive toolkit for Laravel Filament developers featuring pre-configured admin panels, user management, SEO tools, and content management systems.');
|
||||
$this->migrator->add('sites_seo.schema_logo', 'sites/structured-data-logo.png');
|
||||
|
||||
// Additional settings
|
||||
$this->migrator->add('sites_seo.head_additional_meta', '<meta name="author" content="SuperDuper Starter"><meta name="application-name" content="SuperDuper Filament Starter"><link rel="preconnect" href="https://fonts.googleapis.com">');
|
||||
$this->migrator->add('sites_seo.verification_codes', [
|
||||
'google' => '',
|
||||
'bing' => '',
|
||||
'yandex' => '',
|
||||
'baidu' => '',
|
||||
]);
|
||||
$this->migrator->add('sites_seo.robots_txt_content', "User-agent: *\nAllow: /\n\nSitemap: {site_url}/sitemap.xml");
|
||||
$this->migrator->add('sites_seo.sitemap_enabled', true);
|
||||
$this->migrator->add('sites_seo.sitemap_include_pages', true);
|
||||
$this->migrator->add('sites_seo.sitemap_include_posts', true);
|
||||
$this->migrator->add('sites_seo.sitemap_include_categories', true);
|
||||
$this->migrator->add('sites_seo.sitemap_include_tags', true);
|
||||
}
|
||||
};
|
||||
20
database/settings/2025_03_16_033643_create_sites_script.php
Normal file
20
database/settings/2025_03_16_033643_create_sites_script.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('sites_scripts.header_scripts', '');
|
||||
$this->migrator->add('sites_scripts.body_start_scripts', '');
|
||||
$this->migrator->add('sites_scripts.body_end_scripts', '');
|
||||
$this->migrator->add('sites_scripts.footer_scripts', '');
|
||||
$this->migrator->add('sites_scripts.cookie_consent_enabled', true);
|
||||
$this->migrator->add('sites_scripts.cookie_consent_text', 'We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies.');
|
||||
$this->migrator->add('sites_scripts.cookie_consent_button_text', 'Accept');
|
||||
$this->migrator->add('sites_scripts.cookie_consent_policy_url', '/cookie-policy');
|
||||
$this->migrator->add('sites_scripts.custom_css', '');
|
||||
$this->migrator->add('sites_scripts.custom_js', '');
|
||||
}
|
||||
};
|
||||
20
database/settings/2025_03_16_034148_create_sites_social.php
Normal file
20
database/settings/2025_03_16_034148_create_sites_social.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('sites_social.facebook_url', '');
|
||||
$this->migrator->add('sites_social.twitter_url', '');
|
||||
$this->migrator->add('sites_social.instagram_url', '');
|
||||
$this->migrator->add('sites_social.linkedin_url', '');
|
||||
$this->migrator->add('sites_social.youtube_url', '');
|
||||
$this->migrator->add('sites_social.pinterest_url', '');
|
||||
$this->migrator->add('sites_social.tiktok_url', '');
|
||||
$this->migrator->add('sites_social.social_share_enabled', true);
|
||||
$this->migrator->add('sites_social.social_share_platforms', ['facebook', 'twitter', 'linkedin']);
|
||||
$this->migrator->add('sites_social.social_share_default_image', 'sites/share-image.png');
|
||||
}
|
||||
};
|
||||
11
database/settings/2025_05_18_205201_site_settings.php
Normal file
11
database/settings/2025_05_18_205201_site_settings.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('sites.company_phone_2', '+1 (800) 123-4567');
|
||||
}
|
||||
};
|
||||
11
database/settings/2025_05_18_210950_site_settings.php
Normal file
11
database/settings/2025_05_18_210950_site_settings.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('sites.footer_company_header', 'We’re Solutions for all construction');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
return new class extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
$this->migrator->add('cms_homepage.bg_video', '/web/assets/video/banner.mp4');
|
||||
$this->migrator->add('cms_homepage.hero_badge_text', 'Expert Solutions');
|
||||
$this->migrator->add('cms_homepage.hero_header', 'Shaping Future');
|
||||
$this->migrator->add('cms_homepage.hero_sub_header', 'Architecture');
|
||||
$this->migrator->add('cms_homepage.hero_link_button_url', 'http://gujurly.com');
|
||||
$this->migrator->add('cms_homepage.hero_link_button_text', 'Start today');
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user