diff --git a/README.md b/README.md index 167c567..26c4f4f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ +# 🚀 TasGrid Server Management + +This project uses **PM2** (via Bun) to stay online 24/7. The app runs on port `4000` and is managed by the scripts in `package.json`. + +## 🛠 Quick Commands + +| Action | Command | Description | +| :--- | :--- | :--- | +| **Check Status** | `bun status` | See if the site is online/how much memory it's using. | +| **Update Site** | `bun deploy` | Pulls latest code, builds, and restarts the server. | +| **Stop Server** | `bun stop` | Shuts down the site (use for maintenance). | +| **View Logs** | `bun logs` | See real-time errors or console output (Ctrl+C to exit). | + +## 🔄 Deployment Workflow +To push new changes live, simply run: +```bash +bun deploy + + + + + ## Usage ```bash diff --git a/package.json b/package.json index 6fa0581..ac75062 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,15 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --host 0.0.0.0 --port 4000", + "dev": "vite --host 0.0.0.0 --port 4001", "build": "tsc -b && vite build", - "preview": "vite preview" + "serve": "vite preview --host 0.0.0.0 --port 4000", + "---PM2 COMMANDS---": "------------------", + "status": "bun $(command -v pm2) status", + "logs": "bun $(command -v pm2) logs tasgrid", + "stop": "bun $(command -v pm2) stop tasgrid", + "start-prod": "bun $(command -v pm2) start \"bun run serve\" --name \"tasgrid\"", + "deploy": "git pull && bun run build && bun $(command -v pm2) restart tasgrid" }, "dependencies": { "@kobalte/core": "^0.13.11", diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 613607d..0000000 --- a/src/App.css +++ /dev/null @@ -1,27 +0,0 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.solid:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} diff --git a/src/components/Auth.tsx b/src/components/Auth.tsx index b01cb85..41c4ea7 100644 --- a/src/components/Auth.tsx +++ b/src/components/Auth.tsx @@ -34,7 +34,10 @@ export const AuthCallback = (props: { onSuccess: () => void }) => {
setEmail(e.currentTarget.value)} @@ -44,7 +47,10 @@ export const AuthCallback = (props: { onSuccess: () => void }) => {
setPassword(e.currentTarget.value)} diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index cd13aaf..23c12a0 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -61,10 +61,12 @@ export const Layout: Component = (props) => {
)} -
- {props.children} + {/* Main Content Area */} +
+
+ {props.children} +
- {/* Mobile Bottom Nav */} diff --git a/src/components/QuickEntry.tsx b/src/components/QuickEntry.tsx index c9cee78..1f84e8d 100644 --- a/src/components/QuickEntry.tsx +++ b/src/components/QuickEntry.tsx @@ -154,6 +154,8 @@ export const QuickEntry: Component = () => { setInput(e.currentTarget.value)} diff --git a/src/components/TaskDetail.tsx b/src/components/TaskDetail.tsx index 13ce0e2..dadf0f7 100644 --- a/src/components/TaskDetail.tsx +++ b/src/components/TaskDetail.tsx @@ -78,6 +78,8 @@ export const TaskDetail: Component = (props) => { {/* Header Area */}