Skip to content

Commit 8dcd835

Browse files
committed
Update workpsace settings modal for environment settings
1 parent b9883fd commit 8dcd835

3 files changed

Lines changed: 44 additions & 25 deletions

File tree

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
import { isDesign, isMockServer, Workspace } from '../models/workspace';
1+
import { isDesign, isEnvironment, isMockServer, Workspace } from '../models/workspace';
22
import { strings } from './strings';
33

4-
export const getWorkspaceLabel = (workspace: Workspace) =>
5-
isDesign(workspace)
6-
? strings.document
7-
: isMockServer(workspace)
8-
? strings.mock
9-
: strings.collection;
4+
export const getWorkspaceLabel = (workspace: Workspace) => {
5+
if (isDesign(workspace)) {
6+
return strings.document;
7+
}
8+
9+
if (isMockServer(workspace)) {
10+
return strings.mock;
11+
}
12+
13+
if (isEnvironment(workspace)) {
14+
return strings.environment;
15+
}
16+
17+
return strings.collection;
18+
};

packages/insomnia/src/common/strings.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type StringId =
1212
| 'defaultProject'
1313
| 'localProject'
1414
| 'remoteProject'
15+
| 'environment'
1516
;
1617

1718
export const strings: Record<StringId, StringInfo> = {
@@ -47,4 +48,8 @@ export const strings: Record<StringId, StringInfo> = {
4748
singular: 'Remote',
4849
plural: 'Remote',
4950
},
51+
environment: {
52+
singular: 'Environment',
53+
plural: 'Environments',
54+
},
5055
};

packages/insomnia/src/ui/components/modals/workspace-settings-modal.tsx

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { getWorkspaceLabel } from '../../../common/get-workspace-label';
88
import * as models from '../../../models/index';
99
import { MockServer } from '../../../models/mock-server';
1010
import { isRequest } from '../../../models/request';
11-
import { isScratchpad, Workspace } from '../../../models/workspace';
11+
import { isEnvironment, isMockServer, isScratchpad, Workspace } from '../../../models/workspace';
1212
import { OrganizationLoaderData } from '../../routes/organization';
1313
import { Link } from '../base/link';
1414
import { PromptButton } from '../base/prompt-button';
@@ -90,7 +90,7 @@ export const WorkspaceSettingsModal = ({ workspace, mockServer, onClose }: Props
9090
className='p-2 w-full rounded-sm border border-solid border-[--hl-sm] bg-[--color-bg] text-[--color-font] focus:outline-none focus:ring-1 focus:ring-[--hl-md] transition-colors'
9191
onChange={event => workspacePatcher(workspace._id, { name: event.target.value })}
9292
/>
93-
{workspace.scope !== 'mock-server' && (
93+
{!isMockServer(workspace) && (
9494
<>
9595
<Label className='text-sm text-[--hl]' aria-label='Description'>
9696
Description
@@ -102,22 +102,27 @@ export const WorkspaceSettingsModal = ({ workspace, mockServer, onClose }: Props
102102
workspacePatcher(workspace._id, { description });
103103
}}
104104
/>
105-
<Heading>Actions</Heading>
106-
<PromptButton
107-
onClick={async () => {
108-
const docs = await db.withDescendants(workspace, models.request.type);
109-
const requests = docs.filter(isRequest);
110-
for (const req of requests) {
111-
await models.response.removeForRequest(req._id);
112-
}
113-
close();
114-
}}
115-
className="width-auto btn btn--clicky inline-block space-left"
116-
>
117-
<i className="fa fa-trash-o" /> Clear All Responses
118-
</PromptButton>
119-
</>)}
120-
{Boolean(workspace.scope === 'mock-server' && mockServer) && (
105+
{!isEnvironment(workspace) && (
106+
<>
107+
<Heading>Actions</Heading>
108+
<PromptButton
109+
onClick={async () => {
110+
const docs = await db.withDescendants(workspace, models.request.type);
111+
const requests = docs.filter(isRequest);
112+
for (const req of requests) {
113+
await models.response.removeForRequest(req._id);
114+
}
115+
close();
116+
}}
117+
className="width-auto btn btn--clicky inline-block space-left"
118+
>
119+
<i className="fa fa-trash-o" /> Clear All Responses
120+
</PromptButton>
121+
</>
122+
)}
123+
</>
124+
)}
125+
{Boolean(isMockServer(workspace) && mockServer) && (
121126
<>
122127
<RadioGroup
123128
name="mockServerType"

0 commit comments

Comments
 (0)