Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2b3e9d0

Browse files
committed
reset fe to main
1 parent c3f34ad commit 2b3e9d0

31 files changed

+1325
-1129
lines changed

site/src/AppRouter.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ export const AppRouter: FC = () => {
256256
element={
257257
<AuthAndFrame>
258258
<RequirePermission
259-
isFeatureVisible={Boolean(permissions?.viewDeploymentConfig)}
259+
isFeatureVisible={Boolean(permissions?.viewDeploymentFlags)}
260260
>
261261
<DeploySettingsLayout>
262262
<GeneralSettingsPage />
@@ -270,7 +270,7 @@ export const AppRouter: FC = () => {
270270
element={
271271
<AuthAndFrame>
272272
<RequirePermission
273-
isFeatureVisible={Boolean(permissions?.viewDeploymentConfig)}
273+
isFeatureVisible={Boolean(permissions?.viewDeploymentFlags)}
274274
>
275275
<DeploySettingsLayout>
276276
<SecuritySettingsPage />
@@ -284,7 +284,7 @@ export const AppRouter: FC = () => {
284284
element={
285285
<AuthAndFrame>
286286
<RequirePermission
287-
isFeatureVisible={Boolean(permissions?.viewDeploymentConfig)}
287+
isFeatureVisible={Boolean(permissions?.viewDeploymentFlags)}
288288
>
289289
<DeploySettingsLayout>
290290
<NetworkSettingsPage />
@@ -298,7 +298,7 @@ export const AppRouter: FC = () => {
298298
element={
299299
<AuthAndFrame>
300300
<RequirePermission
301-
isFeatureVisible={Boolean(permissions?.viewDeploymentConfig)}
301+
isFeatureVisible={Boolean(permissions?.viewDeploymentFlags)}
302302
>
303303
<DeploySettingsLayout>
304304
<AuthSettingsPage />

site/src/api/typesGenerated.ts

+117-92
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,19 @@ export interface AzureInstanceIdentityToken {
126126
readonly encoding: string
127127
}
128128

129+
// From codersdk/flags.go
130+
export interface BoolFlag {
131+
readonly name: string
132+
readonly flag: string
133+
readonly env_var: string
134+
readonly shorthand: string
135+
readonly description: string
136+
readonly enterprise: boolean
137+
readonly hidden: boolean
138+
readonly default: boolean
139+
readonly value: boolean
140+
}
141+
129142
// From codersdk/buildinfo.go
130143
export interface BuildInfoResponse {
131144
readonly external_url: string
@@ -245,63 +258,81 @@ export interface DAUEntry {
245258
readonly amount: number
246259
}
247260

248-
// From codersdk/config.go
249-
export interface DERPConfig {
250-
readonly server: DERPServerConfig
251-
readonly config: DERPConfigConfig
252-
}
253-
254-
// From codersdk/config.go
255-
export interface DERPConfigConfig {
256-
readonly url: string
257-
readonly path: string
258-
}
259-
260261
// From codersdk/workspaceagents.go
261262
export interface DERPRegion {
262263
readonly preferred: boolean
263264
readonly latency_ms: number
264265
}
265266

266-
// From codersdk/config.go
267-
export interface DERPServerConfig {
268-
readonly enabled: boolean
269-
readonly region_id: number
270-
readonly region_code: string
271-
readonly region_name: string
272-
readonly stun_address: string[]
273-
readonly relay_address: string
274-
}
275-
276-
// From codersdk/config.go
277-
export interface DeploymentConfig {
278-
readonly access_url: string
279-
readonly wildcard_access_url: string
280-
readonly address: string
281-
// This is likely an enum in an external package ("time.Duration")
282-
readonly autobuild_poll_interval: number
283-
readonly derp: DERPConfig
284-
readonly prometheus: PrometheusConfig
285-
readonly pprof: PprofConfig
286-
readonly cache_dir: string
287-
readonly in_memory_database: boolean
288-
readonly provisioner_daemon_count: number
289-
readonly oauth2_github: OAuth2GithubConfig
290-
readonly oidc: OIDCConfig
291-
readonly telemetry: TelemetryConfig
292-
readonly tls_config: TLSConfig
293-
readonly trace_enable: boolean
294-
readonly secure_auth_cookie: boolean
295-
readonly ssh_keygen_algorithm: string
296-
readonly auto_import_templates: string[]
267+
// From codersdk/flags.go
268+
export interface DeploymentFlags {
269+
readonly access_url: StringFlag
270+
readonly wildcard_access_url: StringFlag
271+
readonly address: StringFlag
272+
readonly autobuild_poll_interval: DurationFlag
273+
readonly derp_server_enabled: BoolFlag
274+
readonly derp_server_region_id: IntFlag
275+
readonly derp_server_region_code: StringFlag
276+
readonly derp_server_region_name: StringFlag
277+
readonly derp_server_stun_address: StringArrayFlag
278+
readonly derp_server_relay_address: StringFlag
279+
readonly derp_config_url: StringFlag
280+
readonly derp_config_path: StringFlag
281+
readonly prom_enabled: BoolFlag
282+
readonly prom_address: StringFlag
283+
readonly pprof_enabled: BoolFlag
284+
readonly pprof_address: StringFlag
285+
readonly cache_dir: StringFlag
286+
readonly in_memory_database: BoolFlag
287+
readonly provisioner_daemon_count: IntFlag
288+
readonly postgres_url: StringFlag
289+
readonly oauth2_github_client_id: StringFlag
290+
readonly oauth2_github_client_secret: StringFlag
291+
readonly oauth2_github_allowed_organizations: StringArrayFlag
292+
readonly oauth2_github_allowed_teams: StringArrayFlag
293+
readonly oauth2_github_allow_signups: BoolFlag
294+
readonly oauth2_github_enterprise_base_url: StringFlag
295+
readonly oidc_allow_signups: BoolFlag
296+
readonly oidc_client_id: StringFlag
297+
readonly oidc_client_secret: StringFlag
298+
readonly oidc_email_domain: StringFlag
299+
readonly oidc_issuer_url: StringFlag
300+
readonly oidc_scopes: StringArrayFlag
301+
readonly telemetry_enable: BoolFlag
302+
readonly telemetry_trace_enable: BoolFlag
303+
readonly telemetry_url: StringFlag
304+
readonly tls_enable: BoolFlag
305+
readonly tls_cert_files: StringArrayFlag
306+
readonly tls_client_ca_file: StringFlag
307+
readonly tls_client_auth: StringFlag
308+
readonly tls_key_files: StringArrayFlag
309+
readonly tls_min_version: StringFlag
310+
readonly trace_enable: BoolFlag
311+
readonly secure_auth_cookie: BoolFlag
312+
readonly ssh_keygen_algorithm: StringFlag
313+
readonly auto_import_templates: StringArrayFlag
314+
readonly metrics_cache_refresh_interval: DurationFlag
315+
readonly agent_stat_refresh_interval: DurationFlag
316+
readonly verbose: BoolFlag
317+
readonly audit_logging: BoolFlag
318+
readonly browser_only: BoolFlag
319+
readonly scim_auth_header: StringFlag
320+
readonly user_workspace_quota: IntFlag
321+
}
322+
323+
// From codersdk/flags.go
324+
export interface DurationFlag {
325+
readonly name: string
326+
readonly flag: string
327+
readonly env_var: string
328+
readonly shorthand: string
329+
readonly description: string
330+
readonly enterprise: boolean
331+
readonly hidden: boolean
297332
// This is likely an enum in an external package ("time.Duration")
298-
readonly metrics_cache_refresh_interval: number
333+
readonly default: number
299334
// This is likely an enum in an external package ("time.Duration")
300-
readonly agent_stat_refresh_interval: number
301-
readonly verbose: boolean
302-
readonly audit_logging: boolean
303-
readonly browser_only: boolean
304-
readonly user_workspace_quota: number
335+
readonly value: number
305336
}
306337

307338
// From codersdk/features.go
@@ -356,6 +387,19 @@ export interface Healthcheck {
356387
readonly threshold: number
357388
}
358389

390+
// From codersdk/flags.go
391+
export interface IntFlag {
392+
readonly name: string
393+
readonly flag: string
394+
readonly env_var: string
395+
readonly shorthand: string
396+
readonly description: string
397+
readonly enterprise: boolean
398+
readonly hidden: boolean
399+
readonly default: number
400+
readonly value: number
401+
}
402+
359403
// From codersdk/licenses.go
360404
export interface License {
361405
readonly id: number
@@ -387,24 +431,6 @@ export interface LoginWithPasswordResponse {
387431
readonly session_token: string
388432
}
389433

390-
// From codersdk/config.go
391-
export interface OAuth2GithubConfig {
392-
readonly client_id: string
393-
readonly allowed_organizations: string[]
394-
readonly allowed_teams: string[]
395-
readonly allow_signups: boolean
396-
readonly enterprise_base_url: string
397-
}
398-
399-
// From codersdk/config.go
400-
export interface OIDCConfig {
401-
readonly allow_signups: boolean
402-
readonly client_id: string
403-
readonly email_domain: string
404-
readonly issuer_url: string
405-
readonly scopes: string[]
406-
}
407-
408434
// From codersdk/organizations.go
409435
export interface Organization {
410436
readonly id: string
@@ -470,18 +496,6 @@ export interface PatchGroupRequest {
470496
readonly avatar_url?: string
471497
}
472498

473-
// From codersdk/config.go
474-
export interface PprofConfig {
475-
readonly enabled: boolean
476-
readonly address: string
477-
}
478-
479-
// From codersdk/config.go
480-
export interface PrometheusConfig {
481-
readonly enabled: boolean
482-
readonly address: string
483-
}
484-
485499
// From codersdk/provisionerdaemons.go
486500
export interface ProvisionerDaemon {
487501
readonly id: string
@@ -550,21 +564,31 @@ export interface ServerSentEvent {
550564
readonly data: any
551565
}
552566

553-
// From codersdk/config.go
554-
export interface TLSConfig {
555-
readonly tls_enable: boolean
556-
readonly tls_cert_files: string[]
557-
readonly tls_client_ca_file: string
558-
readonly tls_client_auth: string
559-
readonly tls_key_files: string[]
560-
readonly tls_min_version: string
567+
// From codersdk/flags.go
568+
export interface StringArrayFlag {
569+
readonly name: string
570+
readonly flag: string
571+
readonly env_var: string
572+
readonly shorthand: string
573+
readonly description: string
574+
readonly enterprise: boolean
575+
readonly hidden: boolean
576+
readonly default: string[]
577+
readonly value: string[]
561578
}
562579

563-
// From codersdk/config.go
564-
export interface TelemetryConfig {
565-
readonly enable: boolean
566-
readonly trace_enable: boolean
567-
readonly url: string
580+
// From codersdk/flags.go
581+
export interface StringFlag {
582+
readonly name: string
583+
readonly flag: string
584+
readonly env_var: string
585+
readonly shorthand: string
586+
readonly description: string
587+
readonly enterprise: boolean
588+
readonly secret: boolean
589+
readonly hidden: boolean
590+
readonly default: string
591+
readonly value: string
568592
}
569593

570594
// From codersdk/templates.go
@@ -916,6 +940,7 @@ export type ProvisionerType = "echo" | "terraform"
916940
export type ResourceType =
917941
| "api_key"
918942
| "git_ssh_key"
943+
| "group"
919944
| "organization"
920945
| "template"
921946
| "template_version"

site/src/components/CopyButton/CopyButton.tsx

+2-34
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import IconButton from "@material-ui/core/Button"
22
import { makeStyles } from "@material-ui/core/styles"
33
import Tooltip from "@material-ui/core/Tooltip"
44
import Check from "@material-ui/icons/Check"
5-
import React, { useState } from "react"
5+
import { useClipboard } from "hooks/useClipboard"
66
import { combineClasses } from "../../util/combineClasses"
77
import { FileCopyIcon } from "../Icons/FileCopyIcon"
88

@@ -30,39 +30,7 @@ export const CopyButton: React.FC<React.PropsWithChildren<CopyButtonProps>> = ({
3030
tooltipTitle = Language.tooltipTitle,
3131
}) => {
3232
const styles = useStyles()
33-
const [isCopied, setIsCopied] = useState<boolean>(false)
34-
35-
const copyToClipboard = async (): Promise<void> => {
36-
try {
37-
await window.navigator.clipboard.writeText(text)
38-
setIsCopied(true)
39-
window.setTimeout(() => {
40-
setIsCopied(false)
41-
}, 1000)
42-
} catch (err) {
43-
const input = document.createElement("input")
44-
input.value = text
45-
document.body.appendChild(input)
46-
input.focus()
47-
input.select()
48-
const result = document.execCommand("copy")
49-
document.body.removeChild(input)
50-
if (result) {
51-
setIsCopied(true)
52-
window.setTimeout(() => {
53-
setIsCopied(false)
54-
}, 1000)
55-
} else {
56-
const wrappedErr = new Error(
57-
"copyToClipboard: failed to copy text to clipboard",
58-
)
59-
if (err instanceof Error) {
60-
wrappedErr.stack = err.stack
61-
}
62-
console.error(wrappedErr)
63-
}
64-
}
65-
}
33+
const { isCopied, copy: copyToClipboard } = useClipboard(text)
6634

6735
return (
6836
<Tooltip title={tooltipTitle} placement="top">
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { makeStyles } from "@material-ui/core/styles"
2+
import Tooltip from "@material-ui/core/Tooltip"
3+
import { useClickable } from "hooks/useClickable"
4+
import { useClipboard } from "hooks/useClipboard"
5+
import React, { HTMLProps } from "react"
6+
import { combineClasses } from "util/combineClasses"
7+
8+
interface CopyableValueProps extends HTMLProps<HTMLDivElement> {
9+
value: string
10+
}
11+
12+
export const CopyableValue: React.FC<CopyableValueProps> = ({
13+
value,
14+
className,
15+
...props
16+
}) => {
17+
const { isCopied, copy } = useClipboard(value)
18+
const clickableProps = useClickable(copy)
19+
const styles = useStyles()
20+
21+
return (
22+
<Tooltip
23+
title={isCopied ? "Copied!" : "Click to copy"}
24+
placement="bottom-start"
25+
>
26+
<span
27+
{...props}
28+
{...clickableProps}
29+
className={combineClasses([styles.value, className])}
30+
/>
31+
</Tooltip>
32+
)
33+
}
34+
35+
const useStyles = makeStyles(() => ({
36+
value: {
37+
cursor: "pointer",
38+
},
39+
}))

0 commit comments

Comments
 (0)