Skip to content

Resolved Issues #54 (Multiple references to Oakland), #60 (Rewrite Compare page with newer version of React.js), #62 (Civic.json file addition), and #83 (Add 2026 budget)#87

Merged
natebass merged 19 commits into
opensacorg:mainfrom
Ismail8Ahmed:main
Apr 16, 2026

Conversation

@Ismail8Ahmed

Copy link
Copy Markdown
Contributor

Good Evening,

I have resolved Issues #54 (Multiple references to Oakland), #60 (Rewrite Compare page with newer version of React.js), #62 (Civic.json file addition), and #83 (Add 2026 budget) while also modernizing the website, removing dead code and links, and ensuring that the website is almost complete. I love to give back to the Sacramento community, so thank you all for your previous feedback.

@natebass natebass self-requested a review April 1, 2026 05:22
Comment thread _src/data/__pycache__/split_csv.cpython-314.pyc Outdated
Comment thread _src/data/City_of_Sacramento_Approved_Budgets.csv:Zone.Identifier Outdated
Comment thread _src/index.pug Outdated
Comment thread _src/package.json Outdated
Comment thread _src/package-lock.json
Comment thread _src/package.json Outdated
…, and fixed some other small errors. Now, it should be fully functional, although the documentation is still lacking.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the Open Budget: Sacramento static site and data assets while addressing multiple tracked issues (Oakland reference cleanup, Compare page rewrite, civic.json addition, and adding the FY26 budget dataset).

Changes:

  • Modernizes the Compare page stack (React/Chart.js ecosystem) and updates supporting scripts/build instructions.
  • Adds/updates FY25–FY26 budget datasets for the flow/tree/compare visualizations plus helper data-generation scripts.
  • Rebrands numerous pages/templates/links from Oakland to Sacramento and adds civic.json metadata.

Reviewed changes

