feat/xlsx-drop-import
PRODUCT.md
+12 −3
PRODUCT.mdLoading diff…
docs/superpowers/specs/2026-08-30-sheets-design.md
+32 −0
docs/superpowers/specs/2026-08-30-sheets-design.mdLoading diff…
internal/sheets/app.go
+54 −1
internal/sheets/app.goLoading diff…
internal/sheets/handlers_import.go
+269 −0
internal/sheets/handlers_import.goLoading diff…
internal/sheets/handlers_import_refusals_test.go
+255 −0
internal/sheets/handlers_import_refusals_test.goLoading diff…
internal/sheets/handlers_import_test.go
+191 −0
internal/sheets/handlers_import_test.goLoading diff…
internal/sheets/handlers_sheets.go
+21 −2
internal/sheets/handlers_sheets.goLoading diff…
internal/sheets/jobpages.go
+82 −0
internal/sheets/jobpages.goLoading diff…
internal/sheets/static/drop.js
+124 −0
internal/sheets/static/drop.jsLoading diff…
internal/sheets/static/sheets.css
+39 −0
internal/sheets/static/sheets.cssLoading diff…
internal/sheets/templates/job.html
+28 −0
internal/sheets/templates/job.htmlLoading diff…
internal/sheets/templates/sheets.html
+46 −2
internal/sheets/templates/sheets.htmlLoading diff…
internal/sheets/xlsx/cellerror.go
+41 −0
internal/sheets/xlsx/cellerror.goLoading diff…
internal/sheets/xlsx/cellerror_test.go
+37 −0
internal/sheets/xlsx/cellerror_test.goLoading diff…
internal/sheets/xlsx/import.go
+9 −10
internal/sheets/xlsx/import.goLoading diff…