refactor: hide old promotions tab and rename business tab to include activities
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
<script setup lang="ts">
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, watch, computed } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { businessService } from '@/services/businessService'
|
||||
@ -12,7 +12,7 @@ const route = useRoute()
|
||||
const authStore = useAuthStore()
|
||||
|
||||
// State
|
||||
const activeTab = ref<'promotions' | 'businesses' | 'shuttles'>('promotions')
|
||||
const activeTab = ref<'promotions' | 'businesses' | 'shuttles'>('businesses')
|
||||
const coupons = ref<Coupon[]>([])
|
||||
const businesses = ref<Business[]>([])
|
||||
const shuttles = ref<Shuttle[]>([])
|
||||
@ -185,27 +185,7 @@ async function deleteBusiness(id: string) {
|
||||
}
|
||||
}
|
||||
|
||||
// Coupon Methods
|
||||
function openCreateModal() {
|
||||
isEditing.value = false
|
||||
couponImageFile.value = null
|
||||
couponImagePreview.value = null
|
||||
currentCoupon.value = {
|
||||
title: '',
|
||||
business_id: null,
|
||||
description: '',
|
||||
image_url: '',
|
||||
social_media: '',
|
||||
terms: '',
|
||||
discount_percentage: null,
|
||||
discount_amount: null,
|
||||
category: 'Restaurante',
|
||||
valid_from: '',
|
||||
valid_until: '',
|
||||
is_active: true
|
||||
}
|
||||
showModal.value = true
|
||||
}
|
||||
|
||||
|
||||
function handleBusinessChange() {
|
||||
const selectedBiz = businesses.value.find(b => b.id === currentCoupon.value.business_id)
|
||||
@ -311,11 +291,9 @@ async function toggleCouponStatus(coupon: Coupon) {
|
||||
<!-- Tabs -->
|
||||
<div class="tabs-container">
|
||||
<div class="tabs-buttons">
|
||||
<button :class="['tab-btn', { active: activeTab === 'promotions' }]" @click="activeTab = 'promotions'">
|
||||
Promociones
|
||||
</button>
|
||||
|
||||
<button :class="['tab-btn', { active: activeTab === 'businesses' }]" @click="activeTab = 'businesses'">
|
||||
Mis Negocios
|
||||
Negocios y Actividades
|
||||
</button>
|
||||
<button :class="['tab-btn', { active: activeTab === 'shuttles' }]" @click="activeTab = 'shuttles'">
|
||||
Viajes Turísticos
|
||||
@ -346,13 +324,10 @@ async function toggleCouponStatus(coupon: Coupon) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button v-if="activeTab === 'promotions'" class="primary-btn" @click="openCreateModal">
|
||||
<span class="material-icons">add</span>
|
||||
Nuevo Cupón
|
||||
</button>
|
||||
|
||||
<button v-if="activeTab === 'businesses'" class="primary-btn" @click="openCreateBusinessModal">
|
||||
<span class="material-icons">add</span>
|
||||
Nuevo Negocio
|
||||
Crear Actividad / Negocio
|
||||
</button>
|
||||
<button v-if="activeTab === 'shuttles'" class="primary-btn" @click="$router.push('/admin/shuttles')">
|
||||
<span class="material-icons">rocket_launch</span>
|
||||
@ -365,7 +340,7 @@ async function toggleCouponStatus(coupon: Coupon) {
|
||||
<div class="search-filter-bar">
|
||||
<div class="search-box">
|
||||
<span class="material-icons">search</span>
|
||||
<input v-model="searchQuery" type="text" :placeholder="activeTab === 'promotions' ? 'Buscar promoción...' : (activeTab === 'businesses' ? 'Buscar negocio...' : 'Buscar shuttle...')">
|
||||
<input v-model="searchQuery" type="text" :placeholder="activeTab === 'businesses' ? 'Buscar negocio o actividad...' : 'Buscar shuttle...'">
|
||||
</div>
|
||||
<div class="filter-box">
|
||||
<span class="material-icons">filter_alt</span>
|
||||
@ -449,13 +424,13 @@ async function toggleCouponStatus(coupon: Coupon) {
|
||||
<div v-if="activeTab === 'businesses'">
|
||||
<div v-if="businesses.length === 0" class="empty-state">
|
||||
<span class="material-icons">store_front</span>
|
||||
<p>Aún no has registrado ningún negocio o local.</p>
|
||||
<p>Aún no has registrado ningún negocio local o actividad.</p>
|
||||
</div>
|
||||
<div v-else class="table-card">
|
||||
<table class="coupons-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Negocio / Local</th>
|
||||
<th>Negocio / Actividad Turística</th>
|
||||
<th class="text-center">Categoría</th>
|
||||
<th class="text-center">Área</th>
|
||||
<th class="text-center">Contacto</th>
|
||||
|
||||
Reference in New Issue
Block a user