working minus logo

This commit is contained in:
pulipakaa24
2026-03-18 21:51:02 -05:00
parent b0cd20ced5
commit 90422db54a
50 changed files with 5025 additions and 70 deletions

33
.gitignore vendored Normal file
View File

@@ -0,0 +1,33 @@
# Dependencies
node_modules/
# Build output
dist/
build/
# Vite cache
.vite/
# TypeScript
*.tsbuildinfo
# Environment variables
.env
.env.local
.env.*.local
# Editor
.vscode/
.idea/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

View File

@@ -7,7 +7,7 @@ import {
Package, Package,
FileCheck FileCheck
} from "lucide-react"; } from "lucide-react";
import logo from "figma:asset/e1cc93b8a3ca5c34482c2d8ace21b3610ba98443.png"; const logo = "/logo.png";
type Tab = "dashboard" | "inventory" | "protocol"; type Tab = "dashboard" | "inventory" | "protocol";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as AccordionPrimitive from "@radix-ui/react-accordion@1.2.3"; import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDownIcon } from "lucide-react@0.487.0"; import { ChevronDownIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog@1.1.6"; import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
import { cn } from "./utils"; import { cn } from "./utils";
import { buttonVariants } from "./button"; import { buttonVariants } from "./button";

View File

@@ -1,5 +1,5 @@
import * as React from "react"; import * as React from "react";
import { cva, type VariantProps } from "class-variance-authority@0.7.1"; import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,6 +1,6 @@
"use client"; "use client";
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio@1.1.2"; import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
function AspectRatio({ function AspectRatio({
...props ...props

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as AvatarPrimitive from "@radix-ui/react-avatar@1.1.3"; import * as AvatarPrimitive from "@radix-ui/react-avatar";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,6 +1,6 @@
import * as React from "react"; import * as React from "react";
import { Slot } from "@radix-ui/react-slot@1.1.2"; import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority@0.7.1"; import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,6 +1,6 @@
import * as React from "react"; import * as React from "react";
import { Slot } from "@radix-ui/react-slot@1.1.2"; import { Slot } from "@radix-ui/react-slot";
import { ChevronRight, MoreHorizontal } from "lucide-react@0.487.0"; import { ChevronRight, MoreHorizontal } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,6 +1,6 @@
import * as React from "react"; import * as React from "react";
import { Slot } from "@radix-ui/react-slot@1.1.2"; import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority@0.7.1"; import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { ChevronLeft, ChevronRight } from "lucide-react@0.487.0"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { DayPicker } from "react-day-picker@8.10.1"; import { DayPicker } from "react-day-picker";
import { cn } from "./utils"; import { cn } from "./utils";
import { buttonVariants } from "./button"; import { buttonVariants } from "./button";

View File

@@ -3,8 +3,8 @@
import * as React from "react"; import * as React from "react";
import useEmblaCarousel, { import useEmblaCarousel, {
type UseEmblaCarouselType, type UseEmblaCarouselType,
} from "embla-carousel-react@8.6.0"; } from "embla-carousel-react";
import { ArrowLeft, ArrowRight } from "lucide-react@0.487.0"; import { ArrowLeft, ArrowRight } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";
import { Button } from "./button"; import { Button } from "./button";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as RechartsPrimitive from "recharts@2.15.2"; import * as RechartsPrimitive from "recharts";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox@1.1.4"; import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { CheckIcon } from "lucide-react@0.487.0"; import { CheckIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,6 +1,6 @@
"use client"; "use client";
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible@1.1.3"; import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
function Collapsible({ function Collapsible({
...props ...props

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { Command as CommandPrimitive } from "cmdk@1.1.1"; import { Command as CommandPrimitive } from "cmdk";
import { SearchIcon } from "lucide-react@0.487.0"; import { SearchIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";
import { import {

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu@2.2.6"; import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react@0.487.0"; import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as DialogPrimitive from "@radix-ui/react-dialog@1.1.6"; import * as DialogPrimitive from "@radix-ui/react-dialog";
import { XIcon } from "lucide-react@0.487.0"; import { XIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { Drawer as DrawerPrimitive } from "vaul@1.1.2"; import { Drawer as DrawerPrimitive } from "vaul";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu@2.1.6"; import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react@0.487.0"; import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as LabelPrimitive from "@radix-ui/react-label@2.1.2"; import * as LabelPrimitive from "@radix-ui/react-label";
import { Slot } from "@radix-ui/react-slot@1.1.2"; import { Slot } from "@radix-ui/react-slot";
import { import {
Controller, Controller,
FormProvider, FormProvider,
@@ -11,7 +11,7 @@ import {
type ControllerProps, type ControllerProps,
type FieldPath, type FieldPath,
type FieldValues, type FieldValues,
} from "react-hook-form@7.55.0"; } from "react-hook-form";
import { cn } from "./utils"; import { cn } from "./utils";
import { Label } from "./label"; import { Label } from "./label";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as HoverCardPrimitive from "@radix-ui/react-hover-card@1.1.6"; import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { OTPInput, OTPInputContext } from "input-otp@1.4.2"; import { OTPInput, OTPInputContext } from "input-otp";
import { MinusIcon } from "lucide-react@0.487.0"; import { MinusIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as LabelPrimitive from "@radix-ui/react-label@2.1.2"; import * as LabelPrimitive from "@radix-ui/react-label";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as MenubarPrimitive from "@radix-ui/react-menubar@1.1.6"; import * as MenubarPrimitive from "@radix-ui/react-menubar";
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react@0.487.0"; import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
import * as React from "react"; import * as React from "react";
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu@1.2.5"; import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
import { cva } from "class-variance-authority@0.7.1"; import { cva } from "class-variance-authority";
import { ChevronDownIcon } from "lucide-react@0.487.0"; import { ChevronDownIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -3,7 +3,7 @@ import {
ChevronLeftIcon, ChevronLeftIcon,
ChevronRightIcon, ChevronRightIcon,
MoreHorizontalIcon, MoreHorizontalIcon,
} from "lucide-react@0.487.0"; } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";
import { Button, buttonVariants } from "./button"; import { Button, buttonVariants } from "./button";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as PopoverPrimitive from "@radix-ui/react-popover@1.1.6"; import * as PopoverPrimitive from "@radix-ui/react-popover";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as ProgressPrimitive from "@radix-ui/react-progress@1.1.2"; import * as ProgressPrimitive from "@radix-ui/react-progress";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group@1.2.3"; import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
import { CircleIcon } from "lucide-react@0.487.0"; import { CircleIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { GripVerticalIcon } from "lucide-react@0.487.0"; import { GripVerticalIcon } from "lucide-react";
import * as ResizablePrimitive from "react-resizable-panels@2.1.7"; import * as ResizablePrimitive from "react-resizable-panels";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area@1.2.3"; import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,12 +1,12 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as SelectPrimitive from "@radix-ui/react-select@2.1.6"; import * as SelectPrimitive from "@radix-ui/react-select";
import { import {
CheckIcon, CheckIcon,
ChevronDownIcon, ChevronDownIcon,
ChevronUpIcon, ChevronUpIcon,
} from "lucide-react@0.487.0"; } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as SeparatorPrimitive from "@radix-ui/react-separator@1.1.2"; import * as SeparatorPrimitive from "@radix-ui/react-separator";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as SheetPrimitive from "@radix-ui/react-dialog@1.1.6"; import * as SheetPrimitive from "@radix-ui/react-dialog";
import { XIcon } from "lucide-react@0.487.0"; import { XIcon } from "lucide-react";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,9 +1,9 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import { Slot } from "@radix-ui/react-slot@1.1.2"; import { Slot } from "@radix-ui/react-slot";
import { VariantProps, cva } from "class-variance-authority@0.7.1"; import { VariantProps, cva } from "class-variance-authority";
import { PanelLeftIcon } from "lucide-react@0.487.0"; import { PanelLeftIcon } from "lucide-react";
import { useIsMobile } from "./use-mobile"; import { useIsMobile } from "./use-mobile";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as SliderPrimitive from "@radix-ui/react-slider@1.2.3"; import * as SliderPrimitive from "@radix-ui/react-slider";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import { useTheme } from "next-themes@0.4.6"; import { useTheme } from "next-themes";
import { Toaster as Sonner, ToasterProps } from "sonner@2.0.3"; import { Toaster as Sonner, ToasterProps } from "sonner";
const Toaster = ({ ...props }: ToasterProps) => { const Toaster = ({ ...props }: ToasterProps) => {
const { theme = "system" } = useTheme(); const { theme = "system" } = useTheme();

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as SwitchPrimitive from "@radix-ui/react-switch@1.1.3"; import * as SwitchPrimitive from "@radix-ui/react-switch";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as TabsPrimitive from "@radix-ui/react-tabs@1.1.3"; import * as TabsPrimitive from "@radix-ui/react-tabs";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group@1.1.2"; import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
import { type VariantProps } from "class-variance-authority@0.7.1"; import { type VariantProps } from "class-variance-authority";
import { cn } from "./utils"; import { cn } from "./utils";
import { toggleVariants } from "./toggle"; import { toggleVariants } from "./toggle";

View File

@@ -1,8 +1,8 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as TogglePrimitive from "@radix-ui/react-toggle@1.1.2"; import * as TogglePrimitive from "@radix-ui/react-toggle";
import { cva, type VariantProps } from "class-variance-authority@0.7.1"; import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "./utils"; import { cn } from "./utils";

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import * as React from "react"; import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip@1.1.8"; import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { cn } from "./utils"; import { cn } from "./utils";

13
index.html Normal file
View File

@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>LabWise</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/main.tsx"></script>
</body>
</html>

10
main.tsx Normal file
View File

@@ -0,0 +1,10 @@
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./styles/globals.css";
import App from "./App";
createRoot(document.getElementById("root")!).render(
<StrictMode>
<App />
</StrictMode>
);

4807
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

63
package.json Normal file
View File

@@ -0,0 +1,63 @@
{
"name": "labwise",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview"
},
"dependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0",
"@radix-ui/react-accordion": "^1.2.3",
"@radix-ui/react-alert-dialog": "^1.1.6",
"@radix-ui/react-aspect-ratio": "^1.1.2",
"@radix-ui/react-avatar": "^1.1.3",
"@radix-ui/react-checkbox": "^1.1.4",
"@radix-ui/react-collapsible": "^1.1.3",
"@radix-ui/react-context-menu": "^2.2.6",
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-dropdown-menu": "^2.1.6",
"@radix-ui/react-hover-card": "^1.1.6",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-menubar": "^1.1.6",
"@radix-ui/react-navigation-menu": "^1.2.5",
"@radix-ui/react-popover": "^1.1.6",
"@radix-ui/react-progress": "^1.1.2",
"@radix-ui/react-radio-group": "^1.2.3",
"@radix-ui/react-scroll-area": "^1.2.3",
"@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.2",
"@radix-ui/react-slider": "^1.2.3",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-switch": "^1.1.3",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-toggle": "^1.1.2",
"@radix-ui/react-toggle-group": "^1.1.2",
"@radix-ui/react-tooltip": "^1.1.8",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"embla-carousel-react": "^8.6.0",
"input-otp": "^1.4.2",
"lucide-react": "^0.487.0",
"next-themes": "^0.4.6",
"react-day-picker": "^8.10.1",
"react-hook-form": "^7.55.0",
"react-resizable-panels": "^2.1.7",
"recharts": "^2.15.2",
"sonner": "^2.0.3",
"tailwind-merge": "^2.6.0",
"vaul": "^1.1.2"
},
"devDependencies": {
"@tailwindcss/vite": "^4.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.4",
"tailwindcss": "^4.0.0",
"typescript": "^5.7.2",
"vite": "^6.2.0"
}
}

View File

@@ -1,6 +1,6 @@
@custom-variant dark (&:is(.dark *));
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
@import "tailwindcss";
@custom-variant dark (&:is(.dark *));
:root { :root {
--font-size: 16px; --font-size: 16px;

22
tsconfig.json Normal file
View File

@@ -0,0 +1,22 @@
{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"strict": true,
"baseUrl": ".",
"paths": {
"@/*": ["./*"]
}
},
"include": ["**/*.ts", "**/*.tsx"],
"exclude": ["node_modules", "dist"]
}

7
vite.config.ts Normal file
View File

@@ -0,0 +1,7 @@
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
export default defineConfig({
plugins: [react(), tailwindcss()],
});