Untitled

 avatar
unknown
dart
6 months ago
12 kB
5
Indexable
SingleChildScrollView(
          child: Column(
            children: [
              Container(
                color: AppColors.bgWhite,
                width: double.infinity,
                child: Column(
                  children: [
                    Padding(
                      padding: const EdgeInsets.only(top: 50, bottom: 40),
                      child: Image.asset(
                        AppAssets.guLogo,
                        width: 240,
                      ),
                    ),
                    // ini containernya
                    Container(
                      width: double.infinity,
                      height: 30,
                      decoration: const BoxDecoration(
                        color: AppColors.mainBlue,
                        borderRadius: BorderRadius.only(
                          topLeft: Radius.circular(22),
                          topRight: Radius.circular(22),
                        ),
                      ),
                    )
                  ],
                ),
              ),
              Padding(
                padding: const EdgeInsets.only(
                  top: 10,
                  left: AppConstants.pagePadding,
                  right: AppConstants.pagePadding,
                ),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    const Text(
                      "Selamat Datang\ndi eLearning GreatEdu",
                      style: TextStyle(
                        fontSize: 20,
                        color: Colors.white,
                        fontWeight: FontWeight.w400,
                      ),
                    ),
                    DView.height(14),
                    const Text(
                      "Buat akun dan dapatkan semua materi sekolah yang kamu butuhkan",
                      style: TextStyle(
                        fontSize: 14,
                        color: Colors.white,
                      ),
                    ),
                    DView.height(30),
                    Form(
                      key: formKey,
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              const Text(
                                "Nama Lengkap",
                                style: TextStyle(
                                  fontSize: 16,
                                  color: Colors.white,
                                ),
                              ),
                              DView.height(3),
                              DInput(
                                controller: etNama,
                                fillColor: AppColors.bgWhite,
                                hint: 'Nama lengkap',
                                radius: BorderRadius.circular(8),
                                validator: (input) =>
                                    input == '' ? "Wajib diisi" : null,
                              ),
                            ],
                          ),
                          DView.height(14),
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              const Text(
                                "Password",
                                style: TextStyle(
                                  fontSize: 16,
                                  color: Colors.white,
                                ),
                              ),
                              DView.height(3),
                              DInputPassword(
                                controller: etPassword,
                                fillColor: AppColors.bgWhite,
                                hint: 'Password',
                                radius: BorderRadius.circular(8),
                                validator: (input) =>
                                    input == '' ? "Wajib diisi" : null,
                              ),
                            ],
                          ),
                          DView.height(14),
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              const Text(
                                "NISN",
                                style: TextStyle(
                                  fontSize: 16,
                                  color: Colors.white,
                                ),
                              ),
                              DView.height(3),
                              DInput(
                                controller: etNisn,
                                fillColor: AppColors.bgWhite,
                                hint: 'NISN',
                                radius: BorderRadius.circular(8),
                                validator: (input) =>
                                    input == '' ? "Wajib diisi" : null,
                              ),
                            ],
                          ),
                          DView.height(14),
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              const Text(
                                "Kelas",
                                style: TextStyle(
                                  fontSize: 16,
                                  color: Colors.white,
                                ),
                              ),
                              DView.height(3),
                              DropdownButtonFormField<int>(
                                value: selectedKelas,
                                hint: const Text("Pilih kelas"),
                                decoration: InputDecoration(
                                  filled: true,
                                  fillColor: AppColors.bgWhite,
                                  contentPadding: const EdgeInsets.symmetric(
                                      vertical: 10, horizontal: 12),
                                  border: OutlineInputBorder(
                                    borderRadius: BorderRadius.circular(10),
                                    borderSide: BorderSide.none,
                                  ),
                                ),
                                items: AppConstants.kelasList.map((kelas) {
                                  return DropdownMenuItem<int>(
                                    value: kelas['value'],
                                    child: Text(kelas['text']),
                                  );
                                }).toList(),
                                onChanged: (int? newValue) {
                                  setState(() {
                                    selectedKelas = newValue;
                                  });
                                },
                                validator: (value) => value == null
                                    ? "Wajib memilih kelas"
                                    : null,
                              ),
                            ],
                          ),
                          DView.height(14),
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              const Text(
                                "Kode Sekolah",
                                style: TextStyle(
                                  fontSize: 16,
                                  color: Colors.white,
                                ),
                              ),
                              DView.height(3),
                              DInput(
                                controller: etKodeSekolah,
                                fillColor: AppColors.bgWhite,
                                hint: 'Kode sekolah',
                                radius: BorderRadius.circular(8),
                                validator: (input) =>
                                    input == '' ? "Wajib diisi" : null,
                              ),
                            ],
                          ),
                          DView.height(20),
                          SizedBox(
                            width: double.infinity,
                            child: ElevatedButton(
                              onPressed: () => execute(),
                              style: ElevatedButton.styleFrom(
                                backgroundColor: AppColors.btnYellow,
                                padding: const EdgeInsets.symmetric(
                                  vertical: 14,
                                ),
                                shape: RoundedRectangleBorder(
                                  borderRadius: BorderRadius.circular(
                                      8), // Border radius yang sama
                                ),
                              ),
                              child: const Text(
                                'Buat Akun',
                                style: TextStyle(
                                  color: Colors.white,
                                  fontSize: 16, // Ukuran teks
                                  fontWeight: FontWeight.bold,
                                ),
                              ),
                            ),
                          ),
                          DView.height(8),
                          Row(
                            mainAxisAlignment: MainAxisAlignment.center,
                            children: [
                              const Text(
                                "Sudah punya akun? ",
                                style: TextStyle(
                                  color: Colors.white,
                                  fontSize: 14,
                                ),
                              ),
                              GestureDetector(
                                onTap: () {
                                  Navigator.push(
                                    context,
                                    MaterialPageRoute(
                                        builder: (context) =>
                                            const LoginPage()),
                                  );
                                },
                                child: const Text(
                                  "Login disini",
                                  style: TextStyle(
                                    color: Colors.white,
                                    fontWeight: FontWeight.bold,
                                    fontSize: 14,
                                  ),
                                ),
                              ),
                            ],
                          ),
                          DView.height(20),
                          const Center(
                            child: Text(
                              AppConstants.copyright,
                              style: TextStyle(
                                fontSize: 12,
                                color: Colors.white,
                              ),
                            ),
                          ),
                          DView.height(8),
                        ],
                      ),
                    )
                  ],
                ),
              ),
            ],
          ),
        ),
Editor is loading...
Leave a Comment