mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-30 05:07:07 -05:00
Compare commits
2 Commits
8a2d347723
...
1f44e7afcb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f44e7afcb | ||
|
|
a6870b3acf |
@@ -33,6 +33,20 @@ const entityTypeColors = {
|
|||||||
company: 'bg-indigo-500/10 text-indigo-700 dark:text-indigo-400 border-indigo-500/20',
|
company: 'bg-indigo-500/10 text-indigo-700 dark:text-indigo-400 border-indigo-500/20',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const formatEntityType = (type: string): string => {
|
||||||
|
return type
|
||||||
|
.split('_')
|
||||||
|
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
||||||
|
.join(' ');
|
||||||
|
};
|
||||||
|
|
||||||
|
const formatChangeType = (type: string): string => {
|
||||||
|
return type
|
||||||
|
.split('_')
|
||||||
|
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
||||||
|
.join(' ');
|
||||||
|
};
|
||||||
|
|
||||||
export function RecentChangeCard({
|
export function RecentChangeCard({
|
||||||
entityType,
|
entityType,
|
||||||
entityId,
|
entityId,
|
||||||
@@ -78,10 +92,10 @@ export function RecentChangeCard({
|
|||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<div className="flex items-center gap-2 flex-wrap">
|
<div className="flex items-center gap-2 flex-wrap">
|
||||||
<Badge variant="outline" className={entityTypeColors[entityType]}>
|
<Badge variant="outline" className={entityTypeColors[entityType]}>
|
||||||
{entityType}
|
{formatEntityType(entityType)}
|
||||||
</Badge>
|
</Badge>
|
||||||
<Badge variant="outline" className={changeTypeColors[changeType as keyof typeof changeTypeColors] || changeTypeColors.archived}>
|
<Badge variant="outline" className={changeTypeColors[changeType as keyof typeof changeTypeColors] || changeTypeColors.archived}>
|
||||||
{changeType}
|
{formatChangeType(changeType)}
|
||||||
</Badge>
|
</Badge>
|
||||||
</div>
|
</div>
|
||||||
<h3 className="font-bold line-clamp-2 text-sm group-hover:text-primary transition-all duration-300 group-hover:drop-shadow-[0_0_8px_rgba(139,92,246,0.5)]">{entityName}</h3>
|
<h3 className="font-bold line-clamp-2 text-sm group-hover:text-primary transition-all duration-300 group-hover:drop-shadow-[0_0_8px_rgba(139,92,246,0.5)]">{entityName}</h3>
|
||||||
|
|||||||
@@ -0,0 +1,187 @@
|
|||||||
|
-- Backfill initial version records for existing entities
|
||||||
|
-- This populates the Recent Changes tab with current data
|
||||||
|
|
||||||
|
-- 1. Backfill Park Versions (16 parks)
|
||||||
|
INSERT INTO park_versions (
|
||||||
|
park_id,
|
||||||
|
version_number,
|
||||||
|
created_by,
|
||||||
|
change_type,
|
||||||
|
change_reason,
|
||||||
|
is_current,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
park_type,
|
||||||
|
status,
|
||||||
|
location_id,
|
||||||
|
operator_id,
|
||||||
|
property_owner_id,
|
||||||
|
opening_date,
|
||||||
|
closing_date,
|
||||||
|
opening_date_precision,
|
||||||
|
closing_date_precision,
|
||||||
|
website_url,
|
||||||
|
phone,
|
||||||
|
email,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
1,
|
||||||
|
NULL,
|
||||||
|
'created',
|
||||||
|
'Initial version created during database backfill',
|
||||||
|
true,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
park_type,
|
||||||
|
status,
|
||||||
|
location_id,
|
||||||
|
operator_id,
|
||||||
|
property_owner_id,
|
||||||
|
opening_date,
|
||||||
|
closing_date,
|
||||||
|
opening_date_precision,
|
||||||
|
closing_date_precision,
|
||||||
|
website_url,
|
||||||
|
phone,
|
||||||
|
email,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id
|
||||||
|
FROM parks
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT 1 FROM park_versions WHERE park_versions.park_id = parks.id
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 2. Backfill Ride Versions (20 rides) - with column mapping
|
||||||
|
INSERT INTO ride_versions (
|
||||||
|
ride_id,
|
||||||
|
version_number,
|
||||||
|
created_by,
|
||||||
|
change_type,
|
||||||
|
change_reason,
|
||||||
|
is_current,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
category,
|
||||||
|
status,
|
||||||
|
park_id,
|
||||||
|
manufacturer_id,
|
||||||
|
designer_id,
|
||||||
|
ride_model_id,
|
||||||
|
opening_date,
|
||||||
|
closing_date,
|
||||||
|
opening_date_precision,
|
||||||
|
closing_date_precision,
|
||||||
|
height_requirement_cm,
|
||||||
|
max_speed_kmh,
|
||||||
|
duration_seconds,
|
||||||
|
capacity_per_hour,
|
||||||
|
gforce_max,
|
||||||
|
inversions_count,
|
||||||
|
length_meters,
|
||||||
|
height_meters,
|
||||||
|
drop_meters,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id,
|
||||||
|
track_material
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
1,
|
||||||
|
NULL,
|
||||||
|
'created',
|
||||||
|
'Initial version created during database backfill',
|
||||||
|
true,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
category,
|
||||||
|
status,
|
||||||
|
park_id,
|
||||||
|
manufacturer_id,
|
||||||
|
designer_id,
|
||||||
|
ride_model_id,
|
||||||
|
opening_date,
|
||||||
|
closing_date,
|
||||||
|
opening_date_precision,
|
||||||
|
closing_date_precision,
|
||||||
|
height_requirement,
|
||||||
|
max_speed_kmh,
|
||||||
|
duration_seconds,
|
||||||
|
capacity_per_hour,
|
||||||
|
max_g_force,
|
||||||
|
inversions,
|
||||||
|
length_meters,
|
||||||
|
max_height_meters,
|
||||||
|
drop_height_meters,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id,
|
||||||
|
track_material
|
||||||
|
FROM rides
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT 1 FROM ride_versions WHERE ride_versions.ride_id = rides.id
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 3. Backfill Company Versions (12 companies)
|
||||||
|
INSERT INTO company_versions (
|
||||||
|
company_id,
|
||||||
|
version_number,
|
||||||
|
created_by,
|
||||||
|
change_type,
|
||||||
|
change_reason,
|
||||||
|
is_current,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
company_type,
|
||||||
|
person_type,
|
||||||
|
founded_year,
|
||||||
|
founded_date,
|
||||||
|
founded_date_precision,
|
||||||
|
headquarters_location,
|
||||||
|
website_url,
|
||||||
|
logo_url,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
1,
|
||||||
|
NULL,
|
||||||
|
'created',
|
||||||
|
'Initial version created during database backfill',
|
||||||
|
true,
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
description,
|
||||||
|
company_type,
|
||||||
|
person_type,
|
||||||
|
founded_year,
|
||||||
|
founded_date,
|
||||||
|
founded_date_precision,
|
||||||
|
headquarters_location,
|
||||||
|
website_url,
|
||||||
|
logo_url,
|
||||||
|
banner_image_url,
|
||||||
|
banner_image_id,
|
||||||
|
card_image_url,
|
||||||
|
card_image_id
|
||||||
|
FROM companies
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT 1 FROM company_versions WHERE company_versions.company_id = companies.id
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user