fixed blog images,

added custom add-on links,
added sitemap.xml
This commit is contained in:
Gitea
2025-05-14 00:56:04 +05:30
parent 124710df0a
commit 23b5a45d0b
6 changed files with 1149 additions and 0 deletions

View File

@@ -79,6 +79,7 @@ class BlogResource extends Resource
FileUpload::make('post_image')
->label('Custom Image (Optional)')
->disk('public')
->directory('media/posts')
->columnSpan(4)
->preserveFilenames()

183
app/Livewire/AddOn.php Normal file
View File

@@ -0,0 +1,183 @@
<?php
namespace App\Livewire;
use App\Models\ZEmail;
use Livewire\Component;
use Request;
use Session;
class AddOn extends Component
{
public $title = "";
public $description = "";
public $keywords = "";
public $route = "";
public $faqs = [];
public $faqSchema;
protected $listeners = ['fetchMessages' => 'checkIfAnyMessage'];
public function checkIfAnyMessage()
{
$email = ZEmail::getEmail();
$messages = ZEmail::getMessages($email);
if (count($messages['data']) > 0) {
return redirect()->route('mailbox');
}
}
public function mount()
{
$this->faqs = json_decode(file_get_contents(public_path('addOnFAQs.json')), true) ?? [];
$route = request()->route()->getName();
Session::put('addOn-route', $this->route);
if ($route == 'disposable-email') {
$this->title = 'Free Disposable Email | Temporary & Anonymous Email Service';
$this->description = 'Use our free disposable email service to stay private and spam-free. Instantly create a secure, anonymous, and temporary email address—no registration needed.';
$this->keywords = 'disposable email, free disposable email, temporary email, anonymous disposable email, temporary disposable email, secure disposable email, fake email, temp inbox, throwaway email';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'disposable-gmail') {
$this->title = 'Disposable Gmail Email | Free Temporary Gmail Inbox Online';
$this->description = 'Create a free disposable Gmail email address. Use a temporary Gmail inbox for sign-ups, testing, or staying spam-free. No login or registration required.';
$this->keywords = 'disposable Gmail, temporary Gmail inbox, Gmail disposable email, free disposable Gmail email address, Gmail temp email, anonymous Gmail email';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'disposable-outlook') {
$this->title = 'Disposable Outlook Email | Free Temporary Outlook Inbox';
$this->description = 'Get a free disposable Outlook email address instantly. Use a temporary Outlook inbox to avoid spam and protect your main account—no registration required.';
$this->keywords = 'disposable Outlook, Outlook disposable email, temporary Outlook inbox, free Outlook temp email, anonymous Outlook address, Outlook email for sign-ups';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'disposable-yahoo') {
$this->title = 'Disposable Yahoo Mail | Free Temporary Yahoo Inbox';
$this->description = 'Create a disposable Yahoo Mail address instantly. Use a free, temporary Yahoo inbox to stay private, filter spam, and protect your real Yahoo account.';
$this->keywords = 'disposable Yahoo mail, Yahoo mail disposable email, temporary Yahoo inbox, free Yahoo temp email, Yahoo throwaway email';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'gmailnator') {
$this->title = 'Gmailnator - Free Temporary Gmail Email Address Generator';
$this->description = 'Use Gmailnator to get a disposable Gmail address instantly. Perfect for one-time use, signups, or testing. No account needed. Try Gmailnator now.';
$this->keywords = 'gmailnator, gmailnator temp mail, gmailnator gmail, free gmailnator, gmailnator email address, gmailnator online, gmail temp mail, gmail fake email';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'emailnator') {
$this->title = 'Emailnator - Free Disposable Temporary Email Service';
$this->description = 'Use Emailnator to create a free temporary email address instantly. No sign-up needed. Secure, fast, and spam-free inboxes for signups or testing.';
$this->keywords = 'emailnator, emailnator temp mail, temporary email, disposable email, free temp inbox, temp mail generator, receive email online';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
} elseif ($route == 'temp-gmail') {
$this->title = 'Temp Gmail | Free Temporary Gmail Inbox for Instant Use';
$this->description = 'Use Temp Gmail to get a temporary Gmail address fast. No registration. Secure, spam-free inboxes for signups, testing, or quick email verification.';
$this->keywords = 'temp gmail, temporary gmail, disposable gmail, gmail temp email, gmail fake email, temporary gmail address, gmail for verification';
$this->route = $route;
$this->faqs = $this->faqs[$route];
$this->faqSchema = [
"@context" => "https://schema.org",
"@type" => "FAQPage",
"mainEntity" => collect($this->faqs)->map(function ($faq) {
return [
"@type" => "Question",
"name" => $faq['title'],
"acceptedAnswer" => [
"@type" => "Answer",
"text" => $faq['content']
]
];
})->toArray()
];
}
}
public function render()
{
return view('livewire.add-on');
}
}