feat: Improve Bottle Split UX
- Add 'Split starten' button to bottle detail page - Support flexible sample sizes (1-20cl) instead of fixed 5/10cl - Preselect bottle when coming from bottle page - Save sample sizes/shipping defaults to localStorage - Update schema: sample_sizes JSONB array - Update server actions and UI for dynamic sizes
This commit is contained in:
@@ -456,8 +456,7 @@ CREATE TABLE IF NOT EXISTS bottle_splits (
|
||||
total_volume INTEGER DEFAULT 70, -- in cl
|
||||
host_share INTEGER DEFAULT 10, -- what the host keeps, in cl
|
||||
price_bottle DECIMAL(10, 2) NOT NULL,
|
||||
cost_glass_5cl DECIMAL(10, 2) DEFAULT 0.80,
|
||||
cost_glass_10cl DECIMAL(10, 2) DEFAULT 1.50,
|
||||
sample_sizes JSONB DEFAULT '[{"cl": 5, "glass_cost": 0.80}, {"cl": 10, "glass_cost": 1.50}]'::jsonb,
|
||||
shipping_options JSONB DEFAULT '[]'::jsonb,
|
||||
is_active BOOLEAN DEFAULT true,
|
||||
public_slug TEXT UNIQUE NOT NULL,
|
||||
@@ -486,7 +485,7 @@ CREATE TABLE IF NOT EXISTS split_participants (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
split_id UUID REFERENCES bottle_splits(id) ON DELETE CASCADE NOT NULL,
|
||||
user_id UUID REFERENCES profiles(id) ON DELETE CASCADE NOT NULL,
|
||||
amount_cl INTEGER NOT NULL CHECK (amount_cl IN (5, 10)),
|
||||
amount_cl INTEGER NOT NULL CHECK (amount_cl > 0),
|
||||
shipping_method TEXT NOT NULL,
|
||||
total_cost DECIMAL(10, 2) NOT NULL,
|
||||
status TEXT DEFAULT 'PENDING' CHECK (status IN ('PENDING', 'APPROVED', 'PAID', 'SHIPPED', 'REJECTED', 'WAITLIST')),
|
||||
|
||||
Reference in New Issue
Block a user