Daniel McGee cb5a531391 Fix CLaude Hallucinations on how to re-create theming,
Accept cart/modal theme-refresh limitation per BuyButton.js docs (Option A)

Looked up the actual Shopify BuyButton.js source and docs instead of
guessing at API surface. Confirmed there is no documented destroy() or
updateConfig() method — createComponent(type, config) is the only
supported way to create or change what's rendered, and it auto-creates a
separate cart + "cart toggle" component tied to that call, not a child of
the node you pass in.

- Revert to plain clear-and-recreate (container.innerHTML + createComponent)
  for both collection switches and theme toggles — the only pattern the
  SDK actually documents
- Remove all destroy()/updateConfig()/ui.components calls added in prior
  revisions; they relied on unverified internal APIs and were producing
  empty renders more often than not
- Keep the cached client (getShopifyUI(), built once) to avoid re-risking
  the "empty cart on page load" issue on every toggle
- Keep the shopifyRenderToken guard against overlapping async renders
- Document the accepted limitation in code: product grid re-themes live
  on every toggle; cart drawer and product modal pick up a new theme on
  next page load only, since there's no documented way to re-theme those
  singletons without a full reload

Files changed:
  src/pages/StorePage.vue
2026-07-01 22:44:30 -04:00
2024-09-30 17:33:30 -05:00
2026-04-29 21:42:23 -06:00
2025-12-23 19:20:02 -06:00
2026-04-26 22:13:16 -06:00
2026-04-26 22:13:16 -06:00
2024-10-28 13:01:53 -05:00
2026-04-26 22:53:56 -06:00

DeFlock

Crowdsourced tool for locating and reporting ALPRs. View Live Site.

DeFlock Screenshot

Purpose

I created this project after noticing the mass deployment of ALPRs in cities, towns, and even rural areas in the recent years. It's a massive threat to privacy, and this projects helps shed a light on this issue as ALPRs continue to be deployed to thousands of cities across the US and possibly beyond.

What it Does

View ALPRs on a Map

Uses OpenStreetMap data to populate a map with crowdsourced locations of ALPRs, along with their type and direction they face.

The map has become a separate repository, deflockhopper_maps.

Report ALPRs

Provides instructions for using the DeFlock App or OpenStreetMap's iD web editor to report ALPRs using a standardized tagging system.

Identify ALPRs

A constantly-growing repository of ALPR makes, models, and tagging instructions for OpenStreetMap, along with images for identifying them.

Tech Stack

Backend

  • TypeScript
  • Fastify API server
  • Cloudflare R2 for ALPR points and vector tiles
  • OpenTelemetry

Cloud

Frontend

  • Vue3
  • Vuetify
  • MapLibre GL
  • Vue Leaflet [deprecated] - phasing out for MapLibre GL

Services

  • OpenStreetMap - Overpass API, Basic Map Tiles [deprecated]
  • Nominatim - Geocoding

Development

Requirements

Running Frontend

  1. cd webapp
  2. bun i
  3. bun dev

Running Backend

  1. cd api
  2. bun i
  3. bun dev

Contributing

We welcome contributions from anyone. Here's how you can help:

How to Contribute

  1. Fork the Repository
  2. Make Your Changes
  3. Open a Pull Request against This Repo
S
Description
No description provided
Readme MIT 31 MiB
Languages
Vue 75.8%
TypeScript 13.7%
HCL 4%
Python 2.1%
JavaScript 1.7%
Other 2.6%