ClimbSheet — Temu Historical Rankings (Chrome extension)
======================================================

WHAT IT DOES
  Adds a toolbar button to Chrome. From it you can:
    - capture today's Temu Best-Selling ranking in one click
    - open a full English rankings board (same layout as the original rankings page)
    - compare captured days side by side to see rank movement

HOW TO INSTALL (2 minutes, no terminal)
  1. Unzip this folder somewhere you will keep it, e.g. Desktop\rankings-extension
     (do not delete it afterwards — Chrome loads the extension from that folder).
  2. Open Chrome and type this in the address bar:  chrome://extensions
  3. Turn ON "Developer mode" (top-right switch).
  4. Click "Load unpacked" (top-left).
  5. Select the unzipped folder (the one that contains manifest.json) and click Select Folder.
  6. The ClimbSheet icon appears in the toolbar. Pin it via the puzzle-piece icon if you like.

ON A TEMU PRODUCT PAGE
  ClimbSheet pins a panel with Product Analysis / Store / Rank History.
  "Save to ClimbSheet" puts the product in your listing queue (toolbar popup -> "Listing queue").
  The queue has List now / Record / Delete per product, batch delete, search and CSV export.
  "List now" opens Temu Seller Center with the draft queued and offers to pre-fill the form.
  ClimbSheet never submits a listing for you and never opens any third-party website.

HOW TO USE
  - Click the icon -> "Open full board" to see the rankings page.
    It already contains the 27 Oct 2026 snapshot (40 products) out of the box.
  - To add a new day: open Temu, go to Categories -> Best-Selling Items,
    wait for the products to appear, then click the ClimbSheet icon and press
    "Capture today's snapshot". The board gains a new date and a new column
    in "Compare days".

PRICING / LICENCE
  The extension starts a free 7-day trial the first time you open it.
  After that it asks for a licence key: open the popup or the paywall, click
  "Subscribe", pay through Stripe, then paste the RL1.… key you are sent.
  Keys are signed and verified offline — no account, no server call.
  Your own Stripe link, price label and trial length live in config.js.

GOOD TO KNOW
  - Everything is stored locally in your browser (chrome.storage). Nothing is sent anywhere,
    including your licence key, which is verified with a public key baked into the extension.
  - "Clear stored captures" in the popup wipes captured days; the bundled 27 Oct
    snapshot always stays.
  - Available filters: country site (US captured), Temu category, ranking rule
    (last 30 days), fulfillment model, keyword search, sort, Cards/Table view, CSV export.
  - Not in the capture (Temu does not publish it): store name, listing date,
    semi/full-managed split, multi-region prices, non-US sites, 7/14-day windows.

FILES
  manifest.json      extension definition (Manifest V3)
  app.html / app.js  the full rankings board
  popup.html / .js   toolbar popup + the capture routine
  icons/             toolbar icons
  data/              the bundled snapshot used to build app.js
  build_ext.py       regenerates app.html + app.js from data/ (developer use)

Rebuild after adding a JSON snapshot to data/:
  cd rankings-extension && python3 build_ext.py