Copilot reviewed 76 out of 83 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
README.md Adds build notes (Sass rebuild, WSL tips) and data-splitting instructions.
Dockerfile Updates Node base image for container builds.
civic.json Adds civic.json project metadata.
.gitignore Ignores generated site output and Windows Zone.Identifier streams.
_src/who-we-are.pug Updates org/event copy and remaining Oakland references.
_src/what-we-do.pug Updates Oakland references and external link attributes.
_src/tools-projects.pug Refreshes resources list and updates external links/targets.
_src/templates/tree-template.jade Updates General Fund copy and Disqus shortname.
_src/templates/flow-template.jade Updates flow intro copy and Disqus shortname.
_src/sacramento-budget-basics.pug Renames Oakland Budget Basics content to Sacramento.
_src/partials/treeScripts.pug Adds FY25/FY26 to treemap dropdown defaults.
_src/partials/treeIntro.pug Updates General Fund “budget process” link.
_src/partials/layout.pug Updates header/footer/nav links and Sacramento branding.
_src/partials/disqus.pug Updates Disqus shortname to Sacramento forum.
_src/package.json Upgrades core dependencies (React/Chart.js/Eleventy/Webpack) and adds a prod script.
_src/package-lock.json Locks updated Node dependencies for reproducible installs.
_src/news.pug Updates Oakland news references/links to Sacramento equivalents.
_src/measure-z.pug Updates Measure Z wording and adds rel attributes for external links.
_src/js/sacramento_v2.json Adds placeholder JSON for Sacramento sankey data.
_src/js/old/main1.js Updates legacy OpenSpending dataset name to Sacramento.
_src/js/old/main.js Updates legacy OpenSpending dataset name to Sacramento.
_src/js/flow.js Adds FY26 wrangling case for flow diagram parsing.
_src/js/compare/utils.jsx Registers Chart.js v4 components and updates chart options API.
_src/js/compare/Trend.jsx Updates Chart.js options API usage for tooltips/scales.
_src/js/compare/Total.jsx Migrates from HorizontalBar to Bar (horizontal via indexAxis).
_src/js/compare/index.jsx Rewrites Compare root mounting (createRoot) and replaces react-bootstrap tabs with custom nav.
_src/js/compare/DiffTable.jsx Migrates from HorizontalBar to Bar (horizontal via indexAxis).
_src/js/compare/Breakdown.jsx Updates lifecycle method and replaces spinner with inline loading text.
_src/js/compare/api.js Cleans Oakland references and uses descending from d3-array.
_src/index.pug Updates homepage copy and clarifies custom queries scope.
_src/images/home/sacramento_night.jpg Adds Sacramento home splash image asset.
_src/flow.jade Removes legacy flow test page.
_src/feedback.pug Updates Wufoo/Disqus identifiers from Oakland to Sacramento.
_src/data/tree/Approved.Revenue.FY26.json Adds FY26 revenue tree JSON dataset.
_src/data/tree/Approved.Revenue.FY25.json Adds FY25 revenue tree JSON dataset.
_src/data/tree/Approved.Expense.FY26.json Adds FY26 expense tree JSON dataset.
_src/data/tree/Approved.Expense.FY25.json Adds FY25 expense tree JSON dataset.
_src/data/split_csv.py Removes eval usage; replaces with named transforms for safer CSV splitting.
_src/data/generate_budget_assets.py Adds script to generate compare/tree JSON assets from the master CSV.
_src/data/flow/FY26.csv Adds FY26 flow CSV input data.
_src/data/compare/fiscal-years-revenue/depts/FY26.json Adds FY26 revenue-by-dept compare dataset.
_src/data/compare/fiscal-years-revenue/depts/FY25.json Adds FY25 revenue-by-dept compare dataset.
_src/data/compare/fiscal-years-revenue/depts/FY24.json Adds FY24 revenue-by-dept compare dataset.
_src/data/compare/fiscal-years-revenue/depts/FY23.json Adds FY23 revenue-by-dept compare dataset.
_src/data/compare/fiscal-years-revenue/account-cats/FY26.json Adds FY26 revenue-by-category compare dataset.
_src/data/compare/fiscal-years-revenue/account-cats/FY25.json Adds FY25 revenue-by-category compare dataset.
_src/data/compare/fiscal-years-revenue/account-cats/FY24.json Adds FY24 revenue-by-category compare dataset.
_src/data/compare/fiscal-years-revenue/account-cats/FY23.json Adds FY23 revenue-by-category compare dataset.
_src/data/compare/fiscal-years-expenses/totals.json Updates totals to include FY23–FY26 and reformats JSON.
_src/data/compare/fiscal-years-expenses/depts/FY26.json Adds FY26 spending-by-dept compare dataset.
_src/data/compare/fiscal-years-expenses/depts/FY25.json Adds FY25 spending-by-dept compare dataset.
_src/data/compare/fiscal-years-expenses/depts/FY24.json Adds FY24 spending-by-dept compare dataset.
_src/data/compare/fiscal-years-expenses/depts/FY23.json Adds FY23 spending-by-dept compare dataset.
_src/data/compare/fiscal-years-expenses/account-cats/FY26.json Adds FY26 spending-by-category compare dataset.
_src/data/compare/fiscal-years-expenses/account-cats/FY25.json Adds FY25 spending-by-category compare dataset.
_src/data/compare/fiscal-years-expenses/account-cats/FY24.json Adds FY24 spending-by-category compare dataset.
_src/data/compare/fiscal-years-expenses/account-cats/FY23.json Adds FY23 spending-by-category compare dataset.
_src/data/City_of_Sacramento_Approved_Budgets.csv Updates/introduces the master Sacramento budget CSV source.
_src/css/_homesplash.scss Switches home splash background image to Sacramento.
_src/contact.pug Updates contact page branding and link set for Open Sacramento.
_src/compare.jade Removes legacy Compare page template (replaced by compare.pug).
_src/CNAME Updates site domain to openbudgetsac.org.
_src/budget-visuals.pug Rebrands visualization page copy to Sacramento.
_src/budget-process.pug Updates budget-process timeline heading to Sacramento.
_src/adopted-budget-flow.pug Adds FY26 flow file and enables FY13 flow data input.
_src/2019-21-adopted-budget-tree.jade Updates data source link text for Sacramento.
_src/2019-21-adopted-budget-flow.pug Updates commented data source labels for Sacramento.
_src/2017-19-proposed-budget-tree.jade Updates data source link text for Sacramento.
_src/2017-19-proposed-budget-flow.jade Updates data source link text for Sacramento.
_src/2016-17-adjusted-budget-tree.jade Updates “Data provided by…” copy for Sacramento.
_src/2016-17-adjusted-budget-flow.jade Updates “Data provided by…” copy for Sacramento.
_src/2015-17-proposed-budget-flow.jade Updates open data host reference to Sacramento.
_src/2015-17-adopted-budget-tree.jade Updates data source, General Fund copy, and Disqus shortname.
_src/2015-17-adopted-budget-flow.jade Updates adopted policy budget source link to Sacramento.
_src/2014-15-adjusted-budget-flow.jade Updates open data host and keeps datafile list.
_src/2013-2015-adopted-budget-flow.jade Updates open data host reference to Sacramento.
_src/2013-15-adopted-budget-landing.jade Updates landing page title to Sacramento.
_src/2013-14-proposed-budget-tree.pug_bak Removes legacy backup page content.
_src/2012-2013-sankey.jade Renames embedded data variables and updates Disqus identifiers/copy.
_src/.eleventy.js Adds Pug plugin, passthrough copies, and sets template formats/output dir.
_src/_layout.jade Updates legacy layout branding/links and comments out GA create call.
_src/_data.json Updates global metadata and page titles from Oakland to Sacramento.
_src/_compile.sh Ensures webpack build runs before Eleventy output is generated.
Comments suppressed due to low confidence (1)

