diff --git a/CLAUDE.md b/CLAUDE.md
index 87ee2374..c29fa483 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -133,6 +133,7 @@ We are using next.js app router, it's important we try to use server side compon
- Always try to use server side rendering wherever possibe. But do note that for some parts such as the QueueList and related components, thats impossible, so dont try to force SSR there.
- Always use the AntD components and their properties.
- Try to avoid use of the style property
+- Always use design tokens from `packages/web/app/theme/theme-config.ts` for colors, spacing, and other design values - never use hardcoded values
- Always use CSS media queries for mobile/responsive design
- For rendering avoid JavaScript breakpoint detection & Grid.useBreakpoint()
- While we work together, be careful to remove any code you no longer use, so we dont end up with lots of deadcode
diff --git a/packages/web/app/[board_name]/[layout_id]/[size_id]/[set_ids]/[angle]/list/layout-client.tsx b/packages/web/app/[board_name]/[layout_id]/[size_id]/[set_ids]/[angle]/list/layout-client.tsx
index f36d17f2..d1cc5b2e 100644
--- a/packages/web/app/[board_name]/[layout_id]/[size_id]/[set_ids]/[angle]/list/layout-client.tsx
+++ b/packages/web/app/[board_name]/[layout_id]/[size_id]/[set_ids]/[angle]/list/layout-client.tsx
@@ -2,8 +2,11 @@
import React from 'react';
import { PropsWithChildren } from 'react';
-import { Layout, Tabs, Badge } from 'antd';
+import { Layout, Tabs, Badge, Button, Popconfirm, Flex } from 'antd';
+import { DeleteOutlined } from '@ant-design/icons';
+import { track } from '@vercel/analytics';
import { BoardDetails } from '@/app/lib/types';
+import { themeTokens } from '@/app/theme/theme-config';
import BasicSearchForm from '@/app/components/search-drawer/basic-search-form';
import ClimbHoldSearchForm from '@/app/components/search-drawer/climb-hold-search-form';
import SearchResultsFooter from '@/app/components/search-drawer/search-results-footer';
@@ -19,7 +22,15 @@ interface ListLayoutClientProps {
}
const TabsWrapper: React.FC<{ boardDetails: BoardDetails }> = ({ boardDetails }) => {
- const { queue } = useQueueContext();
+ const { queue, setQueue } = useQueueContext();
+
+ const handleClearQueue = () => {
+ setQueue([]);
+ track('Queue Cleared', {
+ boardLayout: boardDetails.layout_name || '',
+ itemsCleared: queue.length,
+ });
+ };
const tabItems = [
{
@@ -36,7 +47,28 @@ const TabsWrapper: React.FC<{ boardDetails: BoardDetails }> = ({ boardDetails })
Queue
),
- children: