diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2adcdcc5a02..e2c62766280 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,17 @@ This file is a running track of new features and fixes to each version of the pa
This project follows [Semantic Versioning](http://semver.org) guidelines.
+## v3.6.0-beta
+
+### Fixed
+
+- IPv6 addresses wouldn't display in client area settings
+- Confusing "account password" placeholder when creating a server in the admin area
+
+### Added
+
+- Ability to view IP addresses of a server on the dashboard in the client area
+
## v3.5.1-beta
### Added
diff --git a/resources/scripts/components/admin/servers/CreateServerModal.tsx b/resources/scripts/components/admin/servers/CreateServerModal.tsx
index 8f3207c7432..dbd14e56a5f 100644
--- a/resources/scripts/components/admin/servers/CreateServerModal.tsx
+++ b/resources/scripts/components/admin/servers/CreateServerModal.tsx
@@ -173,7 +173,6 @@ const CreateServerModal = ({ nodeId, userId, open, onClose }: Props) => {
{
+ const server = ServerContext.useStoreState(state => state.server.data!)
+
+ const addresses = useMemo(
+ () => [...server.limits.addresses.ipv4, ...server.limits.addresses.ipv6],
+ [server.limits.addresses]
+ )
+
+ return (
+
+
Network
+
+
+
IP Addresses
+ {addresses.length === 0 ? (
+
There are no addresses associated with this server.
+ ) : (
+
+ {addresses.map(ip => (
+
+
+
Address
+
+ {ip.address}/{ip.cidr}
+
+
+
+
Gateway
+
{ip.gateway}
+
+
+
Mac Address
+
{ip.macAddress || 'None'}
+
+
+ ))}
+
+ )}
+
+
+
+ )
+}
+
+export default ServerNetworkBlock
diff --git a/resources/scripts/components/servers/overview/ServerOverviewContainer.tsx b/resources/scripts/components/servers/overview/ServerOverviewContainer.tsx
index 09c6129d242..aa6c3e6748c 100644
--- a/resources/scripts/components/servers/overview/ServerOverviewContainer.tsx
+++ b/resources/scripts/components/servers/overview/ServerOverviewContainer.tsx
@@ -1,5 +1,6 @@
import ServerAdminBlock from '@/components/servers/overview/ServerAdminBlock'
import ServerDetailsBlock from '@/components/servers/overview/ServerDetailsBlock'
+import ServerNetworkBlock from '@/components/servers/overview/ServerNetworkBlock'
import ServerPowerBlock from '@/components/servers/overview/ServerPowerBlock'
import ServerTerminalBlock from '@/components/servers/overview/ServerTerminalBlock'
import ServerContentBlock from '@/components/servers/ServerContentBlock'
@@ -13,6 +14,7 @@ const ServerOverviewContainer = () => {
+
{rootAdmin && }
diff --git a/resources/scripts/components/servers/settings/HardwareContainer.tsx b/resources/scripts/components/servers/settings/HardwareContainer.tsx
index 599f620b9d6..928c9c3f121 100644
--- a/resources/scripts/components/servers/settings/HardwareContainer.tsx
+++ b/resources/scripts/components/servers/settings/HardwareContainer.tsx
@@ -9,24 +9,10 @@ import { bytesToString } from '@/util/helpers'
import useFlash from '@/util/useFlash'
import useNotify from '@/util/useNotify'
import { useFormik } from 'formik'
-import { useEffect, useMemo, useState } from 'react'
-import useSWR from 'swr'
import * as yup from 'yup'
-import { DndContext, DragEndEvent } from '@dnd-kit/core'
-import { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'
-import SortableItem, { ChildrenPropsWithHandle } from '@/components/elements/dnd/SortableItem'
-//@ts-ignore
-import DragVerticalIcon from '@/assets/images/icons/drag-vertical.svg'
-
-import { restrictToVerticalAxis, restrictToWindowEdges } from '@dnd-kit/modifiers'
-import MessageBox from '@/components/elements/MessageBox'
-import { PlusIcon, XMarkIcon } from '@heroicons/react/20/solid'
-import FlashMessageRender from '@/components/elements/FlashMessageRenderer'
-import updateBootOrder from '@/api/server/settings/updateBootOrder'
-import { Disk } from '@/api/server/useServerDetails'
-import { Badge } from '@mantine/core'
import MediaContainer from '@/components/servers/settings/MediaContainer'
import BootOrderContainer from '@/components/servers/settings/BootOrderContainer'
+import { useMemo } from 'react'
const HardwareContainer = () => {
const server = ServerContext.useStoreState(state => state.server.data!)
@@ -52,6 +38,11 @@ const HardwareContainer = () => {
},
})
+ const addresses = useMemo(() => [
+ ...server.limits.addresses.ipv4,
+ ...server.limits.addresses.ipv6,
+ ], [server.limits.addresses])
+
return (
<>
@@ -88,12 +79,11 @@ const HardwareContainer = () => {