{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":749678315,"defaultBranch":"main","name":"lottery-results","ownerLogin":"fwextensions","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-29T07:09:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/61631?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1709023335.0","currentOid":""},"activityList":{"items":[{"before":"196cab005ce05e9fc618d0bd24c9358dfae48c66","after":"a0d895f2fbad79bc6fdfaa92ce65e757c6065a3f","ref":"refs/heads/main","pushedAt":"2024-06-15T00:49:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Fix bug in Veteran pref detection\n\nMake the code not reliant on the order of preferences in the imported spreadsheet.","shortMessageHtmlLink":"Fix bug in Veteran pref detection"}},{"before":"a8454a0fd8bcfaa4eecf5284f821cebee1fb878b","after":"196cab005ce05e9fc618d0bd24c9358dfae48c66","ref":"refs/heads/main","pushedAt":"2024-03-28T00:35:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Handle preference names that don't include the short codes","shortMessageHtmlLink":"Handle preference names that don't include the short codes"}},{"before":"269ddbc1c04578a0b6477e570504bfdd81b3c637","after":"a8454a0fd8bcfaa4eecf5284f821cebee1fb878b","ref":"refs/heads/main","pushedAt":"2024-03-05T08:03:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Fix drag and drop of files\n\nCall preventDefault() on dragOver and dragEnter to enable the drop to work.\nTweak legend.","shortMessageHtmlLink":"Fix drag and drop of files"}},{"before":"33da8da2ac7461005a2a68f4ae6df63d8a26ae8f","after":"269ddbc1c04578a0b6477e570504bfdd81b3c637","ref":"refs/heads/main","pushedAt":"2024-02-29T02:06:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Hide the listing picker menu for now","shortMessageHtmlLink":"Hide the listing picker menu for now"}},{"before":"60ecf7ee8325e9fcee16814d1f6d3d6476d850d1","after":"33da8da2ac7461005a2a68f4ae6df63d8a26ae8f","ref":"refs/heads/main","pushedAt":"2024-02-29T02:01:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Make the name, address and date in the header editable\n\nAdd react-easy-edit to handle the editing.","shortMessageHtmlLink":"Make the name, address and date in the header editable"}},{"before":"d457f3977e9b7b566dfabd40bae04f301ebb9377","after":"60ecf7ee8325e9fcee16814d1f6d3d6476d850d1","ref":"refs/heads/main","pushedAt":"2024-02-28T23:42:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Fix handling of dropped file when the menu has a listing selected\n\nPut the address and date fields in their own h3's.","shortMessageHtmlLink":"Fix handling of dropped file when the menu has a listing selected"}},{"before":"0090adda1def767336d8e4522fa4eceb5a3cd8c0","after":"d457f3977e9b7b566dfabd40bae04f301ebb9377","ref":"refs/heads/main","pushedAt":"2024-02-28T23:14:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add drop target in App to handle dropped spreadsheets\n\nClear the listing selection in the menu and the ID in the URL.\nShow the drop target covering the viewport regardless of scroll position.\nIgnore non-file drag events.\nMake the main element the full height of the body so it can always take a file drop.\nAdd LotteryManager to pass spreadsheet data or lottery results to LotteryResults.\nAdd support for functional requirements in Bucket.isAllowed().\nMake the general pool bucket include only applicants with no prefs at all.\nIn processExcelData(), create synthetic lottery results from the dropped spreadsheet.\nMake LotteryResults a presentation component.\nAdd reset() method to Bucket so we can clear out the old applicants.\nAdd shortName to Preferences.\nGroup applicants by lottery number when processing a spreadsheet. Two people could have the same name, so name is a bad key.\nChange LW column to Live/Work.\nTweak checkbox label to be clearer.\nRemove Preference Lists title.\nReduce the font size and margins when printing to fit more on each page.\nDarken some of the text so it's more readable.\nPut 14px font-size on the :root, so rems are defined by it.\nShow full date.\nChange Preferences init to an array objects instead of arrays.\nFix key errors on bucket cells.\nRename data/index.js to index.ts.\nAdd DropTarget.tsx and processExcelData.ts.","shortMessageHtmlLink":"Add drop target in App to handle dropped spreadsheets"}},{"before":"a08b3a31320d09e4bf2a69c5c9df52f690fee6a2","after":"d6a6dbf56b1e491654708346f9ac18b31e1d620d","ref":"refs/heads/feat/readd-file-drop-support","pushedAt":"2024-02-28T22:56:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Group applicants by lottery number when processing a spreadsheet\n\nTwo people could have the same name, so name is a bad key.\nReduce the font size and margins when printing to fit more on each page.\nTweak checkbox label to be clearer.","shortMessageHtmlLink":"Group applicants by lottery number when processing a spreadsheet"}},{"before":"70d328851719796e138001e0b77877743bdaacaa","after":"a08b3a31320d09e4bf2a69c5c9df52f690fee6a2","ref":"refs/heads/feat/readd-file-drop-support","pushedAt":"2024-02-28T19:34:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add LotteryManager to pass spreadsheet data or lottery results to LotteryResults\n\nIn processExcelData(), create synthetic lottery results from the dropped spreadsheet.\nMake LotteryResults a presentation component.\nAdd reset() method to Bucket so we can clear out the old applicants.\nAdd shortName to Preferences.\nChange Preferences init to an array objects instead of arrays.\nFix key errors on bucket cells.\nMake the main element the full height of the body so it can always take a file drop.","shortMessageHtmlLink":"Add LotteryManager to pass spreadsheet data or lottery results to Lot…"}},{"before":"d3dcdbf6f95caa44251a38fc01d400e2465cb392","after":"70d328851719796e138001e0b77877743bdaacaa","ref":"refs/heads/feat/readd-file-drop-support","pushedAt":"2024-02-28T01:05:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Clean up format of results\n\nShow full date.\nRemove Preference Lists title.\nPut 14px font-size on the :root, so rems are defined by it.\nDarken some of the text so it's more readable.\nChange LW column to Live/Work.","shortMessageHtmlLink":"Clean up format of results"}},{"before":null,"after":"d3dcdbf6f95caa44251a38fc01d400e2465cb392","ref":"refs/heads/feat/readd-file-drop-support","pushedAt":"2024-02-27T08:42:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add drop target in App to handle dropped spreadsheets\n\nShow the drop target covering the viewport regardless of scroll position.\nIgnore non-file drag events.\nAdd support for functional requirements in Bucket.isAllowed().\nMake the general pool bucket include only applicants with no prefs at all.\nRename data/index.js to index.ts.\nAdd DropTarget.tsx and processExcelData.ts.","shortMessageHtmlLink":"Add drop target in App to handle dropped spreadsheets"}},{"before":"2afc35f6d32256bef2f48a1f06ab23c26811351e","after":"0090adda1def767336d8e4522fa4eceb5a3cd8c0","ref":"refs/heads/main","pushedAt":"2024-02-26T01:50:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Render the results in a table element so the header appears on each page\n\nUpdate styles to work with a table.","shortMessageHtmlLink":"Render the results in a table element so the header appears on each page"}},{"before":"92790324baf9e6b6e47dcb584d62717eb44cbde2","after":"2afc35f6d32256bef2f48a1f06ab23c26811351e","ref":"refs/heads/main","pushedAt":"2024-02-25T02:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add subtitles to each bucket","shortMessageHtmlLink":"Add subtitles to each bucket"}},{"before":"866737fa25fd87525cfc4ee588c76ad243aed45e","after":"92790324baf9e6b6e47dcb584d62717eb44cbde2","ref":"refs/heads/main","pushedAt":"2024-02-25T01:58:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add checkbox to toggle combining veteran groups\n\nLimit the columns to max-content and add a gap and padding, which are removed for printing.\nDon't show the loading message if we already have results data and it's just refetching due to the cache expiring.\nAdd hasVeteranPref to all applicants, so they get the asterisk in all columns.\nMake toolbar sticky.\nTweak header h3 sizes.","shortMessageHtmlLink":"Add checkbox to toggle combining veteran groups"}},{"before":"5406db5c5094906846e51dfe8d89f72942acb7be","after":"92790324baf9e6b6e47dcb584d62717eb44cbde2","ref":"refs/heads/feat/combine-groups-option","pushedAt":"2024-02-25T01:57:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add checkbox to toggle combining veteran groups\n\nLimit the columns to max-content and add a gap and padding, which are removed for printing.\nDon't show the loading message if we already have results data and it's just refetching due to the cache expiring.\nAdd hasVeteranPref to all applicants, so they get the asterisk in all columns.\nMake toolbar sticky.\nTweak header h3 sizes.","shortMessageHtmlLink":"Add checkbox to toggle combining veteran groups"}},{"before":null,"after":"5406db5c5094906846e51dfe8d89f72942acb7be","ref":"refs/heads/feat/combine-groups-option","pushedAt":"2024-02-24T20:40:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add checkbox to toggle combining veteran groups\n\nLimit the columns to max-content and add a gap and padding, which are removed for printing.\nDon't show the loading message if we already have results data and it's just refetching due to the cache expiring.\nAdd hasVeteranPref to all applicants, so they get the asterisk in all columns.\nTweak header h3 sizes.","shortMessageHtmlLink":"Add checkbox to toggle combining veteran groups"}},{"before":"e5d6c97f72c16a96ebf466c1c1f9393be8dbcccf","after":"866737fa25fd87525cfc4ee588c76ad243aed45e","ref":"refs/heads/main","pushedAt":"2024-02-20T20:46:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Handle listings with missing Lottery_Status","shortMessageHtmlLink":"Handle listings with missing Lottery_Status"}},{"before":"e5155e0bf469b4dac64d5a4ae0a08a95dba9af38","after":"e5d6c97f72c16a96ebf466c1c1f9393be8dbcccf","ref":"refs/heads/main","pushedAt":"2024-02-18T01:32:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add client-side routing to include a / route\n\nUpdate useListing() to take a listing as the initialData, if available.\nCreate the routes in index.tsx.\nMake the listing picker a controlled component.\nAdd App.tsx and Message.tsx.\nAdd react-router-dom.","shortMessageHtmlLink":"Add client-side routing to include a /<lotteryID> route"}},{"before":"bf1665f382a98f54b10c2f01f9d1d1197a91ecd3","after":"e5155e0bf469b4dac64d5a4ae0a08a95dba9af38","ref":"refs/heads/main","pushedAt":"2024-02-16T23:45:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add a legend explaining the asterisk","shortMessageHtmlLink":"Add a legend explaining the asterisk"}},{"before":"03c4430a178bcde93ac7efde006e21ac7b48a0f8","after":"bf1665f382a98f54b10c2f01f9d1d1197a91ecd3","ref":"refs/heads/main","pushedAt":"2024-02-16T07:10:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add the selected listing's name to the page title","shortMessageHtmlLink":"Add the selected listing's name to the page title"}},{"before":"3e24c24f656b3dcd77dc624bbdd4b58e1aa2867a","after":"03c4430a178bcde93ac7efde006e21ac7b48a0f8","ref":"refs/heads/main","pushedAt":"2024-02-16T06:58:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Combine the Veteran and non-Veteran applicants into one bucket\n\nKeep the Veterans at the top of the bucket.\nAdd a hasVeteranPref flag to the Veteran applicants.\nShow an asterisk next to Veterans.\nAdd processLotteryBuckets.ts.","shortMessageHtmlLink":"Combine the Veteran and non-Veteran applicants into one bucket"}},{"before":"e4894917b1b20fbdeef2f3e5739e3054f89ead35","after":"3e24c24f656b3dcd77dc624bbdd4b58e1aa2867a","ref":"refs/heads/main","pushedAt":"2024-02-14T23:22:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add title tag","shortMessageHtmlLink":"Add title tag"}},{"before":"2bfe68f5b3d24ba0c4e4d84d84e9cae6242612fc","after":"e4894917b1b20fbdeef2f3e5739e3054f89ead35","ref":"refs/heads/main","pushedAt":"2024-02-14T23:15:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add api/lottery-pdf/[listingID] route to generate a PDF\n\nAnd add lottery/[[...args]].tsx to render the results alone.\nTry using @sparticuz/chromium instead of npx playwright install.\nMake playwright a dep instead of a devDep.\nClose the browser after creating the PDF.\nRemove playwright.config.ts, which isn't supported by playwright-core.\nTweak styling.\nDisable webGL in headless browser.\nAdd useListing() query.","shortMessageHtmlLink":"Add api/lottery-pdf/[listingID] route to generate a PDF"}},{"before":"5d3b90a81c5ed221c84c0c43723ddaef6ff15092","after":"35470dc80fae86f42eb5ad81f22ce2f47096c933","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-14T03:09:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Tweak styling\n\nDisable webGL in headless browser.","shortMessageHtmlLink":"Tweak styling"}},{"before":"c6f91dc0a94b625ac39d8fe105f4e99330e579ee","after":"5d3b90a81c5ed221c84c0c43723ddaef6ff15092","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T23:18:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Pass the URL to generatePDF() based on the current host","shortMessageHtmlLink":"Pass the URL to generatePDF() based on the current host"}},{"before":"cd5dcd5453551a7e8edcf562f86e30b3996522f3","after":"c6f91dc0a94b625ac39d8fe105f4e99330e579ee","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T23:15:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Pass the URL to generatePDF() based on the current host","shortMessageHtmlLink":"Pass the URL to generatePDF() based on the current host"}},{"before":"febbe19de5ca12fea7be2507bd4c4984062bd025","after":"cd5dcd5453551a7e8edcf562f86e30b3996522f3","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T23:10:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Pass the URL to generatePDF() based on the current host","shortMessageHtmlLink":"Pass the URL to generatePDF() based on the current host"}},{"before":"4db02f2d22c275e4bf5e722ee0dc87e818e3fd35","after":"febbe19de5ca12fea7be2507bd4c4984062bd025","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T23:07:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Pass the URL to generatePDF() based on the current host","shortMessageHtmlLink":"Pass the URL to generatePDF() based on the current host"}},{"before":"b515bdec2de65711694642a17851743719343552","after":"4db02f2d22c275e4bf5e722ee0dc87e818e3fd35","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T21:30:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Add lottery page to render results\n\nPoint lottery-pdf at the lottery page.\nAdd useListing() query.\nClean up Listing types.","shortMessageHtmlLink":"Add lottery page to render results"}},{"before":"1742b1fcc0fa65e345ff2651acca9eb5b0dfe3be","after":"b515bdec2de65711694642a17851743719343552","ref":"refs/heads/feat/add-pdf-route","pushedAt":"2024-02-13T09:02:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fwextensions","name":"John Dunning","path":"/fwextensions","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61631?s=80&v=4"},"commit":{"message":"Try using @sparticuz/chromium instead of npx playwright install\n\nRemove playwright.config.ts, which isn't supported by playwright-core.","shortMessageHtmlLink":"Try using @sparticuz/chromium instead of npx playwright install"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZe_ypQA","startCursor":null,"endCursor":null}},"title":"Activity · fwextensions/lottery-results"}