diff --git a/fe/Dockerfile.prod b/fe/Dockerfile.prod
index 0b7515c..3807c62 100644
--- a/fe/Dockerfile.prod
+++ b/fe/Dockerfile.prod
@@ -32,7 +32,7 @@ COPY . .
ENV NODE_ENV=production
# Build the application
-RUN npm run build
+RUN npm run build-only
# Production stage
FROM node:slim AS production
diff --git a/fe/src/components/valerie/VListItem.vue b/fe/src/components/valerie/VListItem.vue
index 66813b3..26a6acb 100644
--- a/fe/src/components/valerie/VListItem.vue
+++ b/fe/src/components/valerie/VListItem.vue
@@ -84,7 +84,7 @@ export default defineComponent({
// Add other common styling for list item content area
// e.g., text color, font size
background-color: inherit; // Inherit from .list-item, can be overridden
- // Useful so that when it slides, it has the right bg
+ // Useful so that when it slides, it has the right bg
}
.swipe-actions {
@@ -108,7 +108,8 @@ export default defineComponent({
transform: translateX(-100%); // Initially hidden to the left
transition: transform 0.3s ease-out;
- .list-item.is-swiped & { // When swiped to reveal left actions
+ .list-item.is-swiped & {
+ // When swiped to reveal left actions
transform: translateX(0);
}
}
@@ -161,9 +162,10 @@ export default defineComponent({
// If wrapper translates right, it reveals the list-item's left-actions.
// Reveal right actions by translating the list-item-content-wrapper to the left
- .list-item.is-swiped & { // This assumes isSwiped means revealing RIGHT actions.
- // Need differentiation if both left/right can be revealed independently.
- // For now, isSwiped reveals right.
+ .list-item.is-swiped & {
+ // This assumes isSwiped means revealing RIGHT actions.
+ // Need differentiation if both left/right can be revealed independently.
+ // For now, isSwiped reveals right.
// This class is on .list-item. The .swipe-actions-right is inside the wrapper.
// So, the wrapper needs to translate.
// No, this is fine. .list-item.is-swiped controls the transform of list-item-content-wrapper.
@@ -175,6 +177,7 @@ export default defineComponent({
// This logic should be on .list-item-content-wrapper based on .is-swiped of parent.
}
}
+
// Adjusting transform on list-item-content-wrapper based on parent .is-swiped
.list-item.is-swiped .list-item-content-wrapper {
// This needs to be dynamic based on which actions are shown and their width.
@@ -231,15 +234,18 @@ export default defineComponent({
// A true swipe needs JS to measure or fixed widths.
// Let's go with a fixed transform for now for demo purposes.
.list-item.is-swiped .list-item-content-wrapper {
- transform: translateX(-80px); // Assumes right actions are 80px.
+ transform: translateX(-80px); // Assumes right actions are 80px.
}
- // And left actions (if any)
- .list-item.is-left-swiped .list-item-content-wrapper { // Hypothetical class
- transform: translateX(80px); // Assumes left actions are 80px.
+
+ // And left actions (if any)
+ .list-item.is-left-swiped .list-item-content-wrapper {
+ // Hypothetical class
+ transform: translateX(80px); // Assumes left actions are 80px.
}
+
// Since `isSwiped` is boolean, it can only control one state.
// Let's assume `isSwiped` means "the right actions are visible".
-
+}
.list-item.completed {
.list-item-content {
@@ -248,6 +254,7 @@ export default defineComponent({
// text-decoration: line-through;
background-color: #f0f8ff; // Light blue background for completed
}
+
// You might want to disable swipe on completed items or style them differently
&.swipable .list-item-content {
// Specific style for swipable AND completed
diff --git a/fe/src/pages/ListDetailPage.vue b/fe/src/pages/ListDetailPage.vue
index 44c863d..1ddac86 100644
--- a/fe/src/pages/ListDetailPage.vue
+++ b/fe/src/pages/ListDetailPage.vue
@@ -5,17 +5,21 @@
- Retry
+
+ Retry
+
- {/* Kept neo-title for existing style */}
+
- Cost Summary
+ Cost Summary
+ Add via OCR
- {/* Kept neo-status for existing style */}
+
{{ list.description }}
@@ -24,41 +28,34 @@
-
+
- {/* Assuming item-list-tight might be needed or VList default is fine */}
-
+
+