Bladeren bron

dev: automated commit - 2026-03-08 15:48:10

Mariano Z. 2 weken geleden
bovenliggende
commit
565639bccf
1 gewijzigde bestanden met toevoegingen van 18 en 2 verwijderingen
  1. 18 2
      frontend/src/views/RecordsView.vue

+ 18 - 2
frontend/src/views/RecordsView.vue

@@ -1,6 +1,7 @@
 <script setup lang="ts">
 import { ref, onMounted, computed } from 'vue'
 import { Button } from '@/components/ui/button'
+import { Input } from '@/components/ui/input'
 import { Badge } from '@/components/ui/badge'
 import {
   Table,
@@ -36,6 +37,7 @@ const records = ref<DnsRecord[]>([])
 const zones = ref<Zone[]>([])
 const loading = ref(true)
 const selectedZone = ref<string>('all')
+const searchQuery = ref('')
 
 const dialogOpen = ref(false)
 const editingRecord = ref<DnsRecord | null>(null)
@@ -45,8 +47,17 @@ const deletingRecord = ref<DnsRecord | null>(null)
 const syncing = ref(false)
 
 const filteredRecords = computed(() => {
-  if (selectedZone.value === 'all') return records.value
-  return records.value.filter((r) => r.zone_id === Number(selectedZone.value))
+  let result = selectedZone.value === 'all'
+    ? records.value
+    : records.value.filter((r) => r.zone_id === Number(selectedZone.value))
+
+  if (searchQuery.value.trim()) {
+    const q = searchQuery.value.trim().toLowerCase()
+    result = result.filter(
+      (r) => r.name.toLowerCase().includes(q) || r.content.toLowerCase().includes(q),
+    )
+  }
+  return result
 })
 
 const dynamicRecords = computed(() => filteredRecords.value.filter((r) => r.is_static === 0))
@@ -171,6 +182,11 @@ onMounted(loadData)
           </SelectItem>
         </SelectContent>
       </Select>
+      <Input
+        v-model="searchQuery"
+        placeholder="Search by name or content..."
+        class="w-full sm:w-[260px]"
+      />
     </div>
 
     <template v-if="loading">