diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100755 index 0000000..c3877cb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,62 @@ +{ + // ============================ + // Editor basics + // ============================ + "editor.tabSize": 2, + "editor.insertSpaces": true, + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll": "explicit", + "source.organizeImports": "explicit" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + + // ============================ + // JS / TS behavior + // ============================ + "javascript.updateImportsOnFileMove.enabled": "always", + "typescript.updateImportsOnFileMove.enabled": "always", + "javascript.suggest.autoImports": true, + "typescript.suggest.autoImports": true, + + // Fix annoying "JSX not allowed" issues in js files + "javascript.validate.enable": false, + + // ============================ + // React specific + // ============================ + "emmet.includeLanguages": { + "javascript": "javascriptreact", + "typescript": "typescriptreact" + }, + "emmet.triggerExpansionOnTab": true, + + // ============================ + // Terminal + // ============================ + "terminal.integrated.defaultProfile.windows": "Git Bash", + + // ============================ + // Prettier + // ============================ + "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + + // ============================ + // File Icons + // ============================ + "workbench.iconTheme": "material-icon-theme", + + // ============================ + // Explorer cleanup + // ============================ + "files.exclude": { + "**/.git": true, + "**/.DS_Store": true, + "**/node_modules": true, + "**/*.log": true, + "**/dist": true + } +} \ No newline at end of file diff --git a/backend/server.js b/backend/server.js index b40ef9c..6bb384c 100755 --- a/backend/server.js +++ b/backend/server.js @@ -21,13 +21,15 @@ app.use(express.json()); const allowedOrigins = [ "http://localhost:3000", - "https://mygroceryapp.com", + "https://costco.nicosaya.com", + "https://costco.api.nicosaya.com", ]; app.use(cors({ origin: function (origin, callback) { if (!origin) return callback(null, true); if (allowedOrigins.includes(origin)) return callback(null, true); if (/^http:\/\/192\.168\.\d+\.\d+/.test(origin)) return callback(null, true); + if (/^https:\/\/192\.168\.\d+\.\d+/.test(origin)) return callback(null, true); callback(new Error("Not allowed by CORS")); }, methods: ["GET", "POST"], diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a376c75..6ecc89d 100755 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,6 +1,6 @@ -import { useState, useEffect } from "react"; -import SuggestionList from "./components/SuggestionList"; +import { useEffect, useState } from "react"; import GroceryItem from "./components/GroceryItem"; +import SuggestionList from "./components/SuggestionList"; import type { GroceryItemType } from "./types"; const API_BASE_URL = import.meta.env.VITE_API_URL; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 49fe66e..36541a0 100755 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -4,6 +4,7 @@ import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], server: { + allowedHosts: ["costco.nicosaya.com", "www.costco.nicosaya.com"], watch: { usePolling: true, },