Skip to content

Commit 3a3f35f

Browse files
committed
✨ feat Adicionar página de detalhes para cartas vendidas e link de acesso na lista de cartas à venda
1 parent 3db5f6e commit 3a3f35f

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

resources/views/home/cartasAVenda.blade.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@
8888
data-carta-valor="{{ $carta->ValorCredito }}"
8989
onclick="reservarCarta(this)">Reservar</button>
9090
@endif
91+
<a class="btn btn-info fs-6 my-3"
92+
href="{{ url('/carta-vendida/detalhes/' . $carta->IDCartaVendida . '/' . $cadastro->IDCadastro) }}">Detalhes</a>
9193
</td>
9294
</tr>
9395
@endforeach
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?php
2+
3+
use App\Models\CartaVendida;
4+
use Livewire\Volt\Component;
5+
use App\Models\Cadastro;
6+
use Livewire\Attributes\{Layout, Title};
7+
8+
new
9+
#[Layout('app')]
10+
#[Title('Detalhes Carta Vendida')]
11+
class extends Component {
12+
public $idCarta;
13+
public $idVendedor;
14+
15+
public $cadastro;
16+
public $vendedor;
17+
public $carta;
18+
public $cartasSemelhantes;
19+
20+
public function mount($idCarta, $idVendedor)
21+
{
22+
$this->idCarta = $idCarta;
23+
$this->idVendedor = $idVendedor;
24+
25+
$this->cadastro = Cadastro::find($idVendedor);
26+
if (!$this->cadastro || !in_array($this->cadastro->TipoCadastro, ['Vendedor', 'Indicador'])) {
27+
$this->cadastro = Cadastro::find(38);
28+
}
29+
$this->vendedor = $this->cadastro->TipoCadastro == 'Vendedor' ? $this->cadastro : Cadastro::find($this->cadastro->IDVendedorIndicado);
30+
31+
$this->carta = CartaVendida::find($idCarta);
32+
}
33+
34+
public function chamarWhatsapp()
35+
{
36+
$numeroVendedor = $this->vendedor->Telefone;
37+
$mensagemPadrao = 'Olá, eu gostaria de reservar uma Carta Contemplada de ' . $this->carta->tipoCarta->Descricao .
38+
'! Valor da Parcela: R$ ' . number_format($this->carta->ValorCredito, 2, ',', '.') .
39+
', Parcela Flex: R$ ' . number_format($this->carta->ParcelaFlex, 2, ',', '.') .
40+
', Parcelas à Pagar: ' . $this->carta->ParcelasPagar . ' meses';
41+
42+
$mensagemPadrao = urlencode($mensagemPadrao);
43+
44+
return redirect()->to('https://api.whatsapp.com/send?phone=' . $numeroVendedor . '&text=' . $mensagemPadrao);
45+
}
46+
};
47+
?>
48+
49+
<div style="min-height: 95vh">
50+
@include('components.navbarHome', ['cadastroId' => $cadastro->IDCadastro])
51+
52+
<div class="section mt-3">
53+
<div class="container">
54+
<div class="row">
55+
<div class="col-md-8 col-12">
56+
<div id="product-main-img">
57+
<div class="product-preview">
58+
<img class="img-thumbnail"
59+
src="{{ asset('/images/tipoproduto/' . $carta->tipoCarta->Imagem . '800x500.webp') }}" />
60+
</div>
61+
</div>
62+
</div>
63+
64+
<div class="col-md-4">
65+
<div class="product-details">
66+
<h2 class="product-name">Carta Contemplada de {{ $carta->TipoCarta->Descricao }}</h2>
67+
<div>
68+
<h3 class="product-price">R$ {{ number_format($carta->ValorCredito, 2, ',', '.') }}</h3>
69+
</div>
70+
<ul class="product fs-5 my-3">
71+
<li>Valor da Parcela: R$ {{ number_format($carta->ValorParcela, 2, ',', '.') }}</li>
72+
<li>Parcelas à Pagar: {{ $carta->ParcelasPagar }}</li>
73+
<li>Dia de Vencimento: {{ $carta->DiaVencimento }}</li>
74+
<li>Grupo: {{ $carta->Grupo }}</li>
75+
</ul>
76+
77+
<div class="add-to-cart">
78+
<button class="btn btn-success" wire:click="chamarWhatsapp({{ $carta }})">
79+
<i class="fa fa-shopping-cart"></i>Reservar
80+
</button>
81+
</div>
82+
</div>
83+
</div>
84+
</div>
85+
</div>
86+
</div>
87+
88+
@include('components.floatMenu', ['cadastro' => $cadastro, 'vendedor' => $vendedor])
89+
</div>

routes/web.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22

33
use App\Http\Controllers\DashboardController;
4+
use App\Http\Controllers\GoogleLoginController;
45
use App\Http\Controllers\HomeController;
56
use App\Http\Controllers\UsuarioController;
67
use Livewire\Volt\Volt;
@@ -14,6 +15,7 @@
1415
Route::get('/carta-a-venda/{idAutorizada?}', [HomeController::class, 'createCartaVendida'])->name('cartaVendida')->where('idAutorizada', '[0-9]+');
1516
Route::post('/carta-a-venda', [HomeController::class, 'storeCartaVendida'])->name('storeCartaVendida');
1617
Route::prefix('carta-vendida')->group(function () {
18+
Volt::route('/detalhes/{idCarta}/{idVendedor?}', 'carta-vendida.detalhes', ['idCarta' => '[0-9]+', 'idVendedor' => '[0-9]+']);
1719
Volt::route('/create/{idAutorizada?}', 'carta-vendida.create', ['idAutorizada' => '[0-9]+']);
1820
});
1921

@@ -39,3 +41,5 @@
3941
Route::get('/createEmpresa', [DashboardController::class, 'createEmpresa'])->name('dashboard.createEmpresa');
4042
Route::post('/storeEmpresa', [DashboardController::class, 'storeEmpresa'])->name('dashboard.storeEmpresa');
4143
});
44+
45+
Route::post('/google/callback', [GoogleLoginController::class, 'handleGoogleCallback'])->name('google.callback');

0 commit comments

Comments
 (0)