From f1ceefd702add97f71fb7f38384775568d9069b3 Mon Sep 17 00:00:00 2001 From: "mrkad@rpi" Date: Fri, 23 Jan 2026 17:30:12 +0700 Subject: [PATCH] feat: add filter options for images, including black & white and selfie effects, and enhance UI elements --- public/assets/header-1x4.png | Bin 18374 -> 8897 bytes public/assets/header-2x2.png | Bin 21044 -> 9348 bytes src/views/FrameView.vue | 58 +++++++-- src/views/PrintStepView.vue | 2 +- src/views/SelectSourceView.vue | 51 +++++++- src/views/ShootingView.vue | 70 ++++++++++- src/views/UploadView.vue | 219 ++++++++++++++++++++++++++++++++- 7 files changed, 383 insertions(+), 17 deletions(-) diff --git a/public/assets/header-1x4.png b/public/assets/header-1x4.png index 5882602381e959b2e53b2f0c5486bfaab157fb4a..c40ebc32f7eb61c0094767c48eff50faeb32e64c 100644 GIT binary patch delta 6051 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 K%G5}ih5iSm)@Z2! diff --git a/public/assets/header-2x2.png b/public/assets/header-2x2.png index 35864c6c510a6ed08e25980cb92812d3d275ec4b..ab9eaa8fafc4aae9916e2e4cff49fc19fcd7baed 100644 GIT binary patch delta 6490 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 delta 18277 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 diff --git a/src/views/FrameView.vue b/src/views/FrameView.vue index 6fd7f6a..f5263b0 100644 --- a/src/views/FrameView.vue +++ b/src/views/FrameView.vue @@ -5,6 +5,7 @@ import { useRouter } from 'vue-router' const router = useRouter() const selectedLayout = ref<'1x4' | '2x2'>('1x4') const selectedFrame = ref(0) +const selectedFilter = ref<'normal' | 'black&white'>('normal') const layouts = [ { id: '1x4', name: '1x4 แนวตั้ง', cols: 1, rows: 4 }, @@ -19,6 +20,11 @@ const frames = [ { id: 4, name: 'กรอบมินิมอล', preview: '/frame-minimal.svg' } ] +const filters = [ + { id: 'normal', name: '🎨Color' }, + { id: 'black&white', name: '🐈‍⬛Black & White' } +] + const selectLayout = (layoutId: string) => { selectedLayout.value = layoutId as '1x4' | '2x2' } @@ -27,11 +33,17 @@ const selectFrame = (frameId: number) => { selectedFrame.value = frameId } +const selectFilter = (filterId: string) => { + + selectedFilter.value = filterId as 'normal' | 'black&white' + +} + const proceedToSource = () => { // เก็บข้อมูล layout และ frame ที่เลือกไว้ใน localStorage หรือ state management localStorage.setItem('photobooth-layout', selectedLayout.value) localStorage.setItem('photobooth-frame', selectedFrame.value.toString()) - + localStorage.setItem('photobooth-filter', selectedFilter.value) router.push('/selectsource') } @@ -70,6 +82,32 @@ const goBack = () => { +
+ + + +
+ +
+ + {{ filter.name }} + +
+ +
+ +
+