diff --git a/frontend/src/lib/components/admin/DiscountsManagement.svelte b/frontend/src/lib/components/admin/DiscountsManagement.svelte
new file mode 100644
index 0000000..d4be52e
--- /dev/null
+++ b/frontend/src/lib/components/admin/DiscountsManagement.svelte
@@ -0,0 +1,622 @@
+
+
+ {errors.name} {errors.discount_percent} TIME-BASED SETTINGS {errors.start_date} {errors.end_date} MILESTONE SETTINGS {errors.milestone_value}
+ {#if form.milestone_type === 'per_user_booking_count'}
+ Discount applies when a user completes their {form.milestone_value}th booking
+ {:else if form.milestone_type === 'global_booking_count'}
+ Discount applies on the {form.milestone_value}th completed booking across all users
+ {:else}
+ Discount applies on a user's first booking after {form.milestone_value} {form.milestone_unit} since their first visit
+ {/if}
+ 0 = unlimited Total Discount Given £{statsData.total_discount_amount.toFixed(2)} Bookings Discounted {statsData.booking_count}
+
+
+
+
+
+
+ {#each campaigns as c (c.id)}
+ Name
+ Type
+ Discount
+ Status
+ Redeemed
+ Actions
+
+
+ {/each}
+
+ {c.name}
+ {typeLabel(c)}
+ {c.discount_percent}%
+ {@html statusBadge(c.status)}
+ {redemptionDisplay(c)}
+
+
+
|
-
-
- |
-
Create and manage discount campaigns for your customers
-| Name | -Type | -Discount | -Status | -Redeemed | -Actions | -
|---|---|---|---|---|---|
|
-
-
- |
- |||||
|
- {campaign.name}
- {#if campaign.description}
- {campaign.description}
- {/if}
- |
- - - {getCampaignTypeLabel( - campaign.campaign_type, - campaign.milestone_type as MilestoneType - )} - - | -{campaign.discount_percent}% | -- - {campaign.status} - - | -- {campaign.times_redeemed} - {campaign.max_redemptions ? `/${campaign.max_redemptions}` : '/∞'} - | -
-
- {#if campaign.status === 'draft'}
-
- {:else if campaign.status === 'active'}
-
- {:else}
-
- {/if}
-
- {#if campaign.status !== 'cancelled'}
-
- {/if}
-
- |
-
{campaign.description}
- {/if} -{formErrors.name}
- {/if} -Percentage off the booking total
-Leave at 0 for unlimited
-