Opening KCL sample now overwrites units (#3970)

* Implement basic unit overwriting, update tests

* fix eslint warning

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"

This reverts commit 2ecf012c25.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Frank Noirot
2024-09-30 10:12:59 -04:00
committed by GitHub
parent 168f4fc545
commit 3949b6acf4
4 changed files with 83 additions and 26 deletions

View File

@ -28,6 +28,7 @@ import {
getKclSamplesManifest,
KclSamplesManifestItem,
} from 'lib/getKclSamplesManifest'
import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext'
type MachineContext<T extends AnyStateMachine> = {
state: StateFrom<T>
@ -46,6 +47,7 @@ export const FileMachineProvider = ({
}) => {
const navigate = useNavigate()
const { commandBarSend } = useCommandsContext()
const { settings } = useSettingsAuthContext()
const { project, file } = useRouteLoaderData(PATHS.FILE) as IndexLoaderData
const [kclSamples, setKclSamples] = React.useState<KclSamplesManifestItem[]>(
[]
@ -306,6 +308,18 @@ export const FileMachineProvider = ({
},
})
}
// Either way, we want to overwrite the defaultUnit project setting
// with the sample's setting.
if (data.sampleUnits) {
settings.send({
type: 'set.modeling.defaultUnit',
data: {
level: 'project',
value: data.sampleUnits,
},
})
}
},
kclSamples.map((sample) => ({
value: sample.file,