"use client"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { InfoIcon, ShieldCheck, ShieldOff } from "lucide-react"; import { useResourceContext } from "@app/hooks/useResourceContext"; import CopyToClipboard from "@app/components/CopyToClipboard"; import { InfoSection, InfoSectionContent, InfoSections, InfoSectionTitle } from "@app/components/InfoSection"; import { useEnvContext } from "@app/hooks/useEnvContext"; import { useDockerSocket } from "@app/hooks/useDockerSocket"; import { useTranslations } from "next-intl"; import { AxiosResponse } from "axios"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { RotateCw } from "lucide-react"; import { createApiClient } from "@app/lib/api"; type ResourceInfoBoxType = {}; export default function ResourceInfoBox({}: ResourceInfoBoxType) { const { resource, authInfo, site } = useResourceContext(); const api = createApiClient(useEnvContext()); const { isEnabled, isAvailable } = useDockerSocket(site!); const t = useTranslations(); let fullUrl = `${resource.ssl ? "https" : "http"}://${resource.fullDomain}`; return ( {t('resourceInfo')} {resource.http ? ( <> {t('authentication')} {authInfo.password || authInfo.pincode || authInfo.sso || authInfo.whitelist ? (
{t('protected')}
) : (
{t('notProtected')}
)}
URL {t('site')} {resource.siteName} {/* {isEnabled && ( Socket {isAvailable ? (
Online
) : (
Offline
)}
)} */} ) : ( <> {t('protocol')} {resource.protocol.toUpperCase()} {t('port')} )} {t('visibility')} {resource.enabled ? t('enabled') : t('disabled')}
); }