Integrate dynamic settings into About page: update content sections to utilize AboutSettings for titles, subtitles, paragraphs, and media sources, enhancing content management and user experience.
This commit is contained in:
289
app/Filament/Pages/AboutPageSettings.php
Normal file
289
app/Filament/Pages/AboutPageSettings.php
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Pages;
|
||||||
|
|
||||||
|
use App\Settings\AboutSettings;
|
||||||
|
use Filament\Forms\Components\FileUpload;
|
||||||
|
use Filament\Forms\Components\Grid;
|
||||||
|
use Filament\Forms\Components\Repeater;
|
||||||
|
use Filament\Forms\Components\Section;
|
||||||
|
use Filament\Forms\Components\Textarea;
|
||||||
|
use Filament\Forms\Components\TextInput;
|
||||||
|
use Filament\Forms\Form;
|
||||||
|
use Filament\Pages\SettingsPage;
|
||||||
|
use Illuminate\Contracts\Support\Htmlable;
|
||||||
|
|
||||||
|
class AboutPageSettings extends SettingsPage
|
||||||
|
{
|
||||||
|
protected static ?string $navigationGroup = 'CMS';
|
||||||
|
|
||||||
|
protected static ?string $navigationIcon = 'heroicon-o-information-circle';
|
||||||
|
|
||||||
|
protected static string $settings = AboutSettings::class;
|
||||||
|
|
||||||
|
public function form(Form $form): Form
|
||||||
|
{
|
||||||
|
return $form
|
||||||
|
->schema([
|
||||||
|
Section::make('Our Story Section')
|
||||||
|
->description("Manage the 'Our Story' content on the About Us page.")
|
||||||
|
->icon('heroicon-o-book-open')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('our_story_title')
|
||||||
|
->label('Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('our_story_subtitle')
|
||||||
|
->label('Subtitle')
|
||||||
|
->rows(2)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
Textarea::make('our_story_paragraph_one')
|
||||||
|
->label('Paragraph One')
|
||||||
|
->rows(4)
|
||||||
|
->maxLength(65535)
|
||||||
|
->required(),
|
||||||
|
Textarea::make('our_story_paragraph_two')
|
||||||
|
->label('Paragraph Two')
|
||||||
|
->rows(4)
|
||||||
|
->maxLength(65535)
|
||||||
|
->required(),
|
||||||
|
Textarea::make('our_story_paragraph_three')
|
||||||
|
->label('Paragraph Three')
|
||||||
|
->rows(4)
|
||||||
|
->maxLength(65535)
|
||||||
|
->required(),
|
||||||
|
Grid::make(2)->schema([
|
||||||
|
TextInput::make('our_story_button_text')
|
||||||
|
->label('Button Text')
|
||||||
|
->maxLength(50)
|
||||||
|
->required(),
|
||||||
|
TextInput::make('our_story_button_url')
|
||||||
|
->label('Button URL')
|
||||||
|
->url()
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
]),
|
||||||
|
FileUpload::make('our_story_video_poster')
|
||||||
|
->label('Video Poster Image')
|
||||||
|
->image()
|
||||||
|
->maxSize(2048)
|
||||||
|
->disk('public')
|
||||||
|
->directory('about-us')
|
||||||
|
->required(),
|
||||||
|
TextInput::make('our_story_video_source')
|
||||||
|
->label('Video Source URL')
|
||||||
|
->url()
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Section::make('Our Journey Section')
|
||||||
|
->description("Manage the 'Our Journey' milestones on the About Us page.")
|
||||||
|
->icon('heroicon-o-map')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('our_journey_title')
|
||||||
|
->label('Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('our_journey_subtitle')
|
||||||
|
->label('Subtitle')
|
||||||
|
->rows(2)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
Repeater::make('our_journey_milestones')
|
||||||
|
->label('Milestones')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('year')
|
||||||
|
->label('Year')
|
||||||
|
->numeric()
|
||||||
|
->required(),
|
||||||
|
TextInput::make('title')
|
||||||
|
->label('Milestone Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('description')
|
||||||
|
->label('Description')
|
||||||
|
->rows(3)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
FileUpload::make('image')
|
||||||
|
->label('Image')
|
||||||
|
->image()
|
||||||
|
->maxSize(2048)
|
||||||
|
->disk('public')
|
||||||
|
->directory('about-us-milestones')
|
||||||
|
->required(),
|
||||||
|
])
|
||||||
|
->minItems(1)
|
||||||
|
->columns(1)
|
||||||
|
->reorderable()
|
||||||
|
->collapsible(),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Section::make('Company Structure Section')
|
||||||
|
->description("Manage the 'Company Structure' details on the About Us page.")
|
||||||
|
->icon('heroicon-o-user-group')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('company_structure_title')
|
||||||
|
->label('Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('company_structure_subtitle')
|
||||||
|
->label('Subtitle')
|
||||||
|
->rows(2)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
TextInput::make('company_structure_director_name')
|
||||||
|
->label('Director Name')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
TextInput::make('company_structure_advisor_name')
|
||||||
|
->label('Technical Advisor Name')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Repeater::make('company_structure_departments')
|
||||||
|
->label('Departments')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('name')
|
||||||
|
->label('Department Name')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
TextInput::make('person')
|
||||||
|
->label('Contact Person')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
])
|
||||||
|
->minItems(1)
|
||||||
|
->columns(2)
|
||||||
|
->reorderable()
|
||||||
|
->collapsible(),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Section::make('Our Management Section')
|
||||||
|
->description("Manage the 'Our Management' team details on the About Us page.")
|
||||||
|
->icon('heroicon-o-briefcase')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('our_management_title')
|
||||||
|
->label('Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('our_management_subtitle')
|
||||||
|
->label('Subtitle')
|
||||||
|
->rows(2)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
Repeater::make('our_management_team')
|
||||||
|
->label('Team Members')
|
||||||
|
->schema([
|
||||||
|
FileUpload::make('image')
|
||||||
|
->label('Image')
|
||||||
|
->image()
|
||||||
|
->maxSize(2048)
|
||||||
|
->disk('public')
|
||||||
|
->directory('about-us-team')
|
||||||
|
->required(),
|
||||||
|
TextInput::make('name')
|
||||||
|
->label('Name')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
TextInput::make('title')
|
||||||
|
->label('Title/Position')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('description')
|
||||||
|
->label('Description')
|
||||||
|
->rows(3)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
])
|
||||||
|
->minItems(1)
|
||||||
|
->columns(1)
|
||||||
|
->reorderable()
|
||||||
|
->collapsible(),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Section::make('Our Facilities Section')
|
||||||
|
->description("Manage the 'Our Facilities' details on the About Us page.")
|
||||||
|
->icon('heroicon-o-building-library')
|
||||||
|
->schema([
|
||||||
|
TextInput::make('our_facilities_title')
|
||||||
|
->label('Title')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
Textarea::make('our_facilities_subtitle')
|
||||||
|
->label('Subtitle')
|
||||||
|
->rows(2)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
Repeater::make('our_facilities_locations')
|
||||||
|
->label('Locations')
|
||||||
|
->schema([
|
||||||
|
FileUpload::make('image')
|
||||||
|
->label('Image')
|
||||||
|
->image()
|
||||||
|
->maxSize(2048)
|
||||||
|
->disk('public')
|
||||||
|
->directory('about-us-facilities')
|
||||||
|
->required(),
|
||||||
|
TextInput::make('name')
|
||||||
|
->label('Location Name')
|
||||||
|
->required()
|
||||||
|
->maxLength(100),
|
||||||
|
TextInput::make('location')
|
||||||
|
->label('Address/Location')
|
||||||
|
->required()
|
||||||
|
->maxLength(255),
|
||||||
|
Textarea::make('description')
|
||||||
|
->label('Description')
|
||||||
|
->rows(3)
|
||||||
|
->maxLength(255)
|
||||||
|
->required(),
|
||||||
|
Repeater::make('tags')
|
||||||
|
->label('Tags')
|
||||||
|
->simple(TextInput::make('value')
|
||||||
|
->label('Tag')
|
||||||
|
->required()
|
||||||
|
->maxLength(50))
|
||||||
|
->itemLabel(fn (array $state): ?string => $state['value'] ?? null)
|
||||||
|
->minItems(1)
|
||||||
|
->columns(1)
|
||||||
|
->reorderable()
|
||||||
|
->collapsible()
|
||||||
|
->defaultItems(1),
|
||||||
|
])
|
||||||
|
->minItems(1)
|
||||||
|
->columns(1)
|
||||||
|
->reorderable()
|
||||||
|
->collapsible(),
|
||||||
|
]),
|
||||||
|
])
|
||||||
|
->columns(1)
|
||||||
|
->statePath('data');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getNavigationGroup(): ?string
|
||||||
|
{
|
||||||
|
return __('CMS');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getNavigationLabel(): string
|
||||||
|
{
|
||||||
|
return __('About Page Settings');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTitle(): string|Htmlable
|
||||||
|
{
|
||||||
|
return 'About Us';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getHeading(): string|Htmlable
|
||||||
|
{
|
||||||
|
return 'Edit About Us page text and images from here';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSubheading(): string|Htmlable|null
|
||||||
|
{
|
||||||
|
return 'Manage the content sections of the About Us page.';
|
||||||
|
}
|
||||||
|
}
|
||||||
47
app/Settings/AboutSettings.php
Normal file
47
app/Settings/AboutSettings.php
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Settings;
|
||||||
|
|
||||||
|
use Spatie\LaravelSettings\Settings;
|
||||||
|
|
||||||
|
class AboutSettings extends Settings
|
||||||
|
{
|
||||||
|
// Our Story Section
|
||||||
|
public string $our_story_title;
|
||||||
|
public string $our_story_subtitle;
|
||||||
|
public string $our_story_paragraph_one;
|
||||||
|
public string $our_story_paragraph_two;
|
||||||
|
public string $our_story_paragraph_three;
|
||||||
|
public string $our_story_button_text;
|
||||||
|
public string $our_story_button_url;
|
||||||
|
public string $our_story_video_poster;
|
||||||
|
public string $our_story_video_source;
|
||||||
|
|
||||||
|
// Our Journey Section
|
||||||
|
public string $our_journey_title;
|
||||||
|
public string $our_journey_subtitle;
|
||||||
|
public array $our_journey_milestones; // [{year: 2010, title: "Start Company", description: "...", image: "..."}]
|
||||||
|
|
||||||
|
// Company Structure Section
|
||||||
|
public string $company_structure_title;
|
||||||
|
public string $company_structure_subtitle;
|
||||||
|
public string $company_structure_director_name;
|
||||||
|
public string $company_structure_advisor_name;
|
||||||
|
public array $company_structure_departments; // [{name: "HSE", person: "Michael Brown"}]
|
||||||
|
|
||||||
|
// Our Management Section
|
||||||
|
public string $our_management_title;
|
||||||
|
public string $our_management_subtitle;
|
||||||
|
public array $our_management_team; // [{name: "John Smith", title: "CEO", description: "...", image: "..."}]
|
||||||
|
|
||||||
|
// Our Facilities Section
|
||||||
|
public string $our_facilities_title;
|
||||||
|
public string $our_facilities_subtitle;
|
||||||
|
public array $our_facilities_locations; // [{name: "Headquarters", location: "...", description: "...", image: "...", tags: ["R&D Labs"]}]
|
||||||
|
|
||||||
|
|
||||||
|
public static function group(): string
|
||||||
|
{
|
||||||
|
return 'cms_aboutpage';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,8 +9,8 @@ return new class extends SettingsMigration
|
|||||||
$this->migrator->add('contact.contact_subtitle', 'Default Contact Subtitle');
|
$this->migrator->add('contact.contact_subtitle', 'Default Contact Subtitle');
|
||||||
$this->migrator->add('contact.contact_header', 'Default Contact Header');
|
$this->migrator->add('contact.contact_header', 'Default Contact Header');
|
||||||
$this->migrator->add('contact.contact_paragraph', 'This is a default paragraph for the contact page. Please update it from the Filament panel.');
|
$this->migrator->add('contact.contact_paragraph', 'This is a default paragraph for the contact page. Please update it from the Filament panel.');
|
||||||
$this->migrator->add('contact.phone_number', '+1234567890');
|
|
||||||
$this->migrator->add('contact.email_address', 'info@example.com');
|
$this->migrator->add('contact.email_address', 'info@example.com');
|
||||||
|
$this->migrator->add('contact.phone_number', '+1234567890');
|
||||||
$this->migrator->add('contact.location_address', '123 Main St, Anytown, USA');
|
$this->migrator->add('contact.location_address', '123 Main St, Anytown, USA');
|
||||||
$this->migrator->add('contact.map_embed_url', '');
|
$this->migrator->add('contact.map_embed_url', '');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||||
|
|
||||||
|
return new class extends SettingsMigration
|
||||||
|
{
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_title', 'Our Story');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_subtitle', 'A journey of passion, innovation, and dedication that shaped who we are today.');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_paragraph_one', 'Founded in 2015, our company began with a simple mission: to revolutionize how businesses approach their challenges. What started as a small team of three passionate individuals has grown into a global organization serving clients across multiple industries.');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_paragraph_two', 'Through years of dedication and innovation, we\'ve established ourselves as industry leaders, known for our commitment to excellence and customer satisfaction.');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_paragraph_three', 'Today, we\'re proud to have a diverse team of experts working together to deliver exceptional solutions that make a real difference for our clients.');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_button_text', 'Learn more about our journey');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_button_url', '#');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_video_poster', 'placeholder.svg'); // Placeholder, change as needed
|
||||||
|
$this->migrator->add('cms_aboutpage.our_story_video_source', '#'); // Placeholder, change as needed
|
||||||
|
|
||||||
|
$this->migrator->add('cms_aboutpage.our_journey_title', 'Our Journey');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_journey_subtitle', 'Explore our company\'s history and milestones through the years. Click on any date to learn more about our journey.');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_journey_milestones', [
|
||||||
|
['year' => 2010, 'title' => 'Start Company', 'description' => 'Launching a new company is an exciting journey that requires careful planning and execution. Let\'s begin!', 'image' => 'portfolio/portfolio-2.jpg'],
|
||||||
|
['year' => 2014, 'title' => 'Opening Office', 'description' => 'Opening a new office represents growth and opportunity. Join us as we expand our operations!', 'image' => 'portfolio/portfolio-3.jpg'],
|
||||||
|
['year' => 2018, 'title' => 'Project Management', 'description' => 'Effective project management ensures timely delivery and quality results. Our expert team is here to help!', 'image' => 'portfolio/portfolio-5.jpg'],
|
||||||
|
['year' => 2021, 'title' => 'Open Research Team', 'description' => 'Our open research team is dedicated to innovation and collaboration, driving impactful solutions for clients.', 'image' => 'portfolio/portfolio-8.jpg'],
|
||||||
|
['year' => 2024, 'title' => 'Winning Award', 'description' => 'Winning awards showcases our commitment to excellence and innovation. Thank you for believing', 'image' => 'portfolio/portfolio-6.jpg'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->migrator->add('cms_aboutpage.company_structure_title', 'Company Structure');
|
||||||
|
$this->migrator->add('cms_aboutpage.company_structure_subtitle', 'Our organizational hierarchy designed for efficiency');
|
||||||
|
$this->migrator->add('cms_aboutpage.company_structure_director_name', 'John Smith');
|
||||||
|
$this->migrator->add('cms_aboutpage.company_structure_advisor_name', 'Sarah Johnson');
|
||||||
|
$this->migrator->add('cms_aboutpage.company_structure_departments', [
|
||||||
|
['name' => 'HSE', 'person' => 'Michael Brown'],
|
||||||
|
['name' => 'Personnel', 'person' => 'Emily Davis'],
|
||||||
|
['name' => 'Operations', 'person' => 'Robert Wilson'],
|
||||||
|
['name' => 'Finance', 'person' => 'Jennifer Lee'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->migrator->add('cms_aboutpage.our_management_title', 'Our Management');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_management_subtitle', 'Meet the leadership team driving our vision forward');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_management_team', [
|
||||||
|
['name' => 'John Smith', 'title' => 'Chief Executive Officer', 'description' => 'With over 20 years of industry experience, John leads our company with vision and strategic insight.', 'image' => 'placeholder.svg'],
|
||||||
|
['name' => 'Sarah Johnson', 'title' => 'Chief Technical Officer', 'description' => 'Sarah brings technical excellence and innovation to every aspect of our products and services.', 'image' => 'placeholder.svg'],
|
||||||
|
['name' => 'Michael Brown', 'title' => 'Head of Operations', 'description' => 'Michael ensures smooth operation across all our facilities and project deployments.', 'image' => 'placeholder.svg'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->migrator->add('cms_aboutpage.our_facilities_title', 'Our Facilities');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_facilities_subtitle', 'State-of-the-art locations where innovation happens');
|
||||||
|
$this->migrator->add('cms_aboutpage.our_facilities_locations', [
|
||||||
|
['name' => 'Headquarters', 'location' => 'San Francisco, California', 'description' => 'Our global headquarters houses our executive team and primary R&D facilities with state-of-the-art equipment and collaborative spaces.', 'image' => 'placeholder.svg', 'tags' => ['R&D Labs', 'Executive Offices', 'Conference Center', 'Innovation Hub']],
|
||||||
|
['name' => 'Manufacturing Center', 'location' => 'Austin, Texas', 'description' => 'Our primary manufacturing facility implements cutting-edge production techniques with a focus on sustainability and efficiency.', 'image' => 'placeholder.svg', 'tags' => ['Production Lines', 'Quality Control', 'Warehouse', 'Distribution Center']],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_title');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_subtitle');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_paragraph_one');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_paragraph_two');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_paragraph_three');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_button_text');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_button_url');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_video_poster');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_story_video_source');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_journey_title');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_journey_subtitle');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_journey_milestones');
|
||||||
|
$this->migrator->delete('cms_aboutpage.company_structure_title');
|
||||||
|
$this->migrator->delete('cms_aboutpage.company_structure_subtitle');
|
||||||
|
$this->migrator->delete('cms_aboutpage.company_structure_director_name');
|
||||||
|
$this->migrator->delete('cms_aboutpage.company_structure_advisor_name');
|
||||||
|
$this->migrator->delete('cms_aboutpage.company_structure_departments');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_management_title');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_management_subtitle');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_management_team');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_facilities_title');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_facilities_subtitle');
|
||||||
|
$this->migrator->delete('cms_aboutpage.our_facilities_locations');
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -286,6 +286,9 @@ body {
|
|||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
@php
|
||||||
|
$aboutSettings = app(App\Settings\AboutSettings::class);
|
||||||
|
@endphp
|
||||||
<!-- Breadcrumb Area Start -->
|
<!-- Breadcrumb Area Start -->
|
||||||
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@@ -310,19 +313,18 @@ body {
|
|||||||
<div class="container px-4 md:px-6 mx-auto">
|
<div class="container px-4 md:px-6 mx-auto">
|
||||||
<section class="mb-24">
|
<section class="mb-24">
|
||||||
<div class="text-center max-w-3xl mx-auto mb-10">
|
<div class="text-center max-w-3xl mx-auto mb-10">
|
||||||
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">Our Story</h2>
|
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">{{ $aboutSettings->our_story_title }}</h2>
|
||||||
<p class="text-lg text-gray-600 md:text-xl">A journey of passion, innovation, and dedication that shaped who we are today.</p>
|
<p class="text-lg text-gray-600 md:text-xl">{{ $aboutSettings->our_story_subtitle }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-10 items-center">
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-10 items-center">
|
||||||
<div class="order-2 lg:order-1">
|
<div class="order-2 lg:order-1">
|
||||||
<p class="text-gray-700 mb-4">
|
<p class="text-gray-700 mb-4">
|
||||||
Founded in 2015, our company began with a simple mission: to revolutionize how businesses approach their challenges. What started as a small team of three passionate individuals has grown into a global
|
{{ $aboutSettings->our_story_paragraph_one }}
|
||||||
organization serving clients across multiple industries.
|
|
||||||
</p>
|
</p>
|
||||||
<p class="text-gray-700 mb-4">Through years of dedication and innovation, we've established ourselves as industry leaders, known for our commitment to excellence and customer satisfaction.</p>
|
<p class="text-gray-700 mb-4">{{ $aboutSettings->our_story_paragraph_two }}</p>
|
||||||
<p class="text-gray-700 mb-6">Today, we're proud to have a diverse team of experts working together to deliver exceptional solutions that make a real difference for our clients.</p>
|
<p class="text-gray-700 mb-6">{{ $aboutSettings->our_story_paragraph_three }}</p>
|
||||||
<button class="flex items-center text-sm font-medium text-teal-600 hover:text-teal-800 transition-colors">
|
<button class="flex items-center text-sm font-medium text-teal-600 hover:text-teal-800 transition-colors">
|
||||||
Learn more about our journey
|
<a href="{{ $aboutSettings->our_story_button_url }}">{{ $aboutSettings->our_story_button_text }}</a>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
width="24"
|
width="24"
|
||||||
@@ -341,8 +343,8 @@ body {
|
|||||||
</div>
|
</div>
|
||||||
<div class="order-1 lg:order-2 bg-white rounded-xl shadow-lg overflow-hidden">
|
<div class="order-1 lg:order-2 bg-white rounded-xl shadow-lg overflow-hidden">
|
||||||
<div class="aspect-video relative">
|
<div class="aspect-video relative">
|
||||||
<video class="w-full h-full object-cover" controls="" poster="/placeholder.svg?height=720&width=1280">
|
<video class="w-full h-full object-cover" controls="" poster="{{ asset('storage/' . $aboutSettings->our_story_video_poster) }}">
|
||||||
<source type="video/mp4" src="#" />
|
<source type="video/mp4" src="{{ asset('storage/' . $aboutSettings->our_story_video_source) }}" />
|
||||||
Your browser does not support the video tag.
|
Your browser does not support the video tag.
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
@@ -351,8 +353,8 @@ body {
|
|||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<section class="header">
|
<section class="header">
|
||||||
<h1>Our Journey</h1>
|
<h1>{{ $aboutSettings->our_journey_title }}</h1>
|
||||||
<p>Explore our company's history and milestones through the years. Click on any date to learn more about our journey.</p>
|
<p>{{ $aboutSettings->our_journey_subtitle }}</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Our History Area Start -->
|
<!-- Our History Area Start -->
|
||||||
@@ -361,76 +363,22 @@ body {
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xl-12">
|
<div class="col-xl-12">
|
||||||
<div class="company__history-area">
|
<div class="company__history-area">
|
||||||
<div class="company__history-area-item">
|
@foreach ($aboutSettings->our_journey_milestones as $milestone)
|
||||||
<div class="company__history-area-item-date">
|
<div class="company__history-area-item">
|
||||||
<span>2010</span>
|
<div class="company__history-area-item-date">
|
||||||
</div>
|
<span>{{ $milestone['year'] }}</span>
|
||||||
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
|
||||||
<div class="company__history-area-item-inner-image">
|
|
||||||
<img src="/web/assets/img/portfolio/portfolio-2.jpg" alt="image">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="company__history-area-item-inner-content">
|
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
||||||
<h4>Start Company</h4>
|
<div class="company__history-area-item-inner-image">
|
||||||
<p>Launching a new company is an exciting journey that requires careful planning and execution. Let’s begin!</p>
|
<img src="{{ asset('storage/' . $milestone['image']) }}" alt="{{ $milestone['title'] }}">
|
||||||
|
</div>
|
||||||
|
<div class="company__history-area-item-inner-content">
|
||||||
|
<h4>{{ $milestone['title'] }}</h4>
|
||||||
|
<p>{{ $milestone['description'] }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
@endforeach
|
||||||
<div class="company__history-area-item">
|
|
||||||
<div class="company__history-area-item-date">
|
|
||||||
<span>2014</span>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
|
||||||
<div class="company__history-area-item-inner-image">
|
|
||||||
<img src="/web/assets/img/portfolio/portfolio-3.jpg" alt="image">
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner-content">
|
|
||||||
<h4>Opening Office</h4>
|
|
||||||
<p>Opening a new office represents growth and opportunity. Join us as we expand our operations!</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item">
|
|
||||||
<div class="company__history-area-item-date">
|
|
||||||
<span>2018</span>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
|
||||||
<div class="company__history-area-item-inner-image">
|
|
||||||
<img src="/web/assets/img/portfolio/portfolio-5.jpg" alt="image">
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner-content">
|
|
||||||
<h4>Project Management</h4>
|
|
||||||
<p>Effective project management ensures timely delivery and quality results. Our expert team is here to help!</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item">
|
|
||||||
<div class="company__history-area-item-date">
|
|
||||||
<span>2021</span>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
|
||||||
<div class="company__history-area-item-inner-image">
|
|
||||||
<img src="/web/assets/img/portfolio/portfolio-8.jpg" alt="image">
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner-content">
|
|
||||||
<h4>Open Research Team</h4>
|
|
||||||
<p>Our open research team is dedicated to innovation and collaboration, driving impactful solutions for clients.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item">
|
|
||||||
<div class="company__history-area-item-date">
|
|
||||||
<span>2024</span>
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
|
||||||
<div class="company__history-area-item-inner-image">
|
|
||||||
<img src="/web/assets/img/portfolio/portfolio-6.jpg" alt="image">
|
|
||||||
</div>
|
|
||||||
<div class="company__history-area-item-inner-content">
|
|
||||||
<h4>Winning Award</h4>
|
|
||||||
<p>Winning awards showcases our commitment to excellence and innovation. Thank you for believing</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -441,22 +389,22 @@ body {
|
|||||||
</section>
|
</section>
|
||||||
<section class="mb-24">
|
<section class="mb-24">
|
||||||
<div class="text-center max-w-3xl mx-auto mb-12">
|
<div class="text-center max-w-3xl mx-auto mb-12">
|
||||||
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">Company Structure</h2>
|
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">{{ $aboutSettings->company_structure_title }}</h2>
|
||||||
<p class="text-lg text-gray-600">Our organizational hierarchy designed for efficiency</p>
|
<p class="text-lg text-gray-600">{{ $aboutSettings->company_structure_subtitle }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-white rounded-xl shadow-lg p-8 md:p-10">
|
<div class="bg-white rounded-xl shadow-lg p-8 md:p-10">
|
||||||
<div class="org-chart">
|
<div class="org-chart">
|
||||||
<div class="flex justify-center mb-16">
|
<div class="flex justify-center mb-16">
|
||||||
<div class="org-box org-box-director">
|
<div class="org-box org-box-director">
|
||||||
<h3 class="font-bold text-lg">Director</h3>
|
<h3 class="font-bold text-lg">Director</h3>
|
||||||
<p class="text-sm text-gray-500">John Smith</p>
|
<p class="text-sm text-gray-500">{{ $aboutSettings->company_structure_director_name }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center mb-16 relative">
|
<div class="flex justify-center mb-16 relative">
|
||||||
<div class="absolute top-[-60px] w-px h-[60px] bg-gray-300"></div>
|
<div class="absolute top-[-60px] w-px h-[60px] bg-gray-300"></div>
|
||||||
<div class="org-box org-box-advisor">
|
<div class="org-box org-box-advisor">
|
||||||
<h3 class="font-bold text-lg">Technical Advisor</h3>
|
<h3 class="font-bold text-lg">Technical Advisor</h3>
|
||||||
<p class="text-sm text-gray-500">Sarah Johnson</p>
|
<p class="text-sm text-gray-500">{{ $aboutSettings->company_structure_advisor_name }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 relative">
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 relative">
|
||||||
@@ -466,111 +414,87 @@ body {
|
|||||||
<div class="absolute top-[-30px] left-[35%] w-px h-[30px] bg-gray-300"></div>
|
<div class="absolute top-[-30px] left-[35%] w-px h-[30px] bg-gray-300"></div>
|
||||||
<div class="absolute top-[-30px] left-[65%] w-px h-[30px] bg-gray-300"></div>
|
<div class="absolute top-[-30px] left-[65%] w-px h-[30px] bg-gray-300"></div>
|
||||||
<div class="absolute top-[-30px] left-[90%] w-px h-[30px] bg-gray-300"></div>
|
<div class="absolute top-[-30px] left-[90%] w-px h-[30px] bg-gray-300"></div>
|
||||||
<div class="org-box org-box-department">
|
@foreach ($aboutSettings->company_structure_departments as $department)
|
||||||
<h3 class="font-bold">HSE</h3>
|
<div class="org-box org-box-department">
|
||||||
<p class="text-sm text-gray-500">Michael Brown</p>
|
<h3 class="font-bold">{{ $department['name'] }}</h3>
|
||||||
</div>
|
<p class="text-sm text-gray-500">{{ $department['person'] }}</p>
|
||||||
<div class="org-box org-box-department">
|
</div>
|
||||||
<h3 class="font-bold">Personnel</h3>
|
@endforeach
|
||||||
<p class="text-sm text-gray-500">Emily Davis</p>
|
|
||||||
</div>
|
|
||||||
<div class="org-box org-box-department">
|
|
||||||
<h3 class="font-bold">Operations</h3>
|
|
||||||
<p class="text-sm text-gray-500">Robert Wilson</p>
|
|
||||||
</div>
|
|
||||||
<div class="org-box org-box-department">
|
|
||||||
<h3 class="font-bold">Finance</h3>
|
|
||||||
<p class="text-sm text-gray-500">Jennifer Lee</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="mb-24">
|
<section class="mb-24">
|
||||||
<div class="text-center max-w-3xl mx-auto mb-12">
|
<div class="text-center max-w-3xl mx-auto mb-12">
|
||||||
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">Our Management</h2>
|
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">{{ $aboutSettings->our_management_title }}</h2>
|
||||||
<p class="text-lg text-gray-600">Meet the leadership team driving our vision forward</p>
|
<p class="text-lg text-gray-600">{{ $aboutSettings->our_management_subtitle }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||||
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
@foreach ($aboutSettings->our_management_team as $member)
|
||||||
<div class="relative h-56 w-full">
|
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
||||||
<img
|
<div class="relative h-56 w-full">
|
||||||
alt="John Smith"
|
<img
|
||||||
loading="lazy"
|
alt="{{ $member['name'] }}"
|
||||||
decoding="async"
|
loading="lazy"
|
||||||
data-nimg="fill"
|
decoding="async"
|
||||||
class="object-cover"
|
data-nimg="fill"
|
||||||
src="/placeholder.svg?height=600&width=600"
|
class="object-cover"
|
||||||
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
src="{{ asset('storage/' . $member['image']) }}"
|
||||||
/>
|
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="p-6">
|
||||||
|
<h3 class="text-xl font-bold">{{ $member['name'] }}</h3>
|
||||||
|
<p class="text-teal-600 text-sm font-medium mb-3">{{ $member['title'] }}</p>
|
||||||
|
<p class="text-gray-600 text-sm mb-4">{{ $member['description'] }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6">
|
@endforeach
|
||||||
<h3 class="text-xl font-bold">John Smith</h3>
|
|
||||||
<p class="text-teal-600 text-sm font-medium mb-3">Chief Executive Officer</p>
|
|
||||||
<p class="text-gray-600 text-sm mb-4">With over 20 years of industry experience, John leads our company with vision and strategic insight.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
|
||||||
<div class="relative h-56 w-full">
|
|
||||||
<img
|
|
||||||
alt="Sarah Johnson"
|
|
||||||
loading="lazy"
|
|
||||||
decoding="async"
|
|
||||||
data-nimg="fill"
|
|
||||||
class="object-cover"
|
|
||||||
src="/placeholder.svg?height=600&width=600"
|
|
||||||
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="p-6">
|
|
||||||
<h3 class="text-xl font-bold">Sarah Johnson</h3>
|
|
||||||
<p class="text-teal-600 text-sm font-medium mb-3">Chief Technical Officer</p>
|
|
||||||
<p class="text-gray-600 text-sm mb-4">Sarah brings technical excellence and innovation to every aspect of our products and services.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
|
||||||
<div class="relative h-56 w-full">
|
|
||||||
<img
|
|
||||||
alt="Michael Brown"
|
|
||||||
loading="lazy"
|
|
||||||
decoding="async"
|
|
||||||
data-nimg="fill"
|
|
||||||
class="object-cover"
|
|
||||||
src="/placeholder.svg?height=600&width=600"
|
|
||||||
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="p-6">
|
|
||||||
<h3 class="text-xl font-bold">Michael Brown</h3>
|
|
||||||
<p class="text-teal-600 text-sm font-medium mb-3">Head of Operations</p>
|
|
||||||
<p class="text-gray-600 text-sm mb-4">Michael ensures smooth operation across all our facilities and project deployments.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<div class="text-center max-w-3xl mx-auto mb-12">
|
<div class="text-center max-w-3xl mx-auto mb-12">
|
||||||
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">Our Facilities</h2>
|
<h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4 bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-purple-600">{{ $aboutSettings->our_facilities_title }}</h2>
|
||||||
<p class="text-lg text-gray-600">State-of-the-art locations where innovation happens</p>
|
<p class="text-lg text-gray-600">{{ $aboutSettings->our_facilities_subtitle }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
|
||||||
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
@foreach ($aboutSettings->our_facilities_locations as $location)
|
||||||
<div class="relative h-64 w-full">
|
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
||||||
<img
|
<div class="relative h-64 w-full">
|
||||||
alt="Headquarters"
|
<img
|
||||||
loading="lazy"
|
alt="{{ $location['name'] }}"
|
||||||
decoding="async"
|
loading="lazy"
|
||||||
data-nimg="fill"
|
decoding="async"
|
||||||
class="object-cover"
|
data-nimg="fill"
|
||||||
src="/placeholder.svg?height=800&width=1200"
|
class="object-cover"
|
||||||
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
src="{{ asset('storage/' . $location['image']) }}"
|
||||||
/>
|
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
||||||
</div>
|
/>
|
||||||
<div class="p-6">
|
</div>
|
||||||
<div class="flex justify-between items-start">
|
<div class="p-6">
|
||||||
<div>
|
<div class="flex justify-between items-start">
|
||||||
<h3 class="text-xl font-bold mb-2">Headquarters</h3>
|
<div>
|
||||||
<div class="flex items-center text-gray-600 mb-4">
|
<h3 class="text-xl font-bold mb-2">{{ $location['name'] }}</h3>
|
||||||
|
<div class="flex items-center text-gray-600 mb-4">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
class="lucide lucide-map-pin h-4 w-4 mr-1"
|
||||||
|
>
|
||||||
|
<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"></path>
|
||||||
|
<circle cx="12" cy="10" r="3"></circle>
|
||||||
|
</svg>
|
||||||
|
<span class="text-sm">{{ $location['location'] }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bg-teal-50 p-2 rounded-lg">
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
width="24"
|
width="24"
|
||||||
@@ -581,117 +505,31 @@ body {
|
|||||||
stroke-width="2"
|
stroke-width="2"
|
||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
class="lucide lucide-map-pin h-4 w-4 mr-1"
|
class="lucide lucide-building h-6 w-6 text-teal-600"
|
||||||
>
|
>
|
||||||
<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"></path>
|
<rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect>
|
||||||
<circle cx="12" cy="10" r="3"></circle>
|
<path d="M9 22v-4h6v4"></path>
|
||||||
|
<path d="M8 6h.01"></path>
|
||||||
|
<path d="M16 6h.01"></path>
|
||||||
|
<path d="M12 6h.01"></path>
|
||||||
|
<path d="M12 10h.01"></path>
|
||||||
|
<path d="M12 14h.01"></path>
|
||||||
|
<path d="M16 10h.01"></path>
|
||||||
|
<path d="M16 14h.01"></path>
|
||||||
|
<path d="M8 10h.01"></path>
|
||||||
|
<path d="M8 14h.01"></path>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="text-sm">San Francisco, California</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-teal-50 p-2 rounded-lg">
|
<p class="text-gray-600 mb-4">{{ $location['description'] }}</p>
|
||||||
<svg
|
<div class="flex flex-wrap gap-2">
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
@foreach ($location['tags'] as $tag)
|
||||||
width="24"
|
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">{{ $tag['value'] }}</span>
|
||||||
height="24"
|
@endforeach
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="lucide lucide-building h-6 w-6 text-teal-600"
|
|
||||||
>
|
|
||||||
<rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect>
|
|
||||||
<path d="M9 22v-4h6v4"></path>
|
|
||||||
<path d="M8 6h.01"></path>
|
|
||||||
<path d="M16 6h.01"></path>
|
|
||||||
<path d="M12 6h.01"></path>
|
|
||||||
<path d="M12 10h.01"></path>
|
|
||||||
<path d="M12 14h.01"></path>
|
|
||||||
<path d="M16 10h.01"></path>
|
|
||||||
<path d="M16 14h.01"></path>
|
|
||||||
<path d="M8 10h.01"></path>
|
|
||||||
<path d="M8 14h.01"></path>
|
|
||||||
</svg>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-gray-600 mb-4">Our global headquarters houses our executive team and primary R&D facilities with state-of-the-art equipment and collaborative spaces.</p>
|
|
||||||
<div class="flex flex-wrap gap-2">
|
|
||||||
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">R&D Labs</span><span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Executive Offices</span>
|
|
||||||
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Conference Center</span><span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Innovation Hub</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
@endforeach
|
||||||
<div class="bg-white rounded-xl shadow-md hover:shadow-lg transition-shadow duration-300 overflow-hidden">
|
|
||||||
<div class="relative h-64 w-full">
|
|
||||||
<img
|
|
||||||
alt="Manufacturing Center"
|
|
||||||
loading="lazy"
|
|
||||||
decoding="async"
|
|
||||||
data-nimg="fill"
|
|
||||||
class="object-cover"
|
|
||||||
src="/placeholder.svg?height=800&width=1200"
|
|
||||||
style="position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="p-6">
|
|
||||||
<div class="flex justify-between items-start">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-xl font-bold mb-2">Manufacturing Center</h3>
|
|
||||||
<div class="flex items-center text-gray-600 mb-4">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="24"
|
|
||||||
height="24"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="lucide lucide-map-pin h-4 w-4 mr-1"
|
|
||||||
>
|
|
||||||
<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"></path>
|
|
||||||
<circle cx="12" cy="10" r="3"></circle>
|
|
||||||
</svg>
|
|
||||||
<span class="text-sm">Austin, Texas</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bg-teal-50 p-2 rounded-lg">
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="24"
|
|
||||||
height="24"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="lucide lucide-building h-6 w-6 text-teal-600"
|
|
||||||
>
|
|
||||||
<rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect>
|
|
||||||
<path d="M9 22v-4h6v4"></path>
|
|
||||||
<path d="M8 6h.01"></path>
|
|
||||||
<path d="M16 6h.01"></path>
|
|
||||||
<path d="M12 6h.01"></path>
|
|
||||||
<path d="M12 10h.01"></path>
|
|
||||||
<path d="M12 14h.01"></path>
|
|
||||||
<path d="M16 10h.01"></path>
|
|
||||||
<path d="M16 14h.01"></path>
|
|
||||||
<path d="M8 10h.01"></path>
|
|
||||||
<path d="M8 14h.01"></path>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p class="text-gray-600 mb-4">Our primary manufacturing facility implements cutting-edge production techniques with a focus on sustainability and efficiency.</p>
|
|
||||||
<div class="flex flex-wrap gap-2">
|
|
||||||
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Production Lines</span><span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Quality Control</span>
|
|
||||||
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Warehouse</span><span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">Distribution Center</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user