mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-29 18:13:47 +00:00
feat: display user promo group badge on dashboard
This commit is contained in:
@@ -15,6 +15,7 @@ import SubscriptionCardExpired from '../components/dashboard/SubscriptionCardExp
|
|||||||
import TrialOfferCard from '../components/dashboard/TrialOfferCard';
|
import TrialOfferCard from '../components/dashboard/TrialOfferCard';
|
||||||
import StatsGrid from '../components/dashboard/StatsGrid';
|
import StatsGrid from '../components/dashboard/StatsGrid';
|
||||||
import { giftApi } from '../api/gift';
|
import { giftApi } from '../api/gift';
|
||||||
|
import { promoApi } from '../api/promo';
|
||||||
import PendingGiftCard from '../components/dashboard/PendingGiftCard';
|
import PendingGiftCard from '../components/dashboard/PendingGiftCard';
|
||||||
import { API } from '../config/constants';
|
import { API } from '../config/constants';
|
||||||
|
|
||||||
@@ -89,6 +90,13 @@ export default function Dashboard() {
|
|||||||
retry: false,
|
retry: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { data: promoGroupData } = useQuery({
|
||||||
|
queryKey: ['promo-group-discounts'],
|
||||||
|
queryFn: promoApi.getGroupDiscounts,
|
||||||
|
staleTime: 60_000,
|
||||||
|
retry: false,
|
||||||
|
});
|
||||||
|
|
||||||
const activateTrialMutation = useMutation({
|
const activateTrialMutation = useMutation({
|
||||||
mutationFn: subscriptionApi.activateTrial,
|
mutationFn: subscriptionApi.activateTrial,
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
@@ -227,7 +235,30 @@ export default function Dashboard() {
|
|||||||
<h1 className="text-2xl font-bold text-dark-50 sm:text-3xl">
|
<h1 className="text-2xl font-bold text-dark-50 sm:text-3xl">
|
||||||
{t('dashboard.welcome', { name: user?.first_name || user?.username || '' })}
|
{t('dashboard.welcome', { name: user?.first_name || user?.username || '' })}
|
||||||
</h1>
|
</h1>
|
||||||
<p className="mt-1 text-dark-400">{t('dashboard.yourSubscription')}</p>
|
<div className="mt-1 flex items-center gap-2">
|
||||||
|
<p className="text-dark-400">{t('dashboard.yourSubscription')}</p>
|
||||||
|
{promoGroupData?.group_name && (
|
||||||
|
<span
|
||||||
|
className="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-[11px] font-semibold"
|
||||||
|
style={{
|
||||||
|
background: 'rgba(var(--color-accent-400), 0.1)',
|
||||||
|
border: '1px solid rgba(var(--color-accent-400), 0.2)',
|
||||||
|
color: 'rgb(var(--color-accent-400))',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" />
|
||||||
|
</svg>
|
||||||
|
{promoGroupData.group_name}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Pending Gift Activations */}
|
{/* Pending Gift Activations */}
|
||||||
|
|||||||
Reference in New Issue
Block a user