import { auth, useLibraryContext, useLibraryMutation, useLibraryQuery } from '@sd/client'; import { Button } from '@sd/ui'; import { AuthRequiredOverlay } from '~/components/AuthRequiredOverlay'; import { LoginButton } from '~/components/LoginButton'; import { useRouteTitle } from '~/hooks'; export const Component = () => { useRouteTitle('Cloud'); const authState = auth.useStateSnapshot(); const authSensitiveChild = () => { if (authState.status === 'loggedIn') return ; if (authState.status === 'notLoggedIn' || authState.status === 'loggingIn') return ; return null; }; return (
{authSensitiveChild()}
); }; function Authenticated() { const { library } = useLibraryContext(); const cloudLibrary = useLibraryQuery(['cloud.library.get'], { suspense: true, retry: false }); const createLibrary = useLibraryMutation(['cloud.library.create']); const thisInstance = cloudLibrary.data?.instances.find( (instance) => instance.uuid === library.instance_id ); return ( <> {cloudLibrary.data ? (

Library

Name: {cloudLibrary.data.name}

{thisInstance && (

This Instance

Id: {thisInstance.id}

UUID: {thisInstance.uuid}

Public Key: {thisInstance.identity}

)}

Instances

    {cloudLibrary.data.instances .filter((instance) => instance.uuid !== library.instance_id) .map((instance) => (
  • Id: {instance.id}

    UUID: {instance.uuid}

    Public Key: {instance.identity}

  • ))}
) : (
)} ); }