Home / Function/ DrawerBottom() — ui Function Reference

DrawerBottom() — ui Function Reference

Architecture documentation for the DrawerBottom() function in drawer-demo.tsx from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  17334d5e_bfc2_c128_073e_7dd6865bed58["DrawerBottom()"]
  04594a08_934d_bf94_ee7c_beaa409cb7c4["drawer-demo.tsx"]
  17334d5e_bfc2_c128_073e_7dd6865bed58 -->|defined in| 04594a08_934d_bf94_ee7c_beaa409cb7c4
  style 17334d5e_bfc2_c128_073e_7dd6865bed58 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/app/(internal)/sink/components/drawer-demo.tsx lines 71–146

function DrawerBottom() {
  const [goal, setGoal] = React.useState(350)

  const onClick = React.useCallback((adjustment: number) => {
    setGoal((prevGoal) => Math.max(200, Math.min(400, prevGoal + adjustment)))
  }, [])

  return (
    <Drawer>
      <DrawerTrigger asChild>
        <Button variant="outline">Open Drawer</Button>
      </DrawerTrigger>
      <DrawerContent>
        <div className="mx-auto w-full max-w-sm">
          <DrawerHeader>
            <DrawerTitle>Move Goal</DrawerTitle>
            <DrawerDescription>Set your daily activity goal.</DrawerDescription>
          </DrawerHeader>
          <div className="p-4 pb-0">
            <div className="flex items-center justify-center space-x-2">
              <Button
                variant="outline"
                size="icon"
                className="h-8 w-8 shrink-0 rounded-full"
                onClick={() => onClick(-10)}
                disabled={goal <= 200}
              >
                <Minus />
                <span className="sr-only">Decrease</span>
              </Button>
              <div className="flex-1 text-center">
                <div className="text-7xl font-bold tracking-tighter">
                  {goal}
                </div>
                <div className="text-muted-foreground text-[0.70rem] uppercase">
                  Calories/day
                </div>
              </div>
              <Button
                variant="outline"
                size="icon"
                className="h-8 w-8 shrink-0 rounded-full"
                onClick={() => onClick(10)}
                disabled={goal >= 400}
              >
                <Plus />
                <span className="sr-only">Increase</span>
              </Button>
            </div>
            <div className="mt-3 h-[120px]">
              <ResponsiveContainer width="100%" height="100%">
                <BarChart data={data}>
                  <Bar
                    dataKey="goal"
                    style={
                      {
                        fill: "var(--primary)",
                        opacity: 0.9,
                      } as React.CSSProperties
                    }
                  />
                </BarChart>
              </ResponsiveContainer>
            </div>
          </div>
          <DrawerFooter>
            <Button>Submit</Button>
            <DrawerClose asChild>
              <Button variant="outline">Cancel</Button>
            </DrawerClose>
          </DrawerFooter>
        </div>
      </DrawerContent>
    </Drawer>
  )
}

Subdomains

Frequently Asked Questions

What does DrawerBottom() do?
DrawerBottom() is a function in the ui codebase, defined in apps/v4/app/(internal)/sink/components/drawer-demo.tsx.
Where is DrawerBottom() defined?
DrawerBottom() is defined in apps/v4/app/(internal)/sink/components/drawer-demo.tsx at line 71.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free