Skip to content

Commit 4c5e6b3

Browse files
authored
minor: use the docLinks we already have to do the model docs links (#3050)
use the docLinks we already have to do the model docs links
1 parent 1a10153 commit 4c5e6b3

File tree

10 files changed

+37
-46
lines changed

10 files changed

+37
-46
lines changed

app/forms/disk-create.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ import { useProjectSelector } from '~/hooks/use-params'
3636
import { addToast } from '~/stores/toast'
3737
import { FormDivider } from '~/ui/lib/Divider'
3838
import { FieldLabel } from '~/ui/lib/FieldLabel'
39-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
39+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
4040
import { Radio } from '~/ui/lib/Radio'
4141
import { RadioGroup } from '~/ui/lib/RadioGroup'
4242
import { Slash } from '~/ui/lib/Slash'
4343
import { toLocaleDateString } from '~/util/date'
44-
import { links } from '~/util/links'
44+
import { docLinks } from '~/util/links'
4545
import { diskSizeNearest10 } from '~/util/math'
4646
import { bytesToGiB, GiB } from '~/util/units'
4747

@@ -224,9 +224,7 @@ export function CreateDiskSideModalForm({
224224
areImagesLoading={areImagesLoading}
225225
/>
226226
<FormDivider />
227-
<ModalLinks heading="Relevant docs">
228-
<ModalLink to={links.disksDocs} label="Disks and Snapshots" />
229-
</ModalLinks>
227+
<SideModalFormDocs docs={[docLinks.disks]} />
230228
</SideModalForm>
231229
)
232230
}

app/forms/floating-ip-create.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import { titleCrumb } from '~/hooks/use-crumbs'
2828
import { useProjectSelector } from '~/hooks/use-params'
2929
import { addToast } from '~/stores/toast'
3030
import { FormDivider } from '~/ui/lib/Divider'
31-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
31+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
3232
import { ALL_ISH } from '~/util/consts'
33-
import { links } from '~/util/links'
33+
import { docLinks } from '~/util/links'
3434
import { pb } from '~/util/path-builder'
3535

3636
const poolList = q(api.projectIpPoolList, { query: { limit: ALL_ISH } })
@@ -100,9 +100,7 @@ export default function CreateFloatingIpSideModalForm() {
100100
<DescriptionField name="description" control={form.control} />
101101
<IpPoolSelector control={form.control} poolFieldName="pool" pools={unicastPools} />
102102
<FormDivider />
103-
<ModalLinks heading="Relevant docs">
104-
<ModalLink to={links.floatingIpsDocs} label="Floating IPs" />
105-
</ModalLinks>
103+
<SideModalFormDocs docs={[docLinks.floatingIps]} />
106104
</SideModalForm>
107105
)
108106
}

app/forms/ip-pool-create.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import { titleCrumb } from '~/hooks/use-crumbs'
2020
import { addToast } from '~/stores/toast'
2121
import { FormDivider } from '~/ui/lib/Divider'
2222
import { Message } from '~/ui/lib/Message'
23-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
24-
import { links } from '~/util/links'
23+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
24+
import { docLinks } from '~/util/links'
2525
import { pb } from '~/util/path-builder'
2626

2727
type IpPoolCreateForm = SetRequired<IpPoolCreate, 'poolType' | 'ipVersion'>
@@ -87,9 +87,7 @@ export default function CreateIpPoolSideModalForm() {
8787
]}
8888
/>
8989
<FormDivider />
90-
<ModalLinks heading="Relevant docs">
91-
<ModalLink to={links.systemIpPoolsDocs} label="IP Pools" />
92-
</ModalLinks>
90+
<SideModalFormDocs docs={[docLinks.systemIpPools]} />
9391
</SideModalForm>
9492
)
9593
}

app/forms/ip-pool-range-add.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ import { useIpPoolSelector } from '~/hooks/use-params'
2626
import { addToast } from '~/stores/toast'
2727
import { FormDivider } from '~/ui/lib/Divider'
2828
import { Message } from '~/ui/lib/Message'
29-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
29+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
3030
import { parseIp } from '~/util/ip'
31-
import { links } from '~/util/links'
31+
import { docLinks } from '~/util/links'
3232
import { pb } from '~/util/path-builder'
3333

3434
const defaultValues: IpRange = {
@@ -141,9 +141,7 @@ export default function IpPoolAddRange() {
141141
required
142142
/>
143143
<FormDivider />
144-
<ModalLinks heading="Relevant docs">
145-
<ModalLink to={links.systemIpPoolsDocs} label="IP Pools" />
146-
</ModalLinks>
144+
<SideModalFormDocs docs={[docLinks.systemIpPools]} />
147145
</SideModalForm>
148146
)
149147
}

app/forms/vpc-create.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import { titleCrumb } from '~/hooks/use-crumbs'
1919
import { useProjectSelector } from '~/hooks/use-params'
2020
import { addToast } from '~/stores/toast'
2121
import { FormDivider } from '~/ui/lib/Divider'
22-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
23-
import { links } from '~/util/links'
22+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
23+
import { docLinks } from '~/util/links'
2424
import { pb } from '~/util/path-builder'
2525

2626
const defaultValues: VpcCreate = {
@@ -67,9 +67,7 @@ export default function CreateVpcSideModalForm() {
6767
<NameField name="dnsName" label="DNS name" control={form.control} />
6868
<TextField name="ipv6Prefix" label="IPV6 prefix" control={form.control} />
6969
<FormDivider />
70-
<ModalLinks heading="Relevant docs">
71-
<ModalLink to={links.vpcsDocs} label="Networking" />
72-
</ModalLinks>
70+
<SideModalFormDocs docs={[docLinks.vpcs]} />
7371
</SideModalForm>
7472
)
7573
}

