Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
23f3b4c
simple ai assistant ui
dzinkiv Nov 27, 2025
88ce6b2
Merge branch 'main' into cash-93-ai-agent
dzinkiv Nov 27, 2025
f3b2671
fix local storage
dzinkiv Nov 27, 2025
551772c
integrate with agent backend
dzinkiv Nov 27, 2025
6100457
Merge branch 'main' into cash-93-ai-agent
dzinkiv Nov 28, 2025
4b3302e
fix agent ui
dzinkiv Nov 28, 2025
468be62
Delete cash-ui/src/hooks/useAutoScroll.js
dzinkiv Nov 28, 2025
67ef20e
Delete cash-ui/src/hooks/useAutosize.js
dzinkiv Nov 28, 2025
f434233
add dockerfile
dzinkiv Nov 28, 2025
1903e5d
Merge branch 'cash-93-ai-agent' of github.com:CASH-ECOMM/web-app into…
dzinkiv Nov 28, 2025
11123c9
add start script to initialize cash-ui development environment
dzinkiv Nov 28, 2025
0e8863c
fix client
dzinkiv Nov 28, 2025
3765136
add GitHub Actions workflow to publish Docker image to GHCR
dzinkiv Nov 28, 2025
2a04ce0
remove start script and reintroduce GitHub Actions workflow for Docke…
dzinkiv Nov 28, 2025
6d24f45
reintroduce GitHub Actions workflow for Docker image publishing
dzinkiv Nov 28, 2025
e7b2562
fix env example
dzinkiv Dec 1, 2025
b007132
fix example env
dzinkiv Dec 1, 2025
20cfbe2
remove Spinner component
dzinkiv Dec 1, 2025
50aabdc
fix login error
dzinkiv Dec 1, 2025
7f93527
formatting
dzinkiv Dec 1, 2025
75a5558
Merge branch 'main' into cash-93-ai-agent
dzinkiv Dec 1, 2025
a53cac9
update navigation
dzinkiv Dec 1, 2025
3620085
fix routing
dzinkiv Dec 1, 2025
f089dae
Update publish-docker-image.yml
dzinkiv Dec 1, 2025
58d241c
Bugfix: Remove activeBidItemId from local storage after user logs out.
mark-ngo203 Dec 1, 2025
4322f3b
Merge branch 'main' into cash-93-ai-agent
dzinkiv Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/publish-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Publish Docker image to GHCR

on:
push:
branches:
- main

permissions:
contents: read
packages: write

jobs:
build-and-push:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract image metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/cash-ecomm/web-app
tags: |
type=ref,event=branch,branch=main
type=sha
latest

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./cash-ui
file: ./cash-ui/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
7 changes: 7 additions & 0 deletions cash-ui/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Local development environment variables
VITE_API_URL=http://localhost:8080/api
VITE_AI_API_URL=http://localhost:8000/api

# Production environment variables
# VITE_API_URL=https://router-service-production.up.railway.app/api
# VITE_AI_API_URL=https://ai-agent-production-3e4a.up.railway.app/api
33 changes: 33 additions & 0 deletions cash-ui/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Use official Node.js image as the build environment
FROM node:20-alpine AS builder

# Set working directory
WORKDIR /app

# Copy package.json and package-lock.json (if present)
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy the rest of the app source code
COPY . .

# Build the app for production
RUN npm run build

# ---
# Production image: serve with nginx
FROM nginx:alpine

# Copy built assets from builder
COPY --from=builder /app/dist /usr/share/nginx/html

# Copy custom nginx config (for SPA routing)
COPY nginx.conf /etc/nginx/conf.d/default.conf

# Expose port 80
EXPOSE 80

# Start nginx
CMD ["nginx", "-g", "daemon off;"]
18 changes: 18 additions & 0 deletions cash-ui/nginx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
server {
listen 80;
server_name _;

root /usr/share/nginx/html;
index index.html;

location / {
try_files $uri $uri/ /index.html;
}

# Optional: serve static files directly
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
try_files $uri =404;
}
}
Loading