Remove refresh icon and fix Safari/WebKit runtime errors
- Removed manual refresh button from frontend (kept auto-refresh functionality) - Fixed WebKit 'object cannot be found' error by replacing absolute positioning with flexbox - Added lazy loading to images to prevent preload warnings - Cleaned up unused imports and variables: - Removed unused useRef import - Removed unused colors state variable and colorService - Removed unused ColorSwatch import from FilamentTableV2 - Removed unused getModifierIcon function from MaterialBadge - Updated tests to match current implementation - Improved layout stability for better cross-browser compatibility - Removed temporary migration scripts 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
29
database/migrations/006_add_basic_refill_filaments.sql
Normal file
29
database/migrations/006_add_basic_refill_filaments.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
-- Add 1 refill filament for each color as user owns all basic colors
|
||||
-- This creates PLA Basic filaments with 1 refill for each color in the database
|
||||
|
||||
-- First, let's insert filaments for all existing colors
|
||||
INSERT INTO filaments (tip, finish, boja, boja_hex, refill, spulna, kolicina, cena)
|
||||
SELECT
|
||||
'PLA' as tip,
|
||||
'Basic' as finish,
|
||||
c.name as boja,
|
||||
c.hex as boja_hex,
|
||||
1 as refill,
|
||||
0 as spulna,
|
||||
1 as kolicina,
|
||||
'3999' as cena
|
||||
FROM colors c
|
||||
WHERE NOT EXISTS (
|
||||
-- Only insert if this exact combination doesn't already exist
|
||||
SELECT 1 FROM filaments f
|
||||
WHERE f.tip = 'PLA'
|
||||
AND f.finish = 'Basic'
|
||||
AND f.boja = c.name
|
||||
);
|
||||
|
||||
-- Update any existing PLA Basic filaments to have at least 1 refill
|
||||
UPDATE filaments
|
||||
SET refill = '1'
|
||||
WHERE tip = 'PLA'
|
||||
AND finish = 'Basic'
|
||||
AND (refill IS NULL OR refill = '0' OR refill = '');
|
||||
2
database/migrations/007_remove_otvoreno_column.sql
Normal file
2
database/migrations/007_remove_otvoreno_column.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- Remove otvoreno column from filaments table
|
||||
ALTER TABLE filaments DROP COLUMN IF EXISTS otvoreno;
|
||||
5
database/migrations/008_update_vakum_to_spulna.sql
Normal file
5
database/migrations/008_update_vakum_to_spulna.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Rename vakum column to spulna
|
||||
ALTER TABLE filaments RENAME COLUMN vakum TO spulna;
|
||||
|
||||
-- Update existing data to use 'spulna' instead of 'vakuum'
|
||||
UPDATE filaments SET spulna = REPLACE(spulna, 'vakuum', 'spulna') WHERE spulna LIKE '%vakuum%';
|
||||
48
database/migrations/009_update_refill_only_colors.sql
Normal file
48
database/migrations/009_update_refill_only_colors.sql
Normal file
@@ -0,0 +1,48 @@
|
||||
-- Update spulna to '0' for colors that only come as refills
|
||||
UPDATE filaments
|
||||
SET spulna = '0'
|
||||
WHERE boja IN (
|
||||
'Beige',
|
||||
'Light Gray',
|
||||
'Yellow',
|
||||
'Orange',
|
||||
'Gold',
|
||||
'Bright Green',
|
||||
'Pink',
|
||||
'Magenta',
|
||||
'Maroon Red',
|
||||
'Purple',
|
||||
'Turquoise',
|
||||
'Cobalt Blue',
|
||||
'Brown',
|
||||
'Bronze',
|
||||
'Silver',
|
||||
'Blue Grey',
|
||||
'Dark Gray'
|
||||
);
|
||||
|
||||
-- Also update their quantity to be based only on refill count
|
||||
UPDATE filaments
|
||||
SET kolicina = CASE
|
||||
WHEN refill ~ '^\d+$' THEN CAST(refill AS INTEGER)
|
||||
ELSE 0
|
||||
END
|
||||
WHERE boja IN (
|
||||
'Beige',
|
||||
'Light Gray',
|
||||
'Yellow',
|
||||
'Orange',
|
||||
'Gold',
|
||||
'Bright Green',
|
||||
'Pink',
|
||||
'Magenta',
|
||||
'Maroon Red',
|
||||
'Purple',
|
||||
'Turquoise',
|
||||
'Cobalt Blue',
|
||||
'Brown',
|
||||
'Bronze',
|
||||
'Silver',
|
||||
'Blue Grey',
|
||||
'Dark Gray'
|
||||
);
|
||||
43
database/migrations/010_fix_quantity_calculations.sql
Normal file
43
database/migrations/010_fix_quantity_calculations.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
-- Fix quantity calculations to be the sum of refill + spulna counts
|
||||
UPDATE filaments
|
||||
SET kolicina =
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN refill ~ '^\d+$' THEN CAST(refill AS INTEGER)
|
||||
ELSE 0
|
||||
END, 0
|
||||
) +
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN spulna ~ '^(\d+)\s*spuln' THEN
|
||||
CAST(SUBSTRING(spulna FROM '^(\d+)\s*spuln') AS INTEGER)
|
||||
ELSE 0
|
||||
END, 0
|
||||
);
|
||||
|
||||
-- Specifically fix refill-only colors to ensure quantity matches refill count
|
||||
UPDATE filaments
|
||||
SET kolicina =
|
||||
CASE
|
||||
WHEN refill ~ '^\d+$' THEN CAST(refill AS INTEGER)
|
||||
ELSE 0
|
||||
END
|
||||
WHERE boja IN (
|
||||
'Beige',
|
||||
'Light Gray',
|
||||
'Yellow',
|
||||
'Orange',
|
||||
'Gold',
|
||||
'Bright Green',
|
||||
'Pink',
|
||||
'Magenta',
|
||||
'Maroon Red',
|
||||
'Purple',
|
||||
'Turquoise',
|
||||
'Cobalt Blue',
|
||||
'Brown',
|
||||
'Bronze',
|
||||
'Silver',
|
||||
'Blue Grey',
|
||||
'Dark Gray'
|
||||
);
|
||||
36
database/migrations/011_standardize_data_types.sql
Normal file
36
database/migrations/011_standardize_data_types.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
-- Standardize data types for refill and spulna columns
|
||||
-- First, convert existing string values to integers
|
||||
|
||||
-- Create temporary columns
|
||||
ALTER TABLE filaments ADD COLUMN refill_new INTEGER DEFAULT 0;
|
||||
ALTER TABLE filaments ADD COLUMN spulna_new INTEGER DEFAULT 0;
|
||||
|
||||
-- Convert refill values
|
||||
UPDATE filaments
|
||||
SET refill_new = CASE
|
||||
WHEN refill ~ '^\d+$' THEN CAST(refill AS INTEGER)
|
||||
WHEN LOWER(refill) = 'da' THEN 1
|
||||
ELSE 0
|
||||
END;
|
||||
|
||||
-- Convert spulna values (extract number from "X spulna" format)
|
||||
UPDATE filaments
|
||||
SET spulna_new = CASE
|
||||
WHEN spulna ~ '^(\d+)\s*spuln' THEN
|
||||
CAST(SUBSTRING(spulna FROM '^(\d+)\s*spuln') AS INTEGER)
|
||||
WHEN spulna ~ '^\d+$' THEN CAST(spulna AS INTEGER)
|
||||
ELSE 0
|
||||
END;
|
||||
|
||||
-- Drop old columns and rename new ones
|
||||
ALTER TABLE filaments DROP COLUMN refill;
|
||||
ALTER TABLE filaments DROP COLUMN spulna;
|
||||
ALTER TABLE filaments RENAME COLUMN refill_new TO refill;
|
||||
ALTER TABLE filaments RENAME COLUMN spulna_new TO spulna;
|
||||
|
||||
-- Update kolicina to ensure it matches refill + spulna
|
||||
UPDATE filaments SET kolicina = refill + spulna;
|
||||
|
||||
-- Add check constraint to ensure kolicina is always the sum of refill and spulna
|
||||
ALTER TABLE filaments ADD CONSTRAINT check_kolicina
|
||||
CHECK (kolicina = refill + spulna);
|
||||
7
database/migrations/012_add_color_prices.sql
Normal file
7
database/migrations/012_add_color_prices.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Add price fields to colors table
|
||||
ALTER TABLE colors
|
||||
ADD COLUMN cena_refill INTEGER DEFAULT 3499,
|
||||
ADD COLUMN cena_spulna INTEGER DEFAULT 3999;
|
||||
|
||||
-- Update existing colors with default prices
|
||||
UPDATE colors SET cena_refill = 3499, cena_spulna = 3999;
|
||||
@@ -8,6 +8,8 @@ CREATE TABLE colors (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(100) NOT NULL UNIQUE,
|
||||
hex VARCHAR(7) NOT NULL,
|
||||
cena_refill INTEGER DEFAULT 3499,
|
||||
cena_spulna INTEGER DEFAULT 3999,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
@@ -19,14 +21,14 @@ CREATE TABLE filaments (
|
||||
finish VARCHAR(50) NOT NULL,
|
||||
boja VARCHAR(100) NOT NULL,
|
||||
boja_hex VARCHAR(7),
|
||||
refill VARCHAR(10),
|
||||
vakum VARCHAR(20),
|
||||
otvoreno VARCHAR(20),
|
||||
kolicina INTEGER DEFAULT 1,
|
||||
refill INTEGER DEFAULT 0,
|
||||
spulna INTEGER DEFAULT 0,
|
||||
kolicina INTEGER DEFAULT 0,
|
||||
cena VARCHAR(50),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_color FOREIGN KEY (boja) REFERENCES colors(name) ON UPDATE CASCADE
|
||||
CONSTRAINT fk_color FOREIGN KEY (boja) REFERENCES colors(name) ON UPDATE CASCADE,
|
||||
CONSTRAINT check_kolicina CHECK (kolicina = refill + spulna)
|
||||
);
|
||||
|
||||
-- Create indexes for better performance
|
||||
|
||||
Reference in New Issue
Block a user