export const authService = {
  async login({ username, password }) {
    return (
      fetch(`${process.env.NEXT_PUBLIC_BACKEND_URL}/api/login`),
      {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: JSON.stringify({
          username,
          password,
        }),
      }.then(async(respostaDoServidor) => {
        if(!respostaDoServidor.ok) throw new Error("Usuário ou senha inválidos");
        const body = await respostaDoServidor.json();
        console.log(respostaDoServidor);
      })
    );
  }
}
e no index.js está assim:
import { useState } from 'react';
import { useRouter } from 'next/router';
import { authService } from '../src/services/auth/authService';
export default function HomeScreen() {
  const router = useRouter();
  const [values, setValues] = useState({
    usuario: "omariosouto",
    senha: "safepassword",
  });  
  function handleChange(event) {
    const fieldValue = event.target.value;
    const fieldName = event.target.name;
    setValues((currentValues) => {
      return {
        ...currentValues,
        [fieldName]: fieldValue,
      }
    })
  }
  return (
    <div>
      <h1>Login</h1>
      <form onSubmit={(event) => {
        // onSubmit => controler (pega dados de um usuário e passa para um serviço)
        // uthService => serviço
        event.preventDefault();
        authService.login({
          username: values.usuario,
          password: values.senha,
        })
        .then (() => {
          router.push('/auth-page-ssr');
          // router.push("/auth-page-static");
        })
        .catch((error) => {
          alert("usuário ou senha inválidos");
          console.log(error)
        })
      }}>
        <input
          placeholder="Usuário"
          name="usuario"
          defaultValue="omariosouto"
          value={values.usuario}
          onChange={handleChange}
        />
        <input
          placeholder="Senha"
          name="senha"
          type="password"
          defaultValue="safepassword"
          value={values.senha}
          onChange={handleChange}
        />
        {/* <pre>
          {JSON.stringify(values, null, 2)}
        </pre> */}
        <div>
          <button>Entrar</button>
        </div>
      </form>
    </div>
  );
}
 
            