import { Database } from '@sd/assets/icons'; import { useState } from 'react'; import { useNavigate } from 'react-router'; import { getOnboardingStore, useOnboardingStore } from '@sd/client'; import { Button } from '@sd/ui'; import { Form, Input, useZodForm, z } from '@sd/ui/src/forms'; import { OnboardingContainer, OnboardingDescription, OnboardingImg, OnboardingTitle } from './Layout'; import { useUnlockOnboardingScreen } from './Progress'; const schema = z.object({ // the regex here validates that the entire string isn't purely whitespace name: z.string().min(1, 'Name is required').regex(/[\S]/g).trim() }); export default function OnboardingNewLibrary() { const navigate = useNavigate(); const [importMode, setImportMode] = useState(false); const obStore = useOnboardingStore(); const form = useZodForm({ schema, defaultValues: { name: obStore.newLibraryName } }); useUnlockOnboardingScreen(); const onSubmit = form.handleSubmit(async (data) => { getOnboardingStore().newLibraryName = data.name; navigate('/onboarding/privacy', { replace: true }); }); const handleImport = () => { // TODO }; return (
Create a Library Libraries are a secure, on-device database. Your files remain where they are, the Library catalogs them and stores all Spacedrive related data. {importMode ? (
OR
) : ( <>
{/* OR */}
)} ); }