@@ -4,8 +4,6 @@ import Breadcrumbs from "@components/Breadcrumbs";
44import Button from "@components/Button" ;
55import { Callout } from "@components/Callout" ;
66import Card from "@components/Card" ;
7- import FancyToggleSwitch from "@components/FancyToggleSwitch" ;
8- import FullTooltip from "@components/FullTooltip" ;
97import HelpText from "@components/HelpText" ;
108import { Input } from "@components/Input" ;
119import { Label } from "@components/Label" ;
@@ -38,12 +36,10 @@ import {
3836 FlagIcon ,
3937 Globe ,
4038 History ,
41- LockIcon ,
4239 MapPin ,
4340 MonitorSmartphoneIcon ,
4441 NetworkIcon ,
4542 PencilIcon ,
46- TerminalSquare ,
4743 TimerResetIcon ,
4844} from "lucide-react" ;
4945import { useRouter , useSearchParams } from "next/navigation" ;
@@ -66,6 +62,7 @@ import useGroupHelper from "@/modules/groups/useGroupHelper";
6662import { AccessiblePeersSection } from "@/modules/peer/AccessiblePeersSection" ;
6763import { PeerExpirationToggle } from "@/modules/peer/PeerExpirationToggle" ;
6864import { PeerNetworkRoutesSection } from "@/modules/peer/PeerNetworkRoutesSection" ;
65+ import { PeerSSHToggle } from "@/modules/peer/PeerSSHToggle" ;
6966import { RDPButton } from "@/modules/remote-access/rdp/RDPButton" ;
7067import { SSHButton } from "@/modules/remote-access/ssh/SSHButton" ;
7168
@@ -83,9 +80,8 @@ export default function PeerPage() {
8380
8481 const peerKey = useMemo ( ( ) => {
8582 let id = peer ?. id ?? "" ;
86- let ssh = peer ?. ssh_enabled ? "1" : "0" ;
8783 let expiration = peer ?. login_expiration_enabled ? "1" : "0" ;
88- return `${ id } -${ ssh } - ${ expiration } ` ;
84+ return `${ id } -${ expiration } ` ;
8985 } , [ peer ] ) ;
9086
9187 if ( isRestricted ) {
@@ -107,7 +103,7 @@ export default function PeerPage() {
107103 ) ;
108104
109105 return peer && ! isLoading ? (
110- < PeerProvider peer = { peer } key = { peerId } >
106+ < PeerProvider peer = { peer } key = { peerId } isPeerDetailPage = { true } >
111107 < PeerOverview key = { peerKey } />
112108 </ PeerProvider >
113109 ) : (
@@ -141,8 +137,7 @@ function PeerOverview() {
141137const PeerGeneralInformation = ( ) => {
142138 const router = useRouter ( ) ;
143139 const { mutate } = useSWRConfig ( ) ;
144- const { peer, user, peerGroups, openSSHDialog, update } = usePeer ( ) ;
145- const [ ssh , setSsh ] = useState ( peer . ssh_enabled ) ;
140+ const { peer, user, peerGroups, update } = usePeer ( ) ;
146141 const [ name , setName ] = useState ( peer . name ) ;
147142 const [ showEditNameModal , setShowEditNameModal ] = useState ( false ) ;
148143 const [ loginExpiration , setLoginExpiration ] = useState (
@@ -161,7 +156,6 @@ const PeerGeneralInformation = () => {
161156 * Detect if there are changes in the peer information, if there are changes, then enable the save button.
162157 */
163158 const { hasChanges, updateRef : updateHasChangedRef } = useHasChanges ( [
164- ssh ,
165159 selectedGroups ,
166160 loginExpiration ,
167161 inactivityExpiration ,
@@ -174,7 +168,6 @@ const PeerGeneralInformation = () => {
174168 if ( permission . peers . update ) {
175169 const updateRequest = update ( {
176170 name : newName ?? name ,
177- ssh,
178171 loginExpiration,
179172 inactivityExpiration,
180173 } ) ;
@@ -190,7 +183,6 @@ const PeerGeneralInformation = () => {
190183 mutate ( "/peers/" + peer . id ) ;
191184 mutate ( "/groups" ) ;
192185 updateHasChangedRef ( [
193- ssh ,
194186 selectedGroups ,
195187 loginExpiration ,
196188 inactivityExpiration ,
@@ -314,41 +306,7 @@ const PeerGeneralInformation = () => {
314306 ) }
315307 </ div >
316308
317- < FullTooltip
318- content = {
319- < div
320- className = { "flex gap-2 items-center !text-nb-gray-300 text-xs" }
321- >
322- < LockIcon size = { 14 } />
323- < span >
324- { `You don't have the required permissions to update this
325- setting.` }
326- </ span >
327- </ div >
328- }
329- interactive = { false }
330- className = { "w-full block" }
331- disabled = { permission . peers . update }
332- >
333- < FancyToggleSwitch
334- value = { ssh }
335- disabled = { ! permission . peers . update }
336- onChange = { ( set ) =>
337- ! set
338- ? setSsh ( false )
339- : openSSHDialog ( ) . then ( ( confirm ) => setSsh ( confirm ) )
340- }
341- label = {
342- < >
343- < TerminalSquare size = { 16 } />
344- SSH Access
345- </ >
346- }
347- helpText = {
348- "Enable the SSH server on this peer to access the machine via an secure shell."
349- }
350- />
351- </ FullTooltip >
309+ < PeerSSHToggle />
352310
353311 { /* Remote Access Buttons */ }
354312 < div >
0 commit comments