First
CI / scan_ruby (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
2026-04-29 00:06:36 +01:00
commit 6f64e1a530
97 changed files with 3179 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
class AdminsController < ApplicationController
PASSWORD_PARTS = %w[GEAR AXLE TURBO PARK].freeze
def show
@unlocked = admin_unlocked?
end
def create
if submitted_password == admin_password
session[:admin_unlocked] = true
redirect_to admin_path, notice: "Admin Panel Unlocked"
else
session[:admin_unlocked] = false
@unlocked = false
flash.now[:alert] = "That passphrase did not unlock anything. Check the advert again."
render :show, status: :unprocessable_entity
end
end
def destroy
session.delete(:admin_unlocked)
redirect_to admin_path, notice: "Admin session cleared."
end
private
def admin_password
PASSWORD_PARTS.join("-")
end
def admin_unlocked?
session[:admin_unlocked] == true
end
def submitted_password
params.fetch(:password, "").upcase.gsub(/\s+/, "")
end
end
@@ -0,0 +1,4 @@
class ApplicationController < ActionController::Base
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
allow_browser versions: :modern
end
View File
+88
View File
@@ -0,0 +1,88 @@
class ListingsController < ApplicationController
def show
@listing = {
title: "2021 Porsche 718 Cayman S",
subtitle: "Graphite Blue Metallic · HPI clear · Sport Chrono · 6-speed manual",
price: "£48,950",
payment: "£612/month est.",
mileage: "18,240 miles",
mot_status: "Until Oct 2026",
driven_wheels: "Rear-wheel drive",
location: "Guildford, Surrey",
vin: "WP0AB2A84MK265184",
stock_number: "FC-718-421",
exterior: "Graphite Blue Metallic",
interior: "Black leather with chalk stitching",
seller_name: "Amelia Bennett",
seller_role: "Verified private seller",
seller_since: "On Forecourt since 2019",
response_time: "Usually replies within 14 minutes",
image_caption: "Photo set 03 // ingest note JHDU // something seems shifted.",
hero_image: "https://images.unsplash.com/photo-1494976388531-d1058494cdd8?auto=format&fit=crop&w=1600&q=80",
gallery: [
"https://images.unsplash.com/photo-1494976388531-d1058494cdd8?auto=format&fit=crop&w=1200&q=80",
"https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=1200&q=80",
"https://images.unsplash.com/photo-1542282088-fe8426682b8f?auto=format&fit=crop&w=1200&q=80"
],
highlights: [
"Original paint-depth readings documented in the gallery",
"Fresh Michelin PS4S tyres with under 1,500 miles",
"Annual brake fluid and gearbox service invoices retained from the seller's specialist"
],
overview: [
"This Cayman S was specced exactly the way enthusiasts usually hope to find one: manual gearbox, Sport Chrono, PASM, and no unnecessary aero add-ons. The seller has owned it for four years, used it as a weekend car, and kept every service invoice in order.",
"Cosmetically it presents like a well-kept private sale rather than a detail-heavy showroom car. There are two tiny stone marks on the nose, the front splitter shows light road wear, and the cabin leather has stayed impressively matte.",
"Forecourt's intake notes show an HPI-clear history, no insurance loss markers, two keys, the original order paperwork, and recent borescope images from the last annual inspection."
],
specs: [
[ "Engine", "2.5-litre turbocharged flat-four" ],
[ "Gearbox", "6-speed manual" ],
[ "Mileage", "18,240 miles" ],
[ "Economy", "30 mpg combined" ],
[ "Driven wheels", "Rear-wheel drive" ],
[ "Exterior", "Graphite Blue Metallic" ],
[ "Interior", "Black leather / chalk stitching" ],
[ "Keepers", "2 keepers" ],
[ "Vehicle history", "HPI clear, no outstanding finance" ]
],
document_packet: [
{ source: "Original order form", detail: "Factory spec confirmed against supplied paperwork", file_type: "PDF" },
{ source: "Annual alignment sheet", detail: "Alignment printout tucked behind service invoices", file_type: "Scan" },
{ source: "Battery conditioner leaflet", detail: "Charger notes only, no service relevance", file_type: "JPG" },
{ source: "Paint protection card", detail: "XPEL warranty card added to the folder", file_type: "Scan" },
{ source: "Key handover note", detail: "Leather sleeve re-dyed to match the cabin", file_type: "Scan" },
{ source: "Roadside kit insert", detail: "Emergency cartridge dated and photographed", file_type: "Scan" }
],
condition_notes: [
"Cold-start video archived from 24 April",
"Front discs measured at 31.1 mm",
"Underbody photos show no corrosion bloom",
"Driver's bolster has only light creasing"
],
seller_notes: [
"Always warmed through before spirited driving",
"No track days, no winter salt exposure",
"Super unleaded only, documented with fuel log",
"Includes factory battery conditioner and indoor cover"
],
prep_tickets: [
{ task: "Bay card print", stamp: "2026-04-24 08:31 BST", code: "PDI-24-09", status: "Open" },
{ task: "Handover pack filed", stamp: "2026-04-24 08:27 BST", code: "PDI-24-11", status: "Closed" },
{ task: "Road test sign-off", stamp: "2026-04-24 08:21 BST", code: "PDI-24-18", status: "Closed" },
{ task: "Alarm fob check", stamp: "2026-04-24 08:16 BST", code: "PDI-24-01", status: "Closed" },
{ task: "Paint-depth sheet scanned", stamp: "2026-04-24 08:12 BST", code: "PDI-24-16", status: "Closed" }
]
}
@page_blob = {
listing_id: "fc-718-cayman-s",
media_manifest_version: 3,
image_reconcile: {
last_pull: "2026-04-26T08:14:00Z",
transport_token: "VFVSQk8=",
reviewer: "qa-bot"
},
notes: "remove before production"
}.to_json
end
end