• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jcubic / 10xDevs / 18477736601

13 Oct 2025 08:41PM UTC coverage: 21.614% (-0.9%) from 22.496%
18477736601

push

github

jcubic
refactor into Auth into Server Actions

29 of 42 branches covered (69.05%)

Branch coverage included in aggregate %.

0 of 259 new or added lines in 6 files covered. (0.0%)

5 existing lines in 2 files now uncovered.

263 of 1309 relevant lines covered (20.09%)

1.56 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

2.27
/src/components/SignInForm.tsx
1
'use client';
1✔
2

NEW
3
import { useActionState } from 'react';
×
NEW
4
import { Button, VStack, Input, Text, Alert } from '@chakra-ui/react';
×
NEW
5
import { signInAction } from '@/app/actions/auth';
×
6

7
type FormState = {
8
  errors?: {
9
    email?: string[];
10
    password?: string[];
11
  };
12
  message?: string;
13
};
14

NEW
15
const initialState: FormState = {};
×
16

NEW
17
export default function SignInForm() {
×
NEW
18
  const [state, formAction, isPending] = useActionState(signInAction, initialState);
×
19

NEW
20
  return (
×
NEW
21
    <>
×
NEW
22
      {state.message && (
×
NEW
23
        <Alert.Root status="error" p={3}>
×
NEW
24
          <Alert.Indicator />
×
NEW
25
          <Alert.Content>
×
NEW
26
            <Alert.Description>{state.message}</Alert.Description>
×
NEW
27
          </Alert.Content>
×
NEW
28
        </Alert.Root>
×
29
      )}
30

NEW
31
      <form action={formAction} style={{ width: '100%' }}>
×
NEW
32
        <VStack gap={4} align="stretch">
×
NEW
33
          <VStack align="stretch" gap={1}>
×
NEW
34
            <Input p={3} type="email" name="email" placeholder="Email" required />
×
NEW
35
            {state.errors?.email && (
×
NEW
36
              <Text color="red.500" fontSize="sm">
×
NEW
37
                {state.errors.email[0]}
×
NEW
38
              </Text>
×
39
            )}
NEW
40
          </VStack>
×
41

NEW
42
          <VStack align="stretch" gap={1}>
×
NEW
43
            <Input
×
NEW
44
              p={3}
×
NEW
45
              type="password"
×
NEW
46
              name="password"
×
NEW
47
              placeholder="Password"
×
NEW
48
              required
×
NEW
49
            />
×
NEW
50
            {state.errors?.password && (
×
NEW
51
              <Text color="red.500" fontSize="sm">
×
NEW
52
                {state.errors.password[0]}
×
NEW
53
              </Text>
×
54
            )}
NEW
55
          </VStack>
×
56

NEW
57
          <Button type="submit" size="lg" loading={isPending}>
×
58
            Sign In
NEW
59
          </Button>
×
NEW
60
        </VStack>
×
NEW
61
      </form>
×
NEW
62
    </>
×
63
  );
NEW
64
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc