upd: redesign

Deskripsi:
- fitur ganti mode tema
- penerapan tema pada semua fitur

NO Issues
This commit is contained in:
2026-02-09 17:49:25 +08:00
parent ddfee00410
commit d3802ca26c
157 changed files with 1278 additions and 692 deletions

View File

@@ -10,6 +10,7 @@ import { apiCreateUser } from "@/lib/api";
import { validateName } from "@/lib/fun_validateName";
import { setUpdateMember } from "@/lib/memberSlice";
import { useAuthSession } from "@/providers/AuthProvider";
import { useTheme } from "@/providers/ThemeProvider";
import { MaterialCommunityIcons } from "@expo/vector-icons";
import { useHeaderHeight } from '@react-navigation/elements';
import * as ImagePicker from "expo-image-picker";
@@ -32,6 +33,7 @@ export default function CreateMember() {
const dispatch = useDispatch()
const update = useSelector((state: any) => state.memberUpdate)
const { token, decryptToken } = useAuthSession()
const { colors } = useTheme();
const [valSelect, setValSelect] = useState<"group" | "position" | "role" | "gender">("group");
const [chooseGroup, setChooseGroup] = useState({ val: "", label: "" });
const [choosePosition, setChoosePosition] = useState({ val: "", label: "" });
@@ -206,25 +208,11 @@ export default function CreateMember() {
};
return (
<SafeAreaView>
<SafeAreaView style={{ flex: 1, backgroundColor: colors.background }}>
<Stack.Screen
options={{
// headerLeft: () => (
// <ButtonBackHeader
// onPress={() => {
// router.back();
// }}
// />
// ),
headerTitle: "Tambah Anggota",
headerTitleAlign: "center",
// headerRight: () => (
// <ButtonSaveHeader
// disable={disableBtn || loading}
// category="create"
// onPress={() => { handleCreate() }}
// />
// ),
header: () => (
<AppHeader title="Anggota"
showBack={true}
@@ -241,7 +229,7 @@ export default function CreateMember() {
}}
/>
<KeyboardAvoidingView
style={[Styles.h100]}
style={[Styles.h100, { backgroundColor: colors.background }]}
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
keyboardVerticalOffset={headerHeight}
>
@@ -271,6 +259,7 @@ export default function CreateMember() {
placeholder="Pilih Lembaga Desa"
value={chooseGroup.label}
required
bg={colors.card}
onPress={() => {
setValChoose(chooseGroup.val);
setValSelect("group");
@@ -285,6 +274,7 @@ export default function CreateMember() {
placeholder="Pilih Jabatan"
value={choosePosition.label}
required
bg={colors.card}
onPress={() => {
setValChoose(choosePosition.val);
setValSelect("position");
@@ -298,6 +288,7 @@ export default function CreateMember() {
placeholder="Pilih Role"
value={chooseRole.label}
required
bg={colors.card}
onPress={() => {
setValChoose(chooseRole.val);
setValSelect("role");
@@ -311,6 +302,7 @@ export default function CreateMember() {
type="numeric"
placeholder="NIK"
required
bg={colors.card}
error={error.nik}
errorText="NIK Harus 16 Karakter"
onChange={val => {
@@ -322,6 +314,7 @@ export default function CreateMember() {
type="default"
placeholder="Nama"
required
bg={colors.card}
error={error.name}
errorText="Nama harus 350 karakter (huruf, angka, spasi, dan simbol ringan (. , ' _ -))"
onChange={val => {
@@ -333,6 +326,7 @@ export default function CreateMember() {
type="default"
placeholder="Email"
required
bg={colors.card}
error={error.email}
errorText="Email tidak valid"
onChange={val => {
@@ -344,7 +338,8 @@ export default function CreateMember() {
type="numeric"
placeholder="8XX-XXX-XXX"
required
itemLeft={<Text style={[Platform.OS === 'ios' && Styles.mt02]}>+62</Text>}
bg={colors.card}
itemLeft={<Text style={[Platform.OS === 'ios' && Styles.mt02, { color: colors.text }]}>+62</Text>}
error={error.phone}
errorText="Nomor Telepon tidak valid"
onChange={val => {
@@ -356,6 +351,7 @@ export default function CreateMember() {
placeholder="Pilih Jenis Kelamin"
value={chooseGender.label}
required
bg={colors.card}
onPress={() => {
setValChoose(chooseGender.val);
setValSelect("gender");