Skip to main content

Dev/Sandbox Routes

Overview

This page collects the routes that are not real user-facing features but nonetheless live in the codebase and ship with the app. They exist for experimenting with Ant Design components and for testing error monitoring.

warning

These routes should be considered for removal before production, because they have no access protection at all — anyone who knows the URL can open them.

Business Flow

Ant Design Playground (/antd)

  1. The /antd route shows an overview listing the components that have examples.
  2. This section has its own page shell with a sidebar menu separate from the real app's layout, highlighting the menu entry matching the current route.
  3. /antd/drawer — an example of Drawer with resizing and a selectable open direction.
  4. /antd/form-drag-drop — an example of an add/remove input list whose items can be reordered by dragging, with both a primary version and a simpler alternative for comparison.

Error Testing Route

/api/sentry-example-api is a route handler that throws immediately when called. It exists to verify that error monitoring actually captures server-side errors.

Today it is dead code left over from the Sentry template: the Sentry libraries have been removed from the project, so nothing receives the error this route throws.

Key Screens & Components

  • Overview page (src/app/antd/page.tsx) — the list of components with examples.
  • Playground layout (src/app/antd/layout.tsx) — the sidebar menu and current-route highlighting.
  • Drawer example (src/app/antd/drawer/page.tsx)
  • Draggable list example (src/app/antd/form-drag-drop/page.tsx), with supporting components in the same folder: the dynamic input list, a generic draggable list, and a simplified list variant.
  • Error testing route (src/app/api/sentry-example-api/route.ts)

Dependencies

  • Ant Design 6 — uses Layout, Menu, Drawer, Radio, Flex, Typography, and Card.
  • No coupling to LIFF, no calls to the platform APIs, and no use of any store — so these routes can be removed without affecting other features.
  • No access control whatsoever, which is the main reason to remove them before going live.