)]}'
{
  "commit": "ae3724ef039833e1227714412e2c5289ad8875c8",
  "tree": "7242aaea3ef677a86ace50e7c805935f27890d94",
  "parents": [
    "19a32eaa120562170595e42584f3fc4b40828b97"
  ],
  "author": {
    "name": "banksean",
    "email": "banksean@gmail.com",
    "time": "Fri Jul 18 16:52:37 2025 +0000"
  },
  "committer": {
    "name": "Autoformatter",
    "email": "bot@sketch.dev",
    "time": "Fri Jul 18 20:29:23 2025 +0000"
  },
  "message": "webui: add dark mode implementation plan\n\nAlso implements phase 1 of the plan, which just lays the foundation\nfor implementing the user-visible changes. This does not include\nany dark-mode theme settings for the rest of the web UI, and\nwhile it does inlcude a \"sketch-theme-toggle\" element, this is\nonly included in the demo:runner vite server for interactive testing.\nIt\u0027s not included in the app shell base yet.\n\n-SM\n\n---\n\nDocuments comprehensive strategy for implementing dark mode in Sketch\u0027s\nweb UI using Tailwind CSS class-based approach.\n\nThe plan covers:\n- Foundation setup (Tailwind config, theme service, toggle component)\n- Systematic component updates with dark mode variants\n- Accessibility considerations and testing checklist\n- 4-week implementation timeline\n\nKey technical decisions:\n- Uses SketchTailwindElement base class following existing patterns\n- Singleton theme service with event system for component coordination\n- Respects system preferences while allowing user override\n- Persistent theme storage in localStorage\n\nThis provides a roadmap for adding dark mode support while maintaining\nconsistency with Sketch\u0027s existing web component architecture.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s6b69ad95a4394f98k\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82bd65b5f41a9a254f2b634a9ae71bc9d2331c26",
      "new_mode": 33188,
      "new_path": "webui/DARK_MODE.md"
    },
    {
      "type": "modify",
      "old_id": "f1d8c73cdcf9eaacb01fec99963ad78d591305ae",
      "old_mode": 33188,
      "old_path": "webui/src/global.css",
      "new_id": "57c001096201cd67f1d94bd1e6517f34f395cb18",
      "new_mode": 33188,
      "new_path": "webui/src/global.css"
    },
    {
      "type": "modify",
      "old_id": "85b8b5fb40695e51d87dfcb370c1008a23fb40c5",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/demo/demo-framework/demo-runner.ts",
      "new_id": "0e08af5f30bcff8e26462ab07ea77b36088b1a22",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/demo/demo-framework/demo-runner.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5cf304a21109f02bc02e11bf4f306409338dd3b0",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/demo/sketch-theme-toggle.demo.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e428fad5d20c73129a95973c9e904b0636f16f0",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-theme-toggle.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f00257271ba51776a19e5bf53c4e99dbcd30e24a",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/theme-service.ts"
    },
    {
      "type": "modify",
      "old_id": "f51be72ca7dfe2d8cdbd7674611c17f7d23c4643",
      "old_mode": 33188,
      "old_path": "webui/tailwind.config.js",
      "new_id": "6d7ccf567844ca0d893fd438269f6ed19d660015",
      "new_mode": 33188,
      "new_path": "webui/tailwind.config.js"
    }
  ]
}
