# Refresh Pools Button ## Issue UI tidak update secara otomatis setelah create atau destroy pool. User meminta tombol refresh pools untuk manual refresh. ## Solution Menambahkan tombol "Refresh Pools" yang melakukan refetch pools dari database, dan memperbaiki createPoolMutation untuk melakukan refetch dengan benar. ## Changes Made ### 1. Added Refresh Pools Button **File**: `frontend/src/pages/Storage.tsx` (line 446-459) Menambahkan tombol baru di antara "Rescan Disks" dan "Create Pool": ```typescript ``` **Features:** - Icon `sync` dengan animasi spin saat loading - Disabled saat pools sedang loading - Tooltip: "Refresh pools list from database" - Styling konsisten dengan tombol lainnya ### 2. Fixed createPoolMutation **File**: `frontend/src/pages/Storage.tsx` (line 219-239) Memperbaiki `createPoolMutation` untuk melakukan refetch dengan `await`: ```typescript onSuccess: async () => { // Invalidate and immediately refetch pools await queryClient.invalidateQueries({ queryKey: ['storage', 'zfs', 'pools'] }) await queryClient.refetchQueries({ queryKey: ['storage', 'zfs', 'pools'] }) await queryClient.invalidateQueries({ queryKey: ['storage', 'disks'] }) // ... rest of the code alert('Pool created successfully!') } ``` **Improvements:** - Menambahkan `await` pada `refetchQueries` untuk memastikan refetch selesai - Menambahkan success alert untuk feedback ke user ## Button Layout Sekarang ada 3 tombol di header: 1. **Rescan Disks** - Rescan physical disks dari sistem 2. **Refresh Pools** - Refresh pools list dari database (NEW) 3. **Create Pool** - Create new ZFS pool ## Usage User dapat klik tombol "Refresh Pools" kapan saja untuk: - Manual refresh setelah create pool - Manual refresh setelah destroy pool - Manual refresh jika auto-refresh (3 detik) tidak cukup cepat ## Testing 1. Create pool → Klik "Refresh Pools" → Pool muncul 2. Destroy pool → Klik "Refresh Pools" → Pool hilang 3. Auto-refresh tetap berjalan setiap 3 detik ## Status ✅ **COMPLETED** - Tombol Refresh Pools ditambahkan dan createPoolMutation diperbaiki ## Date 2026-01-09