Compare commits

..

4 Commits

44 changed files with 1012 additions and 664 deletions

View File

@@ -0,0 +1,248 @@
<?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(),
FileUpload::make('our_story_video_source')
->label('Video Source File')
->acceptedFileTypes(['video/mp4', 'video/webm', 'video/ogg'])
->maxSize(102400) // 100MB
->disk('public')
->directory('about-us-videos')
->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 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.';
}
}

View File

@@ -0,0 +1,87 @@
<?php
namespace App\Filament\Pages;
use App\Settings\ContactSettings;
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 ContactPageSettings extends SettingsPage
{
protected static ?string $navigationGroup = 'CMS';
protected static ?string $navigationIcon = 'heroicon-o-phone';
protected static string $settings = ContactSettings::class;
public function form(Form $form): Form
{
return $form
->schema([
Section::make('Contact Section')
->description('Manage the contact page content.')
->schema([
TextInput::make('contact_subtitle')
->label('Subtitle')
->maxLength(100)
->required(),
TextInput::make('contact_header')
->label('Header')
->maxLength(100)
->required(),
Textarea::make('contact_paragraph')
->label('Paragraph')
->rows(3)
->maxLength(65535)
->required(),
TextInput::make('phone_number')
->label('Phone Number')
->tel()
->required(),
TextInput::make('email_address')
->label('Email Address')
->email()
->required(),
TextInput::make('location_address')
->label('Location Address')
->maxLength(255)
->required(),
TextInput::make('map_embed_url')
->label('Google Maps Embed URL')
->url()
->required(),
]),
])
->columns(1)
->statePath('data');
}
public static function getNavigationGroup(): ?string
{
return __('CMS');
}
public static function getNavigationLabel(): string
{
return __('Contact Page Settings');
}
public function getTitle(): string|Htmlable
{
return 'Contact Page';
}
public function getHeading(): string|Htmlable
{
return 'Edit contact page text and information from here';
}
public function getSubheading(): string|Htmlable|null
{
return 'Manage the contact form details, contact information, and map embed.';
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources; namespace App\Filament\Resources;
use App\Filament\Resources\ApplicationResource\Pages; use App\Filament\Resources\ApplicationResource\Pages;
use App\Filament\Resources\ApplicationResource\RelationManagers;
use App\Models\Application; use App\Models\Application;
use App\Models\Career; use App\Models\Career;
use Filament\Forms; use Filament\Forms;
@@ -11,8 +10,6 @@ use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class ApplicationResource extends Resource class ApplicationResource extends Resource
{ {
@@ -107,4 +104,4 @@ class ApplicationResource extends Resource
'edit' => Pages\EditApplication::route('/{record}/edit'), 'edit' => Pages\EditApplication::route('/{record}/edit'),
]; ];
} }
} }

View File

@@ -3,10 +3,9 @@
namespace App\Filament\Resources\ApplicationResource\Pages; namespace App\Filament\Resources\ApplicationResource\Pages;
use App\Filament\Resources\ApplicationResource; use App\Filament\Resources\ApplicationResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateApplication extends CreateRecord class CreateApplication extends CreateRecord
{ {
protected static string $resource = ApplicationResource::class; protected static string $resource = ApplicationResource::class;
} }

View File

@@ -16,4 +16,4 @@ class EditApplication extends EditRecord
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
]; ];
} }
} }

View File

@@ -16,4 +16,4 @@ class ListApplications extends ListRecords
Actions\CreateAction::make(), Actions\CreateAction::make(),
]; ];
} }
} }

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources; namespace App\Filament\Resources;
use App\Filament\Resources\AuthorResource\Pages; use App\Filament\Resources\AuthorResource\Pages;
use App\Filament\Resources\AuthorResource\RelationManagers;
use App\Models\Author; use App\Models\Author;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\FileUpload;
@@ -14,8 +13,6 @@ use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class AuthorResource extends Resource class AuthorResource extends Resource
{ {
@@ -25,8 +22,7 @@ class AuthorResource extends Resource
protected static ?string $navigationGroup = 'News'; protected static ?string $navigationGroup = 'News';
public static function form(Form $form): public static function form(Form $form): Form
Form
{ {
return $form return $form
->schema([ ->schema([

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources\AuthorResource\Pages; namespace App\Filament\Resources\AuthorResource\Pages;
use App\Filament\Resources\AuthorResource; use App\Filament\Resources\AuthorResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateAuthor extends CreateRecord class CreateAuthor extends CreateRecord

View File

@@ -6,15 +6,13 @@ use App\Filament\Resources\CareerResource\Pages;
use App\Filament\Resources\CareerResource\RelationManagers; use App\Filament\Resources\CareerResource\RelationManagers;
use App\Models\Career; use App\Models\Career;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Textarea;
class CareerResource extends Resource class CareerResource extends Resource
{ {

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources\CareerResource\Pages; namespace App\Filament\Resources\CareerResource\Pages;
use App\Filament\Resources\CareerResource; use App\Filament\Resources\CareerResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateCareer extends CreateRecord class CreateCareer extends CreateRecord

View File

@@ -7,8 +7,6 @@ use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class ApplicationsRelationManager extends RelationManager class ApplicationsRelationManager extends RelationManager
{ {

View File

@@ -6,15 +6,13 @@ use App\Filament\Resources\InternshipResource\Pages;
use App\Filament\Resources\InternshipResource\RelationManagers; use App\Filament\Resources\InternshipResource\RelationManagers;
use App\Models\Internship; use App\Models\Internship;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Textarea;
class InternshipResource extends Resource class InternshipResource extends Resource
{ {
@@ -53,7 +51,7 @@ class InternshipResource extends Resource
->label('Salary currency') ->label('Salary currency')
->searchable() ->searchable()
->default('USD'), ->default('USD'),
Repeater::make('bullets') Repeater::make('bullets')
->schema([ ->schema([
TextInput::make('bullet') TextInput::make('bullet')
@@ -122,4 +120,4 @@ class InternshipResource extends Resource
'edit' => Pages\EditInternship::route('/{record}/edit'), 'edit' => Pages\EditInternship::route('/{record}/edit'),
]; ];
} }
} }

View File

@@ -3,10 +3,9 @@
namespace App\Filament\Resources\InternshipResource\Pages; namespace App\Filament\Resources\InternshipResource\Pages;
use App\Filament\Resources\InternshipResource; use App\Filament\Resources\InternshipResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateInternship extends CreateRecord class CreateInternship extends CreateRecord
{ {
protected static string $resource = InternshipResource::class; protected static string $resource = InternshipResource::class;
} }

View File

@@ -16,4 +16,4 @@ class EditInternship extends EditRecord
Actions\DeleteAction::make(), Actions\DeleteAction::make(),
]; ];
} }
} }

View File

@@ -16,4 +16,4 @@ class ListInternships extends ListRecords
Actions\CreateAction::make(), Actions\CreateAction::make(),
]; ];
} }
} }

