kusowl a248d3fc79 feat(deal update and delete): broker can update and delete their deals
- show external links in listings
- refactor image-input.blade.php to display image while update
- refactor image-input.js to show selected image after user clicks submit
- refactor components to accept default value
- add FileService to handle image update and delete
2026-01-13 15:10:55 +05:30

42 lines
1.9 KiB
PHP

<x-layout title="Edit deal">
<x-dashboard.page-heading
title="Edit Deal"
description="Modify your existing deal"
:back-link="route('broker.dashboard')"
/>
<div class="flex items-center justify-center mt-8">
<x-dashboard.card class="w-8/12">
<h3 class="text-md font-bold">Deal Information</h3>
<form method="post" enctype="multipart/form-data" action="{{route('broker.deals.update', $deal)}}" class="flex flex-col space-y-8 mt-4">
@csrf
@method('PATCH')
<x-ui.input name="title" label="Deal Title" :value="$deal->title" required placeholder="e.g., Luxury Apartment Downtown"/>
<x-ui.select :options="$categories" :selected="$deal->deal_category_id" name="deal_category_id" label-key="name" value-key="id" label="Category"
placeholder="Select a category" required/>
<x-ui.textarea :value="$deal->description" name="description" label="Description" required
placeholder="Describe your deal in detail..."/>
<x-ui.image-input name="image" label="Upload image" allowed="jpg,png" size="10" :value="asset('storage/'.$deal->image)"/>
<x-ui.input
:value="$deal->link"
name="link"
label="External Link (Optional)"
placeholder="https://example.com"
description="Add a link to your website, listing page or contact form"
/>
<div class="grid grid-cols-12 w-full space-x-4">
<x-ui.button variant="neutral" class="col-span-10">Update</x-ui.button>
<a href="{{route('broker.dashboard')}}" class="ui-btn border border-accent-600/20 col-span-2">Cancel</a>
</div>
</form>
</x-dashboard.card>
</div>
</x-layout>