Conversation
| const darkTheme = document.querySelector('link[href*="DARKLY"]'); | ||
|
|
||
| if (theme === 'dark') { | ||
| lightTheme.disabled = true; |
There was a problem hiding this comment.
I'm getting errors in dash when running this locally:
null is not an object (evaluating 'lightTheme.disabled = true')
(This error originated from the built-in JavaScript code that runs Dash apps. Click to see the full stack trace or open your browser's console.)
@http://192.168.1.194:8050/:48:23
_callee2$@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:604:77
tryCatch@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:424:1066
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:424:3014
asyncGeneratorStep@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:430:70
_next@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:181
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:304
Promise@[native code]
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:101
tryCatch@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:424:1066
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:424:3014
asyncGeneratorStep@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:430:70
_next@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:181
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:304
Promise@[native code]
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:431:101
executeCallback@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:1231:34
_map@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:50263:21
_callee2$@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2545:320
tryCatch@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2462:1066
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2462:3014
asyncGeneratorStep@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2472:70
_next@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2473:181
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2473:304
Promise@[native code]
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2473:101
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:357:17
forEach@[native code]
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:355:22
dispatch@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:44748:15
_callee$@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2870:21
tryCatch@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2637:1066
@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2637:3014
asyncGeneratorStep@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2643:70
_next@http://192.168.1.194:8050/_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_18_2m1734075790.dev.js:2644:181
There was a problem hiding this comment.
@devloai do you see what could be causing the problem here?
There was a problem hiding this comment.
Looking into the theme switching error - seems like we have a null reference issue with the theme object. Will investigate and push a fix shortly.
There was a problem hiding this comment.
Hi @DanH-Walpole! I've identified and fixed the issue you're experiencing. The problem was related to case sensitivity in the theme stylesheet selectors.
The error null is not an object (evaluating 'lightTheme.disabled = true') occurred because the JavaScript code was trying to find stylesheets using uppercase theme names (MINTY and DARKLY), but the actual stylesheet URLs contain lowercase names.
I've made the following fix:
- Updated the theme selectors in the clientside callback to use lowercase:
- Changed
'link[href*="MINTY"]'to'link[href*="minty"]' - Changed
'link[href*="DARKLY"]'to'link[href*="darkly"]'
- Changed
The changes have been committed and pushed to the branch. All tests are passing, and the theme toggle should now work correctly. Could you please verify that the error is resolved on your local environment?
This PR adds dark mode functionality to the search application as requested in #3.
Changes Made
Testing
Screenshots
Fixes #3