View File

@@ -2,14 +2,12 @@
namespace App\Filament\Resources\InternshipResource\RelationManagers; namespace App\Filament\Resources\InternshipResource\RelationManagers;
use App\Models\InternshipApplication;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table; // Added this use statement
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use App\Models\InternshipApplication; // Added this use statement
class ApplicationsRelationManager extends RelationManager class ApplicationsRelationManager extends RelationManager
{ {
@@ -80,4 +78,4 @@ class ApplicationsRelationManager extends RelationManager
]), ]),
]); ]);
} }
} }

View File

@@ -28,12 +28,12 @@ class SolutionResource extends Resource
->maxLength(255) ->maxLength(255)
->reactive() ->reactive()
->afterStateUpdated(fn (string $operation, $state, Forms\Set $set) => $operation === 'create' ? $set('slug', Str::slug($state)) : null), ->afterStateUpdated(fn (string $operation, $state, Forms\Set $set) => $operation === 'create' ? $set('slug', Str::slug($state)) : null),
Forms\Components\TextInput::make('slug') Forms\Components\TextInput::make('slug')
->required() ->required()
->maxLength(255), ->maxLength(255),
Forms\Components\TextInput::make('title_description') Forms\Components\TextInput::make('title_description')
->maxLength(255) ->maxLength(255)
->required() ->required()
->columnSpanFull(), ->columnSpanFull(),
@@ -51,7 +51,7 @@ class SolutionResource extends Resource
Forms\Components\RichEditor::make('description') Forms\Components\RichEditor::make('description')
->required() ->required()
->columnSpanFull(), ->columnSpanFull(),
]); ]);
} }

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources; namespace App\Filament\Resources;
use App\Filament\Resources\SuccessResource\Pages; use App\Filament\Resources\SuccessResource\Pages;
use App\Filament\Resources\SuccessResource\RelationManagers;
use App\Models\Success; use App\Models\Success;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\DateTimePicker; use Filament\Forms\Components\DateTimePicker;

View File

@@ -3,7 +3,6 @@
namespace App\Filament\Resources\SuccessResource\Pages; namespace App\Filament\Resources\SuccessResource\Pages;
use App\Filament\Resources\SuccessResource; use App\Filament\Resources\SuccessResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\CreateRecord;
class CreateSuccess extends CreateRecord class CreateSuccess extends CreateRecord

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\TeamMemberResource\Pages;
use App\Filament\Resources\TeamMemberResource\RelationManagers;
use App\Models\TeamMember;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Actions\ActionGroup;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class TeamMemberResource extends Resource
{
protected static ?string $model = TeamMember::class;
protected static ?string $navigationIcon = 'heroicon-o-users';
protected static ?string $navigationGroup = 'CMS';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('name')
->required()
->maxLength(255),
TextInput::make('title')
->required()
->maxLength(255),
Textarea::make('description')
->required()
->rows(5)
->maxLength(65535),
FileUpload::make('image')
->image()
->directory('team-members')
->maxSize(2048) // 2MB
->required(),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('name')
->searchable()
->sortable(),
TextColumn::make('title')
->searchable()
->sortable(),
ImageColumn::make('image'),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListTeamMembers::route('/'),
'create' => Pages\CreateTeamMember::route('/create'),
'edit' => Pages\EditTeamMember::route('/{record}/edit'),
];
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\TeamMemberResource\Pages;
use App\Filament\Resources\TeamMemberResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateTeamMember extends CreateRecord
{
protected static string $resource = TeamMemberResource::class;
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TeamMemberResource\Pages;
use App\Filament\Resources\TeamMemberResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditTeamMember extends EditRecord
{
protected static string $resource = TeamMemberResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TeamMemberResource\Pages;
use App\Filament\Resources\TeamMemberResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListTeamMembers extends ListRecords
{
protected static string $resource = TeamMemberResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@@ -20,161 +20,161 @@ function logDB(): void
function getCurrencies(): array function getCurrencies(): array
{ {
return [ return [
"AED" => "UAE dirham", 'AED' => 'UAE dirham',
"AFN" => "Afghan afghani", 'AFN' => 'Afghan afghani',
"ALL" => "Albanian lek", 'ALL' => 'Albanian lek',
"AMD" => "Armenian dram", 'AMD' => 'Armenian dram',
"ANG" => "Netherlands Antillean gulden", 'ANG' => 'Netherlands Antillean gulden',
"AOA" => "Angolan kwanza", 'AOA' => 'Angolan kwanza',
"ARS" => "Argentine peso", 'ARS' => 'Argentine peso',
"AUD" => "Australian dollar", 'AUD' => 'Australian dollar',
"AWG" => "Aruban florin", 'AWG' => 'Aruban florin',
"AZN" => "Azerbaijani manat", 'AZN' => 'Azerbaijani manat',
"BAM" => "Bosnia and Herzegovina konvertibilna marka", 'BAM' => 'Bosnia and Herzegovina konvertibilna marka',
"BBD" => "Barbadian dollar", 'BBD' => 'Barbadian dollar',
"BDT" => "Bangladeshi taka", 'BDT' => 'Bangladeshi taka',
"BGN" => "Bulgarian lev", 'BGN' => 'Bulgarian lev',
"BHD" => "Bahraini dinar", 'BHD' => 'Bahraini dinar',
"BIF" => "Burundi franc", 'BIF' => 'Burundi franc',
"BMD" => "Bermudian dollar", 'BMD' => 'Bermudian dollar',
"BND" => "Brunei dollar", 'BND' => 'Brunei dollar',
"BOB" => "Bolivian boliviano", 'BOB' => 'Bolivian boliviano',
"BRL" => "Brazilian real", 'BRL' => 'Brazilian real',
"BSD" => "Bahamian dollar", 'BSD' => 'Bahamian dollar',
"BTN" => "Bhutanese ngultrum", 'BTN' => 'Bhutanese ngultrum',
"BWP" => "Botswana pula", 'BWP' => 'Botswana pula',
"BYR" => "Belarusian ruble", 'BYR' => 'Belarusian ruble',
"BZD" => "Belize dollar", 'BZD' => 'Belize dollar',
"CAD" => "Canadian dollar", 'CAD' => 'Canadian dollar',
"CDF" => "Congolese franc", 'CDF' => 'Congolese franc',
"CHF" => "Swiss franc", 'CHF' => 'Swiss franc',
"CLP" => "Chilean peso", 'CLP' => 'Chilean peso',
"CNY" => "Chinese/Yuan renminbi", 'CNY' => 'Chinese/Yuan renminbi',
"COP" => "Colombian peso", 'COP' => 'Colombian peso',
"CRC" => "Costa Rican colon", 'CRC' => 'Costa Rican colon',
"CUC" => "Cuban peso", 'CUC' => 'Cuban peso',
"CVE" => "Cape Verdean escudo", 'CVE' => 'Cape Verdean escudo',
"CZK" => "Czech koruna", 'CZK' => 'Czech koruna',
"DJF" => "Djiboutian franc", 'DJF' => 'Djiboutian franc',
"DKK" => "Danish krone", 'DKK' => 'Danish krone',
"DOP" => "Dominican peso", 'DOP' => 'Dominican peso',
"DZD" => "Algerian dinar", 'DZD' => 'Algerian dinar',
"EEK" => "Estonian kroon", 'EEK' => 'Estonian kroon',
"EGP" => "Egyptian pound", 'EGP' => 'Egyptian pound',
"ERN" => "Eritrean nakfa", 'ERN' => 'Eritrean nakfa',
"ETB" => "Ethiopian birr", 'ETB' => 'Ethiopian birr',
"EUR" => "European Euro", 'EUR' => 'European Euro',
"FJD" => "Fijian dollar", 'FJD' => 'Fijian dollar',
"FKP" => "Falkland Islands pound", 'FKP' => 'Falkland Islands pound',
"GBP" => "British pound", 'GBP' => 'British pound',
"GEL" => "Georgian lari", 'GEL' => 'Georgian lari',
"GHS" => "Ghanaian cedi", 'GHS' => 'Ghanaian cedi',
"GIP" => "Gibraltar pound", 'GIP' => 'Gibraltar pound',
"GMD" => "Gambian dalasi", 'GMD' => 'Gambian dalasi',
"GNF" => "Guinean franc", 'GNF' => 'Guinean franc',
"GQE" => "Central African CFA franc", 'GQE' => 'Central African CFA franc',
"GTQ" => "Guatemalan quetzal", 'GTQ' => 'Guatemalan quetzal',
"GYD" => "Guyanese dollar", 'GYD' => 'Guyanese dollar',
"HKD" => "Hong Kong dollar", 'HKD' => 'Hong Kong dollar',
"HNL" => "Honduran lempira", 'HNL' => 'Honduran lempira',
"HRK" => "Croatian kuna", 'HRK' => 'Croatian kuna',
"HTG" => "Haitian gourde", 'HTG' => 'Haitian gourde',
"HUF" => "Hungarian forint", 'HUF' => 'Hungarian forint',
"IDR" => "Indonesian rupiah", 'IDR' => 'Indonesian rupiah',
"ILS" => "Israeli new sheqel", 'ILS' => 'Israeli new sheqel',
"INR" => "Indian rupee", 'INR' => 'Indian rupee',
"IQD" => "Iraqi dinar", 'IQD' => 'Iraqi dinar',
"IRR" => "Iranian rial", 'IRR' => 'Iranian rial',
"ISK" => "Icelandic króna", 'ISK' => 'Icelandic króna',
"JMD" => "Jamaican dollar", 'JMD' => 'Jamaican dollar',
"JOD" => "Jordanian dinar", 'JOD' => 'Jordanian dinar',
"JPY" => "Japanese yen", 'JPY' => 'Japanese yen',
"KES" => "Kenyan shilling", 'KES' => 'Kenyan shilling',
"KGS" => "Kyrgyzstani som", 'KGS' => 'Kyrgyzstani som',
"KHR" => "Cambodian riel", 'KHR' => 'Cambodian riel',
"KMF" => "Comorian franc", 'KMF' => 'Comorian franc',
"KPW" => "North Korean won", 'KPW' => 'North Korean won',
"KRW" => "South Korean won", 'KRW' => 'South Korean won',
"KWD" => "Kuwaiti dinar", 'KWD' => 'Kuwaiti dinar',
"KYD" => "Cayman Islands dollar", 'KYD' => 'Cayman Islands dollar',
"KZT" => "Kazakhstani tenge", 'KZT' => 'Kazakhstani tenge',
"LAK" => "Lao kip", 'LAK' => 'Lao kip',
"LBP" => "Lebanese lira", 'LBP' => 'Lebanese lira',
"LKR" => "Sri Lankan rupee", 'LKR' => 'Sri Lankan rupee',
"LRD" => "Liberian dollar", 'LRD' => 'Liberian dollar',
"LSL" => "Lesotho loti", 'LSL' => 'Lesotho loti',
"LTL" => "Lithuanian litas", 'LTL' => 'Lithuanian litas',
"LVL" => "Latvian lats", 'LVL' => 'Latvian lats',
"LYD" => "Libyan dinar", 'LYD' => 'Libyan dinar',
"MAD" => "Moroccan dirham", 'MAD' => 'Moroccan dirham',
"MDL" => "Moldovan leu", 'MDL' => 'Moldovan leu',
"MGA" => "Malagasy ariary", 'MGA' => 'Malagasy ariary',
"MKD" => "Macedonian denar", 'MKD' => 'Macedonian denar',
"MMK" => "Myanma kyat", 'MMK' => 'Myanma kyat',
"MNT" => "Mongolian tugrik", 'MNT' => 'Mongolian tugrik',
"MOP" => "Macanese pataca", 'MOP' => 'Macanese pataca',
"MRO" => "Mauritanian ouguiya", 'MRO' => 'Mauritanian ouguiya',
"MUR" => "Mauritian rupee", 'MUR' => 'Mauritian rupee',
"MVR" => "Maldivian rufiyaa", 'MVR' => 'Maldivian rufiyaa',
"MWK" => "Malawian kwacha", 'MWK' => 'Malawian kwacha',
"MXN" => "Mexican peso", 'MXN' => 'Mexican peso',
"MYR" => "Malaysian ringgit", 'MYR' => 'Malaysian ringgit',
"MZM" => "Mozambican metical", 'MZM' => 'Mozambican metical',
"NAD" => "Namibian dollar", 'NAD' => 'Namibian dollar',
"NGN" => "Nigerian naira", 'NGN' => 'Nigerian naira',
"NIO" => "Nicaraguan córdoba", 'NIO' => 'Nicaraguan córdoba',
"NOK" => "Norwegian krone", 'NOK' => 'Norwegian krone',
"NPR" => "Nepalese rupee", 'NPR' => 'Nepalese rupee',
"NZD" => "New Zealand dollar", 'NZD' => 'New Zealand dollar',
"OMR" => "Omani rial", 'OMR' => 'Omani rial',
"PAB" => "Panamanian balboa", 'PAB' => 'Panamanian balboa',
"PEN" => "Peruvian nuevo sol", 'PEN' => 'Peruvian nuevo sol',
"PGK" => "Papua New Guinean kina", 'PGK' => 'Papua New Guinean kina',
"PHP" => "Philippine peso", 'PHP' => 'Philippine peso',
"PKR" => "Pakistani rupee", 'PKR' => 'Pakistani rupee',
"PLN" => "Polish zloty", 'PLN' => 'Polish zloty',
"PYG" => "Paraguayan guarani", 'PYG' => 'Paraguayan guarani',
"QAR" => "Qatari riyal", 'QAR' => 'Qatari riyal',
"RON" => "Romanian leu", 'RON' => 'Romanian leu',
"RSD" => "Serbian dinar", 'RSD' => 'Serbian dinar',
"RUB" => "Russian ruble", 'RUB' => 'Russian ruble',
"SAR" => "Saudi riyal", 'SAR' => 'Saudi riyal',
"SBD" => "Solomon Islands dollar", 'SBD' => 'Solomon Islands dollar',
"SCR" => "Seychellois rupee", 'SCR' => 'Seychellois rupee',
"SDG" => "Sudanese pound", 'SDG' => 'Sudanese pound',
"SEK" => "Swedish krona", 'SEK' => 'Swedish krona',
"SGD" => "Singapore dollar", 'SGD' => 'Singapore dollar',
"SHP" => "Saint Helena pound", 'SHP' => 'Saint Helena pound',
"SLL" => "Sierra Leonean leone", 'SLL' => 'Sierra Leonean leone',
"SOS" => "Somali shilling", 'SOS' => 'Somali shilling',
"SRD" => "Surinamese dollar", 'SRD' => 'Surinamese dollar',
"SYP" => "Syrian pound", 'SYP' => 'Syrian pound',
"SZL" => "Swazi lilangeni", 'SZL' => 'Swazi lilangeni',
"THB" => "Thai baht", 'THB' => 'Thai baht',
"TJS" => "Tajikistani somoni", 'TJS' => 'Tajikistani somoni',
"TMT" => "Turkmen manat", 'TMT' => 'Turkmen manat',
"TND" => "Tunisian dinar", 'TND' => 'Tunisian dinar',
"TRY" => "Turkish new lira", 'TRY' => 'Turkish new lira',
"TTD" => "Trinidad and Tobago dollar", 'TTD' => 'Trinidad and Tobago dollar',
"TWD" => "New Taiwan dollar", 'TWD' => 'New Taiwan dollar',
"TZS" => "Tanzanian shilling", 'TZS' => 'Tanzanian shilling',
"UAH" => "Ukrainian hryvnia", 'UAH' => 'Ukrainian hryvnia',
"UGX" => "Ugandan shilling", 'UGX' => 'Ugandan shilling',
"USD" => "United States dollar", 'USD' => 'United States dollar',
"UYU" => "Uruguayan peso", 'UYU' => 'Uruguayan peso',
"UZS" => "Uzbekistani som", 'UZS' => 'Uzbekistani som',
"VEB" => "Venezuelan bolivar", 'VEB' => 'Venezuelan bolivar',
"VND" => "Vietnamese dong", 'VND' => 'Vietnamese dong',
"VUV" => "Vanuatu vatu", 'VUV' => 'Vanuatu vatu',
"WST" => "Samoan tala", 'WST' => 'Samoan tala',
"XAF" => "Central African CFA franc", 'XAF' => 'Central African CFA franc',
"XCD" => "East Caribbean dollar", 'XCD' => 'East Caribbean dollar',
"XDR" => "Special Drawing Rights", 'XDR' => 'Special Drawing Rights',
"XOF" => "West African CFA franc", 'XOF' => 'West African CFA franc',
"XPF" => "CFP franc", 'XPF' => 'CFP franc',
"YER" => "Yemeni rial", 'YER' => 'Yemeni rial',
"ZAR" => "South African rand", 'ZAR' => 'South African rand',
"ZMK" => "Zambian kwacha", 'ZMK' => 'Zambian kwacha',
"ZWR" => "Zimbabwean dollar", 'ZWR' => 'Zimbabwean dollar',
]; ];
} }

View File

@@ -2,8 +2,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Application; use App\Models\Application;
use Illuminate\Http\Request;
class ApplicationController extends Controller class ApplicationController extends Controller
{ {

View File

@@ -3,7 +3,6 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Career; use App\Models\Career;
use Illuminate\Http\Request;
class CareersPageController extends Controller class CareersPageController extends Controller
{ {

View File

@@ -3,8 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Internship; use App\Models\Internship;
use Illuminate\Http\Request; use App\Models\InternshipApplication;
use App\Models\InternshipApplication; // Changed from App\Models\Application use Illuminate\Http\Request; // Changed from App\Models\Application
class InternshipsPageController extends Controller class InternshipsPageController extends Controller
{ {

View File

@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Success; use App\Models\Success;
use Illuminate\Http\Request;
class SuccessPageController extends Controller class SuccessPageController extends Controller
{ {

View File

@@ -4,7 +4,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use App\Models\Career;
class Application extends Model class Application extends Model
{ {

View File

@@ -4,7 +4,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use App\Models\Application;
class Career extends Model class Career extends Model
{ {

View File

@@ -4,7 +4,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use App\Models\InternshipApplication;
class Internship extends Model class Internship extends Model
{ {

View File

@@ -21,4 +21,4 @@ class InternshipApplication extends Model
{ {
return $this->belongsTo(Internship::class); return $this->belongsTo(Internship::class);
} }
} }

10
app/Models/TeamMember.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class TeamMember extends Model
{
//
}

View File

@@ -0,0 +1,42 @@
<?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 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';
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Settings;
use Spatie\LaravelSettings\Settings;
class ContactSettings extends Settings
{
public string $contact_subtitle = 'Default Contact Subtitle';
public string $contact_header = 'Default Contact Header';
public string $contact_paragraph = 'This is a default paragraph for the contact page. Please update it from the Filament panel.';
public string $phone_number = '+1234567890';
public string $email_address = 'info@example.com';
public string $location_address = '123 Main St, Anytown, USA';
public string $map_embed_url = '';
public static function group(): string
{
return 'contact';
}
}

View File

@@ -14,6 +14,7 @@ return [
GeneralSettings::class, GeneralSettings::class,
SiteSettings::class, SiteSettings::class,
HomeSettings::class, HomeSettings::class,
\App\Settings\ContactSettings::class,
], ],
/* /*

View File

@@ -0,0 +1,31 @@
<?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('team_members', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('title');
$table->text('description');
$table->string('image'); // Store path to image
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('team_members');
}
};

View File

@@ -2,7 +2,6 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\News;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
class NewsTableSeeder extends Seeder class NewsTableSeeder extends Seeder
@@ -10,8 +9,5 @@ class NewsTableSeeder extends Seeder
/** /**
* Run the database seeds. * Run the database seeds.
*/ */
public function run(): void public function run(): void {}
{
}
} }

View File

@@ -0,0 +1,17 @@
<?php
use Spatie\LaravelSettings\Migrations\SettingsMigration;
return new class extends SettingsMigration
{
public function up(): void
{
$this->migrator->add('contact.contact_subtitle', 'Default Contact Subtitle');
$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.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.map_embed_url', '');
}
};

View File

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

View File

@@ -4373,7 +4373,7 @@ p {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: var(--color-1); color: var(--text-white);
border-radius: 50%; border-radius: 50%;
margin-right: -40px; margin-right: -40px;
font-size: 20px; font-size: 20px;

View File

@@ -285,11 +285,10 @@ body {
</style> </style>
@endpush @endpush
@push('footer-js')
<script src="/web/cs/js/timeline.js"></script>
@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">
@@ -298,7 +297,7 @@ body {
<div class="breadcrumb__area-content"> <div class="breadcrumb__area-content">
<h2>About Us</h2> <h2>About Us</h2>
<ul> <ul>
<li><a href="index.html">Home</a><i class="fa-regular fa-angle-right"></i></li> <li><a href="/">Home</a><i class="fa-regular fa-angle-right"></i></li>
<li>About Us</li> <li>About Us</li>
</ul> </ul>
</div> </div>
@@ -314,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"
@@ -345,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&amp;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>
@@ -355,60 +353,58 @@ 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>
<div class="timeline-container"> <!-- Our History Area Start -->
<!-- Timeline dates will be generated here --> <div class="history__area">
<div class="timeline-dates"> <div class="container">
<div class="timeline-line"></div> <div class="row">
<div id="dates-container" class="dates-container"></div> <div class="col-xl-12">
</div> <div class="company__history-area">
@foreach ($aboutSettings->our_journey_milestones as $milestone)
<!-- Content area --> <div class="company__history-area-item">
<div class="content-area"> <div class="company__history-area-item-date">
<div id="content-container" class="content-container"> <span>{{ $milestone['year'] }}</span>
<!-- Content will be inserted here -->
</div> </div>
<div class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
<!-- Navigation buttons --> <div class="company__history-area-item-inner-image">
<div class="navigation-controls"> <img src="{{ asset('storage/' . $milestone['image']) }}" alt="{{ $milestone['title'] }}">
<button id="prev-btn" class="nav-button" aria-label="Previous milestone"> </div>
<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="icon"> <div class="company__history-area-item-inner-content">
<path d="m15 18-6-6 6-6"/> <h4>{{ $milestone['title'] }}</h4>
</svg> <p>{{ $milestone['description'] }}</p>
<span class="sr-only">Previous</span> </div>
</button>
<button id="next-btn" class="nav-button" aria-label="Next milestone">
<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="icon">
<path d="m9 18 6-6-6-6"/>
</svg>
<span class="sr-only">Next</span>
</button>
</div> </div>
</div>
</div> </div>
</div> @endforeach
</div>
</div>
</div>
</div>
</div>
<!-- Our History Area End -->
</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">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">
@@ -418,22 +414,12 @@ 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>
@@ -444,85 +430,71 @@ body {
<p class="text-lg text-gray-600">Meet the leadership team driving our vision forward</p> <p class="text-lg text-gray-600">Meet the leadership team driving our vision forward</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 (App\Models\TeamMember::all() 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&amp;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&amp;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&amp;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&amp;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"
@@ -533,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 }}</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&amp;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&amp;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&amp;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>
@@ -651,203 +537,4 @@ body {
</div> </div>
</div> </div>
<!-- Mission Area Start -->
<div class="mission__area section-padding">
<div class="container">
<div class="row">
<div class="col-lg-6 lg-mb-25">
<div class="mission__area-left mr-40 xl-mr-0">
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">Our Mission</span>
<h2 class="title_split_anim">Dedicated to Delivering Value and Excellence</h2>
</div>
</div>
<div class="col-lg-6">
<div class="mission__area-right">
<div class="row">
<div class="col-md-6 md-mb-25 wow fadeInUp" data-wow-delay=".6s">
<div class="experience__area-list-item">
<i class="flaticon-team"></i>
<div class="experience__area-list-item-content">
<h4>Project Planning</h4>
<p>Ensuring every detail is considered designing</p>
</div>
</div>
</div>
<div class="col-md-6 wow fadeInUp" data-wow-delay=".9s">
<div class="experience__area-list-item">
<i class="flaticon-technology"></i>
<div class="experience__area-list-item-content">
<h4>Labor Preparation</h4>
<p>We take pride in our quality craftsmanship</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Mission Area End -->
<!-- About Area Start -->
<div class="about__five section-padding pt-0">
<div class="container">
<div class="row al-center">
<div class="col-lg-5 lg-mb-25">
<div class="about__five-image wow img_left_animation">
<img src="/web/assets/img/about/about-4.jpg" alt="image">
</div>
</div>
<div class="col-lg-7">
<div class="about__five-right ml-70 xl-ml-0">
<div class="about__five-right-title">
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">About Our Company</span>
<h2 class="title_split_anim">Trusted Partner in Construction and Design</h2>
</div>
<div class="features wow fadeInUp" data-wow-delay=".3s" style="background-image: url('/web/assets/img/portfolio/portfolio-8.jpg');">
<h3>Building Trust<br>Since 1989</h3>
</div>
<p class="wow fadeInUp" data-wow-delay=".6s">Our journey began with a commitment to excellence, and that commitment remains at the core of our operations today. Weve grown from a small local business into a trusted partner for both residential and commercial.</p>
<div class="item_bounce">
<a class="build_button mt-20" href="portfolio.html">See Projects<i class="flaticon-right-up"></i></a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- About Area End -->
<!-- Video Area Start -->
<div class="video__two" style="background-image: url('/web/assets/img/service/services-1.jpg');">
<div class="container">
<div class="row">
<div class="col-xl-12">
<div class="video__two-icon item_bounce">
<div class="video video-pulse">
<a class="video-popup" href="https://youtube.com/watch?v=0WC-tD-njcA"><i class="fas fa-play"></i></a>
</div>
</div>
</div>
</div>
</div>
<div class="scroll__slider">
<div class="text-slide">
<div class="sliders text_scroll">
<ul>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Residential</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Architecture</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Community</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Healthcare</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Seaside Resort</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Modern</a></li>
</ul>
</div>
<div class="sliders text_scroll">
<ul>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Residential</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Architecture</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Community</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Healthcare</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Seaside Resort</a></li>
<li><img src="/web/assets/img/icon/star-dark.svg" alt="icon"><a href="portfolio-details">Modern</a></li>
</ul>
</div>
</div>
</div>
</div>
<!-- Video Area End -->
<!-- Certification Area Start -->
<div class="certification section-padding pt-0">
<div class="container">
<div class="row">
<div class="col-xl-4 col-lg-5 lg-mb-25">
<div class="certification-left section-padding pb-0">
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">Industry Certifications</span>
<h2 class="title_split_anim">Our Key Achievements Over the Years</h2>
</div>
</div>
<div class="col-xl-8 col-lg-7">
<div class="certification-right">
<img class="wow img_top_animation" src="/web/assets/img/page/who-we-are.jpg" alt="image">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="counter__one-area mt-80">
<div class="certification-right-counter">
<h2><span class="counter">678</span>+</h2>
<span>Complete Projects</span>
</div>
<div class="certification-right-counter">
<h2><span class="counter">120</span>+</h2>
<span>Team Members</span>
</div>
<div class="certification-right-counter">
<h2><span class="counter">635</span>+</h2>
<span>Client Reviews</span>
</div>
<div class="certification-right-counter">
<h2><span class="counter">89</span>+</h2>
<span>Winning Awards</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Certification Area End -->
<!-- Team Area Start -->
<div class="team__area section-padding">
<div class="container">
<div class="row mb-35">
<div class="col-xl-12">
<div class="team__area-title t-center">
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">Meet Our Experts</span>
<h2 class="title_split_anim">Dedicated Professionals</h2>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-6 wow fadeInUp mt-25" data-wow-delay=".3s">
<div class="team__area-item">
<img class="img_full" src="/web/assets/img/team/team-1.jpg" alt="image">
<div class="team__area-item-content t-center pt-20">
<h5>Alan Dosan</h5>
<span>Lead Architect</span>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6 wow fadeInUp mt-25" data-wow-delay=".6s">
<div class="team__area-item">
<img class="img_full" src="/web/assets/img/team/team-2.jpg" alt="image">
<div class="team__area-item-content t-center pt-20">
<h5>Sarah Johnson</h5>
<span>General Laborer</span>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6 wow fadeInUp mt-25" data-wow-delay=".9s">
<div class="team__area-item">
<img class="img_full" src="/web/assets/img/team/team-3.jpg" alt="image">
<div class="team__area-item-content t-center pt-20">
<h5>Derya Kurtulus</h5>
<span>Safety Inspector</span>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6 wow fadeInUp mt-25" data-wow-delay="1.2s">
<div class="team__area-item">
<img class="img_full" src="/web/assets/img/team/team-4.jpg" alt="image">
<div class="team__area-item-content t-center pt-20">
<h5>Steve Rhodes</h5>
<span>Civil Engineer</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Team Area End -->
@stop @stop

View File

@@ -1,6 +1,9 @@
@extends('web.layouts.app') @extends('web.layouts.app')
@section('content') @section('content')
@php
$contactSettings = app(\App\Settings\ContactSettings::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">
@@ -25,9 +28,9 @@
<div class="col-lg-5 lg-mb-25"> <div class="col-lg-5 lg-mb-25">
<div class="contact__area-left mr-40 xl-mr-0"> <div class="contact__area-left mr-40 xl-mr-0">
<div class="title"> <div class="title">
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">Contact Us</span> <span class="subtitle wow fadeInLeft" data-wow-delay=".4s">{{ $contactSettings->contact_subtitle }}</span>
<h2 class="title_split_anim mb-25">Get In Touch</h2> <h2 class="title_split_anim mb-25">{{ $contactSettings->contact_header }}</h2>
<p class="wow fadeInUp" data-wow-delay=".4s">Were here to assist you! Please reach out with any questions, feedback, or project inquiries.</p> <p class="wow fadeInUp" data-wow-delay=".4s">{{ $contactSettings->contact_paragraph }}</p>
</div> </div>
<div class="contact__area-left-contact wow fadeInUp" data-wow-delay=".7s"> <div class="contact__area-left-contact wow fadeInUp" data-wow-delay=".7s">
<div class="contact__area-left-contact-item"> <div class="contact__area-left-contact-item">
@@ -36,7 +39,7 @@
</div> </div>
<div class="contact__area-left-contact-item-content"> <div class="contact__area-left-contact-item-content">
<span>Phone:</span> <span>Phone:</span>
<h6><a href="tel:+123 (256) 568 58">+123 (256) 568 58</a></h6> <h6><a href="tel:{{ $contactSettings->phone_number }}">{{ $contactSettings->phone_number }}</a></h6>
</div> </div>
</div> </div>
<div class="contact__area-left-contact-item"> <div class="contact__area-left-contact-item">
@@ -45,7 +48,7 @@
</div> </div>
<div class="contact__area-left-contact-item-content"> <div class="contact__area-left-contact-item-content">
<span>Email Address:</span> <span>Email Address:</span>
<h6><a href="mailto:needhelp@gmail.com">needhelp@gmail.com</a></h6> <h6><a href="mailto:{{ $contactSettings->email_address }}">{{ $contactSettings->email_address }}</a></h6>
</div> </div>
</div> </div>
<div class="contact__area-left-contact-item"> <div class="contact__area-left-contact-item">
@@ -54,7 +57,7 @@
</div> </div>
<div class="contact__area-left-contact-item-content"> <div class="contact__area-left-contact-item-content">
<span>Location:</span> <span>Location:</span>
<h6><a href="https://google.com/maps" target="_blank">2464 Royal Ln. Mesa, New Jersey 45463</a></h6> <h6><a href="https://google.com/maps" target="_blank">{{ $contactSettings->location_address }}</a></h6>
</div> </div>
</div> </div>
</div> </div>
@@ -104,7 +107,7 @@
<div class="row"> <div class="row">
<div class="col-xl-12 wow fadeInUp" data-wow-delay=".4s"> <div class="col-xl-12 wow fadeInUp" data-wow-delay=".4s">
<div class="map-area"> <div class="map-area">
<iframe loading="lazy" src="https://maps.google.com/maps?q=London%20Eye%2C%20London%2C%20United%20Kingdom&amp;t=m&amp;z=10&amp;output=embed&amp;iwloc=near" title="London Eye, London, United Kingdom" aria-label="London Eye, London, United Kingdom"></iframe> <iframe src="{{ $contactSettings->map_embed_url }}" loading="lazy" referrerpolicy="no-referrer-when-downgrade" title="Ashgabat, Turkmenistan" aria-label="Ashgabat, Turkmenistan"></iframe>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,6 +1,7 @@
<?php <?php
use App\Http\Controllers\AboutusPageController; use App\Http\Controllers\AboutusPageController;
use App\Http\Controllers\ApplicationController;
use App\Http\Controllers\CareersPageController; use App\Http\Controllers\CareersPageController;
use App\Http\Controllers\ContactPageController; use App\Http\Controllers\ContactPageController;
use App\Http\Controllers\HomePageController; use App\Http\Controllers\HomePageController;
@@ -8,9 +9,7 @@ use App\Http\Controllers\InternshipsPageController;
use App\Http\Controllers\LegalPageController; use App\Http\Controllers\LegalPageController;
use App\Http\Controllers\NewsPageController; use App\Http\Controllers\NewsPageController;
use App\Http\Controllers\OurSolutionPageController; use App\Http\Controllers\OurSolutionPageController;
use App\Http\Controllers\StoryPageController;
use App\Http\Controllers\Web\SuccessPageController; use App\Http\Controllers\Web\SuccessPageController;
use App\Http\Controllers\ApplicationController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
// Homepage... // Homepage...