import React from "react";
import { createStackNavigator } from "@react-navigation/stack";
import { NavigationContainer } from "@react-navigation/native";
import Masuk from "../screens/masuk"; // Halaman login
import Daftar from "../screens/daftar"; // Halaman daftar
import DaftarBerhasil from "../screens/DaftarBerhasil"; // Halaman pendaftaran berhasil
import LupaSandi from "../screens/password/lupasandi"; // Halaman lupa sandi
import ResetSandi from "../screens/password/InputContact"; // Halaman reset sandi
import NotifikasiSukses from "../screens/password/notifikasisukses"; // Halaman notifikasi sukses

// Membuat Stack Navigators
const Stack = createStackNavigator();
const DaftarStack = createStackNavigator(); // Untuk halaman Daftar
const LupaSandiStack = createStackNavigator(); // Untuk halaman Lupa Sandi

// DaftarSekarangStackScreen: Mengatur navigasi untuk pendaftaran
function DaftarSekarangStackScreen() {
  return (
    <DaftarStack.Navigator>
      <DaftarStack.Screen
        name="Daftar"
        component={Daftar}
        options={{ headerShown: false }}
      />
      <DaftarStack.Screen
        name="DaftarBerhasil"
        component={DaftarBerhasil}
        options={{ headerShown: false }}
      />
    </DaftarStack.Navigator>
  );
}

// LupaKataSandiStackScreen: Mengatur navigasi untuk lupa kata sandi
function LupaKataSandiStackScreen() {
  return (
    <LupaSandiStack.Navigator>
      <LupaSandiStack.Screen
        name="LupaSandi"
        component={LupaSandi}
        options={{ headerShown: false }}
      />
      <LupaSandiStack.Screen
        name="ResetSandi"
        component={ResetSandi}
        options={{ headerShown: false }}
      />
      <LupaSandiStack.Screen
        name="NotifikasiSukses"
        component={NotifikasiSukses}
        options={{ headerShown: false }}
      />
    </LupaSandiStack.Navigator>
  );
}

// Navigasi utama untuk Akses Warga
export default function DaftarNavigation() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        {/* Halaman Masuk */}
        <Stack.Screen
          name="Masuk"
          component={Masuk}
          options={{ headerShown: false }}
        />

        {/* Nested Navigators */}
        <Stack.Screen
          name="DaftarSekarangStackScreen"
          component={DaftarSekarangStackScreen}
          options={{ headerShown: false }}
        />
        <Stack.Screen
          name="LupaKataSandiStackScreen"
          component={LupaKataSandiStackScreen}
          options={{ headerShown: false }}
        />
      </Stack.Navigator>
    </NavigationContainer>
  );
}
