Refactor ScriptItem and ConfigFile components to conditionally render config file location. Update ConfigFile to accept configPath prop instead of item. (#5197)

This commit is contained in:
Bram Suurd 2025-06-16 17:14:17 +02:00 committed by GitHub
parent 8df55a03f4
commit 906a0a0fbc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 14 deletions

View File

@ -15,12 +15,12 @@ import { ResourceDisplay } from "./ResourceDisplay";
import { getDisplayValueFromType } from "./ScriptInfoBlocks"; import { getDisplayValueFromType } from "./ScriptInfoBlocks";
import Alerts from "./ScriptItems/Alerts"; import Alerts from "./ScriptItems/Alerts";
import Buttons from "./ScriptItems/Buttons"; import Buttons from "./ScriptItems/Buttons";
import ConfigFile from "./ScriptItems/ConfigFile";
import DefaultPassword from "./ScriptItems/DefaultPassword"; import DefaultPassword from "./ScriptItems/DefaultPassword";
import Description from "./ScriptItems/Description"; import Description from "./ScriptItems/Description";
import InstallCommand from "./ScriptItems/InstallCommand"; import InstallCommand from "./ScriptItems/InstallCommand";
import InterFaces from "./ScriptItems/InterFaces"; import InterFaces from "./ScriptItems/InterFaces";
import Tooltips from "./ScriptItems/Tooltips"; import Tooltips from "./ScriptItems/Tooltips";
import ConfigFile from "./ScriptItems/ConfigFile";
interface ScriptItemProps { interface ScriptItemProps {
item: Script; item: Script;
@ -152,16 +152,18 @@ export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) {
<div className=""> <div className="">
<InstallCommand item={item} /> <InstallCommand item={item} />
</div> </div>
<Separator /> {item.config_path && (
<div className="flex gap-3 px-4 py-2 bg-accent/25"> <>
<h2 className="text-lg font-semibold"> <Separator />
Location of config file <div className="flex gap-3 px-4 py-2 bg-accent/25">
</h2> <h2 className="text-lg font-semibold">Location of config file</h2>
</div> </div>
<Separator /> <Separator />
<div className=""> <div className="">
<ConfigFile item={item} /> <ConfigFile configPath={item.config_path} />
</div> </div>
</>
)}
</div> </div>
<DefaultPassword item={item} /> <DefaultPassword item={item} />

View File

@ -1,10 +1,9 @@
import ConfigCopyButton from "@/components/ui/config-copy-button"; import ConfigCopyButton from "@/components/ui/config-copy-button";
import { Script } from "@/lib/types";
export default function ConfigFile({ item }: { item: Script }) { export default function ConfigFile({ configPath }: { configPath: string }) {
return ( return (
<div className="px-4 pb-4"> <div className="px-4 pb-4">
<ConfigCopyButton>{item.config_path ? item.config_path : "No config path set"}</ConfigCopyButton> <ConfigCopyButton>{configPath}</ConfigCopyButton>
</div> </div>
); );
} }