diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..8303086 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,35 @@ +name: Deploy to AIT + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build project + run: npm run build:prod + + - name: Setup AIT token + run: | + npx ait token add ${{ secrets.AIT_TOKEN }} + env: + AIT_TOKEN: ${{ secrets.AIT_TOKEN }} + + - name: Deploy to AIT + run: npm run deploy diff --git a/.gitignore b/.gitignore index d0fea07..fa88f11 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ dist-ssr .env .env.development -.env.remote .env.production +.env.remote .granite +*.ait diff --git a/README.md b/README.md index d83e5f9..d49ab05 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -### 하루 한 줄 (앱인토스) \ No newline at end of file +### 오늘 한 줄 (앱인토스) \ No newline at end of file diff --git a/granite.config.ts b/granite.config.ts index bf4996b..072039f 100644 --- a/granite.config.ts +++ b/granite.config.ts @@ -3,9 +3,9 @@ import { defineConfig } from '@apps-in-toss/web-framework/config'; export default defineConfig({ appName: 'wq-dayline', brand: { - displayName: '하루 한 줄', // 화면에 노출될 앱의 한글 이름으로 바꿔주세요. + displayName: '오늘 한 줄', // 화면에 노출될 앱의 한글 이름으로 바꿔주세요. primaryColor: '#3182F6', // 화면에 노출될 앱의 기본 색상으로 바꿔주세요. - icon: 'src/assets/dayline_light_logo.png', // 화면에 노출될 앱의 아이콘 이미지 주소로 바꿔주세요. + icon: 'https://static.toss.im/appsintoss/8211/1dafb690-4251-4735-bfe6-a9a663ba860e.png', // 화면에 노출될 앱의 아이콘 이미지 주소로 바꿔주세요. bridgeColorMode: 'basic', }, web: { diff --git a/index.html b/index.html index 110d2a7..d3ce03b 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + dayline diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/stats/StatsDetailView.tsx b/src/components/stats/StatsDetailView.tsx index c1f0c2e..7771dfb 100644 --- a/src/components/stats/StatsDetailView.tsx +++ b/src/components/stats/StatsDetailView.tsx @@ -1,5 +1,5 @@ -import { ListHeader, Text } from '@toss/tds-mobile'; -import { adaptive, colors } from '@toss/tds-colors'; +import { ListHeader, Text, Badge } from '@toss/tds-mobile'; +import { adaptive } from '@toss/tds-colors'; import type { DiaryEntry } from '../../types/diary'; interface StatsDetailViewProps { @@ -31,7 +31,7 @@ export const StatsDetailView = ({ entry, selectedDate }: StatsDetailViewProps) = {formattedDate} 한 줄 @@ -41,18 +41,9 @@ export const StatsDetailView = ({ entry, selectedDate }: StatsDetailViewProps) = />
- {/* Badge 컴포넌트가 예상대로 렌더링되지 않는 경우를 대비한 스타일 오버라이드 */} -
- - + {entry.score} - -
+ + + {entry.score} +
{ : '로그인에 실패했습니다. 다시 시도해주세요.'; alert(errorMessage); + + // [디버깅] 상세 에러 정보 + // if (error instanceof Error) { + // alert(`[에러]\n${error.message}\n\n[Stack]\n${error.stack?.slice(0, 200) || 'No stack'}`); + // } else if (typeof error === 'object' && error !== null) { + // alert(`[에러 객체]\n${JSON.stringify(error, null, 2)}`); + // } else { + // alert(`[알 수 없는 에러]\n${String(error)}`); + // } } finally { setIsLoading(false); } @@ -34,3 +43,4 @@ export const useLogin = () => { return { handleLogin, isLoading }; }; + diff --git a/src/hooks/domain/diary/useDiarySubmit.ts b/src/hooks/domain/diary/useDiarySubmit.ts index 364ce06..5e11d35 100644 --- a/src/hooks/domain/diary/useDiarySubmit.ts +++ b/src/hooks/domain/diary/useDiarySubmit.ts @@ -20,7 +20,7 @@ export const useDiarySubmit = ({ trimmedValue, hasTodayDiary }: UseDiarySubmitPr // 광고 훅 사용 const { showAd } = useAdMob({ - adGroupId: 'ait-ad-test-interstitial-id', + adGroupId: 'ait.v2.live.8be900a4b263458c', shouldLoad: !hasTodayDiary // 이미 작성했다면 광고 로드 안 함 }); diff --git a/src/pages/IntroPage.tsx b/src/pages/IntroPage.tsx index a91f192..5f2109b 100644 --- a/src/pages/IntroPage.tsx +++ b/src/pages/IntroPage.tsx @@ -15,7 +15,7 @@ export default function Page() {
- 하루 한 줄로 감정을 돌아보세요 + 오늘 한 줄로 감정을 돌아보세요
@@ -71,7 +71,7 @@ export default function Page() { />
} - hideLine={false} + hideLine={true} />
diff --git a/src/pages/StatsPage.tsx b/src/pages/StatsPage.tsx index 831a6b6..dbcd4c4 100644 --- a/src/pages/StatsPage.tsx +++ b/src/pages/StatsPage.tsx @@ -119,12 +119,12 @@ export default function Page() { {/* 탭 하단 구분선 - 스타일 명확화 */} -
+ }} /> */}