346 lines
25 KiB
PHP
346 lines
25 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('content')
|
|
|
|
<style>
|
|
.page-container { padding: 28px 32px; background: #f1f5f9; min-height: 100vh; font-family: 'Figtree', 'Segoe UI', sans-serif; }
|
|
.header-flex { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 28px; }
|
|
.main-grid { display: grid; grid-template-columns: 1fr 300px; gap: 24px; align-items: flex-start; }
|
|
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
|
|
.form-actions { border-top: 1px solid #f1f5f9; padding-top: 24px; display: flex; justify-content: space-between; align-items: center; }
|
|
|
|
@media (max-width: 768px) {
|
|
.page-container { padding: 16px 12px !important; }
|
|
.header-flex { flex-direction: column !important; gap: 16px !important; align-items: flex-start !important; }
|
|
.main-grid { grid-template-columns: 1fr !important; }
|
|
.form-grid { grid-template-columns: 1fr !important; gap: 15px !important; }
|
|
.form-actions { flex-direction: column !important; gap: 16px !important; align-items: flex-start !important; }
|
|
.form-actions a, .form-actions button { width: 100% !important; justify-content: center; }
|
|
}
|
|
</style>
|
|
|
|
<div class="page-container">
|
|
|
|
{{-- HEADER --}}
|
|
<div class="header-flex">
|
|
<div>
|
|
<div style="display:flex; align-items:center; gap:8px; margin-bottom:8px;">
|
|
<div style="width:24px; height:2px; background:#3b82f6;"></div>
|
|
<p style="font-size:11px; font-weight:700; color:#3b82f6; letter-spacing:1px; margin:0; text-transform:uppercase;">
|
|
Panel Kendali Sistem
|
|
</p>
|
|
</div>
|
|
<h1 style="font-size:28px; font-weight:800; color:#0f172a; margin:0 0 4px;">
|
|
Edit Pengguna
|
|
</h1>
|
|
<p style="margin:0; color:#64748b; font-size:13px;">
|
|
Ubah informasi akun dan hak akses pengguna
|
|
</p>
|
|
</div>
|
|
|
|
<div style="display:flex; align-items:center; gap:12px;">
|
|
<a href="{{ route('admin.superadmin.user.index') }}"
|
|
style="background:#fff; border:1px solid #e2e8f0; padding:8px 16px; border-radius:999px; font-size:12px; font-weight:600; color:#475569; text-decoration:none; display:flex; align-items:center; gap:6px;">
|
|
<svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
<path d="M19 12H5M12 5l-7 7 7 7"/>
|
|
</svg>
|
|
Kembali ke Daftar
|
|
</a>
|
|
<div style="background:#fef3c7; color:#b45309; border:1px solid #fde68a; padding:8px 16px; border-radius:999px; font-size:11px; font-weight:800; display:flex; align-items:center; gap:6px; letter-spacing:0.5px;">
|
|
<svg width="12" height="12" fill="currentColor" viewBox="0 0 24 24">
|
|
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
|
|
</svg>
|
|
SUPER ADMIN
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if(session('success'))
|
|
<div style="margin-bottom:20px; padding:14px 18px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:12px; color:#15803d; font-size:14px; font-weight:600; display:flex; align-items:center; gap:8px;">
|
|
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>
|
|
{{ session('success') }}
|
|
</div>
|
|
@endif
|
|
@if(session('error'))
|
|
<div style="margin-bottom:20px; padding:14px 18px; background:#fff1f2; border:1px solid #fecdd3; border-radius:12px; color:#be123c; font-size:14px; font-weight:600; display:flex; align-items:center; gap:8px;">
|
|
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>
|
|
{{ session('error') }}
|
|
</div>
|
|
@endif
|
|
@if ($errors->any())
|
|
<div style="margin-bottom:20px; padding:14px 18px; background:#fff1f2; border:1px solid #fecdd3; border-radius:12px;">
|
|
<p style="font-weight:700; color:#be123c; margin:0 0 8px; font-size:13px;">Terdapat kesalahan input:</p>
|
|
<ul style="margin:0; padding-left:18px; color:#be123c; font-size:13px;">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="main-grid">
|
|
|
|
{{-- LEFT SIDEBAR --}}
|
|
<div>
|
|
{{-- Profile Card --}}
|
|
<div style="background:#fff; border-radius:16px; border:1px solid #e2e8f0; overflow:hidden; margin-bottom:16px; box-shadow:0 4px 6px -1px rgba(0,0,0,0.05);">
|
|
{{-- Gradient Top --}}
|
|
<div style="background: linear-gradient(135deg, #2563eb 0%, #6366f1 100%); padding:32px 20px; text-align:center; position:relative;">
|
|
|
|
@php
|
|
$initials = strtoupper(substr($user->name, 0, 2));
|
|
@endphp
|
|
<div style="width:72px; height:72px; background:rgba(255,255,255,0.2); border:2px solid rgba(255,255,255,0.4); border-radius:20px; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:24px; margin:0 auto 16px; box-shadow:0 4px 12px rgba(0,0,0,0.1); backdrop-filter:blur(4px);">
|
|
{{ $initials }}
|
|
</div>
|
|
|
|
<h2 style="margin:0 0 4px; color:#fff; font-size:18px; font-weight:700;">{{ $user->name }}</h2>
|
|
<p style="margin:0 0 16px; color:#e0e7ff; font-size:12px;">{{ $user->email ?? $user->username }}</p>
|
|
|
|
<div style="display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,0.2); padding:6px 14px; border-radius:999px; border:1px solid rgba(255,255,255,0.3); color:#fff; font-size:10px; font-weight:800; letter-spacing:0.5px;">
|
|
<svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
|
|
{{ strtoupper($user->role) }}
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Stats List --}}
|
|
<div style="padding:16px;">
|
|
<div style="display:flex; align-items:center; gap:12px; padding:12px; background:#f8fafc; border-radius:12px; border:1px solid #f1f5f9; margin-bottom:12px;">
|
|
<div style="color:#64748b;"><svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div>
|
|
<div>
|
|
<div style="font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px;">User ID</div>
|
|
<div style="font-size:13px; font-weight:700; color:#0f172a;">#{{ $user->id }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display:flex; align-items:center; gap:12px; padding:12px; background:#f8fafc; border-radius:12px; border:1px solid #f1f5f9; margin-bottom:12px;">
|
|
<div style="color:#10b981;"><svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
|
|
<div>
|
|
<div style="font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px;">Total Aktivitas</div>
|
|
<div style="font-size:13px; font-weight:700; color:#0f172a;">{{ $user->activities_count ?? 0 }} kegiatan</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display:flex; align-items:center; gap:12px; padding:12px; background:#f8fafc; border-radius:12px; border:1px solid #f1f5f9; margin-bottom:12px;">
|
|
<div style="color:#8b5cf6;"><svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div>
|
|
<div>
|
|
<div style="font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px;">Bergabung</div>
|
|
<div style="font-size:13px; font-weight:700; color:#0f172a;">{{ \Carbon\Carbon::parse($user->created_at)->translatedFormat('d F Y') }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display:flex; align-items:center; gap:12px; padding:12px; background:#f8fafc; border-radius:12px; border:1px solid #f1f5f9;">
|
|
<div style="color:#f59e0b;"><svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div>
|
|
<div>
|
|
<div style="font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px;">Terakhir Diperbarui</div>
|
|
<div style="font-size:13px; font-weight:700; color:#0f172a;">{{ \Carbon\Carbon::parse($user->updated_at ?? $user->created_at)->translatedFormat('d F Y') }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Warning Box --}}
|
|
<div style="margin:0 16px 16px; padding:14px; background:#fefce8; border:1px solid #fef08a; border-radius:12px; display:flex; gap:10px; align-items:flex-start;">
|
|
<div style="color:#b45309; flex-shrink:0;">
|
|
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/>
|
|
<line x1="12" y1="9" x2="12" y2="13"/>
|
|
<line x1="12" y1="17" x2="12.01" y2="17"/>
|
|
</svg>
|
|
</div>
|
|
<div style="font-size:11px; color:#b45309; line-height:1.5;">
|
|
Perubahan data akan langsung berpengaruh pada akses sistem pengguna ini.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- FORM MAIN CONTENT --}}
|
|
<div style="background:#fff; border-radius:16px; border:1px solid #e2e8f0; overflow:hidden; box-shadow:0 4px 6px -1px rgba(0,0,0,0.05);">
|
|
<div style="padding:20px 28px; border-bottom:1px solid #f1f5f9; display:flex; align-items:center; gap:12px;">
|
|
<div style="width:36px; height:36px; background:#eff6ff; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#3b82f6;">
|
|
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/>
|
|
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h3 style="margin:0 0 4px; font-size:15px; font-weight:700; color:#0f172a;">Formulir Edit Pengguna</h3>
|
|
<p style="margin:0; font-size:12px; color:#94a3b8;">Perbarui informasi akun pengguna di bawah ini</p>
|
|
</div>
|
|
</div>
|
|
|
|
<form action="{{ route('admin.superadmin.user.update', $user->id) }}" method="POST" style="padding:28px;">
|
|
@csrf
|
|
|
|
{{-- INFORMASI DASAR --}}
|
|
<div style="margin-bottom:28px;">
|
|
<div style="display:flex; align-items:center; gap:8px; margin-bottom:16px;">
|
|
<div style="width:6px; height:6px; background:#3b82f6; border-radius:50%;"></div>
|
|
<h4 style="margin:0; font-size:12px; font-weight:800; color:#3b82f6; letter-spacing:1px;">INFORMASI DASAR</h4>
|
|
</div>
|
|
|
|
<div class="form-grid">
|
|
<div>
|
|
<label style="display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:8px;">
|
|
Nama Lengkap <span style="color:#ef4444;">*</span>
|
|
</label>
|
|
<input type="text" name="name" value="{{ old('name', $user->name) }}"
|
|
style="width:100%; padding:10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; color:#0f172a; outline:none; box-sizing:border-box; background:#f8fafc;"
|
|
onfocus="this.style.borderColor='#3b82f6'; this.style.background='#fff'"
|
|
onblur="this.style.borderColor='#e2e8f0'; this.style.background='#f8fafc'" required>
|
|
</div>
|
|
<div>
|
|
<label style="display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:8px;">
|
|
Username <span style="color:#ef4444;">*</span>
|
|
</label>
|
|
<input type="text" name="username" value="{{ old('username', $user->username) }}"
|
|
style="width:100%; padding:10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; color:#0f172a; outline:none; box-sizing:border-box; background:#f8fafc;"
|
|
onfocus="this.style.borderColor='#3b82f6'; this.style.background='#fff'"
|
|
onblur="this.style.borderColor='#e2e8f0'; this.style.background='#f8fafc'" required>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
{{-- ROLE & HAK AKSES --}}
|
|
<div style="margin-bottom:28px;">
|
|
<div style="display:flex; align-items:center; gap:8px; margin-bottom:16px;">
|
|
<div style="width:6px; height:6px; background:#3b82f6; border-radius:50%;"></div>
|
|
<h4 style="margin:0; font-size:12px; font-weight:800; color:#3b82f6; letter-spacing:1px;">ROLE & HAK AKSES</h4>
|
|
</div>
|
|
|
|
<div>
|
|
<label style="display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:8px;">
|
|
Role Pengguna <span style="color:#ef4444;">*</span>
|
|
</label>
|
|
<select name="role"
|
|
style="width:100%; padding:10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; color:#0f172a; outline:none; box-sizing:border-box; background:#f8fafc; appearance:none;"
|
|
onfocus="this.style.borderColor='#3b82f6'; this.style.background='#fff'"
|
|
onblur="this.style.borderColor='#e2e8f0'; this.style.background='#f8fafc'" required>
|
|
<option value="superadmin" {{ old('role', $user->role) == 'superadmin' ? 'selected' : '' }}>Super Admin</option>
|
|
<option value="admin" {{ old('role', $user->role) == 'admin' ? 'selected' : '' }}>Administrator</option>
|
|
<option value="user" {{ old('role', $user->role) == 'user' ? 'selected' : '' }}>User</option>
|
|
</select>
|
|
<p style="margin:6px 0 0; font-size:11px; color:#94a3b8; display:flex; align-items:center; gap:4px;">
|
|
<svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
|
|
Role menentukan level akses pengguna di dalam sistem
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- GANTI PASSWORD --}}
|
|
<div style="margin-bottom:32px;">
|
|
<div style="display:flex; align-items:center; gap:8px; margin-bottom:16px;">
|
|
<div style="width:6px; height:6px; background:#3b82f6; border-radius:50%;"></div>
|
|
<h4 style="margin:0; font-size:12px; font-weight:800; color:#3b82f6; letter-spacing:1px;">GANTI PASSWORD <span style="font-weight:500; color:#94a3b8; text-transform:none; letter-spacing:0;">(Kosongkan jika tidak ingin mengubah)</span></h4>
|
|
</div>
|
|
|
|
<div class="form-grid">
|
|
<div>
|
|
<div style="display:flex; align-items:center; gap:6px; margin-bottom:8px;">
|
|
<label style="font-size:12px; font-weight:600; color:#475569;">
|
|
Password Baru
|
|
</label>
|
|
<span style="background:#f1f5f9; color:#64748b; padding:2px 6px; border-radius:4px; font-size:10px;">Opsional</span>
|
|
</div>
|
|
<div style="position:relative;">
|
|
<input type="password" name="password" id="edit_password"
|
|
style="width:100%; padding:10px 40px 10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; color:#0f172a; outline:none; box-sizing:border-box; background:#f8fafc;"
|
|
onfocus="this.style.borderColor='#3b82f6'; this.style.background='#fff'"
|
|
onblur="this.style.borderColor='#e2e8f0'; this.style.background='#f8fafc'"
|
|
placeholder="Min. 8 karakter">
|
|
<button type="button" onclick="togglePassword('edit_password', this)"
|
|
style="position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:#94a3b8; padding:0; display:flex; align-items:center; justify-content:center;">
|
|
<svg class="eye-icon" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/>
|
|
<circle cx="12" cy="12" r="3"/>
|
|
</svg>
|
|
<svg class="eye-off-icon" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" style="display:none;">
|
|
<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/>
|
|
<line x1="1" y1="1" x2="23" y2="23"/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div style="display:flex; align-items:center; gap:6px; margin-bottom:8px;">
|
|
<label style="font-size:12px; font-weight:600; color:#475569;">
|
|
Konfirmasi Password
|
|
</label>
|
|
<span style="background:#f1f5f9; color:#64748b; padding:2px 6px; border-radius:4px; font-size:10px;">Opsional</span>
|
|
</div>
|
|
<div style="position:relative;">
|
|
<input type="password" name="password_confirmation" id="edit_password_confirmation"
|
|
style="width:100%; padding:10px 40px 10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; color:#0f172a; outline:none; box-sizing:border-box; background:#f8fafc;"
|
|
onfocus="this.style.borderColor='#3b82f6'; this.style.background='#fff'"
|
|
onblur="this.style.borderColor='#e2e8f0'; this.style.background='#f8fafc'"
|
|
placeholder="Ulangi password baru">
|
|
<button type="button" onclick="togglePassword('edit_password_confirmation', this)"
|
|
style="position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:#94a3b8; padding:0; display:flex; align-items:center; justify-content:center;">
|
|
<svg class="eye-icon" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/>
|
|
<circle cx="12" cy="12" r="3"/>
|
|
</svg>
|
|
<svg class="eye-off-icon" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" style="display:none;">
|
|
<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/>
|
|
<line x1="1" y1="1" x2="23" y2="23"/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- FOOTER BUTTONS --}}
|
|
<div class="form-actions">
|
|
<div style="font-size:12px; color:#64748b; display:flex; align-items:center; gap:6px;">
|
|
<svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
|
|
Field bertanda <span style="color:#ef4444;">*</span> wajib diisi
|
|
</div>
|
|
<div style="display:flex; gap:12px;">
|
|
<a href="{{ route('admin.superadmin.user.index') }}"
|
|
style="padding:10px 24px; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; font-weight:700; color:#475569; text-decoration:none; background:#fff; transition:all .2s;"
|
|
onmouseover="this.style.background='#f8fafc'" onmouseout="this.style.background='#fff'">
|
|
Batal
|
|
</a>
|
|
<button type="submit"
|
|
style="padding:10px 24px; background:#2563eb; color:#fff; border:none; border-radius:8px; font-size:13px; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:8px; transition:opacity .2s;"
|
|
onmouseover="this.style.opacity='.85'" onmouseout="this.style.opacity='1'">
|
|
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24">
|
|
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
|
|
<polyline points="17 21 17 13 7 13 7 21"/>
|
|
<polyline points="7 3 7 8 15 8"/>
|
|
</svg>
|
|
Simpan Perubahan
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
@endsection
|
|
|
|
<script>
|
|
function togglePassword(inputId, buttonElement) {
|
|
const input = document.getElementById(inputId);
|
|
const eyeIcon = buttonElement.querySelector('.eye-icon');
|
|
const eyeOffIcon = buttonElement.querySelector('.eye-off-icon');
|
|
|
|
if (input.type === 'password') {
|
|
input.type = 'text';
|
|
eyeIcon.style.display = 'none';
|
|
eyeOffIcon.style.display = 'block';
|
|
buttonElement.style.color = '#3b82f6';
|
|
} else {
|
|
input.type = 'password';
|
|
eyeIcon.style.display = 'block';
|
|
eyeOffIcon.style.display = 'none';
|
|
buttonElement.style.color = '#94a3b8';
|
|
}
|
|
}
|
|
</script> |