Refactored locally
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres"
|
||||
NODE_ENV=development
|
||||
+32
-30
@@ -1,36 +1,38 @@
|
||||
import { Switch, Route, Redirect } from "wouter";
|
||||
import { queryClient } from "./lib/queryClient";
|
||||
import { QueryClientProvider } from "@tanstack/react-query";
|
||||
import { Toaster } from "@/components/ui/toaster";
|
||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||
import { FloatingVoiceControl } from "@/components/voice/FloatingVoiceControl";
|
||||
import { AuthProvider, useAuth } from "@/context/AuthContext";
|
||||
import { ThemeProvider } from "@/context/ThemeContext";
|
||||
import { AdaptiveThemeProvider } from "@/context/AdaptiveThemeContext";
|
||||
import { VoiceProvider } from "@/context/VoiceProvider";
|
||||
import { NotificationProvider } from "@/context/NotificationProvider";
|
||||
import { TourManagerProvider } from "@/components/onboarding/TourManager";
|
||||
import { MoodDetector } from "@/components/MoodDetector";
|
||||
import { RTLProvider } from "@/components/RTLProvider";
|
||||
import { Skeleton } from "@/components/ui/skeleton";
|
||||
import LandingPage from "@/pages/LandingPage";
|
||||
import DashboardPage from "@/pages/DashboardPage";
|
||||
import LoginPage from "@/pages/LoginPage";
|
||||
import ProfessionalDirectory from "@/pages/ProfessionalDirectory";
|
||||
import OnboardingPage from "@/pages/OnboardingPage";
|
||||
import TasksPage from "@/pages/TasksPage";
|
||||
import FinancesPage from "@/pages/FinancesPage";
|
||||
import VoicePage from "@/pages/VoicePage";
|
||||
import AIPage from "@/pages/AIPage";
|
||||
import AnalyticsPage from "@/pages/AnalyticsPage";
|
||||
import SystemMonitoringPage from "@/pages/SystemMonitoringPage";
|
||||
import SettingsPage from "@/pages/SettingsPage";
|
||||
import FocusPage from "@/pages/FocusPage";
|
||||
import ThemePage from "@/pages/ThemePage";
|
||||
import BenchmarkPage from "@/pages/BenchmarkPage";
|
||||
import ChatPage from "@/pages/ChatPage";
|
||||
import ComfortHubPage from "@/pages/ComfortHubPage";
|
||||
import NotFound from "@/pages/not-found";
|
||||
import { Toaster } from "./components/ui/toaster";
|
||||
import { TooltipProvider } from "./components/ui/tooltip";
|
||||
import { FloatingVoiceControl } from "./components/voice/FloatingVoiceControl";
|
||||
import { AuthProvider, useAuth } from "./context/AuthContext";
|
||||
import { ThemeProvider } from "./context/ThemeContext";
|
||||
import { AdaptiveThemeProvider } from "./context/AdaptiveThemeContext";
|
||||
import { VoiceProvider } from "./context/VoiceProvider";
|
||||
import { NotificationProvider } from "./context/NotificationProvider";
|
||||
import { TourManagerProvider } from "./components/onboarding/TourManager";
|
||||
import { MoodDetector } from "./components/MoodDetector";
|
||||
import { RTLProvider } from "./components/RTLProvider";
|
||||
import { Skeleton } from "./components/ui/skeleton";
|
||||
|
||||
// Page imports
|
||||
import LandingPage from "./pages/LandingPage";
|
||||
import DashboardPage from "./pages/DashboardPage";
|
||||
import LoginPage from "./pages/LoginPage";
|
||||
import OnboardingPage from "./pages/OnboardingPage";
|
||||
import TasksPage from "./pages/TasksPage";
|
||||
import FinancesPage from "./pages/FinancesPage";
|
||||
import VoicePage from "./pages/VoicePage";
|
||||
import AIPage from "./pages/AIPage";
|
||||
import AnalyticsPage from "./pages/AnalyticsPage";
|
||||
import SystemMonitoringPage from "./pages/SystemMonitoringPage";
|
||||
import SettingsPage from "./pages/SettingsPage";
|
||||
import FocusPage from "./pages/FocusPage";
|
||||
import ThemePage from "./pages/ThemePage";
|
||||
import BenchmarkPage from "./pages/BenchmarkPage";
|
||||
import ChatPage from "./pages/ChatPage";
|
||||
import ComfortHubPage from "./pages/ComfortHubPage";
|
||||
import ProfessionalDirectory from "./pages/ProfessionalDirectory";
|
||||
import NotFound from "./pages/not-found";
|
||||
|
||||
// Protected Route wrapper
|
||||
function ProtectedRoute({ component: Component }: { component: React.ComponentType }) {
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
--secondary-foreground: 222.2 84% 4.9%;
|
||||
--muted: 210 40% 96%;
|
||||
--muted-foreground: 215.4 16.3% 46.9%;
|
||||
--border: 214.3 31.8% 91.4%;
|
||||
--accent: 210 40% 96%;
|
||||
--accent-foreground: 222.2 84% 4.9%;
|
||||
--destructive: 0 84.2% 60.2%;
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Badge } from '@/components/ui/badge';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
import { PerformanceBenchmark } from '@/components/PerformanceBenchmark';
|
||||
import { Header } from '@/components/layout/Header';
|
||||
import { Sidebar } from '@/components/layout/Sidebar';
|
||||
import Sidebar from '@/components/layout/Sidebar';
|
||||
import {
|
||||
Activity,
|
||||
BarChart3,
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import path from "path";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "src"),
|
||||
},
|
||||
},
|
||||
});
|
||||
Generated
+16
-3
@@ -49,6 +49,7 @@
|
||||
"compression": "^1.8.0",
|
||||
"connect-pg-simple": "^10.0.0",
|
||||
"date-fns": "^3.6.0",
|
||||
"dotenv": "^16.5.0",
|
||||
"drizzle-orm": "^0.39.1",
|
||||
"drizzle-zod": "^0.7.0",
|
||||
"embla-carousel-react": "^8.6.0",
|
||||
@@ -4137,9 +4138,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001677",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz",
|
||||
"integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==",
|
||||
"version": "1.0.30001721",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz",
|
||||
"integrity": "sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4787,6 +4788,18 @@
|
||||
"csstype": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "16.5.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
|
||||
"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
|
||||
"license": "BSD-2-Clause",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://dotenvx.com"
|
||||
}
|
||||
},
|
||||
"node_modules/drizzle-kit": {
|
||||
"version": "0.30.4",
|
||||
"resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.30.4.tgz",
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
"compression": "^1.8.0",
|
||||
"connect-pg-simple": "^10.0.0",
|
||||
"date-fns": "^3.6.0",
|
||||
"dotenv": "^16.5.0",
|
||||
"drizzle-orm": "^0.39.1",
|
||||
"drizzle-zod": "^0.7.0",
|
||||
"embla-carousel-react": "^8.6.0",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'dotenv/config';
|
||||
import express, { type Request, Response, NextFunction } from "express";
|
||||
import { registerRoutes } from "./routes";
|
||||
import { taskScheduler } from "./services/taskScheduler";
|
||||
|
||||
+5
-2
@@ -1,11 +1,14 @@
|
||||
import express, { type Express } from "express";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { createServer as createViteServer, createLogger } from "vite";
|
||||
import { type Server } from "http";
|
||||
import viteConfig from "../vite.config";
|
||||
import { nanoid } from "nanoid";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const viteLogger = createLogger();
|
||||
|
||||
export function log(message: string, source = "express") {
|
||||
@@ -46,7 +49,7 @@ export async function setupVite(app: Express, server: Server) {
|
||||
|
||||
try {
|
||||
const clientTemplate = path.resolve(
|
||||
import.meta.dirname,
|
||||
__dirname,
|
||||
"..",
|
||||
"client",
|
||||
"index.html",
|
||||
@@ -68,7 +71,7 @@ export async function setupVite(app: Express, server: Server) {
|
||||
}
|
||||
|
||||
export function serveStatic(app: Express) {
|
||||
const distPath = path.resolve(import.meta.dirname, "public");
|
||||
const distPath = path.resolve(__dirname, "public");
|
||||
|
||||
if (!fs.existsSync(distPath)) {
|
||||
throw new Error(
|
||||
|
||||
+10
-2
@@ -2,7 +2,12 @@ import type { Config } from "tailwindcss";
|
||||
|
||||
export default {
|
||||
darkMode: ["class"],
|
||||
content: ["./client/index.html", "./client/src/**/*.{js,jsx,ts,tsx}"],
|
||||
content: [
|
||||
"./index.html",
|
||||
"./src/**/*.{js,ts,jsx,tsx}",
|
||||
"./client/index.html",
|
||||
"./client/src/**/*.{js,ts,jsx,tsx}"
|
||||
],
|
||||
theme: {
|
||||
extend: {
|
||||
borderRadius: {
|
||||
@@ -10,9 +15,13 @@ export default {
|
||||
md: "calc(var(--radius) - 2px)",
|
||||
sm: "calc(var(--radius) - 4px)",
|
||||
},
|
||||
borderColor: {
|
||||
DEFAULT: "hsl(var(--border))",
|
||||
},
|
||||
colors: {
|
||||
background: "hsl(var(--background))",
|
||||
foreground: "hsl(var(--foreground))",
|
||||
border: "hsl(var(--border))",
|
||||
card: {
|
||||
DEFAULT: "hsl(var(--card))",
|
||||
foreground: "hsl(var(--card-foreground))",
|
||||
@@ -41,7 +50,6 @@ export default {
|
||||
DEFAULT: "hsl(var(--destructive))",
|
||||
foreground: "hsl(var(--destructive-foreground))",
|
||||
},
|
||||
border: "hsl(var(--border))",
|
||||
input: "hsl(var(--input))",
|
||||
ring: "hsl(var(--ring))",
|
||||
chart: {
|
||||
|
||||
+8
-5
@@ -1,8 +1,11 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import runtimeErrorOverlay from "@replit/vite-plugin-runtime-error-modal";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
@@ -18,14 +21,14 @@ export default defineConfig({
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(import.meta.dirname, "client", "src"),
|
||||
"@shared": path.resolve(import.meta.dirname, "shared"),
|
||||
"@assets": path.resolve(import.meta.dirname, "attached_assets"),
|
||||
"@": path.resolve(__dirname, "client", "src"),
|
||||
"@shared": path.resolve(__dirname, "shared"),
|
||||
"@assets": path.resolve(__dirname, "attached_assets"),
|
||||
},
|
||||
},
|
||||
root: path.resolve(import.meta.dirname, "client"),
|
||||
root: path.resolve(__dirname, "client"),
|
||||
build: {
|
||||
outDir: path.resolve(import.meta.dirname, "dist/public"),
|
||||
outDir: path.resolve(__dirname, "dist/public"),
|
||||
emptyOutDir: true,
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user