require 'find'

# All folders containing images
IMAGE_DIRECTORIES = [
  "assets/_images",
  "assets/header",
  "assets/gif",
  "assets/pages",
  "assets/pos-terminal/frames-images",
  "assets/favicon",
  "assets/appointment",
  "assets/contact-global"
]

EXTENSIONS = %w(.png .jpg .jpeg .gif .svg .webp .ico)

# Collect all image paths
image_files = []
IMAGE_DIRECTORIES.each do |dir|
  next unless Dir.exist?(dir)

  Find.find(dir) do |path|
    image_files << path if EXTENSIONS.include?(File.extname(path).downcase)
  end
end

# Read all site content files where images may be referenced
content = ""
Dir.glob("**/*.{html,md,markdown,liquid,scss,css,js,json,yml,yaml}") do |file|
  content << File.read(file)
end

unused = image_files.reject do |img|
  content.include?(File.basename(img))
end

puts "--------- UNUSED IMAGES ---------"
unused.each { |u| puts u }
puts "---------------------------------"
puts "Total unused: #{unused.length}"
