diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index a019bb0e..66d89ca4 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -11,6 +11,7 @@
"@ant-design/icons-vue": "^7.0.1",
"ant-design-vue": "^4.2.6",
"axios": "^1.7.9",
+ "dayjs": "^1.11.20",
"moment": "^2.30.1",
"otpauth": "^9.5.1",
"qrious": "^4.0.2",
diff --git a/frontend/package.json b/frontend/package.json
index 147cdd22..c59727f5 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -14,6 +14,7 @@
"@ant-design/icons-vue": "^7.0.1",
"ant-design-vue": "^4.2.6",
"axios": "^1.7.9",
+ "dayjs": "^1.11.20",
"moment": "^2.30.1",
"otpauth": "^9.5.1",
"qrious": "^4.0.2",
diff --git a/frontend/src/pages/inbounds/InboundFormModal.vue b/frontend/src/pages/inbounds/InboundFormModal.vue
new file mode 100644
index 00000000..0535720c
--- /dev/null
+++ b/frontend/src/pages/inbounds/InboundFormModal.vue
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ p }}
+
+
+
+
+
+
+
+
+
+
+ Total traffic (GB)
+
+
+
+
+
+ {{ r }}
+
+
+
+
+ Expiry date
+
+
+
+
+
+
+
+
+
+
+
Reset to default for {{ form.protocol }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/inbounds/InboundsPage.vue b/frontend/src/pages/inbounds/InboundsPage.vue
index 57ba0740..f33a1b7a 100644
--- a/frontend/src/pages/inbounds/InboundsPage.vue
+++ b/frontend/src/pages/inbounds/InboundsPage.vue
@@ -1,6 +1,6 @@
@@ -145,6 +288,13 @@ function onRowAction({ key }) {
+
+