changed docker #19
32
Dockerfile
32
Dockerfile
|
|
@ -1,32 +1,28 @@
|
||||||
# ------------------------
|
# Stage 1: Build
|
||||||
# Build stage
|
FROM node:20-bullseye AS builder
|
||||||
# ------------------------
|
|
||||||
FROM node:22-bullseye AS builder
|
|
||||||
|
|
||||||
ARG API_BASE_URL="https://navigolabs.com/api"
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package*.json ./
|
# Copy package files and install dependencies
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
RUN npm install
|
RUN npm install
|
||||||
|
|
||||||
|
# Copy the rest of the source code
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
ENV VITE_API_BASE_URL=$API_BASE_URL
|
# Set environment variable for Vite (customize as needed)
|
||||||
|
ENV VITE_API_BASE_URL=https://navigolabs.com/api
|
||||||
|
|
||||||
# RUN npm run build
|
# Build the Vite app
|
||||||
|
RUN npm run build
|
||||||
# ------------------------
|
|
||||||
# Run stage (Node-based)
|
|
||||||
# ------------------------
|
|
||||||
FROM node:22-bullseye
|
|
||||||
|
|
||||||
|
# Stage 2: Serve with Node
|
||||||
|
FROM node:20-bullseye
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install `serve` globally
|
|
||||||
RUN npm install -g serve
|
RUN npm install -g serve
|
||||||
|
|
||||||
# Copy built files
|
# Copy build output from builder
|
||||||
COPY --from=builder /app/build .
|
COPY --from=builder /app/build .
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
CMD ["serve", "-s", ".", "-l", "3000"]
|
CMD ["serve", "-s", ".", "-l", "3000"]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Taxi Booking Website</title>
|
||||||
|
<script type="module" crossorigin src="/assets/index-DQSe76my.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
@ -3691,9 +3691,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.3.5",
|
"version": "6.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz",
|
||||||
"integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
|
"integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
"use client";
|
|
||||||
import {
|
|
||||||
Primitive
|
|
||||||
} from "./chunk-MSN5GK4F.js";
|
|
||||||
import "./chunk-BANT3OPS.js";
|
|
||||||
import "./chunk-XZIKTWIR.js";
|
|
||||||
import {
|
|
||||||
require_jsx_runtime
|
|
||||||
} from "./chunk-NMLHVZ76.js";
|
|
||||||
import {
|
|
||||||
require_react
|
|
||||||
} from "./chunk-QRULMDK5.js";
|
|
||||||
import {
|
|
||||||
__toESM
|
|
||||||
} from "./chunk-G3PMV62Z.js";
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-label/dist/index.mjs
|
|
||||||
var React = __toESM(require_react(), 1);
|
|
||||||
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
||||||
var NAME = "Label";
|
|
||||||
var Label = React.forwardRef((props, forwardedRef) => {
|
|
||||||
return (0, import_jsx_runtime.jsx)(
|
|
||||||
Primitive.label,
|
|
||||||
{
|
|
||||||
...props,
|
|
||||||
ref: forwardedRef,
|
|
||||||
onMouseDown: (event) => {
|
|
||||||
var _a;
|
|
||||||
const target = event.target;
|
|
||||||
if (target.closest("button, input, select, textarea")) return;
|
|
||||||
(_a = props.onMouseDown) == null ? void 0 : _a.call(props, event);
|
|
||||||
if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
Label.displayName = NAME;
|
|
||||||
var Root = Label;
|
|
||||||
export {
|
|
||||||
Label,
|
|
||||||
Root
|
|
||||||
};
|
|
||||||
//# sourceMappingURL=@radix-ui_react-label@2__1__2.js.map
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"sources": ["../../@radix-ui/react-label/src/label.tsx"],
|
|
||||||
"sourcesContent": ["import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Label';\n\ntype LabelElement = React.ComponentRef<typeof Primitive.label>;\ntype PrimitiveLabelProps = React.ComponentPropsWithoutRef<typeof Primitive.label>;\ninterface LabelProps extends PrimitiveLabelProps {}\n\nconst Label = React.forwardRef<LabelElement, LabelProps>((props, forwardedRef) => {\n return (\n <Primitive.label\n {...props}\n ref={forwardedRef}\n onMouseDown={(event) => {\n // only prevent text selection if clicking inside the label itself\n const target = event.target as HTMLElement;\n if (target.closest('button, input, select, textarea')) return;\n\n props.onMouseDown?.(event);\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }}\n />\n );\n});\n\nLabel.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Label;\n\nexport {\n Label,\n //\n Root,\n};\nexport type { LabelProps };\n"],
|
|
||||||
"mappings": ";;;;;;;;;;;;;;;;;AAAA,YAAuB;AAenB,yBAAA;AARJ,IAAM,OAAO;AAMb,IAAM,QAAc,iBAAqC,CAAC,OAAO,iBAAiB;AAChF,aACE;IAAC,UAAU;IAAV;MACE,GAAG;MACJ,KAAK;MACL,aAAa,CAAC,UAAU;;AAEtB,cAAM,SAAS,MAAM;AACrB,YAAI,OAAO,QAAQ,iCAAiC,EAAG;AAEvD,oBAAM,gBAAN,+BAAoB;AAEpB,YAAI,CAAC,MAAM,oBAAoB,MAAM,SAAS,EAAG,OAAM,eAAe;MACxE;IAAA;EACF;AAEJ,CAAC;AAED,MAAM,cAAc;AAIpB,IAAM,OAAO;",
|
|
||||||
"names": []
|
|
||||||
}
|
|
||||||
|
|
@ -2,17 +2,17 @@
|
||||||
import {
|
import {
|
||||||
Primitive,
|
Primitive,
|
||||||
dispatchDiscreteCustomEvent
|
dispatchDiscreteCustomEvent
|
||||||
} from "./chunk-MSN5GK4F.js";
|
} from "./chunk-2TVGN45P.js";
|
||||||
import {
|
import {
|
||||||
require_react_dom
|
require_react_dom
|
||||||
} from "./chunk-BANT3OPS.js";
|
} from "./chunk-BANT3OPS.js";
|
||||||
import {
|
import {
|
||||||
createSlot,
|
createSlot,
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-XZIKTWIR.js";
|
} from "./chunk-S5VRQ3IK.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-NMLHVZ76.js";
|
} from "./chunk-2OHODJPS.js";
|
||||||
import {
|
import {
|
||||||
require_react
|
require_react
|
||||||
} from "./chunk-QRULMDK5.js";
|
} from "./chunk-QRULMDK5.js";
|
||||||
|
|
@ -5062,4 +5062,4 @@ export {
|
||||||
Viewport,
|
Viewport,
|
||||||
createSelectScope
|
createSelectScope
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=@radix-ui_react-select@2__1__6.js.map
|
//# sourceMappingURL=@radix-ui_react-select.js.map
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import {
|
import {
|
||||||
Primitive
|
Primitive
|
||||||
} from "./chunk-MSN5GK4F.js";
|
} from "./chunk-2TVGN45P.js";
|
||||||
import "./chunk-BANT3OPS.js";
|
import "./chunk-BANT3OPS.js";
|
||||||
import "./chunk-XZIKTWIR.js";
|
import "./chunk-S5VRQ3IK.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-NMLHVZ76.js";
|
} from "./chunk-2OHODJPS.js";
|
||||||
import {
|
import {
|
||||||
require_react
|
require_react
|
||||||
} from "./chunk-QRULMDK5.js";
|
} from "./chunk-QRULMDK5.js";
|
||||||
|
|
@ -43,4 +43,4 @@ export {
|
||||||
Root,
|
Root,
|
||||||
Separator
|
Separator
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=@radix-ui_react-separator@1__1__2.js.map
|
//# sourceMappingURL=@radix-ui_react-separator.js.map
|
||||||
|
|
@ -3,8 +3,8 @@ import {
|
||||||
Slottable,
|
Slottable,
|
||||||
createSlot,
|
createSlot,
|
||||||
createSlottable
|
createSlottable
|
||||||
} from "./chunk-XZIKTWIR.js";
|
} from "./chunk-S5VRQ3IK.js";
|
||||||
import "./chunk-NMLHVZ76.js";
|
import "./chunk-2OHODJPS.js";
|
||||||
import "./chunk-QRULMDK5.js";
|
import "./chunk-QRULMDK5.js";
|
||||||
import "./chunk-G3PMV62Z.js";
|
import "./chunk-G3PMV62Z.js";
|
||||||
export {
|
export {
|
||||||
|
|
@ -1,116 +1,95 @@
|
||||||
{
|
{
|
||||||
"hash": "ee016a46",
|
"hash": "c65a2b51",
|
||||||
"configHash": "fc61345b",
|
"configHash": "a118b0b6",
|
||||||
"lockfileHash": "cc22b271",
|
"lockfileHash": "cc22b271",
|
||||||
"browserHash": "593e9649",
|
"browserHash": "3d90ac92",
|
||||||
"optimized": {
|
"optimized": {
|
||||||
"react/jsx-dev-runtime": {
|
"react/jsx-dev-runtime": {
|
||||||
"src": "../../react/jsx-dev-runtime.js",
|
"src": "../../react/jsx-dev-runtime.js",
|
||||||
"file": "react_jsx-dev-runtime.js",
|
"file": "react_jsx-dev-runtime.js",
|
||||||
"fileHash": "fb13635f",
|
"fileHash": "8d8cb8a4",
|
||||||
"needsInterop": true
|
|
||||||
},
|
|
||||||
"@radix-ui/react-label@2.1.2": {
|
|
||||||
"src": "../../@radix-ui/react-label/dist/index.mjs",
|
|
||||||
"file": "@radix-ui_react-label@2__1__2.js",
|
|
||||||
"fileHash": "179faa3b",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"@radix-ui/react-select@2.1.6": {
|
|
||||||
"src": "../../@radix-ui/react-select/dist/index.mjs",
|
|
||||||
"file": "@radix-ui_react-select@2__1__6.js",
|
|
||||||
"fileHash": "077b3d1e",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"@radix-ui/react-separator@1.1.2": {
|
|
||||||
"src": "../../@radix-ui/react-separator/dist/index.mjs",
|
|
||||||
"file": "@radix-ui_react-separator@1__1__2.js",
|
|
||||||
"fileHash": "76382497",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"@radix-ui/react-slot@1.1.2": {
|
|
||||||
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
|
||||||
"file": "@radix-ui_react-slot@1__1__2.js",
|
|
||||||
"fileHash": "af080c52",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"class-variance-authority@0.7.1": {
|
|
||||||
"src": "../../class-variance-authority/dist/index.mjs",
|
|
||||||
"file": "class-variance-authority@0__7__1.js",
|
|
||||||
"fileHash": "c167c16e",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"clsx": {
|
|
||||||
"src": "../../clsx/dist/clsx.mjs",
|
|
||||||
"file": "clsx.js",
|
|
||||||
"fileHash": "35839afa",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"lucide-react": {
|
|
||||||
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
|
||||||
"file": "lucide-react.js",
|
|
||||||
"fileHash": "a8f1d8fe",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"lucide-react@0.487.0": {
|
|
||||||
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
|
||||||
"file": "lucide-react@0__487__0.js",
|
|
||||||
"fileHash": "107e9312",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"motion/react": {
|
|
||||||
"src": "../../motion/dist/es/react.mjs",
|
|
||||||
"file": "motion_react.js",
|
|
||||||
"fileHash": "74cb93b5",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"react": {
|
|
||||||
"src": "../../react/index.js",
|
|
||||||
"file": "react.js",
|
|
||||||
"fileHash": "55d0d4d3",
|
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react-dom/client": {
|
"react-dom/client": {
|
||||||
"src": "../../react-dom/client.js",
|
"src": "../../react-dom/client.js",
|
||||||
"file": "react-dom_client.js",
|
"file": "react-dom_client.js",
|
||||||
"fileHash": "74830a89",
|
"fileHash": "22848347",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react/jsx-runtime": {
|
"lucide-react": {
|
||||||
"src": "../../react/jsx-runtime.js",
|
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
||||||
"file": "react_jsx-runtime.js",
|
"file": "lucide-react.js",
|
||||||
"fileHash": "da5a188e",
|
"fileHash": "66b3705b",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"motion/react": {
|
||||||
|
"src": "../../motion/dist/es/react.mjs",
|
||||||
|
"file": "motion_react.js",
|
||||||
|
"fileHash": "3167660e",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"react": {
|
||||||
|
"src": "../../react/index.js",
|
||||||
|
"file": "react.js",
|
||||||
|
"fileHash": "2e227361",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
|
"clsx": {
|
||||||
|
"src": "../../clsx/dist/clsx.mjs",
|
||||||
|
"file": "clsx.js",
|
||||||
|
"fileHash": "7ab467e8",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
"tailwind-merge": {
|
"tailwind-merge": {
|
||||||
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
||||||
"file": "tailwind-merge.js",
|
"file": "tailwind-merge.js",
|
||||||
"fileHash": "8fb99703",
|
"fileHash": "028c4510",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@radix-ui/react-slot": {
|
||||||
|
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
||||||
|
"file": "@radix-ui_react-slot.js",
|
||||||
|
"fileHash": "0e60e2c4",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"class-variance-authority": {
|
||||||
|
"src": "../../class-variance-authority/dist/index.mjs",
|
||||||
|
"file": "class-variance-authority.js",
|
||||||
|
"fileHash": "ca9d4517",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@radix-ui/react-separator": {
|
||||||
|
"src": "../../@radix-ui/react-separator/dist/index.mjs",
|
||||||
|
"file": "@radix-ui_react-separator.js",
|
||||||
|
"fileHash": "ecba7b91",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@radix-ui/react-select": {
|
||||||
|
"src": "../../@radix-ui/react-select/dist/index.mjs",
|
||||||
|
"file": "@radix-ui_react-select.js",
|
||||||
|
"fileHash": "27f38f74",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chunks": {
|
"chunks": {
|
||||||
"chunk-FVJNHGOM": {
|
"chunk-2TVGN45P": {
|
||||||
"file": "chunk-FVJNHGOM.js"
|
"file": "chunk-2TVGN45P.js"
|
||||||
},
|
|
||||||
"chunk-MSN5GK4F": {
|
|
||||||
"file": "chunk-MSN5GK4F.js"
|
|
||||||
},
|
},
|
||||||
"chunk-BANT3OPS": {
|
"chunk-BANT3OPS": {
|
||||||
"file": "chunk-BANT3OPS.js"
|
"file": "chunk-BANT3OPS.js"
|
||||||
},
|
},
|
||||||
"chunk-XZIKTWIR": {
|
"chunk-U7P2NEEE": {
|
||||||
"file": "chunk-XZIKTWIR.js"
|
"file": "chunk-U7P2NEEE.js"
|
||||||
},
|
},
|
||||||
"chunk-NMLHVZ76": {
|
"chunk-S5VRQ3IK": {
|
||||||
"file": "chunk-NMLHVZ76.js"
|
"file": "chunk-S5VRQ3IK.js"
|
||||||
|
},
|
||||||
|
"chunk-2OHODJPS": {
|
||||||
|
"file": "chunk-2OHODJPS.js"
|
||||||
},
|
},
|
||||||
"chunk-QRULMDK5": {
|
"chunk-QRULMDK5": {
|
||||||
"file": "chunk-QRULMDK5.js"
|
"file": "chunk-QRULMDK5.js"
|
||||||
},
|
},
|
||||||
"chunk-U7P2NEEE": {
|
|
||||||
"file": "chunk-U7P2NEEE.js"
|
|
||||||
},
|
|
||||||
"chunk-G3PMV62Z": {
|
"chunk-G3PMV62Z": {
|
||||||
"file": "chunk-G3PMV62Z.js"
|
"file": "chunk-G3PMV62Z.js"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -901,6 +901,7 @@ var require_react_jsx_runtime_development = __commonJS({
|
||||||
// node_modules/react/jsx-runtime.js
|
// node_modules/react/jsx-runtime.js
|
||||||
var require_jsx_runtime = __commonJS({
|
var require_jsx_runtime = __commonJS({
|
||||||
"node_modules/react/jsx-runtime.js"(exports, module) {
|
"node_modules/react/jsx-runtime.js"(exports, module) {
|
||||||
|
"use strict";
|
||||||
if (false) {
|
if (false) {
|
||||||
module.exports = null;
|
module.exports = null;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -925,4 +926,4 @@ react/cjs/react-jsx-runtime.development.js:
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*)
|
*)
|
||||||
*/
|
*/
|
||||||
//# sourceMappingURL=chunk-NMLHVZ76.js.map
|
//# sourceMappingURL=chunk-2OHODJPS.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -3,10 +3,10 @@ import {
|
||||||
} from "./chunk-BANT3OPS.js";
|
} from "./chunk-BANT3OPS.js";
|
||||||
import {
|
import {
|
||||||
createSlot
|
createSlot
|
||||||
} from "./chunk-XZIKTWIR.js";
|
} from "./chunk-S5VRQ3IK.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-NMLHVZ76.js";
|
} from "./chunk-2OHODJPS.js";
|
||||||
import {
|
import {
|
||||||
require_react
|
require_react
|
||||||
} from "./chunk-QRULMDK5.js";
|
} from "./chunk-QRULMDK5.js";
|
||||||
|
|
@ -58,4 +58,4 @@ export {
|
||||||
Primitive,
|
Primitive,
|
||||||
dispatchDiscreteCustomEvent
|
dispatchDiscreteCustomEvent
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-MSN5GK4F.js.map
|
//# sourceMappingURL=chunk-2TVGN45P.js.map
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-NMLHVZ76.js";
|
} from "./chunk-2OHODJPS.js";
|
||||||
import {
|
import {
|
||||||
require_react
|
require_react
|
||||||
} from "./chunk-QRULMDK5.js";
|
} from "./chunk-QRULMDK5.js";
|
||||||
|
|
@ -149,4 +149,4 @@ export {
|
||||||
createSlottable,
|
createSlottable,
|
||||||
Slottable
|
Slottable
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-XZIKTWIR.js.map
|
//# sourceMappingURL=chunk-S5VRQ3IK.js.map
|
||||||
|
|
@ -48,4 +48,4 @@ export {
|
||||||
cva,
|
cva,
|
||||||
cx
|
cx
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=class-variance-authority@0__7__1.js.map
|
//# sourceMappingURL=class-variance-authority.js.map
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"sources": [],
|
|
||||||
"sourcesContent": [],
|
|
||||||
"mappings": "",
|
|
||||||
"names": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-NMLHVZ76.js";
|
} from "./chunk-2OHODJPS.js";
|
||||||
import {
|
import {
|
||||||
require_react
|
require_react
|
||||||
} from "./chunk-QRULMDK5.js";
|
} from "./chunk-QRULMDK5.js";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
import {
|
|
||||||
require_jsx_runtime
|
|
||||||
} from "./chunk-NMLHVZ76.js";
|
|
||||||
import "./chunk-QRULMDK5.js";
|
|
||||||
import "./chunk-G3PMV62Z.js";
|
|
||||||
export default require_jsx_runtime();
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"sources": [],
|
|
||||||
"sourcesContent": [],
|
|
||||||
"mappings": "",
|
|
||||||
"names": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Q as commonjsGlobal, P as getDefaultExportFromCjs } from './dep-DBxKXgDP.js';
|
import { Q as commonjsGlobal, P as getDefaultExportFromCjs } from './dep-Bu492Fnd.js';
|
||||||
import require$$0$2 from 'fs';
|
import require$$0$2 from 'fs';
|
||||||
import require$$0 from 'postcss';
|
import require$$0 from 'postcss';
|
||||||
import require$$0$1 from 'path';
|
import require$$0$1 from 'path';
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import * as fs$8 from 'node:fs';
|
import * as fs$8 from 'node:fs';
|
||||||
import fs__default, { promises as promises$1, existsSync as existsSync$1, readFileSync as readFileSync$1 } from 'node:fs';
|
import fs__default, { promises as promises$1, existsSync as existsSync$1, readFileSync as readFileSync$1 } from 'node:fs';
|
||||||
import path$b, { posix as posix$1, isAbsolute as isAbsolute$1, join as join$1, resolve as resolve$4, normalize, dirname as dirname$2, relative as relative$2, basename as basename$2, extname as extname$1 } from 'node:path';
|
import path$b, { posix as posix$1, isAbsolute as isAbsolute$1, join as join$1, resolve as resolve$4, sep as sep$1, normalize, dirname as dirname$2, relative as relative$2, basename as basename$2, extname as extname$1 } from 'node:path';
|
||||||
import fsp, { constants as constants$3 } from 'node:fs/promises';
|
import fsp, { constants as constants$3 } from 'node:fs/promises';
|
||||||
import require$$1$1, { fileURLToPath as fileURLToPath$1, URL as URL$3, pathToFileURL as pathToFileURL$1 } from 'node:url';
|
import require$$1$1, { fileURLToPath as fileURLToPath$1, URL as URL$3, pathToFileURL as pathToFileURL$1 } from 'node:url';
|
||||||
import { promisify as promisify$4, format as format$2, inspect, stripVTControlCharacters } from 'node:util';
|
import { promisify as promisify$4, format as format$2, inspect, stripVTControlCharacters } from 'node:util';
|
||||||
|
|
@ -35192,7 +35192,10 @@ function viaLocal(dir, isEtag, uri, extns, shouldServe) {
|
||||||
let i=0, arr=toAssume(uri, extns);
|
let i=0, arr=toAssume(uri, extns);
|
||||||
let abs, stats, name, headers;
|
let abs, stats, name, headers;
|
||||||
for (; i < arr.length; i++) {
|
for (; i < arr.length; i++) {
|
||||||
abs = normalize(join$1(dir, name=arr[i]));
|
abs = normalize(
|
||||||
|
join$1(dir, name=arr[i])
|
||||||
|
);
|
||||||
|
|
||||||
if (abs.startsWith(dir) && fs$8.existsSync(abs)) {
|
if (abs.startsWith(dir) && fs$8.existsSync(abs)) {
|
||||||
stats = fs$8.statSync(abs);
|
stats = fs$8.statSync(abs);
|
||||||
if (stats.isDirectory()) continue;
|
if (stats.isDirectory()) continue;
|
||||||
|
|
@ -35315,7 +35318,7 @@ function sirv (dir, opts={}) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let lookup = opts.dev ? viaLocal.bind(0, dir, isEtag) : viaCache.bind(0, FILES);
|
let lookup = opts.dev ? viaLocal.bind(0, dir.endsWith(sep$1) ? dir : dir + sep$1, isEtag) : viaCache.bind(0, FILES);
|
||||||
|
|
||||||
return function (req, res, next) {
|
return function (req, res, next) {
|
||||||
let extns = [''];
|
let extns = [''];
|
||||||
|
|
@ -37626,7 +37629,22 @@ function indexHtmlMiddleware(root, server) {
|
||||||
if (isDev && url.startsWith(FS_PREFIX)) {
|
if (isDev && url.startsWith(FS_PREFIX)) {
|
||||||
filePath = decodeURIComponent(fsPathFromId(url));
|
filePath = decodeURIComponent(fsPathFromId(url));
|
||||||
} else {
|
} else {
|
||||||
filePath = path$b.join(root, decodeURIComponent(url));
|
filePath = normalizePath$3(
|
||||||
|
path$b.resolve(path$b.join(root, decodeURIComponent(url)))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (isDev) {
|
||||||
|
const servingAccessResult = checkLoadingAccess(server.config, filePath);
|
||||||
|
if (servingAccessResult === "denied") {
|
||||||
|
return respondWithAccessDenied(filePath, server, res);
|
||||||
|
}
|
||||||
|
if (servingAccessResult === "fallback") {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!isParentDirectory(root, filePath)) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (fs__default.existsSync(filePath)) {
|
if (fs__default.existsSync(filePath)) {
|
||||||
const headers = isDev ? server.config.server.headers : server.config.preview.headers;
|
const headers = isDev ? server.config.server.headers : server.config.preview.headers;
|
||||||
|
|
@ -43912,8 +43930,8 @@ function createCachedImport(imp) {
|
||||||
return cached;
|
return cached;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const importPostcssImport = createCachedImport(() => import('./dep-AiMcmC_f.js').then(function (n) { return n.i; }));
|
const importPostcssImport = createCachedImport(() => import('./dep-D67CHC8_.js').then(function (n) { return n.i; }));
|
||||||
const importPostcssModules = createCachedImport(() => import('./dep-SgSik2vo.js').then(function (n) { return n.i; }));
|
const importPostcssModules = createCachedImport(() => import('./dep-B63J_9ss.js').then(function (n) { return n.i; }));
|
||||||
const importPostcss = createCachedImport(() => import('postcss'));
|
const importPostcss = createCachedImport(() => import('postcss'));
|
||||||
const preprocessorWorkerControllerCache = /* @__PURE__ */ new WeakMap();
|
const preprocessorWorkerControllerCache = /* @__PURE__ */ new WeakMap();
|
||||||
let alwaysFakeWorkerWorkerControllerCache;
|
let alwaysFakeWorkerWorkerControllerCache;
|
||||||
|
|
@ -48305,7 +48323,8 @@ async function preview(inlineConfig = {}) {
|
||||||
}
|
}
|
||||||
postHooks.forEach((fn) => fn && fn());
|
postHooks.forEach((fn) => fn && fn());
|
||||||
if (config.appType === "spa" || config.appType === "mpa") {
|
if (config.appType === "spa" || config.appType === "mpa") {
|
||||||
app.use(indexHtmlMiddleware(distDir, server));
|
const normalizedDistDir = normalizePath$3(distDir);
|
||||||
|
app.use(indexHtmlMiddleware(normalizedDistDir, server));
|
||||||
app.use(notFoundMiddleware());
|
app.use(notFoundMiddleware());
|
||||||
}
|
}
|
||||||
const hostname = await resolveHostname(options.host);
|
const hostname = await resolveHostname(options.host);
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { P as getDefaultExportFromCjs } from './dep-DBxKXgDP.js';
|
import { P as getDefaultExportFromCjs } from './dep-Bu492Fnd.js';
|
||||||
import require$$0 from 'path';
|
import require$$0 from 'path';
|
||||||
import { l as lib } from './dep-3RmXg9uo.js';
|
import { l as lib } from './dep-3RmXg9uo.js';
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@ import path from 'node:path';
|
||||||
import fs__default from 'node:fs';
|
import fs__default from 'node:fs';
|
||||||
import { performance } from 'node:perf_hooks';
|
import { performance } from 'node:perf_hooks';
|
||||||
import { EventEmitter } from 'events';
|
import { EventEmitter } from 'events';
|
||||||
import { O as colors, I as createLogger, r as resolveConfig } from './chunks/dep-DBxKXgDP.js';
|
import { O as colors, I as createLogger, r as resolveConfig } from './chunks/dep-Bu492Fnd.js';
|
||||||
import { VERSION } from './constants.js';
|
import { VERSION } from './constants.js';
|
||||||
import 'node:fs/promises';
|
import 'node:fs/promises';
|
||||||
import 'node:url';
|
import 'node:url';
|
||||||
|
|
@ -748,7 +748,7 @@ cli.command("[root]", "start dev server").alias("serve").alias("dev").option("--
|
||||||
`[boolean] force the optimizer to ignore the cache and re-bundle`
|
`[boolean] force the optimizer to ignore the cache and re-bundle`
|
||||||
).action(async (root, options) => {
|
).action(async (root, options) => {
|
||||||
filterDuplicateOptions(options);
|
filterDuplicateOptions(options);
|
||||||
const { createServer } = await import('./chunks/dep-DBxKXgDP.js').then(function (n) { return n.S; });
|
const { createServer } = await import('./chunks/dep-Bu492Fnd.js').then(function (n) { return n.S; });
|
||||||
try {
|
try {
|
||||||
const server = await createServer({
|
const server = await createServer({
|
||||||
root,
|
root,
|
||||||
|
|
@ -843,7 +843,7 @@ cli.command("build [root]", "build for production").option("--target <target>",
|
||||||
).option("-w, --watch", `[boolean] rebuilds when modules have changed on disk`).option("--app", `[boolean] same as \`builder: {}\``).action(
|
).option("-w, --watch", `[boolean] rebuilds when modules have changed on disk`).option("--app", `[boolean] same as \`builder: {}\``).action(
|
||||||
async (root, options) => {
|
async (root, options) => {
|
||||||
filterDuplicateOptions(options);
|
filterDuplicateOptions(options);
|
||||||
const { createBuilder } = await import('./chunks/dep-DBxKXgDP.js').then(function (n) { return n.T; });
|
const { createBuilder } = await import('./chunks/dep-Bu492Fnd.js').then(function (n) { return n.T; });
|
||||||
const buildOptions = cleanGlobalCLIOptions(
|
const buildOptions = cleanGlobalCLIOptions(
|
||||||
cleanBuilderCLIOptions(options)
|
cleanBuilderCLIOptions(options)
|
||||||
);
|
);
|
||||||
|
|
@ -882,7 +882,7 @@ cli.command(
|
||||||
).action(
|
).action(
|
||||||
async (root, options) => {
|
async (root, options) => {
|
||||||
filterDuplicateOptions(options);
|
filterDuplicateOptions(options);
|
||||||
const { optimizeDeps } = await import('./chunks/dep-DBxKXgDP.js').then(function (n) { return n.R; });
|
const { optimizeDeps } = await import('./chunks/dep-Bu492Fnd.js').then(function (n) { return n.R; });
|
||||||
try {
|
try {
|
||||||
const config = await resolveConfig(
|
const config = await resolveConfig(
|
||||||
{
|
{
|
||||||
|
|
@ -909,7 +909,7 @@ ${e.stack}`),
|
||||||
cli.command("preview [root]", "locally preview production build").option("--host [host]", `[string] specify hostname`, { type: [convertHost] }).option("--port <port>", `[number] specify port`).option("--strictPort", `[boolean] exit if specified port is already in use`).option("--open [path]", `[boolean | string] open browser on startup`).option("--outDir <dir>", `[string] output directory (default: dist)`).action(
|
cli.command("preview [root]", "locally preview production build").option("--host [host]", `[string] specify hostname`, { type: [convertHost] }).option("--port <port>", `[number] specify port`).option("--strictPort", `[boolean] exit if specified port is already in use`).option("--open [path]", `[boolean | string] open browser on startup`).option("--outDir <dir>", `[string] output directory (default: dist)`).action(
|
||||||
async (root, options) => {
|
async (root, options) => {
|
||||||
filterDuplicateOptions(options);
|
filterDuplicateOptions(options);
|
||||||
const { preview } = await import('./chunks/dep-DBxKXgDP.js').then(function (n) { return n.U; });
|
const { preview } = await import('./chunks/dep-Bu492Fnd.js').then(function (n) { return n.U; });
|
||||||
try {
|
try {
|
||||||
const server = await preview({
|
const server = await preview({
|
||||||
root,
|
root,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
export { parseAst, parseAstAsync } from 'rollup/parseAst';
|
export { parseAst, parseAstAsync } from 'rollup/parseAst';
|
||||||
import { a as arraify, i as isInNodeModules, D as DevEnvironment } from './chunks/dep-DBxKXgDP.js';
|
import { a as arraify, i as isInNodeModules, D as DevEnvironment } from './chunks/dep-Bu492Fnd.js';
|
||||||
export { B as BuildEnvironment, f as build, m as buildErrorMessage, g as createBuilder, F as createFilter, h as createIdResolver, I as createLogger, n as createRunnableDevEnvironment, c as createServer, y as createServerHotChannel, w as createServerModuleRunner, x as createServerModuleRunnerTransport, d as defineConfig, v as fetchModule, j as formatPostcssSourceMap, L as isFileLoadingAllowed, K as isFileServingAllowed, q as isRunnableDevEnvironment, l as loadConfigFromFile, M as loadEnv, E as mergeAlias, C as mergeConfig, z as moduleRunnerTransform, A as normalizePath, o as optimizeDeps, p as perEnvironmentPlugin, b as perEnvironmentState, k as preprocessCSS, e as preview, r as resolveConfig, N as resolveEnvPrefix, G as rollupVersion, u as runnerImport, J as searchForWorkspaceRoot, H as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-DBxKXgDP.js';
|
export { B as BuildEnvironment, f as build, m as buildErrorMessage, g as createBuilder, F as createFilter, h as createIdResolver, I as createLogger, n as createRunnableDevEnvironment, c as createServer, y as createServerHotChannel, w as createServerModuleRunner, x as createServerModuleRunnerTransport, d as defineConfig, v as fetchModule, j as formatPostcssSourceMap, L as isFileLoadingAllowed, K as isFileServingAllowed, q as isRunnableDevEnvironment, l as loadConfigFromFile, M as loadEnv, E as mergeAlias, C as mergeConfig, z as moduleRunnerTransform, A as normalizePath, o as optimizeDeps, p as perEnvironmentPlugin, b as perEnvironmentState, k as preprocessCSS, e as preview, r as resolveConfig, N as resolveEnvPrefix, G as rollupVersion, u as runnerImport, J as searchForWorkspaceRoot, H as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-Bu492Fnd.js';
|
||||||
export { defaultAllowedOrigins, DEFAULT_CLIENT_CONDITIONS as defaultClientConditions, DEFAULT_CLIENT_MAIN_FIELDS as defaultClientMainFields, DEFAULT_SERVER_CONDITIONS as defaultServerConditions, DEFAULT_SERVER_MAIN_FIELDS as defaultServerMainFields, VERSION as version } from './constants.js';
|
export { defaultAllowedOrigins, DEFAULT_CLIENT_CONDITIONS as defaultClientConditions, DEFAULT_CLIENT_MAIN_FIELDS as defaultClientMainFields, DEFAULT_SERVER_CONDITIONS as defaultServerConditions, DEFAULT_SERVER_MAIN_FIELDS as defaultServerMainFields, VERSION as version } from './constants.js';
|
||||||
export { version as esbuildVersion } from 'esbuild';
|
export { version as esbuildVersion } from 'esbuild';
|
||||||
import 'node:fs';
|
import 'node:fs';
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "vite",
|
"name": "vite",
|
||||||
"version": "6.3.5",
|
"version": "6.3.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "Evan You",
|
"author": "Evan You",
|
||||||
|
|
@ -131,7 +131,7 @@
|
||||||
"rollup-plugin-license": "^3.6.0",
|
"rollup-plugin-license": "^3.6.0",
|
||||||
"sass": "^1.86.3",
|
"sass": "^1.86.3",
|
||||||
"sass-embedded": "^1.86.3",
|
"sass-embedded": "^1.86.3",
|
||||||
"sirv": "^3.0.1",
|
"sirv": "^3.0.2",
|
||||||
"source-map-support": "^0.5.21",
|
"source-map-support": "^0.5.21",
|
||||||
"strip-literal": "^3.0.0",
|
"strip-literal": "^3.0.0",
|
||||||
"terser": "^5.39.0",
|
"terser": "^5.39.0",
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
"@vitejs/plugin-react-swc": "^3.10.2",
|
"@vitejs/plugin-react-swc": "^3.10.2",
|
||||||
"eslint": "^9.36.0",
|
"eslint": "^9.36.0",
|
||||||
"eslint-plugin-unused-imports": "^4.2.0",
|
"eslint-plugin-unused-imports": "^4.2.0",
|
||||||
"vite": "^6.3.5"
|
"vite": "^6.3.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
|
|
@ -4624,9 +4624,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.3.5",
|
"version": "6.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz",
|
||||||
"integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
|
"integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
"@vitejs/plugin-react-swc": "^3.10.2",
|
"@vitejs/plugin-react-swc": "^3.10.2",
|
||||||
"eslint": "^9.36.0",
|
"eslint": "^9.36.0",
|
||||||
"eslint-plugin-unused-imports": "^4.2.0",
|
"eslint-plugin-unused-imports": "^4.2.0",
|
||||||
"vite": "^6.3.5"
|
"vite": "^6.3.6"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { motion } from "motion/react";
|
import { motion } from "motion/react";
|
||||||
import sangwariLogo from "figma:asset/ebbc13bb0f2d37680534a657788a10d26b7460b9.png";
|
// import sangwariLogo from "figma:asset/ebbc13bb0f2d37680534a657788a10d26b7460b9.png";
|
||||||
|
|
||||||
interface AnimatedLogoProps {
|
interface AnimatedLogoProps {
|
||||||
onClick?: () => void;
|
onClick?: () => void;
|
||||||
|
|
@ -7,7 +7,7 @@ interface AnimatedLogoProps {
|
||||||
|
|
||||||
export function AnimatedLogo({ onClick }: AnimatedLogoProps) {
|
export function AnimatedLogo({ onClick }: AnimatedLogoProps) {
|
||||||
return (
|
return (
|
||||||
<motion.button
|
<motion.button
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
className="flex items-center hover:opacity-80 transition-opacity"
|
className="flex items-center hover:opacity-80 transition-opacity"
|
||||||
whileHover={{ scale: 1.05 }}
|
whileHover={{ scale: 1.05 }}
|
||||||
|
|
@ -17,13 +17,13 @@ export function AnimatedLogo({ onClick }: AnimatedLogoProps) {
|
||||||
transition={{ duration: 0.6, ease: "easeOut" }}
|
transition={{ duration: 0.6, ease: "easeOut" }}
|
||||||
>
|
>
|
||||||
<motion.img
|
<motion.img
|
||||||
src={sangwariLogo}
|
// src={sangwariLogo}
|
||||||
alt="Sangwari Taxi Logo"
|
alt="Sangwari Taxi Logo"
|
||||||
className="h-10 w-auto object-contain"
|
className="h-10 w-auto object-contain"
|
||||||
animate={{
|
animate={{
|
||||||
scale: [1, 1.02, 1],
|
scale: [1, 1.02, 1],
|
||||||
}}
|
}}
|
||||||
transition={{
|
transition={{
|
||||||
duration: 3,
|
duration: 3,
|
||||||
repeat: Infinity,
|
repeat: Infinity,
|
||||||
ease: "easeInOut"
|
ease: "easeInOut"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Car, Mail, Phone, MapPin, Facebook, Twitter, Instagram, Linkedin } from "lucide-react";
|
import { Car, Mail, Phone, MapPin, Facebook, Twitter, Instagram, Linkedin } from "lucide-react";
|
||||||
import sangwariLogo from "figma:asset/ebbc13bb0f2d37680534a657788a10d26b7460b9.png";
|
// import sangwariLogo from "figma:asset/ebbc13bb0f2d37680534a657788a10d26b7460b9.png";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Separator } from "./ui/separator";
|
import { Separator } from "./ui/separator";
|
||||||
|
|
||||||
|
|
@ -15,13 +15,13 @@ export function Footer({ onNavigate }: FooterProps) {
|
||||||
{ label: "About Us", action: () => onNavigate("about") },
|
{ label: "About Us", action: () => onNavigate("about") },
|
||||||
{ label: "Services", action: () => onNavigate("services") },
|
{ label: "Services", action: () => onNavigate("services") },
|
||||||
{ label: "Contact", action: () => onNavigate("contact") },
|
{ label: "Contact", action: () => onNavigate("contact") },
|
||||||
{ label: "Careers", action: () => {} }
|
{ label: "Careers", action: () => { } }
|
||||||
],
|
],
|
||||||
support: [
|
support: [
|
||||||
{ label: "Help Center", action: () => {} },
|
{ label: "Help Center", action: () => { } },
|
||||||
{ label: "Safety", action: () => {} },
|
{ label: "Safety", action: () => { } },
|
||||||
{ label: "Terms of Service", action: () => {} },
|
{ label: "Terms of Service", action: () => { } },
|
||||||
{ label: "Privacy Policy", action: () => {} }
|
{ label: "Privacy Policy", action: () => { } }
|
||||||
],
|
],
|
||||||
services: [
|
services: [
|
||||||
{ label: "City Rides", action: () => onNavigate("services") },
|
{ label: "City Rides", action: () => onNavigate("services") },
|
||||||
|
|
@ -59,27 +59,27 @@ export function Footer({ onNavigate }: FooterProps) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="container mx-auto px-4 py-8 sm:py-12">
|
<div className="container mx-auto px-4 py-8 sm:py-12">
|
||||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-6 sm:gap-8">
|
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-6 sm:gap-8">
|
||||||
{/* Company Info */}
|
{/* Company Info */}
|
||||||
<div className="lg:col-span-2 sm:col-span-2">
|
<div className="lg:col-span-2 sm:col-span-2">
|
||||||
<div className="flex items-center mb-4">
|
<div className="flex items-center mb-4">
|
||||||
<img
|
<img
|
||||||
src={sangwariLogo}
|
// src={sangwariLogo}
|
||||||
alt="Sangwari Taxi Logo"
|
alt="Sangwari Taxi Logo"
|
||||||
className="h-6 sm:h-8 w-auto object-contain"
|
className="h-6 sm:h-8 w-auto object-contain"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-muted-foreground mb-4 sm:mb-6 max-w-md text-sm sm:text-base">
|
<p className="text-muted-foreground mb-4 sm:mb-6 max-w-md text-sm sm:text-base">
|
||||||
Your trusted transportation partner. Safe, reliable, and convenient
|
Your trusted transportation partner. Safe, reliable, and convenient
|
||||||
rides available 24/7 in over 25 cities.
|
rides available 24/7 in over 25 cities.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="space-y-2 mb-4 sm:mb-6">
|
<div className="space-y-2 mb-4 sm:mb-6">
|
||||||
<div className="flex items-center gap-2 text-xs sm:text-sm">
|
<div className="flex items-center gap-2 text-xs sm:text-sm">
|
||||||
<Phone className="h-3 w-3 sm:h-4 sm:w-4 text-primary flex-shrink-0" />
|
<Phone className="h-3 w-3 sm:h-4 sm:w-4 text-primary flex-shrink-0" />
|
||||||
<button
|
<button
|
||||||
onClick={() => window.open('tel:+91-7477247488', '_self')}
|
onClick={() => window.open('tel:+91-7477247488', '_self')}
|
||||||
className="hover:text-primary transition-colors"
|
className="hover:text-primary transition-colors"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
@ -86,13 +86,13 @@ const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
|
||||||
([theme, prefix]) => `
|
([theme, prefix]) => `
|
||||||
${prefix} [data-chart=${id}] {
|
${prefix} [data-chart=${id}] {
|
||||||
${colorConfig
|
${colorConfig
|
||||||
.map(([key, itemConfig]) => {
|
.map(([key, itemConfig]) => {
|
||||||
const color =
|
const color =
|
||||||
itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||
|
itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||
|
||||||
itemConfig.color;
|
itemConfig.color;
|
||||||
return color ? ` --color-${key}: ${color};` : null;
|
return color ? ` --color-${key}: ${color};` : null;
|
||||||
})
|
})
|
||||||
.join("\n")}
|
.join("\n")}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
)
|
)
|
||||||
|
|
@ -316,8 +316,8 @@ function getPayloadConfigFromPayload(
|
||||||
|
|
||||||
const payloadPayload =
|
const payloadPayload =
|
||||||
"payload" in payload &&
|
"payload" in payload &&
|
||||||
typeof payload.payload === "object" &&
|
typeof payload.payload === "object" &&
|
||||||
payload.payload !== null
|
payload.payload !== null
|
||||||
? payload.payload
|
? payload.payload
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
@ -40,9 +40,9 @@ function ScrollBar({
|
||||||
className={cn(
|
className={cn(
|
||||||
"flex touch-none p-px transition-colors select-none",
|
"flex touch-none p-px transition-colors select-none",
|
||||||
orientation === "vertical" &&
|
orientation === "vertical" &&
|
||||||
"h-full w-2.5 border-l border-l-transparent",
|
"h-full w-2.5 border-l border-l-transparent",
|
||||||
orientation === "horizontal" &&
|
orientation === "horizontal" &&
|
||||||
"h-2.5 flex-col border-t border-t-transparent",
|
"h-2.5 flex-col border-t border-t-transparent",
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
@ -67,7 +67,7 @@ function SelectContent({
|
||||||
className={cn(
|
className={cn(
|
||||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
||||||
position === "popper" &&
|
position === "popper" &&
|
||||||
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
position={position}
|
position={position}
|
||||||
|
|
@ -78,7 +78,7 @@ function SelectContent({
|
||||||
className={cn(
|
className={cn(
|
||||||
"p-1",
|
"p-1",
|
||||||
position === "popper" &&
|
position === "popper" &&
|
||||||
"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1",
|
"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
@ -60,13 +60,13 @@ function SheetContent({
|
||||||
className={cn(
|
className={cn(
|
||||||
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
||||||
side === "right" &&
|
side === "right" &&
|
||||||
"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
|
"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
|
||||||
side === "left" &&
|
side === "left" &&
|
||||||
"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
|
"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
|
||||||
side === "top" &&
|
side === "top" &&
|
||||||
"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
|
"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
|
||||||
side === "bottom" &&
|
side === "bottom" &&
|
||||||
"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
|
"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
@ -569,7 +569,7 @@ function SidebarMenuAction({
|
||||||
"peer-data-[size=lg]/menu-button:top-2.5",
|
"peer-data-[size=lg]/menu-button:top-2.5",
|
||||||
"group-data-[collapsible=icon]:hidden",
|
"group-data-[collapsible=icon]:hidden",
|
||||||
showOnHover &&
|
showOnHover &&
|
||||||
"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
|
"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
import { createRoot } from "react-dom/client";
|
import { createRoot } from "react-dom/client";
|
||||||
import App from "./App.tsx";
|
import App from "./App.tsx";
|
||||||
import "./index.css";
|
// import "../src/";
|
||||||
|
// declare module '*.css';
|
||||||
createRoot(document.getElementById("root")!).render(<App />);
|
createRoot(document.getElementById("root")!).render(<App />);
|
||||||
|
|
|
||||||
|
|
@ -1,62 +1,18 @@
|
||||||
|
import { defineConfig } from 'vite';
|
||||||
|
import react from '@vitejs/plugin-react-swc';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
import { defineConfig } from 'vite';
|
export default defineConfig({
|
||||||
import react from '@vitejs/plugin-react-swc';
|
plugins: [react()],
|
||||||
import path from 'path';
|
resolve: {
|
||||||
|
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
|
||||||
export default defineConfig({
|
},
|
||||||
plugins: [react()],
|
build: {
|
||||||
resolve: {
|
target: 'esnext',
|
||||||
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
|
outDir: 'build', // Make sure this matches Dockerfile COPY path
|
||||||
alias: {
|
},
|
||||||
'vaul@1.1.2': 'vaul',
|
server: {
|
||||||
'sonner@2.0.3': 'sonner',
|
port: 3000,
|
||||||
'recharts@2.15.2': 'recharts',
|
open: true,
|
||||||
'react-resizable-panels@2.1.7': 'react-resizable-panels',
|
},
|
||||||
'react-hook-form@7.55.0': 'react-hook-form',
|
});
|
||||||
'react-day-picker@8.10.1': 'react-day-picker',
|
|
||||||
'next-themes@0.4.6': 'next-themes',
|
|
||||||
'lucide-react@0.487.0': 'lucide-react',
|
|
||||||
'input-otp@1.4.2': 'input-otp',
|
|
||||||
'figma:asset/ebbc13bb0f2d37680534a657788a10d26b7460b9.png': path.resolve(__dirname, './src/assets/ebbc13bb0f2d37680534a657788a10d26b7460b9.png'),
|
|
||||||
'embla-carousel-react@8.6.0': 'embla-carousel-react',
|
|
||||||
'cmdk@1.1.1': 'cmdk',
|
|
||||||
'class-variance-authority@0.7.1': 'class-variance-authority',
|
|
||||||
'@radix-ui/react-tooltip@1.1.8': '@radix-ui/react-tooltip',
|
|
||||||
'@radix-ui/react-toggle@1.1.2': '@radix-ui/react-toggle',
|
|
||||||
'@radix-ui/react-toggle-group@1.1.2': '@radix-ui/react-toggle-group',
|
|
||||||
'@radix-ui/react-tabs@1.1.3': '@radix-ui/react-tabs',
|
|
||||||
'@radix-ui/react-switch@1.1.3': '@radix-ui/react-switch',
|
|
||||||
'@radix-ui/react-slot@1.1.2': '@radix-ui/react-slot',
|
|
||||||
'@radix-ui/react-slider@1.2.3': '@radix-ui/react-slider',
|
|
||||||
'@radix-ui/react-separator@1.1.2': '@radix-ui/react-separator',
|
|
||||||
'@radix-ui/react-select@2.1.6': '@radix-ui/react-select',
|
|
||||||
'@radix-ui/react-scroll-area@1.2.3': '@radix-ui/react-scroll-area',
|
|
||||||
'@radix-ui/react-radio-group@1.2.3': '@radix-ui/react-radio-group',
|
|
||||||
'@radix-ui/react-progress@1.1.2': '@radix-ui/react-progress',
|
|
||||||
'@radix-ui/react-popover@1.1.6': '@radix-ui/react-popover',
|
|
||||||
'@radix-ui/react-navigation-menu@1.2.5': '@radix-ui/react-navigation-menu',
|
|
||||||
'@radix-ui/react-menubar@1.1.6': '@radix-ui/react-menubar',
|
|
||||||
'@radix-ui/react-label@2.1.2': '@radix-ui/react-label',
|
|
||||||
'@radix-ui/react-hover-card@1.1.6': '@radix-ui/react-hover-card',
|
|
||||||
'@radix-ui/react-dropdown-menu@2.1.6': '@radix-ui/react-dropdown-menu',
|
|
||||||
'@radix-ui/react-dialog@1.1.6': '@radix-ui/react-dialog',
|
|
||||||
'@radix-ui/react-context-menu@2.2.6': '@radix-ui/react-context-menu',
|
|
||||||
'@radix-ui/react-collapsible@1.1.3': '@radix-ui/react-collapsible',
|
|
||||||
'@radix-ui/react-checkbox@1.1.4': '@radix-ui/react-checkbox',
|
|
||||||
'@radix-ui/react-avatar@1.1.3': '@radix-ui/react-avatar',
|
|
||||||
'@radix-ui/react-aspect-ratio@1.1.2': '@radix-ui/react-aspect-ratio',
|
|
||||||
'@radix-ui/react-alert-dialog@1.1.6': '@radix-ui/react-alert-dialog',
|
|
||||||
'@radix-ui/react-accordion@1.2.3': '@radix-ui/react-accordion',
|
|
||||||
'@jsr/supabase__supabase-js@2.49.8': '@jsr/supabase__supabase-js',
|
|
||||||
'@': path.resolve(__dirname, './src'),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
build: {
|
|
||||||
target: 'esnext',
|
|
||||||
outDir: 'build',
|
|
||||||
},
|
|
||||||
server: {
|
|
||||||
port: 3000,
|
|
||||||
open: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue