Compare commits
4 Commits
287fbf55f9
...
453e8caa82
| Author | SHA1 | Date | |
|---|---|---|---|
| 453e8caa82 | |||
| 76397637f0 | |||
| 8e770941fa | |||
| c37f5fadf1 |
248
app/Filament/Pages/AboutPageSettings.php
Normal file
248
app/Filament/Pages/AboutPageSettings.php
Normal 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.';
|
||||
}
|
||||
}
|
||||
87
app/Filament/Pages/ContactPageSettings.php
Normal file
87
app/Filament/Pages/ContactPageSettings.php
Normal 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.';
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\ApplicationResource\Pages;
|
||||
use App\Filament\Resources\ApplicationResource\RelationManagers;
|
||||
use App\Models\Application;
|
||||
use App\Models\Career;
|
||||
use Filament\Forms;
|
||||
@@ -11,8 +10,6 @@ use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
|
||||
class ApplicationResource extends Resource
|
||||
{
|
||||
@@ -107,4 +104,4 @@ class ApplicationResource extends Resource
|
||||
'edit' => Pages\EditApplication::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
namespace App\Filament\Resources\ApplicationResource\Pages;
|
||||
|
||||
use App\Filament\Resources\ApplicationResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateApplication extends CreateRecord
|
||||
{
|
||||
protected static string $resource = ApplicationResource::class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@ class EditApplication extends EditRecord
|
||||
Actions\DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@ class ListApplications extends ListRecords
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\AuthorResource\Pages;
|
||||
use App\Filament\Resources\AuthorResource\RelationManagers;
|
||||
use App\Models\Author;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Components\FileUpload;
|
||||
@@ -14,8 +13,6 @@ use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Columns\ImageColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
|
||||
class AuthorResource extends Resource
|
||||
{
|
||||
@@ -25,8 +22,7 @@ class AuthorResource extends Resource
|
||||
|
||||
protected static ?string $navigationGroup = 'News';
|
||||
|
||||
public static function form(Form $form):
|
||||
Form
|
||||
public static function form(Form $form): Form
|
||||
{
|
||||
return $form
|
||||
->schema([
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources\AuthorResource\Pages;
|
||||
|
||||
use App\Filament\Resources\AuthorResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateAuthor extends CreateRecord
|
||||
|
||||
@@ -6,15 +6,13 @@ use App\Filament\Resources\CareerResource\Pages;
|
||||
use App\Filament\Resources\CareerResource\RelationManagers;
|
||||
use App\Models\Career;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Components\Repeater;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
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
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources\CareerResource\Pages;
|
||||
|
||||
use App\Filament\Resources\CareerResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateCareer extends CreateRecord
|
||||
|
||||
@@ -7,8 +7,6 @@ use Filament\Forms\Form;
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
|
||||
class ApplicationsRelationManager extends RelationManager
|
||||
{
|
||||
|
||||
@@ -6,15 +6,13 @@ use App\Filament\Resources\InternshipResource\Pages;
|
||||
use App\Filament\Resources\InternshipResource\RelationManagers;
|
||||
use App\Models\Internship;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Components\Repeater;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
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
|
||||
{
|
||||
@@ -53,7 +51,7 @@ class InternshipResource extends Resource
|
||||
->label('Salary currency')
|
||||
->searchable()
|
||||
->default('USD'),
|
||||
|
||||
|
||||
Repeater::make('bullets')
|
||||
->schema([
|
||||
TextInput::make('bullet')
|
||||
@@ -122,4 +120,4 @@ class InternshipResource extends Resource
|
||||
'edit' => Pages\EditInternship::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
namespace App\Filament\Resources\InternshipResource\Pages;
|
||||
|
||||
use App\Filament\Resources\InternshipResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateInternship extends CreateRecord
|
||||
{
|
||||
protected static string $resource = InternshipResource::class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@ class EditInternship extends EditRecord
|
||||
Actions\DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@ class ListInternships extends ListRecords
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,12 @@
|
||||
|
||||
namespace App\Filament\Resources\InternshipResource\RelationManagers;
|
||||
|
||||
use App\Models\InternshipApplication;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use App\Models\InternshipApplication; // Added this use statement
|
||||
use Filament\Tables\Table; // Added this use statement
|
||||
|
||||
class ApplicationsRelationManager extends RelationManager
|
||||
{
|
||||
@@ -80,4 +78,4 @@ class ApplicationsRelationManager extends RelationManager
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,12 +28,12 @@ class SolutionResource extends Resource
|
||||
->maxLength(255)
|
||||
->reactive()
|
||||
->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()
|
||||
->maxLength(255),
|
||||
|
||||
Forms\Components\TextInput::make('title_description')
|
||||
|
||||
Forms\Components\TextInput::make('title_description')
|
||||
->maxLength(255)
|
||||
->required()
|
||||
->columnSpanFull(),
|
||||
@@ -51,7 +51,7 @@ class SolutionResource extends Resource
|
||||
Forms\Components\RichEditor::make('description')
|
||||
->required()
|
||||
->columnSpanFull(),
|
||||
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\SuccessResource\Pages;
|
||||
use App\Filament\Resources\SuccessResource\RelationManagers;
|
||||
use App\Models\Success;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Components\DateTimePicker;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources\SuccessResource\Pages;
|
||||
|
||||
use App\Filament\Resources\SuccessResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateSuccess extends CreateRecord
|
||||
|
||||
94
app/Filament/Resources/TeamMemberResource.php
Normal file
94
app/Filament/Resources/TeamMemberResource.php
Normal 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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -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(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -20,161 +20,161 @@ function logDB(): void
|
||||
function getCurrencies(): array
|
||||
{
|
||||
return [
|
||||
"AED" => "UAE dirham",
|
||||
"AFN" => "Afghan afghani",
|
||||
"ALL" => "Albanian lek",
|
||||
"AMD" => "Armenian dram",
|
||||
"ANG" => "Netherlands Antillean gulden",
|
||||
"AOA" => "Angolan kwanza",
|
||||
"ARS" => "Argentine peso",
|
||||
"AUD" => "Australian dollar",
|
||||
"AWG" => "Aruban florin",
|
||||
"AZN" => "Azerbaijani manat",
|
||||
"BAM" => "Bosnia and Herzegovina konvertibilna marka",
|
||||
"BBD" => "Barbadian dollar",
|
||||
"BDT" => "Bangladeshi taka",
|
||||
"BGN" => "Bulgarian lev",
|
||||
"BHD" => "Bahraini dinar",
|
||||
"BIF" => "Burundi franc",
|
||||
"BMD" => "Bermudian dollar",
|
||||
"BND" => "Brunei dollar",
|
||||
"BOB" => "Bolivian boliviano",
|
||||
"BRL" => "Brazilian real",
|
||||
"BSD" => "Bahamian dollar",
|
||||
"BTN" => "Bhutanese ngultrum",
|
||||
"BWP" => "Botswana pula",
|
||||
"BYR" => "Belarusian ruble",
|
||||
"BZD" => "Belize dollar",
|
||||
"CAD" => "Canadian dollar",
|
||||
"CDF" => "Congolese franc",
|
||||
"CHF" => "Swiss franc",
|
||||
"CLP" => "Chilean peso",
|
||||
"CNY" => "Chinese/Yuan renminbi",
|
||||
"COP" => "Colombian peso",
|
||||
"CRC" => "Costa Rican colon",
|
||||
"CUC" => "Cuban peso",
|
||||
"CVE" => "Cape Verdean escudo",
|
||||
"CZK" => "Czech koruna",
|
||||
"DJF" => "Djiboutian franc",
|
||||
"DKK" => "Danish krone",
|
||||
"DOP" => "Dominican peso",
|
||||
"DZD" => "Algerian dinar",
|
||||
"EEK" => "Estonian kroon",
|
||||
"EGP" => "Egyptian pound",
|
||||
"ERN" => "Eritrean nakfa",
|
||||
"ETB" => "Ethiopian birr",
|
||||
"EUR" => "European Euro",
|
||||
"FJD" => "Fijian dollar",
|
||||
"FKP" => "Falkland Islands pound",
|
||||
"GBP" => "British pound",
|
||||
"GEL" => "Georgian lari",
|
||||
"GHS" => "Ghanaian cedi",
|
||||
"GIP" => "Gibraltar pound",
|
||||
"GMD" => "Gambian dalasi",
|
||||
"GNF" => "Guinean franc",
|
||||
"GQE" => "Central African CFA franc",
|
||||
"GTQ" => "Guatemalan quetzal",
|
||||
"GYD" => "Guyanese dollar",
|
||||
"HKD" => "Hong Kong dollar",
|
||||
"HNL" => "Honduran lempira",
|
||||
"HRK" => "Croatian kuna",
|
||||
"HTG" => "Haitian gourde",
|
||||
"HUF" => "Hungarian forint",
|
||||
"IDR" => "Indonesian rupiah",
|
||||
"ILS" => "Israeli new sheqel",
|
||||
"INR" => "Indian rupee",
|
||||
"IQD" => "Iraqi dinar",
|
||||
"IRR" => "Iranian rial",
|
||||
"ISK" => "Icelandic króna",
|
||||
"JMD" => "Jamaican dollar",
|
||||
"JOD" => "Jordanian dinar",
|
||||
"JPY" => "Japanese yen",
|
||||
"KES" => "Kenyan shilling",
|
||||
"KGS" => "Kyrgyzstani som",
|
||||
"KHR" => "Cambodian riel",
|
||||
"KMF" => "Comorian franc",
|
||||
"KPW" => "North Korean won",
|
||||
"KRW" => "South Korean won",
|
||||
"KWD" => "Kuwaiti dinar",
|
||||
"KYD" => "Cayman Islands dollar",
|
||||
"KZT" => "Kazakhstani tenge",
|
||||
"LAK" => "Lao kip",
|
||||
"LBP" => "Lebanese lira",
|
||||
"LKR" => "Sri Lankan rupee",
|
||||
"LRD" => "Liberian dollar",
|
||||
"LSL" => "Lesotho loti",
|
||||
"LTL" => "Lithuanian litas",
|
||||
"LVL" => "Latvian lats",
|
||||
"LYD" => "Libyan dinar",
|
||||
"MAD" => "Moroccan dirham",
|
||||
"MDL" => "Moldovan leu",
|
||||
"MGA" => "Malagasy ariary",
|
||||
"MKD" => "Macedonian denar",
|
||||
"MMK" => "Myanma kyat",
|
||||
"MNT" => "Mongolian tugrik",
|
||||
"MOP" => "Macanese pataca",
|
||||
"MRO" => "Mauritanian ouguiya",
|
||||
"MUR" => "Mauritian rupee",
|
||||
"MVR" => "Maldivian rufiyaa",
|
||||
"MWK" => "Malawian kwacha",
|
||||
"MXN" => "Mexican peso",
|
||||
"MYR" => "Malaysian ringgit",
|
||||
"MZM" => "Mozambican metical",
|
||||
"NAD" => "Namibian dollar",
|
||||
"NGN" => "Nigerian naira",
|
||||
"NIO" => "Nicaraguan córdoba",
|
||||
"NOK" => "Norwegian krone",
|
||||
"NPR" => "Nepalese rupee",
|
||||
"NZD" => "New Zealand dollar",
|
||||
"OMR" => "Omani rial",
|
||||
"PAB" => "Panamanian balboa",
|
||||
"PEN" => "Peruvian nuevo sol",
|
||||
"PGK" => "Papua New Guinean kina",
|
||||
"PHP" => "Philippine peso",
|
||||
"PKR" => "Pakistani rupee",
|
||||
"PLN" => "Polish zloty",
|
||||
"PYG" => "Paraguayan guarani",
|
||||
"QAR" => "Qatari riyal",
|
||||
"RON" => "Romanian leu",
|
||||
"RSD" => "Serbian dinar",
|
||||
"RUB" => "Russian ruble",
|
||||
"SAR" => "Saudi riyal",
|
||||
"SBD" => "Solomon Islands dollar",
|
||||
"SCR" => "Seychellois rupee",
|
||||
"SDG" => "Sudanese pound",
|
||||
"SEK" => "Swedish krona",
|
||||
"SGD" => "Singapore dollar",
|
||||
"SHP" => "Saint Helena pound",
|
||||
"SLL" => "Sierra Leonean leone",
|
||||
"SOS" => "Somali shilling",
|
||||
"SRD" => "Surinamese dollar",
|
||||
"SYP" => "Syrian pound",
|
||||
"SZL" => "Swazi lilangeni",
|
||||
"THB" => "Thai baht",
|
||||
"TJS" => "Tajikistani somoni",
|
||||
"TMT" => "Turkmen manat",
|
||||
"TND" => "Tunisian dinar",
|
||||
"TRY" => "Turkish new lira",
|
||||
"TTD" => "Trinidad and Tobago dollar",
|
||||
"TWD" => "New Taiwan dollar",
|
||||
"TZS" => "Tanzanian shilling",
|
||||
"UAH" => "Ukrainian hryvnia",
|
||||
"UGX" => "Ugandan shilling",
|
||||
"USD" => "United States dollar",
|
||||
"UYU" => "Uruguayan peso",
|
||||
"UZS" => "Uzbekistani som",
|
||||
"VEB" => "Venezuelan bolivar",
|
||||
"VND" => "Vietnamese dong",
|
||||
"VUV" => "Vanuatu vatu",
|
||||
"WST" => "Samoan tala",
|
||||
"XAF" => "Central African CFA franc",
|
||||
"XCD" => "East Caribbean dollar",
|
||||
"XDR" => "Special Drawing Rights",
|
||||
"XOF" => "West African CFA franc",
|
||||
"XPF" => "CFP franc",
|
||||
"YER" => "Yemeni rial",
|
||||
"ZAR" => "South African rand",
|
||||
"ZMK" => "Zambian kwacha",
|
||||
"ZWR" => "Zimbabwean dollar",
|
||||
'AED' => 'UAE dirham',
|
||||
'AFN' => 'Afghan afghani',
|
||||
'ALL' => 'Albanian lek',
|
||||
'AMD' => 'Armenian dram',
|
||||
'ANG' => 'Netherlands Antillean gulden',
|
||||
'AOA' => 'Angolan kwanza',
|
||||
'ARS' => 'Argentine peso',
|
||||
'AUD' => 'Australian dollar',
|
||||
'AWG' => 'Aruban florin',
|
||||
'AZN' => 'Azerbaijani manat',
|
||||
'BAM' => 'Bosnia and Herzegovina konvertibilna marka',
|
||||
'BBD' => 'Barbadian dollar',
|
||||
'BDT' => 'Bangladeshi taka',
|
||||
'BGN' => 'Bulgarian lev',
|
||||
'BHD' => 'Bahraini dinar',
|
||||
'BIF' => 'Burundi franc',
|
||||
'BMD' => 'Bermudian dollar',
|
||||
'BND' => 'Brunei dollar',
|
||||
'BOB' => 'Bolivian boliviano',
|
||||
'BRL' => 'Brazilian real',
|
||||
'BSD' => 'Bahamian dollar',
|
||||
'BTN' => 'Bhutanese ngultrum',
|
||||
'BWP' => 'Botswana pula',
|
||||
'BYR' => 'Belarusian ruble',
|
||||
'BZD' => 'Belize dollar',
|
||||
'CAD' => 'Canadian dollar',
|
||||
'CDF' => 'Congolese franc',
|
||||
'CHF' => 'Swiss franc',
|
||||
'CLP' => 'Chilean peso',
|
||||
'CNY' => 'Chinese/Yuan renminbi',
|
||||
'COP' => 'Colombian peso',
|
||||
'CRC' => 'Costa Rican colon',
|
||||
'CUC' => 'Cuban peso',
|
||||
'CVE' => 'Cape Verdean escudo',
|
||||
'CZK' => 'Czech koruna',
|
||||
'DJF' => 'Djiboutian franc',
|
||||
'DKK' => 'Danish krone',
|
||||
'DOP' => 'Dominican peso',
|
||||
'DZD' => 'Algerian dinar',
|
||||
'EEK' => 'Estonian kroon',
|
||||
'EGP' => 'Egyptian pound',
|
||||
'ERN' => 'Eritrean nakfa',
|
||||
'ETB' => 'Ethiopian birr',
|
||||
'EUR' => 'European Euro',
|
||||
'FJD' => 'Fijian dollar',
|
||||
'FKP' => 'Falkland Islands pound',
|
||||
'GBP' => 'British pound',
|
||||
'GEL' => 'Georgian lari',
|
||||
'GHS' => 'Ghanaian cedi',
|
||||
'GIP' => 'Gibraltar pound',
|
||||
'GMD' => 'Gambian dalasi',
|
||||
'GNF' => 'Guinean franc',
|
||||
'GQE' => 'Central African CFA franc',
|
||||
'GTQ' => 'Guatemalan quetzal',
|
||||
'GYD' => 'Guyanese dollar',
|
||||
'HKD' => 'Hong Kong dollar',
|
||||
'HNL' => 'Honduran lempira',
|
||||
'HRK' => 'Croatian kuna',
|
||||
'HTG' => 'Haitian gourde',
|
||||
'HUF' => 'Hungarian forint',
|
||||
'IDR' => 'Indonesian rupiah',
|
||||
'ILS' => 'Israeli new sheqel',
|
||||
'INR' => 'Indian rupee',
|
||||
'IQD' => 'Iraqi dinar',
|
||||
'IRR' => 'Iranian rial',
|
||||
'ISK' => 'Icelandic króna',
|
||||
'JMD' => 'Jamaican dollar',
|
||||
'JOD' => 'Jordanian dinar',
|
||||
'JPY' => 'Japanese yen',
|
||||
'KES' => 'Kenyan shilling',
|
||||
'KGS' => 'Kyrgyzstani som',
|
||||
'KHR' => 'Cambodian riel',
|
||||
'KMF' => 'Comorian franc',
|
||||
'KPW' => 'North Korean won',
|
||||
'KRW' => 'South Korean won',
|
||||
'KWD' => 'Kuwaiti dinar',
|
||||
'KYD' => 'Cayman Islands dollar',
|
||||
'KZT' => 'Kazakhstani tenge',
|
||||
'LAK' => 'Lao kip',
|
||||
'LBP' => 'Lebanese lira',
|
||||
'LKR' => 'Sri Lankan rupee',
|
||||
'LRD' => 'Liberian dollar',
|
||||
'LSL' => 'Lesotho loti',
|
||||
'LTL' => 'Lithuanian litas',
|
||||
'LVL' => 'Latvian lats',
|
||||
'LYD' => 'Libyan dinar',
|
||||
'MAD' => 'Moroccan dirham',
|
||||
'MDL' => 'Moldovan leu',
|
||||
'MGA' => 'Malagasy ariary',
|
||||
'MKD' => 'Macedonian denar',
|
||||
'MMK' => 'Myanma kyat',
|
||||
'MNT' => 'Mongolian tugrik',
|
||||
'MOP' => 'Macanese pataca',
|
||||
'MRO' => 'Mauritanian ouguiya',
|
||||
'MUR' => 'Mauritian rupee',
|
||||
'MVR' => 'Maldivian rufiyaa',
|
||||
'MWK' => 'Malawian kwacha',
|
||||
'MXN' => 'Mexican peso',
|
||||
'MYR' => 'Malaysian ringgit',
|
||||
'MZM' => 'Mozambican metical',
|
||||
'NAD' => 'Namibian dollar',
|
||||
'NGN' => 'Nigerian naira',
|
||||
'NIO' => 'Nicaraguan córdoba',
|
||||
'NOK' => 'Norwegian krone',
|
||||
'NPR' => 'Nepalese rupee',
|
||||
'NZD' => 'New Zealand dollar',
|
||||
'OMR' => 'Omani rial',
|
||||
'PAB' => 'Panamanian balboa',
|
||||
'PEN' => 'Peruvian nuevo sol',
|
||||
'PGK' => 'Papua New Guinean kina',
|
||||
'PHP' => 'Philippine peso',
|
||||
'PKR' => 'Pakistani rupee',
|
||||
'PLN' => 'Polish zloty',
|
||||
'PYG' => 'Paraguayan guarani',
|
||||
'QAR' => 'Qatari riyal',
|
||||
'RON' => 'Romanian leu',
|
||||
'RSD' => 'Serbian dinar',
|
||||
'RUB' => 'Russian ruble',
|
||||
'SAR' => 'Saudi riyal',
|
||||
'SBD' => 'Solomon Islands dollar',
|
||||
'SCR' => 'Seychellois rupee',
|
||||
'SDG' => 'Sudanese pound',
|
||||
'SEK' => 'Swedish krona',
|
||||
'SGD' => 'Singapore dollar',
|
||||
'SHP' => 'Saint Helena pound',
|
||||
'SLL' => 'Sierra Leonean leone',
|
||||
'SOS' => 'Somali shilling',
|
||||
'SRD' => 'Surinamese dollar',
|
||||
'SYP' => 'Syrian pound',
|
||||
'SZL' => 'Swazi lilangeni',
|
||||
'THB' => 'Thai baht',
|
||||
'TJS' => 'Tajikistani somoni',
|
||||
'TMT' => 'Turkmen manat',
|
||||
'TND' => 'Tunisian dinar',
|
||||
'TRY' => 'Turkish new lira',
|
||||
'TTD' => 'Trinidad and Tobago dollar',
|
||||
'TWD' => 'New Taiwan dollar',
|
||||
'TZS' => 'Tanzanian shilling',
|
||||
'UAH' => 'Ukrainian hryvnia',
|
||||
'UGX' => 'Ugandan shilling',
|
||||
'USD' => 'United States dollar',
|
||||
'UYU' => 'Uruguayan peso',
|
||||
'UZS' => 'Uzbekistani som',
|
||||
'VEB' => 'Venezuelan bolivar',
|
||||
'VND' => 'Vietnamese dong',
|
||||
'VUV' => 'Vanuatu vatu',
|
||||
'WST' => 'Samoan tala',
|
||||
'XAF' => 'Central African CFA franc',
|
||||
'XCD' => 'East Caribbean dollar',
|
||||
'XDR' => 'Special Drawing Rights',
|
||||
'XOF' => 'West African CFA franc',
|
||||
'XPF' => 'CFP franc',
|
||||
'YER' => 'Yemeni rial',
|
||||
'ZAR' => 'South African rand',
|
||||
'ZMK' => 'Zambian kwacha',
|
||||
'ZWR' => 'Zimbabwean dollar',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Application;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ApplicationController extends Controller
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Career;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CareersPageController extends Controller
|
||||
{
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Internship;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\InternshipApplication; // Changed from App\Models\Application
|
||||
use App\Models\InternshipApplication;
|
||||
use Illuminate\Http\Request; // Changed from App\Models\Application
|
||||
|
||||
class InternshipsPageController extends Controller
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Web;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Success;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SuccessPageController extends Controller
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use App\Models\Career;
|
||||
|
||||
class Application extends Model
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use App\Models\Application;
|
||||
|
||||
class Career extends Model
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use App\Models\InternshipApplication;
|
||||
|
||||
class Internship extends Model
|
||||
{
|
||||
|
||||
@@ -21,4 +21,4 @@ class InternshipApplication extends Model
|
||||
{
|
||||
return $this->belongsTo(Internship::class);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
10
app/Models/TeamMember.php
Normal file
10
app/Models/TeamMember.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TeamMember extends Model
|
||||
{
|
||||
//
|
||||
}
|
||||
42
app/Settings/AboutSettings.php
Normal file
42
app/Settings/AboutSettings.php
Normal 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';
|
||||
}
|
||||
}
|
||||
27
app/Settings/ContactSettings.php
Normal file
27
app/Settings/ContactSettings.php
Normal 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';
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ return [
|
||||
GeneralSettings::class,
|
||||
SiteSettings::class,
|
||||
HomeSettings::class,
|
||||
\App\Settings\ContactSettings::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
};
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\News;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class NewsTableSeeder extends Seeder
|
||||
@@ -10,8 +9,5 @@ class NewsTableSeeder extends Seeder
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
|
||||
}
|
||||
public function run(): void {}
|
||||
}
|
||||
|
||||
@@ -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', '');
|
||||
}
|
||||
};
|
||||
@@ -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');
|
||||
}
|
||||
};
|
||||
@@ -4373,7 +4373,7 @@ p {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-1);
|
||||
color: var(--text-white);
|
||||
border-radius: 50%;
|
||||
margin-right: -40px;
|
||||
font-size: 20px;
|
||||
|
||||
@@ -285,11 +285,10 @@ body {
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@push('footer-js')
|
||||
<script src="/web/cs/js/timeline.js"></script>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
@php
|
||||
$aboutSettings = app(App\Settings\AboutSettings::class);
|
||||
@endphp
|
||||
<!-- Breadcrumb Area Start -->
|
||||
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
||||
<div class="container">
|
||||
@@ -298,7 +297,7 @@ body {
|
||||
<div class="breadcrumb__area-content">
|
||||
<h2>About Us</h2>
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -314,19 +313,18 @@ body {
|
||||
<div class="container px-4 md:px-6 mx-auto">
|
||||
<section class="mb-24">
|
||||
<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>
|
||||
<p class="text-lg text-gray-600 md:text-xl">A journey of passion, innovation, and dedication that shaped who we are today.</p>
|
||||
<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">{{ $aboutSettings->our_story_subtitle }}</p>
|
||||
</div>
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-10 items-center">
|
||||
<div class="order-2 lg:order-1">
|
||||
<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
|
||||
organization serving clients across multiple industries.
|
||||
{{ $aboutSettings->our_story_paragraph_one }}
|
||||
</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-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-4">{{ $aboutSettings->our_story_paragraph_two }}</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">
|
||||
Learn more about our journey
|
||||
<a href="{{ $aboutSettings->our_story_button_url }}">{{ $aboutSettings->our_story_button_text }}</a>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
@@ -345,8 +343,8 @@ body {
|
||||
</div>
|
||||
<div class="order-1 lg:order-2 bg-white rounded-xl shadow-lg overflow-hidden">
|
||||
<div class="aspect-video relative">
|
||||
<video class="w-full h-full object-cover" controls="" poster="/placeholder.svg?height=720&width=1280">
|
||||
<source type="video/mp4" src="#" />
|
||||
<video class="w-full h-full object-cover" controls="" poster="{{ asset('storage/' . $aboutSettings->our_story_video_poster) }}">
|
||||
<source type="video/mp4" src="{{ asset('storage/' . $aboutSettings->our_story_video_source) }}" />
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
</div>
|
||||
@@ -355,60 +353,58 @@ body {
|
||||
|
||||
<div class="container">
|
||||
<section class="header">
|
||||
<h1>Our Journey</h1>
|
||||
<p>Explore our company's history and milestones through the years. Click on any date to learn more about our journey.</p>
|
||||
<h1>{{ $aboutSettings->our_journey_title }}</h1>
|
||||
<p>{{ $aboutSettings->our_journey_subtitle }}</p>
|
||||
</section>
|
||||
|
||||
<div class="timeline-container">
|
||||
<!-- Timeline dates will be generated here -->
|
||||
<div class="timeline-dates">
|
||||
<div class="timeline-line"></div>
|
||||
<div id="dates-container" class="dates-container"></div>
|
||||
</div>
|
||||
|
||||
<!-- Content area -->
|
||||
<div class="content-area">
|
||||
<div id="content-container" class="content-container">
|
||||
<!-- Content will be inserted here -->
|
||||
<!-- Our History Area Start -->
|
||||
<div class="history__area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="company__history-area">
|
||||
@foreach ($aboutSettings->our_journey_milestones as $milestone)
|
||||
<div class="company__history-area-item">
|
||||
<div class="company__history-area-item-date">
|
||||
<span>{{ $milestone['year'] }}</span>
|
||||
</div>
|
||||
|
||||
<!-- Navigation buttons -->
|
||||
<div class="navigation-controls">
|
||||
<button id="prev-btn" class="nav-button" aria-label="Previous 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="m15 18-6-6 6-6"/>
|
||||
</svg>
|
||||
<span class="sr-only">Previous</span>
|
||||
</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 class="company__history-area-item-inner wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="company__history-area-item-inner-image">
|
||||
<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>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Our History Area End -->
|
||||
</div>
|
||||
</section>
|
||||
<section class="mb-24">
|
||||
<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>
|
||||
<p class="text-lg text-gray-600">Our organizational hierarchy designed for efficiency</p>
|
||||
<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">{{ $aboutSettings->company_structure_subtitle }}</p>
|
||||
</div>
|
||||
<div class="bg-white rounded-xl shadow-lg p-8 md:p-10">
|
||||
<div class="org-chart">
|
||||
<div class="flex justify-center mb-16">
|
||||
<div class="org-box org-box-director">
|
||||
<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 class="flex justify-center mb-16 relative">
|
||||
<div class="absolute top-[-60px] w-px h-[60px] bg-gray-300"></div>
|
||||
<div class="org-box org-box-advisor">
|
||||
<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 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-[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="org-box org-box-department">
|
||||
<h3 class="font-bold">HSE</h3>
|
||||
<p class="text-sm text-gray-500">Michael Brown</p>
|
||||
</div>
|
||||
<div class="org-box org-box-department">
|
||||
<h3 class="font-bold">Personnel</h3>
|
||||
<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>
|
||||
@foreach ($aboutSettings->company_structure_departments as $department)
|
||||
<div class="org-box org-box-department">
|
||||
<h3 class="font-bold">{{ $department['name'] }}</h3>
|
||||
<p class="text-sm text-gray-500">{{ $department['person'] }}</p>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -444,85 +430,71 @@ body {
|
||||
<p class="text-lg text-gray-600">Meet the leadership team driving our vision forward</p>
|
||||
</div>
|
||||
<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">
|
||||
<div class="relative h-56 w-full">
|
||||
<img
|
||||
alt="John Smith"
|
||||
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;"
|
||||
/>
|
||||
@foreach (App\Models\TeamMember::all() as $member)
|
||||
<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="{{ $member->name }}"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-nimg="fill"
|
||||
class="object-cover"
|
||||
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 class="p-6">
|
||||
<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>
|
||||
@endforeach
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<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>
|
||||
<p class="text-lg text-gray-600">State-of-the-art locations where innovation happens</p>
|
||||
<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">{{ $aboutSettings->our_facilities_subtitle }}</p>
|
||||
</div>
|
||||
<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">
|
||||
<div class="relative h-64 w-full">
|
||||
<img
|
||||
alt="Headquarters"
|
||||
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">Headquarters</h3>
|
||||
<div class="flex items-center text-gray-600 mb-4">
|
||||
@foreach ($aboutSettings->our_facilities_locations as $location)
|
||||
<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="{{ $location['name'] }}"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-nimg="fill"
|
||||
class="object-cover"
|
||||
src="{{ asset('storage/' . $location['image']) }}"
|
||||
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">{{ $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
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
@@ -533,117 +505,31 @@ body {
|
||||
stroke-width="2"
|
||||
stroke-linecap="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>
|
||||
<circle cx="12" cy="10" r="3"></circle>
|
||||
<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>
|
||||
<span class="text-sm">San Francisco, California</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>
|
||||
<p class="text-gray-600 mb-4">{{ $location['description'] }}</p>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
@foreach ($location['tags'] as $tag)
|
||||
<span class="bg-gray-100 text-gray-700 text-xs px-2 py-1 rounded-full">{{ $tag }}</span>
|
||||
@endforeach
|
||||
</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 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>
|
||||
@endforeach
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@@ -651,203 +537,4 @@ body {
|
||||
</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. We’ve 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
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
@extends('web.layouts.app')
|
||||
|
||||
@section('content')
|
||||
@php
|
||||
$contactSettings = app(\App\Settings\ContactSettings::class);
|
||||
@endphp
|
||||
<!-- Breadcrumb Area Start -->
|
||||
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
||||
<div class="container">
|
||||
@@ -25,9 +28,9 @@
|
||||
<div class="col-lg-5 lg-mb-25">
|
||||
<div class="contact__area-left mr-40 xl-mr-0">
|
||||
<div class="title">
|
||||
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">Contact Us</span>
|
||||
<h2 class="title_split_anim mb-25">Get In Touch</h2>
|
||||
<p class="wow fadeInUp" data-wow-delay=".4s">We’re here to assist you! Please reach out with any questions, feedback, or project inquiries.</p>
|
||||
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">{{ $contactSettings->contact_subtitle }}</span>
|
||||
<h2 class="title_split_anim mb-25">{{ $contactSettings->contact_header }}</h2>
|
||||
<p class="wow fadeInUp" data-wow-delay=".4s">{{ $contactSettings->contact_paragraph }}</p>
|
||||
</div>
|
||||
<div class="contact__area-left-contact wow fadeInUp" data-wow-delay=".7s">
|
||||
<div class="contact__area-left-contact-item">
|
||||
@@ -36,7 +39,7 @@
|
||||
</div>
|
||||
<div class="contact__area-left-contact-item-content">
|
||||
<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 class="contact__area-left-contact-item">
|
||||
@@ -45,7 +48,7 @@
|
||||
</div>
|
||||
<div class="contact__area-left-contact-item-content">
|
||||
<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 class="contact__area-left-contact-item">
|
||||
@@ -54,7 +57,7 @@
|
||||
</div>
|
||||
<div class="contact__area-left-contact-item-content">
|
||||
<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>
|
||||
@@ -104,7 +107,7 @@
|
||||
<div class="row">
|
||||
<div class="col-xl-12 wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="map-area">
|
||||
<iframe loading="lazy" src="https://maps.google.com/maps?q=London%20Eye%2C%20London%2C%20United%20Kingdom&t=m&z=10&output=embed&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>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\AboutusPageController;
|
||||
use App\Http\Controllers\ApplicationController;
|
||||
use App\Http\Controllers\CareersPageController;
|
||||
use App\Http\Controllers\ContactPageController;
|
||||
use App\Http\Controllers\HomePageController;
|
||||
@@ -8,9 +9,7 @@ use App\Http\Controllers\InternshipsPageController;
|
||||
use App\Http\Controllers\LegalPageController;
|
||||
use App\Http\Controllers\NewsPageController;
|
||||
use App\Http\Controllers\OurSolutionPageController;
|
||||
use App\Http\Controllers\StoryPageController;
|
||||
use App\Http\Controllers\Web\SuccessPageController;
|
||||
use App\Http\Controllers\ApplicationController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Homepage...
|
||||
|
||||
Reference in New Issue
Block a user