add initial test client

This commit is contained in:
Samuel Lorch 2023-03-06 23:56:36 +01:00
parent 0a51ba0beb
commit fbc899fbe0
28 changed files with 4829 additions and 0 deletions

View file

@ -0,0 +1,15 @@
<script setup lang="ts">
const props = $defineProps<{entity: string, id: string}>();
const { entity, id } = $(props);
const pageTypes: { [key: string]: any } = {
"rules": { title: "Rules" },
"addresses": { title: "Addresses"},
};
</script>
<template>
<div>
<PageHeader :title="pageTypes[entity].title"/>
{{ entity }} {{ id }}
</div>
</template>

View file

@ -0,0 +1,90 @@
<script setup lang="ts">
const props = $defineProps<{entity: string}>();
const { entity } = $(props);
const pageTypes: { [key: string]: any } = {
"rules": { title: "Rules" },
"addresses": { title: "Addresses"},
};
let searchTerm = $ref("");
</script>
<template>
<div>
<PageHeader :title="pageTypes[entity].title">
<input class="search-bar" placeholder="Search..." v-model="searchTerm"/>
<button>
<i-material-symbols-add/>
</button>
</PageHeader>
<NiceTable :columns="{fname: 'First Name', lname: 'Last Name'}" :sort-self="true" :data="[
{
fname: 'Haynes',
lname: 'Chavez'
}, {
fname: 'Brennan',
lname: 'Bradley'
}, {
fname: 'Blanchard',
lname: 'Thornton'
}, {
fname: 'Benjamin',
lname: 'Nash'
}, {
fname: 'Jan',
lname: 'Bradford'
}, {
fname: 'Zelma',
lname: 'Spears'
}, {
fname: 'Freeman',
lname: 'Page'
}, {
fname: 'Wilson',
lname: 'Carlson'
}, {
fname: 'Lewis',
lname: 'Fuentes'
}, {
fname: 'Vega',
lname: 'Villarreal'
}, {
fname: 'Carolyn',
lname: 'Cardenas'
}, {
fname: 'Angie',
lname: 'Adams'
}, {
fname: 'Richards',
lname: 'Leon'
}, {
fname: 'Velma',
lname: 'Fields'
}, {
fname: 'Witt',
lname: 'Lowe'
}, {
fname: 'Waters',
lname: 'Leblanc'
}, {
fname: 'Henry',
lname: 'Lloyd'
}, {
fname: 'Boone',
lname: 'Greer'
}, {
fname: 'Willis',
lname: 'Stark'
}, {
fname: 'Dickson',
lname: 'Spencer'
}
].filter(x => (`${x.fname} ${x.lname}`).toLowerCase().includes(searchTerm.toLowerCase()))"/>
</div>
</template>
<style scoped>
.page-content {
overflow-y: auto;
}
</style>

View file

@ -0,0 +1,4 @@
<PageHeader title="Help"/>
## About
nfSense is a web-based configuration tool for nfTables. It works by storing its configuration in a .json file, and applies it by transforming it into a proper nfTables config.

View file

@ -0,0 +1,18 @@
<script setup lang="ts">
import { apiCall } from "../api";
async function doShit(){
apiCall("Firewall.GetForwardRules", {});
}
</script>
<template>
<div>
<PageHeader title="Dashboard">
<button @click="doShit">Example Buttons</button>
</PageHeader>
This is the main page, currently written in markdown because that's *pog*.
</div>
</template>