"use client";
import {
BottomSheetRoot,
BottomSheetBackdrop,
BottomSheetPositioner,
BottomSheetContent,
BottomSheetHeader,
BottomSheetTitle,
BottomSheetCloseButton,
BottomSheetBody,
Icon,
ListRoot,
ListItem,
ListContent,
ListTitle,
} from "@seed-design/react";
import type { Category } from "@/api/schemas";
import { accountingStrings as s } from "./strings";
export interface CategorizeSheetProps {
open: boolean;
onOpenChange: (open: boolean) => void;
categories: Category[];
/** The transaction's current category (main or sub) — highlighted in the list. */
selected?: string;
onSelect: (category: Category) => void;
}
const closeSvg = (
);
const checkSvg = (
);
/**
* Category picker bottom sheet (ports `CategoryPickerSheet` from
* `ios/Mercury/Features/Planner/PlannerEditViews.swift`, opened from the
* transaction detail's Ангилал row): a titled list of all categories,
* tap-to-select, checkmark on the current pick.
*/
export function CategorizeSheet({ open, onOpenChange, categories, selected, onSelect }: CategorizeSheetProps) {
return (
{s.categoryPicker.title}
{categories.map((cat) => {
const isSelected = cat.name === selected;
return (
);
})}
);
}