added logic to display server on save dialog

*added logic to display external servers as red
This commit is contained in:
phyzical 2022-02-16 20:11:37 +08:00
parent ca28582265
commit 26002e0429

@ -648,7 +648,7 @@ export function Root(props: IProps): React.ReactElement {
const serverScriptIndex = server.scripts.findIndex((script) => script.filename === closingScript.fileName); const serverScriptIndex = server.scripts.findIndex((script) => script.filename === closingScript.fileName);
if (serverScriptIndex === -1 || savedScriptCode !== server.scripts[serverScriptIndex as number].code) { if (serverScriptIndex === -1 || savedScriptCode !== server.scripts[serverScriptIndex as number].code) {
PromptEvent.emit({ PromptEvent.emit({
txt: "Do you want to save changes to " + closingScript.fileName + "?", txt: `Do you want to save changes to ${closingScript.fileName} on ${closingScript.hostname}?`,
resolve: (result: boolean) => { resolve: (result: boolean) => {
if (result) { if (result) {
// Save changes // Save changes
@ -779,12 +779,9 @@ export function Root(props: IProps): React.ReactElement {
{openScripts.map(({ fileName, hostname }, index) => { {openScripts.map(({ fileName, hostname }, index) => {
const editingCurrentScript = currentScript?.fileName === openScripts[index].fileName && const editingCurrentScript = currentScript?.fileName === openScripts[index].fileName &&
currentScript?.hostname === openScripts[index].hostname currentScript?.hostname === openScripts[index].hostname
const iconButtonStyle = { const externalScript = currentScript?.hostname !== 'home'
maxWidth: "25px", const scriptFilenameTextColor = externalScript
minWidth: "25px", const colorProps = editingCurrentScript ? {
minHeight: '38.5px',
maxHeight: '38.5px',
...(editingCurrentScript ? {
background: Settings.theme.button, background: Settings.theme.button,
borderColor: Settings.theme.button, borderColor: Settings.theme.button,
color: Settings.theme.primary color: Settings.theme.primary
@ -792,7 +789,13 @@ export function Root(props: IProps): React.ReactElement {
background: Settings.theme.backgroundsecondary, background: Settings.theme.backgroundsecondary,
borderColor: Settings.theme.backgroundsecondary, borderColor: Settings.theme.backgroundsecondary,
color: Settings.theme.secondary color: Settings.theme.secondary
}) }
const iconButtonStyle = {
maxWidth: "25px",
minWidth: "25px",
minHeight: '38.5px',
maxHeight: '38.5px',
...colorProps
}; };
return ( return (
<Draggable <Draggable
@ -820,15 +823,7 @@ export function Root(props: IProps): React.ReactElement {
if (e.button === 1) onTabClose(index); if (e.button === 1) onTabClose(index);
}} }}
style={{ style={{
...(editingCurrentScript ? { ...colorProps
background: Settings.theme.button,
borderColor: Settings.theme.button,
color: Settings.theme.primary
} : {
background: Settings.theme.backgroundsecondary,
borderColor: Settings.theme.backgroundsecondary,
color: Settings.theme.secondary
})
}} }}
> >
{hostname}:~/{fileName} {dirty(index)} {hostname}:~/{fileName} {dirty(index)}