Audio Slider

PreviousNext

A slider component designed for audio controls

Docs
shadcnui-blockscomponent

Preview

Loading preview…
components/customized/slider/slider-08.tsx
"use client";

import { Slider } from "@/registry/ui/slider";
import * as React from "react";

const formatDuration = (duration: number) => {
  const minutes = Math.floor(duration / 60);
  const seconds = duration % 60;

  return `${minutes}:${seconds < 10 ? "0" : ""}${seconds}`;
};

export default function AudioSliderDemo() {
  const duration = 145;
  const [playbackTime, setPlaybackTime] = React.useState([78]);

  return (
    <div className="max-w-sm w-full">
      <Slider
        defaultValue={playbackTime}
        max={duration}
        step={1}
        onValueChange={setPlaybackTime}
      />
      <div className="mt-1 flex justify-between text-xs font-medium text-muted-foreground">
        <span>{formatDuration(playbackTime[0])}</span>
        <span>{formatDuration(duration)}</span>
      </div>
    </div>
  );
}

Installation

npx shadcn@latest add @shadcnui-blocks/slider-08

Usage

import { Slider08 } from "@/components/slider-08"
<Slider08 />