_src/js/compare/Breakdown.jsx:6

  • axios is imported but never used in this component (data fetching goes through fetchBreakdownData). Removing the unused import will avoid dead code and make future refactors clearer.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread _src/.eleventy.js Outdated
Comment thread README.md Outdated
Comment thread _src/_layout.jade Outdated
Comment thread _src/2012-2013-sankey.jade Outdated
Comment thread _src/what-we-do.pug Outdated
Comment thread _src/2015-17-adopted-budget-tree.jade Outdated
Comment thread civic.json
…urrent state of the project and resolved all the issues that GitHub Copilot brought up.
…aScript software engineering standards by rewriting the whole codebase with testers/linters and adding my own documentation through JSDoc. The only outstanding issues left are the Feedback and Compare page glitches. Other than that, everything seems perfect.
…ery single NPM package to its latest version, completing the JSDoc documentation, the removal of the broken Wufoo Feedback Section, a fix for the X/Twitter footer link, upgrades to the testing harness/infrastructure, an overhaul of the CI/CD Workflow and the README/PERFORMANCE GitHub MarkDown documents, general code-quality improvements, and the partial implementation of i18n for Latin American Spanish.
…amento from JavaScript to TypeScript for security and maintaince reasons. Cleaned up legacy code, perfected documentation, and now have robust testing/linting/benchmarking infrastructure. Everything now works properly, except for the Feedback form (requiring the Open Sacramento's official approval) and the Custom Queries (reuiring the City of Sacramento's official approval). No more re-writes are needed anymore, as the website is now WAI-ARIA/a11y, American English/Latin American Spanish/i18n, US Government's OPM Plain Language Standard, Clean Code Principles, 10 Usability Heuristics for User Interface Design Standard, Standard Readme, Google TypeScript Style Guide, Pythonic PEP8 Standard, JSDoc, and Standard JavaScript compliant. This makes it easier to develop new features, maintain old code, and debug for any future developer.
@natebass

Copy link
Copy Markdown
Member

@natebass

natebass commented Apr 16, 2026

Copy link
Copy Markdown
Member

I was able to build this locally with Docker. I will merge now and see if the deployment works to openbudgetsac.org.

Edit:
I tried a couple fixes this but it is still not working. See my fork Page https://natebass.github.io/openbudgetsac.org and this change which is not quite right natebass@cdcc2c5 (but it did allow the deployment Action to pass).

Check the Action logs for details. We can try to resolve this in our next iteration.

Before updates:

Deploy / Build Static Site (Pages, non-Docker) (push) Failing after 54s
Details
CI / Validate NPM Scripts (push) Failing after 52s
Details
Deploy / Deploy to GitHub Pages (push) Skipped
CI / Validate Docker Targets (push) Skipped
CI / Validate E2E (Puppeteer) (push) Skipped

After my attempt to fix:

CI / Validate NPM Scripts (push) Failing after 41s
Details
Deploy / Build Static Site (Pages, non-Docker) (push) Successful in 59s
Details
Deploy / Deploy to GitHub Pages (push) Successful in 10s
Details
CI / Validate Docker Targets (push) Skipped
Details
CI / Validate E2E (Puppeteer) (push) Skipped
Details

@natebass natebass merged commit 9e39239 into opensacorg:main Apr 16, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants