+
+ Active sync routes
+ {routes.length === 0 ? (
+ No routes configured.
+ ) : (
+
+ {routes.map((route) => (
+ -
+
+ {route.sourceGroup.name}
+ →
+ {route.targetGroup.name}
+
+
+
+ ))}
+
+ )}
+
+
+
+ Add route
+
+
+ →
+
+
+
+
+
+ );
+}
diff --git a/apps/web/app/groups/page.tsx b/apps/web/app/groups/page.tsx
new file mode 100644
index 0000000..7945f75
--- /dev/null
+++ b/apps/web/app/groups/page.tsx
@@ -0,0 +1,40 @@
+import { RouteManager } from './RouteManager';
+
+interface Group {
+ id: string;
+ name: string;
+ platform: string;
+}
+
+interface Route {
+ id: string;
+ sourceGroupId: string;
+ targetGroupId: string;
+ sourceGroup: { name: string };
+ targetGroup: { name: string };
+}
+
+async function fetchJson