From e0f1b4f871917361a6089da2af7392fcc1ae309c Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Wed, 15 Apr 2026 14:43:30 +0000 Subject: [PATCH] dockerfile --- .devcontainer/Dockerfile | 12 ++++++++ .devcontainer/docker-compose.yml | 6 ++-- src/app/components/portfolio/AddNew.tsx | 39 ++++++++++++++++++++++++- 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index dc8ed3de..42f93fac 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,9 @@ FROM library/python:3.12-bullseye ARG USER=vscode +ARG USER_UID=1000 +ARG USER_GID=1000 + ARG DEBIAN_FRONTEND=noninteractive # Install system dependencies in a single layer @@ -37,6 +40,15 @@ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ # RUN apt-get install terraform # RUN terraform -install-autocomplete +# Install Claude +USER ${USER} +RUN curl -fsSL https://claude.ai/install.sh | bash \ + && export PATH="/home/${USER}/.local/bin:${PATH}" \ + && claude plugin marketplace add JuliusBrussee/caveman \ + && claude plugin install caveman@caveman +ENV PATH="/home/vscode/.local/bin:${PATH}" +USER root + # Set the working directory WORKDIR /workspaces/assessment-model \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index b6b65093..1c8e315e 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,11 +1,11 @@ -version: "3.8" - services: frontend: - user: "${UID}:${GID}" build: context: .. dockerfile: .devcontainer/Dockerfile + args: + USER_UID: ${UID:-1000} + USER_GID: ${GID:-1000} command: sleep infinity ports: - "3000:3000" diff --git a/src/app/components/portfolio/AddNew.tsx b/src/app/components/portfolio/AddNew.tsx index 5a3bafd2..88595073 100644 --- a/src/app/components/portfolio/AddNew.tsx +++ b/src/app/components/portfolio/AddNew.tsx @@ -7,11 +7,13 @@ import { DocumentMagnifyingGlassIcon, ChevronDownIcon, DocumentPlusIcon, + RectangleStackIcon, } from "@heroicons/react/24/outline"; import { cn } from "@/lib/utils"; import { useRouter } from "next/navigation"; import { Dispatch, SetStateAction, useState } from "react"; +import BulkUploadComingSoonModal from "@/app/components/portfolio/BulkUploadComingSoonModal"; interface AddNewProps { portfolioId: string; @@ -26,6 +28,7 @@ export default function AddNew({ }: AddNewProps) { const router = useRouter(); const [loadingRemote, setLoadingRemote] = useState(false); + const [isBulkUploadOpen, setIsBulkUploadOpen] = useState(false); function handleRemoteAssessment() { setLoadingRemote(true); @@ -33,6 +36,12 @@ export default function AddNew({ } return ( + <> + setIsBulkUploadOpen(false)} + portfolioId={portfolioId} + /> - Upload an Excel or CSV file containing multiple units. + For bulk uploads, please contact a Domna user. + + + + )} + + + {/* Bulk Upload (Coming Soon) */} + + {({ active }) => ( + @@ -107,5 +143,6 @@ export default function AddNew({ + ); }