82 lines
3.0 KiB
PowerShell
82 lines
3.0 KiB
PowerShell
# PowerShell script to convert admin views from <x-app-layout> to universal layout
|
|
|
|
# Get all admin blade files that contain <x-app-layout>
|
|
$adminFiles = Get-ChildItem -Path "resources\views\admin" -Filter "*.blade.php" -Recurse |
|
|
Where-Object { (Get-Content $_.FullName -Raw) -match '<x-app-layout>' }
|
|
|
|
Write-Host "Found $($adminFiles.Count) files to convert:"
|
|
|
|
foreach ($file in $adminFiles) {
|
|
Write-Host "Converting: $($file.FullName)"
|
|
|
|
$content = Get-Content $file.FullName -Raw
|
|
|
|
# Skip if already converted (contains @extends)
|
|
if ($content -match '@extends\(') {
|
|
Write-Host " - Already converted, skipping"
|
|
continue
|
|
}
|
|
|
|
# Extract title from header slot if present
|
|
$title = "Admin"
|
|
if ($content -match '<h2[^>]*>.*?\{\{\s*__\([''"]([^''"]*)[''"].*?') {
|
|
$title = $matches[1]
|
|
} elseif ($content -match '<h2[^>]*>([^<]*)</h2>') {
|
|
$title = $matches[1].Trim()
|
|
}
|
|
|
|
# Create new content with universal layout
|
|
$newContent = "@extends('layouts.app-universal')
|
|
|
|
@section('title', '$title')
|
|
|
|
@section('content')
|
|
<div class=""container-fluid"">
|
|
<div class=""row"">
|
|
<div class=""col-12"">
|
|
<div class=""card"">
|
|
<div class=""card-header"">
|
|
<h3 class=""card-title"">$title</h3>
|
|
</div>
|
|
<div class=""card-body"">
|
|
<!-- TODO: Convert Tailwind classes to Bootstrap -->
|
|
<div class=""alert alert-warning"">
|
|
<i class=""fas fa-exclamation-triangle""></i>
|
|
This page needs manual conversion from Tailwind to Bootstrap classes.
|
|
</div>
|
|
"
|
|
|
|
# Extract main content between <div class="py-12"> and </x-app-layout>
|
|
if ($content -match '(?s)<div class="py-12">(.*?)</x-app-layout>') {
|
|
$mainContent = $matches[1]
|
|
# Remove outer containers and replace with bootstrap structure
|
|
$mainContent = $mainContent -replace '(?s)<div class="max-w-[^"]*[^>]*>', ''
|
|
$mainContent = $mainContent -replace '(?s)<div class="bg-white[^>]*>', ''
|
|
$mainContent = $mainContent -replace '(?s)<div class="p-6[^>]*>', ''
|
|
$mainContent = $mainContent -replace '</div>\s*</div>\s*</div>\s*$', ''
|
|
|
|
$newContent += $mainContent
|
|
} else {
|
|
# Fallback: just remove x-app-layout tags
|
|
$contentBody = $content -replace '(?s)<x-app-layout>.*?</x-slot>', ''
|
|
$contentBody = $contentBody -replace '</x-app-layout>', ''
|
|
$contentBody = $contentBody -replace '<x-app-layout>', ''
|
|
$newContent += $contentBody
|
|
}
|
|
|
|
$newContent += "
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection"
|
|
|
|
# Write the new content
|
|
Set-Content -Path $file.FullName -Value $newContent -Encoding UTF8
|
|
Write-Host " - Converted successfully"
|
|
}
|
|
|
|
Write-Host "Conversion completed!"
|
|
Write-Host "Note: Manual review required to convert Tailwind classes to Bootstrap"
|