app/forms/vpc-router-create.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { titleCrumb } from '~/hooks/use-crumbs'
1818
import { useVpcSelector } from '~/hooks/use-params'
1919
import { addToast } from '~/stores/toast'
2020
import { FormDivider } from '~/ui/lib/Divider'
21-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
22-
import { links } from '~/util/links'
21+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
22+
import { docLinks } from '~/util/links'
2323
import { pb } from '~/util/path-builder'
2424

2525
const defaultValues: VpcRouterCreate = {
@@ -59,9 +59,7 @@ export default function RouterCreate() {
5959
<NameField name="name" control={form.control} />
6060
<DescriptionField name="description" control={form.control} />
6161
<FormDivider />
62-
<ModalLinks heading="Relevant docs">
63-
<ModalLink to={links.customRoutersDocs} label="Custom Routers" />
64-
</ModalLinks>
62+
<SideModalFormDocs docs={[docLinks.routers]} />
6563
</SideModalForm>
6664
)
6765
}

app/forms/vpc-router-route-common.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ import { TextField } from '~/components/form/fields/TextField'
2626
import { useVpcRouterSelector } from '~/hooks/use-params'
2727
import { toComboboxItems } from '~/ui/lib/Combobox'
2828
import { Message } from '~/ui/lib/Message'
29-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
29+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
3030
import { ALL_ISH } from '~/util/consts'
3131
import { validateIp, validateIpNet } from '~/util/ip'
32-
import { links } from '~/util/links'
32+
import { docLinks } from '~/util/links'
3333

3434
export type RouteFormValues =
3535
| RouterRouteCreate
@@ -223,8 +223,5 @@ export const RouteFormFields = ({ form, disabled }: RouteFormFieldsProps) => {
223223
}
224224

225225
export const RouteFormDocs = () => (
226-
<ModalLinks heading="Relevant docs">
227-
<ModalLink to={links.routesDocs} label="VPC Subnet Routing" />
228-
<ModalLink to={links.gatewaysDocs} label="Internet Gateways" />
229-
</ModalLinks>
226+
<SideModalFormDocs docs={[docLinks.routes, docLinks.gateways]} />
230227
)

app/pages/project/disks/DiskDetailSideModal.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import { DiskStateBadge, DiskTypeBadge } from '~/components/StateBadge'
1616
import { titleCrumb } from '~/hooks/use-crumbs'
1717
import { getDiskSelector, useDiskSelector } from '~/hooks/use-params'
1818
import { FormDivider } from '~/ui/lib/Divider'
19-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
19+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
2020
import { PropertiesTable } from '~/ui/lib/PropertiesTable'
2121
import { ResourceLabel } from '~/ui/lib/SideModal'
22-
import { links } from '~/util/links'
22+
import { docLinks } from '~/util/links'
2323
import { pb } from '~/util/path-builder'
2424
import type * as PP from '~/util/path-params'
2525
import { bytesToGiB } from '~/util/units'
@@ -96,9 +96,7 @@ export function DiskDetailSideModal({
9696
<PropertiesTable.DateRow label="Last Modified" date={disk.timeModified} />
9797
</PropertiesTable>
9898
<FormDivider />
99-
<ModalLinks heading="Relevant docs">
100-
<ModalLink to={links.disksDocs} label="Disks and Snapshots" />
101-
</ModalLinks>
99+
<SideModalFormDocs docs={[docLinks.disks]} />
102100
</ReadOnlySideModalForm>
103101
)
104102
}

app/pages/project/vpcs/internet-gateway-edit.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ import { IpPoolCell } from '~/table/cells/IpPoolCell'
1919
import { CopyableIp } from '~/ui/lib/CopyableIp'
2020
import { FormDivider } from '~/ui/lib/Divider'
2121
import { Message } from '~/ui/lib/Message'
22-
import { ModalLink, ModalLinks } from '~/ui/lib/ModalLinks'
22+
import { SideModalFormDocs } from '~/ui/lib/ModalLinks'
2323
import { PropertiesTable } from '~/ui/lib/PropertiesTable'
2424
import { ResourceLabel, SideModal } from '~/ui/lib/SideModal'
2525
import { Table } from '~/ui/lib/Table'
26-
import { links } from '~/util/links'
26+
import { docLinks } from '~/util/links'
2727
import { pb } from '~/util/path-builder'
2828
import type * as PP from '~/util/path-params'
2929

@@ -202,9 +202,7 @@ export default function EditInternetGatewayForm() {
202202
</div>
203203

204204
<FormDivider />
205-
<ModalLinks heading="Relevant docs">
206-
<ModalLink to={links.gatewaysDocs} label="Internet Gateways" />
207-
</ModalLinks>
205+
<SideModalFormDocs docs={[docLinks.gateways]} />
208206
</ReadOnlySideModalForm>
209207
)
210208
}

app/ui/lib/ModalLinks.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,13 @@ export const ModalLink = ({ to, label }: { to: string; label: string }) => (
3636
</a>
3737
</li>
3838
)
39+
40+
type DocLink = { href: string; linkText: string }
41+
42+
export const SideModalFormDocs = ({ docs }: { docs: DocLink[] }) => (
43+
<ModalLinks heading="Relevant docs">
44+
{docs.map(({ href, linkText }) => (
45+
<ModalLink key={href} to={href} label={linkText} />
46+
))}
47+
</ModalLinks>
48+
)

0 commit comments

Comments
 (0)