diff --git a/eslint.config.mjs b/eslint.config.mjs index 04520cc..88ee4c6 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -10,40 +10,45 @@ const compat = new FlatCompat({ }); const eslintConfig = [ - // ✅ 테스트 및 설정 파일 무시 + // 1️⃣ [중요] 전역 무시 설정: 이 객체에는 'ignores' 외에 아무것도 넣지 마세요. { ignores: [ - '**/*.test.tsx', - '**/*.test.ts', - 'jest.config.ts', - 'jest.setup.ts', + "**/node_modules/", + ".next/", + "public/", + "dist/", + "supabase/", + "test/", + "**/*.test.tsx", + "**/*.test.ts", + "**/__tests__/**", // 폴더 통째로 무시하려면 이 패턴 추가 + "jest.config.ts", + "jest.setup.ts", ], - rules: { - "@typescript-eslint/no-unused-vars": [ - "error", - { - "argsIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "caughtErrorsIgnorePattern": "^_" - } - ] - } }, - // ✅ 기존 설정 + + // 2️⃣ 기존 Next.js 설정 확장 ...compat.config({ extends: ["next/core-web-vitals", "next/typescript"], rules: { - 'react-hooks/exhaustive-deps': 'off', + "react-hooks/exhaustive-deps": "off", }, - ignorePatterns: [ - 'node_modules/', - '.next/', - 'public/', - 'dist/', - 'test/', - 'supabase/', - ], }), + + // 3️⃣ 모든 파일에 적용할 공통 규칙 + { + files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"], // 적용 대상을 명시적으로 지정 + rules: { + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_", + }, + ], + }, + }, ]; -export default eslintConfig; +export default eslintConfig; \ No newline at end of file diff --git a/jest.config.ts b/jest.config.ts index 2fda89e..2304f5c 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -9,7 +9,7 @@ const customJestConfig = { testEnvironment: 'jest-environment-jsdom', testPathIgnorePatterns: ['/.next/', '/node_modules/'], moduleNameMapper: { - '^@/(.*)$': '/$1', + '^@/(.*)$': '/src/$1', }, transform: { '^.+\\.(ts|tsx)$': 'babel-jest', @@ -18,10 +18,10 @@ const customJestConfig = { 'node_modules/(?!(lucide-react)/)', // lucide-react는 변환 예외 ], collectCoverageFrom: [ - 'app/**/*.{js,jsx,ts,tsx}', - '!app/**/_*.{js,jsx,ts,tsx}', - '!app/**/layout.{js,jsx,ts,tsx}', - '!app/**/page.{js,jsx,ts,tsx}', + 'src/app/**/*.{js,jsx,ts,tsx}', + '!src/app/**/_*.{js,jsx,ts,tsx}', + '!src/app/**/layout.{js,jsx,ts,tsx}', + '!src/app/**/page.{js,jsx,ts,tsx}', '!**/*.d.ts', '!**/node_modules/**', ], diff --git a/middleware.ts b/middleware.ts index a41368e..4335b4f 100644 --- a/middleware.ts +++ b/middleware.ts @@ -1,7 +1,7 @@ import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; import { createServerClient } from '@supabase/ssr'; -import { Database } from './app/types/database.types'; +import { Database } from './src/app/types/database.types'; export async function middleware(request: NextRequest) { const isProtectedRoute = request.nextUrl.pathname.startsWith('/admin') diff --git a/package-lock.json b/package-lock.json index 0dcc764..baddd50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -257,6 +257,7 @@ "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -2290,6 +2291,7 @@ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.37.1.tgz", "integrity": "sha512-Qy4CAUwngy/VQkEz0XzMKVRcckQuqLYWKqVpDDDghBe5FSXSqfVrJn49nw3ePZHxRUz4nRmb05Lgi+9csWo4eg==", "license": "MIT", + "peer": true, "dependencies": { "@codemirror/state": "^6.5.0", "crelt": "^1.0.6", @@ -2797,6 +2799,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2820,6 +2823,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -4446,6 +4450,7 @@ "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -6540,6 +6545,7 @@ "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.50.0.tgz", "integrity": "sha512-M1Gd5tPaaghYZ9OjeO1iORRqbTWFEz/cF3pPubRnMPzA+A8SiUsXXWDP+DWsASZcjEcVEcVQIAF38i5wrijYOg==", "license": "MIT", + "peer": true, "dependencies": { "@supabase/auth-js": "2.70.0", "@supabase/functions-js": "2.4.4", @@ -6696,7 +6702,6 @@ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "dequal": "^2.0.3" } @@ -6825,8 +6830,7 @@ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -7109,6 +7113,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.10.tgz", "integrity": "sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.19.2" } @@ -7124,6 +7129,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.1.tgz", "integrity": "sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -7134,6 +7140,7 @@ "integrity": "sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==", "devOptional": true, "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "^19.0.0" } @@ -7257,6 +7264,7 @@ "integrity": "sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==", "dev": true, "license": "MITClause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.18.0", "@typescript-eslint/types": "8.18.0", @@ -7861,6 +7869,7 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8221,6 +8230,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", "license": "MIT", + "peer": true, "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", @@ -8491,6 +8501,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -9049,6 +9060,7 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, + "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -9638,8 +9650,7 @@ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", @@ -9986,6 +9997,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -10191,6 +10203,7 @@ "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -13143,6 +13156,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -13171,6 +13185,7 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -13535,7 +13550,6 @@ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "lz-string": "bin/bin.js" } @@ -14619,6 +14633,7 @@ "resolved": "https://registry.npmjs.org/next/-/next-15.5.12.tgz", "integrity": "sha512-Fi/wQ4Etlrn60rz78bebG1i1SR20QxvV8tVp6iJspjLUSHcZoeUXCt+vmWoEcza85ElZzExK/jJ/F6SvtGktjA==", "license": "MIT", + "peer": true, "dependencies": { "@next/env": "15.5.12", "@swc/helpers": "0.5.15", @@ -15267,6 +15282,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", @@ -15407,7 +15423,6 @@ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -15423,7 +15438,6 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -15434,7 +15448,6 @@ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, @@ -15447,8 +15460,7 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/proc-log": { "version": "6.0.0", @@ -15537,6 +15549,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -15546,6 +15559,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.25.0" }, @@ -15608,6 +15622,7 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", + "peer": true, "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" @@ -15829,7 +15844,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -16988,6 +17004,7 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.16.tgz", "integrity": "sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==", "license": "MIT", + "peer": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -17272,6 +17289,7 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "license": "MIT", + "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -17464,6 +17482,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/scripts/release.js b/scripts/release.js index 25da186..46a0d8a 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -130,7 +130,7 @@ async function run() { // --- 실행 분기: Release Mode (GitHub Release 등록) vs Normal Mode (PR 생성) --- if (isReleaseMode) { - await createGitHubRelease(nextVersion, changelogBody, isDryRun); + await createGitHubRelease(currentVersion, changelogBody, isDryRun); return; } diff --git a/__tests__/components/NoticeModal.test.tsx b/src/__tests__/components/NoticeModal.test.tsx similarity index 99% rename from __tests__/components/NoticeModal.test.tsx rename to src/__tests__/components/NoticeModal.test.tsx index d24d833..b6d32c3 100644 --- a/__tests__/components/NoticeModal.test.tsx +++ b/src/__tests__/components/NoticeModal.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import NoticeModal from "@/app/components/NoticeModal"; +import NoticeModal from "@/src/app/components/NoticeModal"; // Mock UI components jest.mock("@/app/components/ui/dialog", () => ({ diff --git a/__tests__/kkuko/KkukoHome.test.tsx b/src/__tests__/kkuko/KkukoHome.test.tsx similarity index 94% rename from __tests__/kkuko/KkukoHome.test.tsx rename to src/__tests__/kkuko/KkukoHome.test.tsx index 7992e44..9fd618c 100644 --- a/__tests__/kkuko/KkukoHome.test.tsx +++ b/src/__tests__/kkuko/KkukoHome.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react'; -import KkukoHome from '@/app/kkuko/KkukoHome'; // Adjust import path if needed +import KkukoHome from '@/src/app/kkuko/KkukoHome'; // Adjust import path if needed describe('KkukoHome', () => { it('should render the title and description', () => { diff --git a/__tests__/kkuko/profile/components/ItemModal.test.tsx b/src/__tests__/kkuko/profile/components/ItemModal.test.tsx similarity index 93% rename from __tests__/kkuko/profile/components/ItemModal.test.tsx rename to src/__tests__/kkuko/profile/components/ItemModal.test.tsx index ebbd902..5822b54 100644 --- a/__tests__/kkuko/profile/components/ItemModal.test.tsx +++ b/src/__tests__/kkuko/profile/components/ItemModal.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import ItemModal from '@/app/kkuko/profile/components/ItemModal'; -import { ItemInfo, ProfileData } from '@/app/types/kkuko.types'; +import ItemModal from '@/src/app/kkuko/profile/components/ItemModal'; +import { ItemInfo, ProfileData } from '@/src/app/types/kkuko.types'; jest.mock('@/app/kkuko/shared/components/TryRenderImg', () => () =>
); jest.mock('@/app/kkuko/profile/utils/profileHelper', () => ({ diff --git a/__tests__/kkuko/profile/components/ProfileHeader.test.tsx b/src/__tests__/kkuko/profile/components/ProfileHeader.test.tsx similarity index 89% rename from __tests__/kkuko/profile/components/ProfileHeader.test.tsx rename to src/__tests__/kkuko/profile/components/ProfileHeader.test.tsx index fbf1518..0364cec 100644 --- a/__tests__/kkuko/profile/components/ProfileHeader.test.tsx +++ b/src/__tests__/kkuko/profile/components/ProfileHeader.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import ProfileHeader from '@/app/kkuko/profile/components/ProfileHeader'; -import { ProfileData, ItemInfo } from '@/types/kkuko.types'; -import * as profileHelper from '@/app/kkuko/profile/utils/profileHelper'; +import ProfileHeader from '@/src/app/kkuko/profile/components/ProfileHeader'; +import { ProfileData, ItemInfo } from '@/src/app/types/kkuko.types'; +import * as profileHelper from '@/src/app/kkuko/profile/utils/profileHelper'; jest.mock('@/app/kkuko/profile/utils/profileHelper'); jest.mock('@/app/kkuko/shared/components/ProfileAvatar', () => () =>
); diff --git a/__tests__/kkuko/profile/components/ProfileRecords.test.tsx b/src/__tests__/kkuko/profile/components/ProfileRecords.test.tsx similarity index 85% rename from __tests__/kkuko/profile/components/ProfileRecords.test.tsx rename to src/__tests__/kkuko/profile/components/ProfileRecords.test.tsx index d71300b..ff7b9e0 100644 --- a/__tests__/kkuko/profile/components/ProfileRecords.test.tsx +++ b/src/__tests__/kkuko/profile/components/ProfileRecords.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import ProfileRecords from '@/app/kkuko/profile/components/ProfileRecords'; -import { Mode } from '@/app/types/kkuko.types'; +import ProfileRecords from '@/src/app/kkuko/profile/components/ProfileRecords'; +import { Mode } from '@/src/app/types/kkuko.types'; // Mock helper functions jest.mock('@/app/kkuko/profile/utils/profileHelper', () => ({ @@ -17,7 +17,7 @@ jest.mock('@/app/kkuko/profile/utils/profileHelper', () => ({ describe('ProfileRecords', () => { const mockModesData: Mode[] = [ - { id: 'kr_word', name: '한국어 끝말잇기', category: 'kor' }, + { modeId: 'kr_word', modeName: '한국어 끝말잇기', group: 'kor' }, ]; const mockProfileData: any = { record: [ diff --git a/__tests__/kkuko/profile/components/ProfileSearch.test.tsx b/src/__tests__/kkuko/profile/components/ProfileSearch.test.tsx similarity index 97% rename from __tests__/kkuko/profile/components/ProfileSearch.test.tsx rename to src/__tests__/kkuko/profile/components/ProfileSearch.test.tsx index 0e69b4c..ecb2b41 100644 --- a/__tests__/kkuko/profile/components/ProfileSearch.test.tsx +++ b/src/__tests__/kkuko/profile/components/ProfileSearch.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent, waitFor } from '@testing-library/react'; -import ProfileSearch from '@/app/kkuko/profile/components/ProfileSearch'; +import ProfileSearch from '@/src/app/kkuko/profile/components/ProfileSearch'; import { useRouter, useSearchParams } from 'next/navigation'; jest.mock('next/navigation', () => ({ diff --git a/__tests__/kkuko/profile/components/ProfileStats.test.tsx b/src/__tests__/kkuko/profile/components/ProfileStats.test.tsx similarity index 88% rename from __tests__/kkuko/profile/components/ProfileStats.test.tsx rename to src/__tests__/kkuko/profile/components/ProfileStats.test.tsx index a927a1e..658bed7 100644 --- a/__tests__/kkuko/profile/components/ProfileStats.test.tsx +++ b/src/__tests__/kkuko/profile/components/ProfileStats.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import ProfileStats from '@/app/kkuko/profile/components/ProfileStats'; -import { ItemInfo } from '@/types/kkuko.types'; -import * as profileHelper from '@/app/kkuko/profile/utils/profileHelper'; +import ProfileStats from '@/src/app/kkuko/profile/components/ProfileStats'; +import { ItemInfo } from '@/src/app/types/kkuko.types'; +import * as profileHelper from '@/src/app/kkuko/profile/utils/profileHelper'; jest.mock('@/app/kkuko/profile/utils/profileHelper'); diff --git a/__tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx b/src/__tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx similarity index 97% rename from __tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx rename to src/__tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx index 5f202a8..e2b634c 100644 --- a/__tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx +++ b/src/__tests__/kkuko/profile/hooks/useKkukoProfile.test.tsx @@ -1,6 +1,6 @@ import { renderHook, act, waitFor } from '@testing-library/react'; -import { useKkukoProfile } from '@/app/kkuko/profile/hooks/useKkukoProfile'; -import * as api from '@/app/kkuko/shared/lib/api'; +import { useKkukoProfile } from '@/src/app/kkuko/profile/hooks/useKkukoProfile'; +import * as api from '@/src/app/kkuko/shared/lib/api'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import React, { ReactNode } from 'react'; diff --git a/__tests__/kkuko/profile/hooks/useRecentSearches.test.ts b/src/__tests__/kkuko/profile/hooks/useRecentSearches.test.ts similarity index 96% rename from __tests__/kkuko/profile/hooks/useRecentSearches.test.ts rename to src/__tests__/kkuko/profile/hooks/useRecentSearches.test.ts index f530b3a..c81bcb1 100644 --- a/__tests__/kkuko/profile/hooks/useRecentSearches.test.ts +++ b/src/__tests__/kkuko/profile/hooks/useRecentSearches.test.ts @@ -1,5 +1,5 @@ import { renderHook, act } from '@testing-library/react'; -import { useRecentSearches } from '@/app/kkuko/profile/hooks/useRecentSearches'; +import { useRecentSearches } from '@/src/app/kkuko/profile/hooks/useRecentSearches'; describe('useRecentSearches', () => { beforeEach(() => { diff --git a/__tests__/kkuko/profile/utils/profileHelper.test.ts b/src/__tests__/kkuko/profile/utils/profileHelper.test.ts similarity index 97% rename from __tests__/kkuko/profile/utils/profileHelper.test.ts rename to src/__tests__/kkuko/profile/utils/profileHelper.test.ts index a0a2e2f..4f0cbfa 100644 --- a/__tests__/kkuko/profile/utils/profileHelper.test.ts +++ b/src/__tests__/kkuko/profile/utils/profileHelper.test.ts @@ -13,9 +13,9 @@ import { getOptionName, formatLastSeen, parseDescription -} from '@/app/kkuko/profile/utils/profileHelper'; -import { Equipment, ItemInfo, Mode, KkukoRecord } from '@/types/kkuko.types'; -import { NICKNAME_COLORS, SLOT_NAMES, OPTION_NAMES } from '@/app/kkuko/shared/lib/const'; +} from '@/src/app/kkuko/profile/utils/profileHelper'; +import { Equipment, ItemInfo, Mode, KkukoRecord } from '@/src/app/types/kkuko.types'; +import { NICKNAME_COLORS, SLOT_NAMES, OPTION_NAMES } from '@/src/app/kkuko/shared/lib/const'; describe('profileHelper', () => { diff --git a/__tests__/kkuko/ranking/components/ModeSelector.test.tsx b/src/__tests__/kkuko/ranking/components/ModeSelector.test.tsx similarity index 91% rename from __tests__/kkuko/ranking/components/ModeSelector.test.tsx rename to src/__tests__/kkuko/ranking/components/ModeSelector.test.tsx index bef3b57..91c8461 100644 --- a/__tests__/kkuko/ranking/components/ModeSelector.test.tsx +++ b/src/__tests__/kkuko/ranking/components/ModeSelector.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { ModeSelector } from '@/app/kkuko/ranking/components/ModeSelector'; -import { Mode } from '@/app/types/kkuko.types'; +import { ModeSelector } from '@/src/app/kkuko/ranking/components/ModeSelector'; +import { Mode } from '@/src/app/types/kkuko.types'; describe('ModeSelector', () => { const mockModes: Mode[] = [ diff --git a/__tests__/kkuko/ranking/components/Podium.test.tsx b/src/__tests__/kkuko/ranking/components/Podium.test.tsx similarity index 93% rename from __tests__/kkuko/ranking/components/Podium.test.tsx rename to src/__tests__/kkuko/ranking/components/Podium.test.tsx index b4b1427..6263681 100644 --- a/__tests__/kkuko/ranking/components/Podium.test.tsx +++ b/src/__tests__/kkuko/ranking/components/Podium.test.tsx @@ -1,8 +1,8 @@ import React, { ReactNode } from 'react'; import { render, screen, waitFor } from '@testing-library/react'; -import { Podium } from '@/app/kkuko/ranking/components/Podium'; -import { RankingEntry, ProfileData } from '@/app/types/kkuko.types'; -import * as api from '@/app/kkuko/shared/lib/api'; +import { Podium } from '@/src/app/kkuko/ranking/components/Podium'; +import { RankingEntry, ProfileData } from '@/src/app/types/kkuko.types'; +import * as api from '@/src/app/kkuko/shared/lib/api'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; jest.mock('@/app/kkuko/shared/lib/api'); diff --git a/__tests__/kkuko/ranking/components/RankingCard.test.tsx b/src/__tests__/kkuko/ranking/components/RankingCard.test.tsx similarity index 91% rename from __tests__/kkuko/ranking/components/RankingCard.test.tsx rename to src/__tests__/kkuko/ranking/components/RankingCard.test.tsx index b499c0f..4e4d361 100644 --- a/__tests__/kkuko/ranking/components/RankingCard.test.tsx +++ b/src/__tests__/kkuko/ranking/components/RankingCard.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { RankingCard } from '@/app/kkuko/ranking/components/RankingCard'; -import { RankingEntry } from '@/app/types/kkuko.types'; +import { RankingCard } from '@/src/app/kkuko/ranking/components/RankingCard'; +import { RankingEntry } from '@/src/app/types/kkuko.types'; describe('RankingCard', () => { const mockEntry: RankingEntry = { diff --git a/__tests__/kkuko/ranking/components/RankingList.test.tsx b/src/__tests__/kkuko/ranking/components/RankingList.test.tsx similarity index 73% rename from __tests__/kkuko/ranking/components/RankingList.test.tsx rename to src/__tests__/kkuko/ranking/components/RankingList.test.tsx index b7ad05b..2a41986 100644 --- a/__tests__/kkuko/ranking/components/RankingList.test.tsx +++ b/src/__tests__/kkuko/ranking/components/RankingList.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { RankingList } from '@/app/kkuko/ranking/components/RankingList'; -import { RankingEntry } from '@/app/types/kkuko.types'; +import { RankingList } from '@/src/app/kkuko/ranking/components/RankingList'; +import { RankingEntry } from '@/src/app/types/kkuko.types'; // Mock RankingCard to avoid nested complexity jest.mock('@/app/kkuko/ranking/components/RankingCard', () => ({ @@ -14,13 +14,13 @@ describe('RankingList', () => { const mockRankings: RankingEntry[] = [ { rank: 1, - userRecord: { userId: '1', modeId: 'm', win: 1, total: 2, exp: 100 }, - userInfo: { id: '1', nickname: 'User1', level: 1, exp: 100, exordial: '' } + userRecord: { id: 1, userId: '1', modeId: 'm', win: 1, total: 2, exp: 100, playtime: 3600 }, + userInfo: { id: '1', nickname: 'User1', level: 1, exp: 100, exordial: '', observedAt: '' } }, { rank: 2, - userRecord: { userId: '2', modeId: 'm', win: 1, total: 2, exp: 100 }, - userInfo: { id: '2', nickname: 'User2', level: 1, exp: 100, exordial: '' } + userRecord: { id: 2, userId: '2', modeId: 'm', win: 1, total: 2, exp: 100, playtime: 3600 }, + userInfo: { id: '2', nickname: 'User2', level: 1, exp: 100, exordial: '', observedAt: '' } }, ]; diff --git a/__tests__/kkuko/ranking/components/RankingPagination.test.tsx b/src/__tests__/kkuko/ranking/components/RankingPagination.test.tsx similarity index 95% rename from __tests__/kkuko/ranking/components/RankingPagination.test.tsx rename to src/__tests__/kkuko/ranking/components/RankingPagination.test.tsx index 86e0706..f530a1f 100644 --- a/__tests__/kkuko/ranking/components/RankingPagination.test.tsx +++ b/src/__tests__/kkuko/ranking/components/RankingPagination.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import { RankingPagination } from '@/app/kkuko/ranking/components/RankingPagination'; +import { RankingPagination } from '@/src/app/kkuko/ranking/components/RankingPagination'; describe('RankingPagination', () => { const mockOnPageChange = jest.fn(); diff --git a/__tests__/kkuko/ranking/lib/cache.test.ts b/src/__tests__/kkuko/ranking/lib/cache.test.ts similarity index 95% rename from __tests__/kkuko/ranking/lib/cache.test.ts rename to src/__tests__/kkuko/ranking/lib/cache.test.ts index e1f2332..774b9e4 100644 --- a/__tests__/kkuko/ranking/lib/cache.test.ts +++ b/src/__tests__/kkuko/ranking/lib/cache.test.ts @@ -1,5 +1,5 @@ -import { rankingCache } from '@/app/kkuko/ranking/lib/cache'; -import { RankingEntry } from '@/app/types/kkuko.types'; +import { rankingCache } from '@/src/app/kkuko/ranking/lib/cache'; +import { RankingEntry } from '@/src/app/types/kkuko.types'; describe('RankingCache', () => { const mockData: RankingEntry[] = [ diff --git a/__tests__/kkuko/shared/components/ProfileAvatar.test.tsx b/src/__tests__/kkuko/shared/components/ProfileAvatar.test.tsx similarity index 88% rename from __tests__/kkuko/shared/components/ProfileAvatar.test.tsx rename to src/__tests__/kkuko/shared/components/ProfileAvatar.test.tsx index 1be27a3..40fcaf0 100644 --- a/__tests__/kkuko/shared/components/ProfileAvatar.test.tsx +++ b/src/__tests__/kkuko/shared/components/ProfileAvatar.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import ProfileAvatar from '@/app/kkuko/shared/components/ProfileAvatar'; -import { ItemInfo, ProfileData } from '@/app/types/kkuko.types'; +import ProfileAvatar from '@/src/app/kkuko/shared/components/ProfileAvatar'; +import { ItemInfo, ProfileData } from '@/src/app/types/kkuko.types'; jest.mock('@/app/kkuko/shared/components/TryRenderImg', () => { return function MockTryRenderImg(props: any) { diff --git a/__tests__/kkuko/shared/components/TryRenderImg.test.tsx b/src/__tests__/kkuko/shared/components/TryRenderImg.test.tsx similarity index 98% rename from __tests__/kkuko/shared/components/TryRenderImg.test.tsx rename to src/__tests__/kkuko/shared/components/TryRenderImg.test.tsx index e38b4a6..d8b2463 100644 --- a/__tests__/kkuko/shared/components/TryRenderImg.test.tsx +++ b/src/__tests__/kkuko/shared/components/TryRenderImg.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent, act } from '@testing-library/react'; -import TryRenderImg from '@/app/kkuko/shared/components/TryRenderImg'; +import TryRenderImg from '@/src/app/kkuko/shared/components/TryRenderImg'; // Mock next/image jest.mock("next/image", () => ({ src, alt, onError, onLoad, ...props }: any) => ( diff --git a/__tests__/lib/hangulUtils.test.ts b/src/__tests__/lib/hangulUtils.test.ts similarity index 97% rename from __tests__/lib/hangulUtils.test.ts rename to src/__tests__/lib/hangulUtils.test.ts index 41fc3d8..0f2ee0e 100644 --- a/__tests__/lib/hangulUtils.test.ts +++ b/src/__tests__/lib/hangulUtils.test.ts @@ -1,4 +1,4 @@ -import { duemLaw, reverDuemLaw, isHangul } from '@/lib/hangulUtils'; +import { duemLaw, reverDuemLaw, isHangul } from '@/src/app/lib/hangulUtils'; describe('duemLaw', () => { it('should apply duem law correctly for rule 1 (ㄹ -> ㄴ)', () => { diff --git a/__tests__/manager-tool/extract/EndX.test.tsx b/src/__tests__/manager-tool/extract/EndX.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/EndX.test.tsx rename to src/__tests__/manager-tool/extract/EndX.test.tsx index b99284e..c49fada 100644 --- a/__tests__/manager-tool/extract/EndX.test.tsx +++ b/src/__tests__/manager-tool/extract/EndX.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/endx/EndX"; +import WordExtractorApp from "@/src/app/manager-tool/extract/endx/EndX"; import { getOutsideHelpModal } from "@/test/utils/dom"; jest.mock("@/app/manager-tool/extract/components/FileContentDisplay", () => { diff --git a/__tests__/manager-tool/extract/EnglishMission.test.tsx b/src/__tests__/manager-tool/extract/EnglishMission.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/EnglishMission.test.tsx rename to src/__tests__/manager-tool/extract/EnglishMission.test.tsx index a425ea9..599bae0 100644 --- a/__tests__/manager-tool/extract/EnglishMission.test.tsx +++ b/src/__tests__/manager-tool/extract/EnglishMission.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/english-mission/EnglishMission"; +import WordExtractorApp from "@/src/app/manager-tool/extract/english-mission/EnglishMission"; import { getOutsideHelpModal } from "@/test/utils/dom"; jest.mock("@/app/manager-tool/extract/components/FileContentDisplay", () => { diff --git a/__tests__/manager-tool/extract/FileContentDisplay.test.tsx b/src/__tests__/manager-tool/extract/FileContentDisplay.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/FileContentDisplay.test.tsx rename to src/__tests__/manager-tool/extract/FileContentDisplay.test.tsx index 40c8e7c..9c292ca 100644 --- a/__tests__/manager-tool/extract/FileContentDisplay.test.tsx +++ b/src/__tests__/manager-tool/extract/FileContentDisplay.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import FileContentDisplay from "@/app/manager-tool/extract/components/FileContentDisplay"; +import FileContentDisplay from "@/src/app/manager-tool/extract/components/FileContentDisplay"; // Mock UI components jest.mock("@/app/components/ui/card", () => ({ diff --git a/__tests__/manager-tool/extract/KoreanMission.test.tsx b/src/__tests__/manager-tool/extract/KoreanMission.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/KoreanMission.test.tsx rename to src/__tests__/manager-tool/extract/KoreanMission.test.tsx index 4f82008..5489808 100644 --- a/__tests__/manager-tool/extract/KoreanMission.test.tsx +++ b/src/__tests__/manager-tool/extract/KoreanMission.test.tsx @@ -1,7 +1,7 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/korean-mission/KoreanMission"; +import WordExtractorApp from "@/src/app/manager-tool/extract/korean-mission/KoreanMission"; import { getOutsideHelpModal } from "@/test/utils/dom"; jest.mock("@/app/manager-tool/extract/components/FileContentDisplay", () => { diff --git a/__tests__/manager-tool/extract/KoreanMissionB.test.tsx b/src/__tests__/manager-tool/extract/KoreanMissionB.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/KoreanMissionB.test.tsx rename to src/__tests__/manager-tool/extract/KoreanMissionB.test.tsx index 5126b01..30e0f17 100644 --- a/__tests__/manager-tool/extract/KoreanMissionB.test.tsx +++ b/src/__tests__/manager-tool/extract/KoreanMissionB.test.tsx @@ -1,7 +1,7 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/korean-mission-b/KoreanMissionB"; +import WordExtractorApp from "@/src/app/manager-tool/extract/korean-mission-b/KoreanMissionB"; import { getOutsideHelpModal } from "@/test/utils/dom"; jest.mock("@/app/manager-tool/extract/components/FileContentDisplay", () => { diff --git a/__tests__/manager-tool/extract/LenX.test.tsx b/src/__tests__/manager-tool/extract/LenX.test.tsx similarity index 99% rename from __tests__/manager-tool/extract/LenX.test.tsx rename to src/__tests__/manager-tool/extract/LenX.test.tsx index 1acf5a3..5042671 100644 --- a/__tests__/manager-tool/extract/LenX.test.tsx +++ b/src/__tests__/manager-tool/extract/LenX.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/lenx/LenX"; +import WordExtractorApp from "@/src/app/manager-tool/extract/lenx/LenX"; import { getOutsideHelpModal } from "@/test/utils/dom"; // Mocking components used in WordExtractorApp diff --git a/__tests__/manager-tool/extract/Loop.test.tsx b/src/__tests__/manager-tool/extract/Loop.test.tsx similarity index 99% rename from __tests__/manager-tool/extract/Loop.test.tsx rename to src/__tests__/manager-tool/extract/Loop.test.tsx index 4cb390a..8ed626a 100644 --- a/__tests__/manager-tool/extract/Loop.test.tsx +++ b/src/__tests__/manager-tool/extract/Loop.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import LoopWordExtractorApp from "@/app/manager-tool/extract/loop/Loop"; +import LoopWordExtractorApp from "@/src/app/manager-tool/extract/loop/Loop"; import { getOutsideHelpModal } from "@/test/utils/dom"; // FileContentDisplay 컴포넌트 모킹 diff --git a/__tests__/manager-tool/extract/Merge.test.tsx b/src/__tests__/manager-tool/extract/Merge.test.tsx similarity index 99% rename from __tests__/manager-tool/extract/Merge.test.tsx rename to src/__tests__/manager-tool/extract/Merge.test.tsx index 034b7bc..57dd536 100644 --- a/__tests__/manager-tool/extract/Merge.test.tsx +++ b/src/__tests__/manager-tool/extract/Merge.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/merge/Merge"; +import WordExtractorApp from "@/src/app/manager-tool/extract/merge/Merge"; import { getOutsideHelpModal } from "@/test/utils/dom"; import { act } from "react"; diff --git a/__tests__/manager-tool/extract/StartX.test.tsx b/src/__tests__/manager-tool/extract/StartX.test.tsx similarity index 98% rename from __tests__/manager-tool/extract/StartX.test.tsx rename to src/__tests__/manager-tool/extract/StartX.test.tsx index d4191f9..00b12bb 100644 --- a/__tests__/manager-tool/extract/StartX.test.tsx +++ b/src/__tests__/manager-tool/extract/StartX.test.tsx @@ -1,6 +1,6 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import WordExtractorApp from "@/app/manager-tool/extract/startx/StartX"; +import WordExtractorApp from "@/src/app/manager-tool/extract/startx/StartX"; import { getOutsideHelpModal } from "@/test/utils/dom"; jest.mock("@/app/manager-tool/extract/components/FileContentDisplay", () => { diff --git a/__tests__/mini-game/MobileUnsupported.test.tsx b/src/__tests__/mini-game/MobileUnsupported.test.tsx similarity index 94% rename from __tests__/mini-game/MobileUnsupported.test.tsx rename to src/__tests__/mini-game/MobileUnsupported.test.tsx index be5c80f..d165a7c 100644 --- a/__tests__/mini-game/MobileUnsupported.test.tsx +++ b/src/__tests__/mini-game/MobileUnsupported.test.tsx @@ -1,5 +1,5 @@ import { render, screen, fireEvent } from '@testing-library/react'; -import MobileUnsupported from '@/app/mini-game/MobileUnsupported'; +import MobileUnsupported from '@/src/app/mini-game/MobileUnsupported'; import { useRouter } from 'next/navigation'; // Mock next/navigation diff --git a/__tests__/mini-game/game/Game.test.tsx b/src/__tests__/mini-game/game/Game.test.tsx similarity index 90% rename from __tests__/mini-game/game/Game.test.tsx rename to src/__tests__/mini-game/game/Game.test.tsx index ece0954..31c48f5 100644 --- a/__tests__/mini-game/game/Game.test.tsx +++ b/src/__tests__/mini-game/game/Game.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import Game from '@/app/mini-game/game/Game'; -import { useGameState } from '@/app/mini-game/game/hooks/useGameState'; -import { soundManager } from '@/app/mini-game/game/lib/SoundManager'; +import Game from '@/src/app/mini-game/game/Game'; +import { useGameState } from '@/src/app/mini-game/game/hooks/useGameState'; +import { soundManager } from '@/src/app/mini-game/game/lib/SoundManager'; jest.mock('@/app/mini-game/game/hooks/useGameState'); jest.mock('@/app/mini-game/game/lib/SoundManager'); diff --git a/__tests__/mini-game/game/GameBody.test.tsx b/src/__tests__/mini-game/game/GameBody.test.tsx similarity index 96% rename from __tests__/mini-game/game/GameBody.test.tsx rename to src/__tests__/mini-game/game/GameBody.test.tsx index 88877b4..77ab933 100644 --- a/__tests__/mini-game/game/GameBody.test.tsx +++ b/src/__tests__/mini-game/game/GameBody.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import GameHead from '@/app/mini-game/game/GameBody'; -import { useChat } from '@/app/mini-game/game/hooks/useChat'; -import { useGameLogic } from '@/app/mini-game/game/hooks/useGameLogic'; +import GameHead from '@/src/app/mini-game/game/GameBody'; +import { useChat } from '@/src/app/mini-game/game/hooks/useChat'; +import { useGameLogic } from '@/src/app/mini-game/game/hooks/useGameLogic'; jest.mock('@/app/mini-game/game/hooks/useChat'); jest.mock('@/app/mini-game/game/hooks/useGameLogic'); diff --git a/__tests__/mini-game/game/GameBox.test.tsx b/src/__tests__/mini-game/game/GameBox.test.tsx similarity index 89% rename from __tests__/mini-game/game/GameBox.test.tsx rename to src/__tests__/mini-game/game/GameBox.test.tsx index e1d89b0..ae9fb95 100644 --- a/__tests__/mini-game/game/GameBox.test.tsx +++ b/src/__tests__/mini-game/game/GameBox.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import GameBox from '@/app/mini-game/game/GameBox'; +import GameBox from '@/src/app/mini-game/game/GameBox'; describe('GameBox', () => { it('should render children', () => { diff --git a/__tests__/mini-game/game/GameChat.test.tsx b/src/__tests__/mini-game/game/GameChat.test.tsx similarity index 94% rename from __tests__/mini-game/game/GameChat.test.tsx rename to src/__tests__/mini-game/game/GameChat.test.tsx index c003cd1..77cacfc 100644 --- a/__tests__/mini-game/game/GameChat.test.tsx +++ b/src/__tests__/mini-game/game/GameChat.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import KkutuChat from '@/app/mini-game/game/GameChat'; -import { useChat } from '@/app/mini-game/game/hooks/useChat'; -import { useChatLog } from '@/app/mini-game/game/hooks/useChatLog'; +import KkutuChat from '@/src/app/mini-game/game/GameChat'; +import { useChat } from '@/src/app/mini-game/game/hooks/useChat'; +import { useChatLog } from '@/src/app/mini-game/game/hooks/useChatLog'; jest.mock('@/app/mini-game/game/hooks/useChat'); jest.mock('@/app/mini-game/game/hooks/useChatLog'); diff --git a/__tests__/mini-game/game/GameSetup.test.tsx b/src/__tests__/mini-game/game/GameSetup.test.tsx similarity index 97% rename from __tests__/mini-game/game/GameSetup.test.tsx rename to src/__tests__/mini-game/game/GameSetup.test.tsx index 05aee5c..1c62931 100644 --- a/__tests__/mini-game/game/GameSetup.test.tsx +++ b/src/__tests__/mini-game/game/GameSetup.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen, fireEvent, waitFor, act, within } from '@testing-library/react'; -import GameSetup from '@/app/mini-game/game/GameSetup'; -import * as wordDB from '@/app/mini-game/game/lib/wordDB'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; +import GameSetup from '@/src/app/mini-game/game/GameSetup'; +import * as wordDB from '@/src/app/mini-game/game/lib/wordDB'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; jest.mock('@/app/mini-game/game/lib/wordDB'); jest.mock('@/app/mini-game/game/lib/GameManager'); diff --git a/__tests__/mini-game/game/components/ConfirmModal.test.tsx b/src/__tests__/mini-game/game/components/ConfirmModal.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/ConfirmModal.test.tsx rename to src/__tests__/mini-game/game/components/ConfirmModal.test.tsx index b83e5aa..a1d6bb2 100644 --- a/__tests__/mini-game/game/components/ConfirmModal.test.tsx +++ b/src/__tests__/mini-game/game/components/ConfirmModal.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import ConfirmModal from '@/app/mini-game/game/components/ConfirmModal'; +import ConfirmModal from '@/src/app/mini-game/game/components/ConfirmModal'; describe('ConfirmModal', () => { it('should render message', () => { diff --git a/__tests__/mini-game/game/components/DictionaryModal.test.tsx b/src/__tests__/mini-game/game/components/DictionaryModal.test.tsx similarity index 93% rename from __tests__/mini-game/game/components/DictionaryModal.test.tsx rename to src/__tests__/mini-game/game/components/DictionaryModal.test.tsx index 86adbbe..b4abddf 100644 --- a/__tests__/mini-game/game/components/DictionaryModal.test.tsx +++ b/src/__tests__/mini-game/game/components/DictionaryModal.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import DictionaryModal from '@/app/mini-game/game/components/DictionaryModal'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; +import DictionaryModal from '@/src/app/mini-game/game/components/DictionaryModal'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; jest.mock('@/app/mini-game/game/lib/GameManager'); diff --git a/__tests__/mini-game/game/components/GameInput.test.tsx b/src/__tests__/mini-game/game/components/GameInput.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/GameInput.test.tsx rename to src/__tests__/mini-game/game/components/GameInput.test.tsx index a140c17..c55842c 100644 --- a/__tests__/mini-game/game/components/GameInput.test.tsx +++ b/src/__tests__/mini-game/game/components/GameInput.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import GameInput from '@/app/mini-game/game/components/GameInput'; +import GameInput from '@/src/app/mini-game/game/components/GameInput'; describe('GameInput', () => { it('should render correctly', () => { diff --git a/__tests__/mini-game/game/components/GameResultModal.test.tsx b/src/__tests__/mini-game/game/components/GameResultModal.test.tsx similarity index 96% rename from __tests__/mini-game/game/components/GameResultModal.test.tsx rename to src/__tests__/mini-game/game/components/GameResultModal.test.tsx index 2d31eff..8bd8951 100644 --- a/__tests__/mini-game/game/components/GameResultModal.test.tsx +++ b/src/__tests__/mini-game/game/components/GameResultModal.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import GameResultModal from '@/app/mini-game/game/components/GameResultModal'; +import GameResultModal from '@/src/app/mini-game/game/components/GameResultModal'; describe('GameResultModal', () => { const mockUsedWords = [ diff --git a/__tests__/mini-game/game/components/GraphBar.test.tsx b/src/__tests__/mini-game/game/components/GraphBar.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/GraphBar.test.tsx rename to src/__tests__/mini-game/game/components/GraphBar.test.tsx index 53ed6d8..52c84b6 100644 --- a/__tests__/mini-game/game/components/GraphBar.test.tsx +++ b/src/__tests__/mini-game/game/components/GraphBar.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import GraphBar from '@/app/mini-game/game/components/GraphBar'; +import GraphBar from '@/src/app/mini-game/game/components/GraphBar'; describe('GraphBar', () => { it('should render correctly', () => { diff --git a/__tests__/mini-game/game/components/HelpModal.test.tsx b/src/__tests__/mini-game/game/components/HelpModal.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/HelpModal.test.tsx rename to src/__tests__/mini-game/game/components/HelpModal.test.tsx index 1d55d94..349f24d 100644 --- a/__tests__/mini-game/game/components/HelpModal.test.tsx +++ b/src/__tests__/mini-game/game/components/HelpModal.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import HelpModal from '@/app/mini-game/game/components/HelpModal'; +import HelpModal from '@/src/app/mini-game/game/components/HelpModal'; describe('HelpModal', () => { it('should render correctly', () => { diff --git a/__tests__/mini-game/game/components/HistoryHolder.test.tsx b/src/__tests__/mini-game/game/components/HistoryHolder.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/HistoryHolder.test.tsx rename to src/__tests__/mini-game/game/components/HistoryHolder.test.tsx index 77ac004..e3da59c 100644 --- a/__tests__/mini-game/game/components/HistoryHolder.test.tsx +++ b/src/__tests__/mini-game/game/components/HistoryHolder.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent, act, within } from '@testing-library/react'; -import HistoryHolder from '@/app/mini-game/game/components/HistoryHolder'; +import HistoryHolder from '@/src/app/mini-game/game/components/HistoryHolder'; describe('HistoryHolder', () => { const mockItems = [ diff --git a/__tests__/mini-game/game/components/KkutuMenu.test.tsx b/src/__tests__/mini-game/game/components/KkutuMenu.test.tsx similarity index 96% rename from __tests__/mini-game/game/components/KkutuMenu.test.tsx rename to src/__tests__/mini-game/game/components/KkutuMenu.test.tsx index 74d834e..5daca01 100644 --- a/__tests__/mini-game/game/components/KkutuMenu.test.tsx +++ b/src/__tests__/mini-game/game/components/KkutuMenu.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import KkutuMenu from '@/app/mini-game/game/components/KkutuMenu'; -import { useGameState } from '@/app/mini-game/game/hooks/useGameState'; +import KkutuMenu from '@/src/app/mini-game/game/components/KkutuMenu'; +import { useGameState } from '@/src/app/mini-game/game/hooks/useGameState'; jest.mock('@/app/mini-game/game/hooks/useGameState'); jest.mock('@/app/mini-game/game/components/HelpModal', () => () =>
Help Modal
); diff --git a/__tests__/mini-game/game/components/SettingsModal.test.tsx b/src/__tests__/mini-game/game/components/SettingsModal.test.tsx similarity index 93% rename from __tests__/mini-game/game/components/SettingsModal.test.tsx rename to src/__tests__/mini-game/game/components/SettingsModal.test.tsx index 4380717..8f45312 100644 --- a/__tests__/mini-game/game/components/SettingsModal.test.tsx +++ b/src/__tests__/mini-game/game/components/SettingsModal.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import SettingsModal from '@/app/mini-game/game/components/SettingsModal'; -import { soundManager } from '@/app/mini-game/game/lib/SoundManager'; +import SettingsModal from '@/src/app/mini-game/game/components/SettingsModal'; +import { soundManager } from '@/src/app/mini-game/game/lib/SoundManager'; jest.mock('@/app/mini-game/game/lib/SoundManager'); diff --git a/__tests__/mini-game/game/components/StartCharModal.test.tsx b/src/__tests__/mini-game/game/components/StartCharModal.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/StartCharModal.test.tsx rename to src/__tests__/mini-game/game/components/StartCharModal.test.tsx index 4d09fd4..8c1c58f 100644 --- a/__tests__/mini-game/game/components/StartCharModal.test.tsx +++ b/src/__tests__/mini-game/game/components/StartCharModal.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; -import StartCharModal from '@/app/mini-game/game/components/StartCharModal'; +import StartCharModal from '@/src/app/mini-game/game/components/StartCharModal'; describe('StartCharModal', () => { it('should not render when open is false', () => { diff --git a/__tests__/mini-game/game/components/WordManagerModal.test.tsx b/src/__tests__/mini-game/game/components/WordManagerModal.test.tsx similarity index 95% rename from __tests__/mini-game/game/components/WordManagerModal.test.tsx rename to src/__tests__/mini-game/game/components/WordManagerModal.test.tsx index 9deecc5..e9af54a 100644 --- a/__tests__/mini-game/game/components/WordManagerModal.test.tsx +++ b/src/__tests__/mini-game/game/components/WordManagerModal.test.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { render, screen, fireEvent, waitFor, act } from '@testing-library/react'; -import WordManagerModal from '@/app/mini-game/game/components/WordManagerModal'; -import * as wordDB from '@/app/mini-game/game/lib/wordDB'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; +import WordManagerModal from '@/src/app/mini-game/game/components/WordManagerModal'; +import * as wordDB from '@/src/app/mini-game/game/lib/wordDB'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; jest.mock('@/app/mini-game/game/lib/wordDB'); jest.mock('@/app/mini-game/game/lib/GameManager'); diff --git a/__tests__/mini-game/game/hooks/useChat.test.tsx b/src/__tests__/mini-game/game/hooks/useChat.test.tsx similarity index 97% rename from __tests__/mini-game/game/hooks/useChat.test.tsx rename to src/__tests__/mini-game/game/hooks/useChat.test.tsx index 1883451..0155d83 100644 --- a/__tests__/mini-game/game/hooks/useChat.test.tsx +++ b/src/__tests__/mini-game/game/hooks/useChat.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { renderHook, act } from '@testing-library/react'; -import { ChatProvider, useChat } from '@/app/mini-game/game/hooks/useChat'; +import { ChatProvider, useChat } from '@/src/app/mini-game/game/hooks/useChat'; describe('useChat', () => { const wrapper = ({ children }: { children: React.ReactNode }) => ( diff --git a/__tests__/mini-game/game/hooks/useChatLog.test.tsx b/src/__tests__/mini-game/game/hooks/useChatLog.test.tsx similarity index 94% rename from __tests__/mini-game/game/hooks/useChatLog.test.tsx rename to src/__tests__/mini-game/game/hooks/useChatLog.test.tsx index fbe55c8..33df682 100644 --- a/__tests__/mini-game/game/hooks/useChatLog.test.tsx +++ b/src/__tests__/mini-game/game/hooks/useChatLog.test.tsx @@ -1,8 +1,8 @@ import { renderHook, act } from '@testing-library/react'; -import { useChatLog } from '@/app/mini-game/game/hooks/useChatLog'; -import { useChat } from '@/app/mini-game/game/hooks/useChat'; -import { useGameState } from '@/app/mini-game/game/hooks/useGameState'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; +import { useChatLog } from '@/src/app/mini-game/game/hooks/useChatLog'; +import { useChat } from '@/src/app/mini-game/game/hooks/useChat'; +import { useGameState } from '@/src/app/mini-game/game/hooks/useGameState'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; jest.mock('@/app/mini-game/game/hooks/useChat'); jest.mock('@/app/mini-game/game/hooks/useGameState'); diff --git a/__tests__/mini-game/game/hooks/useGameLogic.test.tsx b/src/__tests__/mini-game/game/hooks/useGameLogic.test.tsx similarity index 93% rename from __tests__/mini-game/game/hooks/useGameLogic.test.tsx rename to src/__tests__/mini-game/game/hooks/useGameLogic.test.tsx index 394a620..300ed52 100644 --- a/__tests__/mini-game/game/hooks/useGameLogic.test.tsx +++ b/src/__tests__/mini-game/game/hooks/useGameLogic.test.tsx @@ -1,9 +1,9 @@ import { renderHook, act } from '@testing-library/react'; -import { useGameLogic } from '@/app/mini-game/game/hooks/useGameLogic'; -import { useChat } from '@/app/mini-game/game/hooks/useChat'; -import { soundManager } from '@/app/mini-game/game/lib/SoundManager'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; -import { useGameState } from '@/app/mini-game/game/hooks/useGameState'; +import { useGameLogic } from '@/src/app/mini-game/game/hooks/useGameLogic'; +import { useChat } from '@/src/app/mini-game/game/hooks/useChat'; +import { soundManager } from '@/src/app/mini-game/game/lib/SoundManager'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; +import { useGameState } from '@/src/app/mini-game/game/hooks/useGameState'; jest.mock('@/app/mini-game/game/hooks/useChat'); jest.mock('@/app/mini-game/game/lib/SoundManager'); @@ -127,6 +127,8 @@ describe('useGameLogic', () => { missionChar: null }); + (gameManager.isValidWord as jest.Mock).mockReturnValue(true); + act(() => { result.current.handleInput('가방'); }); diff --git a/__tests__/mini-game/game/hooks/useGameState.test.tsx b/src/__tests__/mini-game/game/hooks/useGameState.test.tsx similarity index 92% rename from __tests__/mini-game/game/hooks/useGameState.test.tsx rename to src/__tests__/mini-game/game/hooks/useGameState.test.tsx index 171b4de..e896b89 100644 --- a/__tests__/mini-game/game/hooks/useGameState.test.tsx +++ b/src/__tests__/mini-game/game/hooks/useGameState.test.tsx @@ -1,8 +1,8 @@ import { renderHook, act } from '@testing-library/react'; -import { useGameState } from '@/app/mini-game/game/hooks/useGameState'; -import gameManager from '@/app/mini-game/game/lib/GameManager'; -import * as hooks from '@/app/mini-game/game/store/hooks'; -import { setPlaying, setPendingStart, setStartBlocked, resetGame } from '@/app/mini-game/game/store/gameSlice'; +import { useGameState } from '@/src/app/mini-game/game/hooks/useGameState'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; +import * as hooks from '@/src/app/mini-game/game/store/hooks'; +import { setPlaying, setPendingStart, setStartBlocked, resetGame } from '@/src/app/mini-game/game/store/gameSlice'; jest.mock('@/app/mini-game/game/lib/GameManager', () => ({ __esModule: true, diff --git a/__tests__/mini-game/game/lib/GameLogic.test.ts b/src/__tests__/mini-game/game/lib/GameLogic.test.ts similarity index 96% rename from __tests__/mini-game/game/lib/GameLogic.test.ts rename to src/__tests__/mini-game/game/lib/GameLogic.test.ts index 6acae76..19cd067 100644 --- a/__tests__/mini-game/game/lib/GameLogic.test.ts +++ b/src/__tests__/mini-game/game/lib/GameLogic.test.ts @@ -1,6 +1,6 @@ -import { GameLogic } from '@/app/mini-game/game/lib/GameLogic'; -import { WordService } from '@/app/mini-game/game/services/WordService'; -import { GameSetting, CurrentState } from '@/app/mini-game/game/types/game.types'; +import { GameLogic } from '@/src/app/mini-game/game/lib/GameLogic'; +import { WordService } from '@/src/app/mini-game/game/services/WordService'; +import { GameSetting, CurrentState } from '@/src/app/mini-game/game/types/game.types'; // Mock WordService const mockWordService = { diff --git a/__tests__/mini-game/game/lib/GameManager.test.ts b/src/__tests__/mini-game/game/lib/GameManager.test.ts similarity index 99% rename from __tests__/mini-game/game/lib/GameManager.test.ts rename to src/__tests__/mini-game/game/lib/GameManager.test.ts index b627ff4..099bd88 100644 --- a/__tests__/mini-game/game/lib/GameManager.test.ts +++ b/src/__tests__/mini-game/game/lib/GameManager.test.ts @@ -1,4 +1,4 @@ -import gameManager from '@/app/mini-game/game/lib/GameManager'; +import gameManager from '@/src/app/mini-game/game/lib/GameManager'; describe('GameManager', () => { beforeEach(() => { diff --git a/__tests__/mini-game/game/lib/SoundManager.test.ts b/src/__tests__/mini-game/game/lib/SoundManager.test.ts similarity index 98% rename from __tests__/mini-game/game/lib/SoundManager.test.ts rename to src/__tests__/mini-game/game/lib/SoundManager.test.ts index f2dd499..bf00065 100644 --- a/__tests__/mini-game/game/lib/SoundManager.test.ts +++ b/src/__tests__/mini-game/game/lib/SoundManager.test.ts @@ -1,4 +1,4 @@ -import { soundManager } from '@/app/mini-game/game/lib/SoundManager'; +import { soundManager } from '@/src/app/mini-game/game/lib/SoundManager'; import { Howl } from 'howler'; jest.mock('howler'); diff --git a/__tests__/mini-game/game/lib/fileUtils.test.ts b/src/__tests__/mini-game/game/lib/fileUtils.test.ts similarity index 96% rename from __tests__/mini-game/game/lib/fileUtils.test.ts rename to src/__tests__/mini-game/game/lib/fileUtils.test.ts index 00ca523..64619fe 100644 --- a/__tests__/mini-game/game/lib/fileUtils.test.ts +++ b/src/__tests__/mini-game/game/lib/fileUtils.test.ts @@ -1,4 +1,4 @@ -import { parseWordsFromFile } from '@/app/mini-game/game/lib/fileUtils'; +import { parseWordsFromFile } from '@/src/app/mini-game/game/lib/fileUtils'; describe('fileUtils', () => { describe('parseWordsFromFile', () => { diff --git a/__tests__/mini-game/game/lib/wordDB.test.ts b/src/__tests__/mini-game/game/lib/wordDB.test.ts similarity index 98% rename from __tests__/mini-game/game/lib/wordDB.test.ts rename to src/__tests__/mini-game/game/lib/wordDB.test.ts index 668bf00..47e6a51 100644 --- a/__tests__/mini-game/game/lib/wordDB.test.ts +++ b/src/__tests__/mini-game/game/lib/wordDB.test.ts @@ -1,4 +1,4 @@ -import * as wordDB from '@/app/mini-game/game/lib/wordDB'; +import * as wordDB from '@/src/app/mini-game/game/lib/wordDB'; import { openDB } from 'idb'; jest.mock('idb'); diff --git a/__tests__/mini-game/game/services/services.test.ts b/src/__tests__/mini-game/game/services/services.test.ts similarity index 98% rename from __tests__/mini-game/game/services/services.test.ts rename to src/__tests__/mini-game/game/services/services.test.ts index 0a79c74..81443aa 100644 --- a/__tests__/mini-game/game/services/services.test.ts +++ b/src/__tests__/mini-game/game/services/services.test.ts @@ -1,4 +1,4 @@ -import { WordService } from "@/app/mini-game/game/services/WordService"; +import { WordService } from "@/src/app/mini-game/game/services/WordService"; describe('WordService', () => { let wordService: WordService; diff --git a/__tests__/mini-game/page.test.tsx b/src/__tests__/mini-game/page.test.tsx similarity index 96% rename from __tests__/mini-game/page.test.tsx rename to src/__tests__/mini-game/page.test.tsx index 1f696c3..7571f5d 100644 --- a/__tests__/mini-game/page.test.tsx +++ b/src/__tests__/mini-game/page.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react'; -import MiniGamePage from '@/app/mini-game/page'; +import MiniGamePage from '@/src/app/mini-game/page'; // Mock child components jest.mock('@/app/mini-game/game/Game', () => { diff --git a/app/AutoLogin.tsx b/src/app/AutoLogin.tsx similarity index 100% rename from app/AutoLogin.tsx rename to src/app/AutoLogin.tsx diff --git a/app/ErrorPage.tsx b/src/app/ErrorPage.tsx similarity index 100% rename from app/ErrorPage.tsx rename to src/app/ErrorPage.tsx diff --git a/app/Home.tsx b/src/app/Home.tsx similarity index 100% rename from app/Home.tsx rename to src/app/Home.tsx diff --git a/app/admin/AdminPage.tsx b/src/app/admin/AdminPage.tsx similarity index 99% rename from app/admin/AdminPage.tsx rename to src/app/admin/AdminPage.tsx index 794f640..7d9b7d5 100644 --- a/app/admin/AdminPage.tsx +++ b/src/app/admin/AdminPage.tsx @@ -6,7 +6,7 @@ import { CardDescription, CardHeader, CardTitle -} from '@/app/components/ui/card'; +} from '@/src/app/components/ui/card'; import { Plus, Trash2, diff --git a/app/admin/add-words/AddWordsHome.tsx b/src/app/admin/add-words/AddWordsHome.tsx similarity index 98% rename from app/admin/add-words/AddWordsHome.tsx rename to src/app/admin/add-words/AddWordsHome.tsx index b8cc61b..fe6b28a 100644 --- a/app/admin/add-words/AddWordsHome.tsx +++ b/src/app/admin/add-words/AddWordsHome.tsx @@ -5,18 +5,18 @@ import { AlertDialogContent, AlertDialogHeader, AlertDialogTitle, -} from "@/app/components/ui/alert-dialog"; -import { Button } from "@/app/components/ui/button"; -import { Progress } from "@/app/components/ui/progress"; +} from "@/src/app/components/ui/alert-dialog"; +import { Button } from "@/src/app/components/ui/button"; +import { Progress } from "@/src/app/components/ui/progress"; import { FileJson, CheckCircle, AlertCircle, ArrowLeft } from "lucide-react"; -import { SCM, supabaseInQueryChunk } from "@/app/lib/supabaseClient"; +import { SCM, supabaseInQueryChunk } from "@/src/app/lib/supabaseClient"; import { useSelector } from 'react-redux'; -import { RootState } from "@/app/store/store"; -import ErrorModal from "@/app/components/ErrModal"; +import { RootState } from "@/src/app/store/store"; +import ErrorModal from "@/src/app/components/ErrModal"; import { PostgrestError } from "@supabase/supabase-js"; import JsonViewer from "./JosnViewer" import Link from "next/link"; -import { isNoin } from "@/app/lib/lib"; +import { isNoin } from "@/src/app/lib/lib"; const keya = (word: string, themeName: string) => `[${word}, ${themeName}]` diff --git a/app/admin/add-words/JosnViewer.tsx b/src/app/admin/add-words/JosnViewer.tsx similarity index 100% rename from app/admin/add-words/JosnViewer.tsx rename to src/app/admin/add-words/JosnViewer.tsx diff --git a/app/admin/add-words/page.tsx b/src/app/admin/add-words/page.tsx similarity index 100% rename from app/admin/add-words/page.tsx rename to src/app/admin/add-words/page.tsx diff --git a/app/admin/api-server/ApiServerMangerHome.tsx b/src/app/admin/api-server/ApiServerMangerHome.tsx similarity index 96% rename from app/admin/api-server/ApiServerMangerHome.tsx rename to src/app/admin/api-server/ApiServerMangerHome.tsx index b22e018..e6ef299 100644 --- a/app/admin/api-server/ApiServerMangerHome.tsx +++ b/src/app/admin/api-server/ApiServerMangerHome.tsx @@ -1,5 +1,5 @@ 'use client'; -import { Button } from "@/app/components/ui/button"; +import { Button } from "@/src/app/components/ui/button"; import { ArrowLeft } from "lucide-react"; import Link from 'next/link'; diff --git a/app/admin/api-server/api.ts b/src/app/admin/api-server/api.ts similarity index 98% rename from app/admin/api-server/api.ts rename to src/app/admin/api-server/api.ts index 2018953..ccddcda 100644 --- a/app/admin/api-server/api.ts +++ b/src/app/admin/api-server/api.ts @@ -10,7 +10,7 @@ import type { CreateItemRequest, UpdateItemRequest } from './types'; -import { SCM } from '@/app/lib/supabaseClient'; +import { SCM } from '@/src/app/lib/supabaseClient'; import zlib from 'zlib'; const BASE_URL = 'https://api.solidloop-studio.xyz/api/v1'; diff --git a/app/admin/api-server/crawler/CrawlerManager.tsx b/src/app/admin/api-server/crawler/CrawlerManager.tsx similarity index 97% rename from app/admin/api-server/crawler/CrawlerManager.tsx rename to src/app/admin/api-server/crawler/CrawlerManager.tsx index 0e51f23..57b632c 100644 --- a/app/admin/api-server/crawler/CrawlerManager.tsx +++ b/src/app/admin/api-server/crawler/CrawlerManager.tsx @@ -3,10 +3,10 @@ import { useState, useEffect, useCallback } from 'react'; import { fetchCrawlerHealth, saveCrawlerSession, restartCrawler } from '../api'; import type { ChannelHealth } from '../types'; -import { Button } from '@/app/components/ui/button'; -import ConfirmModal from '@/app/components/ConfirmModal'; -import CompleteModal from '@/app/components/CompleteModal'; -import FailModal from '@/app/components/FailModal'; +import { Button } from '@/src/app/components/ui/button'; +import ConfirmModal from '@/src/app/components/ConfirmModal'; +import CompleteModal from '@/src/app/components/CompleteModal'; +import FailModal from '@/src/app/components/FailModal'; import { ArrowLeft } from 'lucide-react'; import Link from 'next/link'; diff --git a/app/admin/api-server/crawler/page.tsx b/src/app/admin/api-server/crawler/page.tsx similarity index 100% rename from app/admin/api-server/crawler/page.tsx rename to src/app/admin/api-server/crawler/page.tsx diff --git a/app/admin/api-server/items/ItemsMangeHome.tsx b/src/app/admin/api-server/items/ItemsMangeHome.tsx similarity index 96% rename from app/admin/api-server/items/ItemsMangeHome.tsx rename to src/app/admin/api-server/items/ItemsMangeHome.tsx index 5cce21e..5875994 100644 --- a/app/admin/api-server/items/ItemsMangeHome.tsx +++ b/src/app/admin/api-server/items/ItemsMangeHome.tsx @@ -5,14 +5,14 @@ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { Plus, Search } from 'lucide-react' import axios, { AxiosError } from 'axios' -import { Button } from '@/app/components/ui/button' -import { Input } from '@/app/components/ui/input' -import ConfirmModal from '@/app/components/ConfirmModal' +import { Button } from '@/src/app/components/ui/button' +import { Input } from '@/src/app/components/ui/input' +import ConfirmModal from '@/src/app/components/ConfirmModal' import ItemsTable from './_components/ItemsTable' import EditItemModal from './_components/EditItemModal' import { Item, ItemInput } from './_components/types' -import { ErrorMessage } from '@/app/types/type' -import ErrorModal from '@/app/components/ErrModal' +import { ErrorMessage } from '@/src/app/types/type' +import ErrorModal from '@/src/app/components/ErrModal' import { Select, @@ -20,7 +20,7 @@ import { SelectItem, SelectTrigger, SelectValue, -} from "@/app/components/ui/select" +} from "@/src/app/components/ui/select" import * as API from '../api' diff --git a/app/admin/api-server/items/_components/EditItemModal.tsx b/src/app/admin/api-server/items/_components/EditItemModal.tsx similarity index 96% rename from app/admin/api-server/items/_components/EditItemModal.tsx rename to src/app/admin/api-server/items/_components/EditItemModal.tsx index 5f99666..6ee8028 100644 --- a/app/admin/api-server/items/_components/EditItemModal.tsx +++ b/src/app/admin/api-server/items/_components/EditItemModal.tsx @@ -7,11 +7,11 @@ import { DialogFooter, DialogHeader, DialogTitle, -} from '@/app/components/ui/dialog' -import { Button } from '@/app/components/ui/button' -import { Input } from '@/app/components/ui/input' -import { Label } from '@/app/components/ui/label' -import { Textarea } from '@/app/components/ui/textarea' +} from '@/src/app/components/ui/dialog' +import { Button } from '@/src/app/components/ui/button' +import { Input } from '@/src/app/components/ui/input' +import { Label } from '@/src/app/components/ui/label' +import { Textarea } from '@/src/app/components/ui/textarea' import { Item, ItemInput } from './types' interface EditItemModalProps { diff --git a/app/admin/api-server/items/_components/ItemsTable.tsx b/src/app/admin/api-server/items/_components/ItemsTable.tsx similarity index 98% rename from app/admin/api-server/items/_components/ItemsTable.tsx rename to src/app/admin/api-server/items/_components/ItemsTable.tsx index 2c5116c..78abb62 100644 --- a/app/admin/api-server/items/_components/ItemsTable.tsx +++ b/src/app/admin/api-server/items/_components/ItemsTable.tsx @@ -7,18 +7,18 @@ import { TableHead, TableHeader, TableRow, -} from '@/app/components/ui/table' +} from '@/src/app/components/ui/table' import { ColumnDef, flexRender, getCoreRowModel, useReactTable, } from '@tanstack/react-table' -import { Button } from '@/app/components/ui/button' +import { Button } from '@/src/app/components/ui/button' import { Edit2, Trash2 } from 'lucide-react' import { useMemo } from 'react' import { Item } from './types' -import Spinner from '@/app/components/Spinner' +import Spinner from '@/src/app/components/Spinner' interface ItemsTableProps { items: Item[] diff --git a/app/admin/api-server/items/_components/types.ts b/src/app/admin/api-server/items/_components/types.ts similarity index 100% rename from app/admin/api-server/items/_components/types.ts rename to src/app/admin/api-server/items/_components/types.ts diff --git a/app/admin/api-server/items/page.tsx b/src/app/admin/api-server/items/page.tsx similarity index 100% rename from app/admin/api-server/items/page.tsx rename to src/app/admin/api-server/items/page.tsx diff --git a/app/admin/api-server/logs/LogsViewer.tsx b/src/app/admin/api-server/logs/LogsViewer.tsx similarity index 99% rename from app/admin/api-server/logs/LogsViewer.tsx rename to src/app/admin/api-server/logs/LogsViewer.tsx index 761db4f..6d14748 100644 --- a/app/admin/api-server/logs/LogsViewer.tsx +++ b/src/app/admin/api-server/logs/LogsViewer.tsx @@ -9,7 +9,7 @@ import LogsTable from './components/LogsTable'; import LogDetailModal from './components/LogDetailModal'; import { BarChart3, Table2, FileText, Download, ArrowLeft } from 'lucide-react'; import Link from 'next/link'; -import { Button } from '@/app/components/ui/button'; +import { Button } from '@/src/app/components/ui/button'; type LogType = 'api-server' | 'crawler'; type ViewMode = 'dashboard' | 'table' | 'raw'; diff --git a/app/admin/api-server/logs/components/LogCharts.tsx b/src/app/admin/api-server/logs/components/LogCharts.tsx similarity index 100% rename from app/admin/api-server/logs/components/LogCharts.tsx rename to src/app/admin/api-server/logs/components/LogCharts.tsx diff --git a/app/admin/api-server/logs/components/LogDetailModal.tsx b/src/app/admin/api-server/logs/components/LogDetailModal.tsx similarity index 100% rename from app/admin/api-server/logs/components/LogDetailModal.tsx rename to src/app/admin/api-server/logs/components/LogDetailModal.tsx diff --git a/app/admin/api-server/logs/components/LogsTable.tsx b/src/app/admin/api-server/logs/components/LogsTable.tsx similarity index 100% rename from app/admin/api-server/logs/components/LogsTable.tsx rename to src/app/admin/api-server/logs/components/LogsTable.tsx diff --git a/app/admin/api-server/logs/components/StatisticsCards.tsx b/src/app/admin/api-server/logs/components/StatisticsCards.tsx similarity index 100% rename from app/admin/api-server/logs/components/StatisticsCards.tsx rename to src/app/admin/api-server/logs/components/StatisticsCards.tsx diff --git a/app/admin/api-server/logs/page.tsx b/src/app/admin/api-server/logs/page.tsx similarity index 100% rename from app/admin/api-server/logs/page.tsx rename to src/app/admin/api-server/logs/page.tsx diff --git a/app/admin/api-server/logs/utils/pinoLogParser.ts b/src/app/admin/api-server/logs/utils/pinoLogParser.ts similarity index 100% rename from app/admin/api-server/logs/utils/pinoLogParser.ts rename to src/app/admin/api-server/logs/utils/pinoLogParser.ts diff --git a/app/admin/api-server/page.tsx b/src/app/admin/api-server/page.tsx similarity index 100% rename from app/admin/api-server/page.tsx rename to src/app/admin/api-server/page.tsx diff --git a/app/admin/api-server/types.ts b/src/app/admin/api-server/types.ts similarity index 100% rename from app/admin/api-server/types.ts rename to src/app/admin/api-server/types.ts diff --git a/app/admin/del-words/DelWordsHome.tsx b/src/app/admin/del-words/DelWordsHome.tsx similarity index 97% rename from app/admin/del-words/DelWordsHome.tsx rename to src/app/admin/del-words/DelWordsHome.tsx index 62413b3..e09503d 100644 --- a/app/admin/del-words/DelWordsHome.tsx +++ b/src/app/admin/del-words/DelWordsHome.tsx @@ -7,16 +7,16 @@ import { DialogHeader, DialogTitle, DialogDescription -} from '@/app/components/ui/dialog'; -import { Button } from '@/app/components/ui/button'; -import { Progress } from '@/app/components/ui/progress'; -import { Textarea } from '@/app/components/ui/textarea'; -import { Alert, AlertDescription } from '@/app/components/ui/alert'; +} from '@/src/app/components/ui/dialog'; +import { Button } from '@/src/app/components/ui/button'; +import { Progress } from '@/src/app/components/ui/progress'; +import { Textarea } from '@/src/app/components/ui/textarea'; +import { Alert, AlertDescription } from '@/src/app/components/ui/alert'; import { PostgrestError } from '@supabase/supabase-js'; -import ErrorModal from "@/app/components/ErrModal"; -import { SCM } from '@/app/lib/supabaseClient'; +import ErrorModal from "@/src/app/components/ErrModal"; +import { SCM } from '@/src/app/lib/supabaseClient'; import { useSelector } from 'react-redux'; -import { RootState } from "@/app/store/store"; +import { RootState } from "@/src/app/store/store"; import { chunk as chunkArray } from "es-toolkit"; import Link from "next/link"; diff --git a/app/admin/del-words/page.tsx b/src/app/admin/del-words/page.tsx similarity index 100% rename from app/admin/del-words/page.tsx rename to src/app/admin/del-words/page.tsx diff --git a/app/admin/logs/AdminLogsHome.tsx b/src/app/admin/logs/AdminLogsHome.tsx similarity index 97% rename from app/admin/logs/AdminLogsHome.tsx rename to src/app/admin/logs/AdminLogsHome.tsx index d0b83d3..aa1a83b 100644 --- a/app/admin/logs/AdminLogsHome.tsx +++ b/src/app/admin/logs/AdminLogsHome.tsx @@ -2,16 +2,16 @@ import { useState, useEffect } from 'react'; import Link from 'next/link'; -import { SCM } from "@/app/lib/supabaseClient"; -import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/app/components/ui/card"; -import { Button } from "@/app/components/ui/button"; -import { Badge } from "@/app/components/ui/badge"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/app/components/ui/tabs"; -import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/app/components/ui/table"; -import { Checkbox } from "@/app/components/ui/checkbox"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/app/components/ui/select"; -import { Input } from "@/app/components/ui/input"; -import { Label } from "@/app/components/ui/label"; +import { SCM } from "@/src/app/lib/supabaseClient"; +import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/src/app/components/ui/card"; +import { Button } from "@/src/app/components/ui/button"; +import { Badge } from "@/src/app/components/ui/badge"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/src/app/components/ui/tabs"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/src/app/components/ui/table"; +import { Checkbox } from "@/src/app/components/ui/checkbox"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/src/app/components/ui/select"; +import { Input } from "@/src/app/components/ui/input"; +import { Label } from "@/src/app/components/ui/label"; import { Pagination, PaginationContent, @@ -19,10 +19,10 @@ import { PaginationLink, PaginationNext, PaginationPrevious, -} from "@/app/components/ui/pagination"; +} from "@/src/app/components/ui/pagination"; import { ArrowLeft, Filter, Trash2 } from "lucide-react"; import { PostgrestError } from '@supabase/supabase-js'; -import ErrorModal from '@/app/components/ErrModal'; +import ErrorModal from '@/src/app/components/ErrModal'; type ErrorMessage = { ErrName: string; diff --git a/app/admin/logs/AdminLogsWrapper.tsx b/src/app/admin/logs/AdminLogsWrapper.tsx similarity index 96% rename from app/admin/logs/AdminLogsWrapper.tsx rename to src/app/admin/logs/AdminLogsWrapper.tsx index 029f4f8..770f6fb 100644 --- a/app/admin/logs/AdminLogsWrapper.tsx +++ b/src/app/admin/logs/AdminLogsWrapper.tsx @@ -1,7 +1,7 @@ "use client"; -import { SCM } from "@/app/lib/supabaseClient"; +import { SCM } from "@/src/app/lib/supabaseClient"; import { useEffect, useState } from "react"; -import LoadingPage, {useLoadingState } from '@/app/components/LoadingPage'; +import LoadingPage, {useLoadingState } from '@/src/app/components/LoadingPage'; import ErrorPage from "../../components/ErrorPage"; import type { PostgrestError } from "@supabase/supabase-js"; import AdminLogsHome from "./AdminLogsHome"; diff --git a/app/admin/logs/page.tsx b/src/app/admin/logs/page.tsx similarity index 100% rename from app/admin/logs/page.tsx rename to src/app/admin/logs/page.tsx diff --git a/app/admin/page.tsx b/src/app/admin/page.tsx similarity index 100% rename from app/admin/page.tsx rename to src/app/admin/page.tsx diff --git a/app/admin/request-docs/RequestDocsHome.tsx b/src/app/admin/request-docs/RequestDocsHome.tsx similarity index 96% rename from app/admin/request-docs/RequestDocsHome.tsx rename to src/app/admin/request-docs/RequestDocsHome.tsx index 1f83b7e..1133186 100644 --- a/app/admin/request-docs/RequestDocsHome.tsx +++ b/src/app/admin/request-docs/RequestDocsHome.tsx @@ -1,13 +1,13 @@ import React, { useState } from 'react'; import { ArrowLeft } from 'lucide-react'; -import { Button } from '@/app/components/ui/button'; -import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/app/components/ui/card'; -import { Checkbox } from '@/app/components/ui/checkbox'; -import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/app/components/ui/table'; -import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from '@/app/components/ui/pagination'; -import { SCM } from '@/app/lib/supabaseClient'; +import { Button } from '@/src/app/components/ui/button'; +import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/src/app/components/ui/card'; +import { Checkbox } from '@/src/app/components/ui/checkbox'; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/src/app/components/ui/table'; +import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from '@/src/app/components/ui/pagination'; +import { SCM } from '@/src/app/lib/supabaseClient'; import { PostgrestError } from '@supabase/supabase-js'; -import ErrorModal from '@/app/components/ErrModal'; +import ErrorModal from '@/src/app/components/ErrModal'; type DocsWaitRequest = {id: number, req_at: string, docs_name: string, req_by: string | null, initial_consonant: boolean, req_byId: string | null} diff --git a/app/admin/request-docs/RequestDocsWrapper.tsx b/src/app/admin/request-docs/RequestDocsWrapper.tsx similarity index 93% rename from app/admin/request-docs/RequestDocsWrapper.tsx rename to src/app/admin/request-docs/RequestDocsWrapper.tsx index 1a5729e..a65ae7a 100644 --- a/app/admin/request-docs/RequestDocsWrapper.tsx +++ b/src/app/admin/request-docs/RequestDocsWrapper.tsx @@ -1,11 +1,11 @@ "use client"; import { useEffect, useState } from "react"; -import LoadingPage, {useLoadingState } from '@/app/components/LoadingPage'; +import LoadingPage, {useLoadingState } from '@/src/app/components/LoadingPage'; import ErrorPage from "../../components/ErrorPage"; import type { PostgrestError } from "@supabase/supabase-js"; import DocsWaitManager from "./RequestDocsHome"; -import { SCM } from "@/app/lib/supabaseClient"; +import { SCM } from "@/src/app/lib/supabaseClient"; type DocsWaitRequest = {id: number, req_at: string, docs_name: string, req_by: string | null, initial_consonant: boolean, req_byId: string | null}; diff --git a/app/admin/request-docs/page.tsx b/src/app/admin/request-docs/page.tsx similarity index 100% rename from app/admin/request-docs/page.tsx rename to src/app/admin/request-docs/page.tsx diff --git a/app/admin/request-words/AdminRequestHome.tsx b/src/app/admin/request-words/AdminRequestHome.tsx similarity index 98% rename from app/admin/request-words/AdminRequestHome.tsx rename to src/app/admin/request-words/AdminRequestHome.tsx index 1b659f2..2d5ac40 100644 --- a/app/admin/request-words/AdminRequestHome.tsx +++ b/src/app/admin/request-words/AdminRequestHome.tsx @@ -8,7 +8,7 @@ import { TableHead, TableHeader, TableRow -} from "@/app/components/ui/table" +} from "@/src/app/components/ui/table" import { Pagination, PaginationContent, @@ -16,10 +16,10 @@ import { PaginationLink, PaginationNext, PaginationPrevious -} from "@/app/components/ui/pagination" -import { Checkbox } from "@/app/components/ui/checkbox" -import { Button } from "@/app/components/ui/button" -import { Badge } from "@/app/components/ui/badge" +} from "@/src/app/components/ui/pagination" +import { Checkbox } from "@/src/app/components/ui/checkbox" +import { Button } from "@/src/app/components/ui/button" +import { Badge } from "@/src/app/components/ui/badge" import { Card, CardContent, @@ -27,15 +27,15 @@ import { CardFooter, CardHeader, CardTitle -} from "@/app/components/ui/card" -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/app/components/ui/tabs" +} from "@/src/app/components/ui/card" +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/src/app/components/ui/tabs" import { SCM } from '../../lib/supabaseClient' import { PostgrestError } from '@supabase/supabase-js' import { useSelector } from 'react-redux'; -import { RootState } from "@/app/store/store"; +import { RootState } from "@/src/app/store/store"; import ErrorModal from '../../components/ErrModal' -import { isNoin } from '@/app/lib/lib' -import { addWordQueryType } from '@/app/types/type' +import { isNoin } from '@/src/app/lib/lib' +import { addWordQueryType } from '@/src/app/types/type' import Link from 'next/link' import { ArrowLeft } from 'lucide-react' import ThemeSelectModal from './ThemeSelectModal' diff --git a/app/admin/request-words/AdminWrapper.tsx b/src/app/admin/request-words/AdminWrapper.tsx similarity index 98% rename from app/admin/request-words/AdminWrapper.tsx rename to src/app/admin/request-words/AdminWrapper.tsx index d1ae083..912778d 100644 --- a/app/admin/request-words/AdminWrapper.tsx +++ b/src/app/admin/request-words/AdminWrapper.tsx @@ -2,7 +2,7 @@ import AdminHome from "./AdminRequestHome"; import { SCM } from "../../lib/supabaseClient"; import { useEffect, useState } from 'react'; -import LoadingPage, {useLoadingState } from '@/app/components/LoadingPage'; +import LoadingPage, {useLoadingState } from '@/src/app/components/LoadingPage'; import ErrorPage from "../../components/ErrorPage"; import type { PostgrestError } from "@supabase/supabase-js"; import { DefaultDict } from "../../lib/collections"; diff --git a/app/admin/request-words/ThemeSelectModal.tsx b/src/app/admin/request-words/ThemeSelectModal.tsx similarity index 96% rename from app/admin/request-words/ThemeSelectModal.tsx rename to src/app/admin/request-words/ThemeSelectModal.tsx index cc704d9..e26b052 100644 --- a/app/admin/request-words/ThemeSelectModal.tsx +++ b/src/app/admin/request-words/ThemeSelectModal.tsx @@ -9,12 +9,12 @@ import { DialogFooter, DialogHeader, DialogTitle, -} from "@/app/components/ui/dialog" -import { Button } from "@/app/components/ui/button" -import { Checkbox } from "@/app/components/ui/checkbox" -import { Badge } from "@/app/components/ui/badge" -import { ScrollArea } from "@/app/components/ui/scroll-area" -import { SCM } from '@/app/lib/supabaseClient' +} from "@/src/app/components/ui/dialog" +import { Button } from "@/src/app/components/ui/button" +import { Checkbox } from "@/src/app/components/ui/checkbox" +import { Badge } from "@/src/app/components/ui/badge" +import { ScrollArea } from "@/src/app/components/ui/scroll-area" +import { SCM } from '@/src/app/lib/supabaseClient' type Theme = { theme_id: number; diff --git a/app/admin/request-words/page.tsx b/src/app/admin/request-words/page.tsx similarity index 100% rename from app/admin/request-words/page.tsx rename to src/app/admin/request-words/page.tsx diff --git a/app/admin/users/UsersList.tsx b/src/app/admin/users/UsersList.tsx similarity index 98% rename from app/admin/users/UsersList.tsx rename to src/app/admin/users/UsersList.tsx index d563e47..e172236 100644 --- a/app/admin/users/UsersList.tsx +++ b/src/app/admin/users/UsersList.tsx @@ -6,7 +6,7 @@ import { CardDescription, CardHeader, CardTitle -} from '@/app/components/ui/card'; +} from '@/src/app/components/ui/card'; import { Table, TableBody, @@ -14,11 +14,11 @@ import { TableHead, TableHeader, TableRow -} from '@/app/components/ui/table'; +} from '@/src/app/components/ui/table'; import { Button -} from '@/app/components/ui/button'; -import { Badge } from '@/app/components/ui/badge'; +} from '@/src/app/components/ui/button'; +import { Badge } from '@/src/app/components/ui/badge'; import { Users, ChevronUp, @@ -30,9 +30,9 @@ import { ArrowLeft } from 'lucide-react'; import { useRouter } from 'next/navigation'; -import { SCM } from '@/lib/supabaseClient'; +import { SCM } from '@/src/app/lib/supabaseClient'; import Link from 'next/link'; -import { Tables } from '@/types/database.types'; +import { Tables } from '@/src/app/types/database.types'; type User = Tables<'users'>; type SortField = 'contribution' | 'month_contribution' | 'nickname'; diff --git a/app/admin/users/page.tsx b/src/app/admin/users/page.tsx similarity index 100% rename from app/admin/users/page.tsx rename to src/app/admin/users/page.tsx diff --git a/app/api/auth/callback/route.ts b/src/app/api/auth/callback/route.ts similarity index 90% rename from app/api/auth/callback/route.ts rename to src/app/api/auth/callback/route.ts index cd48aef..b5a7b93 100644 --- a/app/api/auth/callback/route.ts +++ b/src/app/api/auth/callback/route.ts @@ -1,4 +1,4 @@ -import { createSupabaseServerClient } from '@/app/lib/supabaseServer'; +import { createSupabaseServerClient } from '@/src/app/lib/supabaseServer'; import { NextResponse } from 'next/server' export async function GET(req: Request) { diff --git a/app/api/auth/update_nickname/route.ts b/src/app/api/auth/update_nickname/route.ts similarity index 97% rename from app/api/auth/update_nickname/route.ts rename to src/app/api/auth/update_nickname/route.ts index 53f05ba..3e53d95 100644 --- a/app/api/auth/update_nickname/route.ts +++ b/src/app/api/auth/update_nickname/route.ts @@ -1,7 +1,7 @@ import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; import { createServerClient } from '@supabase/ssr'; -import { Database } from '@/app/types/database.types'; +import { Database } from '@/src/app/types/database.types'; import { createClient } from '@supabase/supabase-js'; export async function POST(request: NextRequest){ diff --git a/app/api/extendsion/route.ts b/src/app/api/extendsion/route.ts similarity index 100% rename from app/api/extendsion/route.ts rename to src/app/api/extendsion/route.ts diff --git a/app/api/get_kkukowiki/route.ts b/src/app/api/get_kkukowiki/route.ts similarity index 100% rename from app/api/get_kkukowiki/route.ts rename to src/app/api/get_kkukowiki/route.ts diff --git a/app/api/kkuko/api/ranking/route.ts b/src/app/api/kkuko/api/ranking/route.ts similarity index 100% rename from app/api/kkuko/api/ranking/route.ts rename to src/app/api/kkuko/api/ranking/route.ts diff --git a/app/api/kkuko/image/route.ts b/src/app/api/kkuko/image/route.ts similarity index 100% rename from app/api/kkuko/image/route.ts rename to src/app/api/kkuko/image/route.ts diff --git a/app/api/programs/info/route.ts b/src/app/api/programs/info/route.ts similarity index 95% rename from app/api/programs/info/route.ts rename to src/app/api/programs/info/route.ts index eb8a479..8b45f70 100644 --- a/app/api/programs/info/route.ts +++ b/src/app/api/programs/info/route.ts @@ -1,5 +1,5 @@ import { NextRequest, NextResponse } from 'next/server'; -import { SSM } from '@/app/lib/supabase/supabaseServerManager'; +import { SSM } from '@/src/app/lib/supabase/supabaseServerManager'; export async function GET(request: NextRequest) { try { diff --git a/app/api/programs/releases/[repo]/latest/route.ts b/src/app/api/programs/releases/[repo]/latest/route.ts similarity index 90% rename from app/api/programs/releases/[repo]/latest/route.ts rename to src/app/api/programs/releases/[repo]/latest/route.ts index 5d712c4..d1f405c 100644 --- a/app/api/programs/releases/[repo]/latest/route.ts +++ b/src/app/api/programs/releases/[repo]/latest/route.ts @@ -1,4 +1,4 @@ -import { SSM } from '@/app/lib/supabase/supabaseServerManager'; +import { SSM } from '@/src/app/lib/supabase/supabaseServerManager'; import { NextRequest, NextResponse } from 'next/server'; export async function GET( diff --git a/app/api/programs/releases/[repo]/route.ts b/src/app/api/programs/releases/[repo]/route.ts similarity index 93% rename from app/api/programs/releases/[repo]/route.ts rename to src/app/api/programs/releases/[repo]/route.ts index 96ab5fd..84ee771 100644 --- a/app/api/programs/releases/[repo]/route.ts +++ b/src/app/api/programs/releases/[repo]/route.ts @@ -1,4 +1,4 @@ -import { SSM } from '@/app/lib/supabase/supabaseServerManager'; +import { SSM } from '@/src/app/lib/supabase/supabaseServerManager'; import { NextRequest, NextResponse } from 'next/server'; export async function GET( diff --git a/app/api/programs/route.ts b/src/app/api/programs/route.ts similarity index 92% rename from app/api/programs/route.ts rename to src/app/api/programs/route.ts index 187652d..e177881 100644 --- a/app/api/programs/route.ts +++ b/src/app/api/programs/route.ts @@ -1,6 +1,6 @@ import { NextRequest, NextResponse } from 'next/server'; -import { SSM } from '@/app/lib/supabase/supabaseServerManager'; -import { Program } from '@/app/types/program'; +import { SSM } from '@/src/app/lib/supabase/supabaseServerManager'; +import { Program } from '@/src/app/types/program'; function parseCategory(category: string | null): 'all' | 'tool' | 'util' | 'other' { if (!category || !['all', 'tool', 'util', 'other'].includes(category)) { diff --git a/app/api/words/README.md b/src/app/api/words/README.md similarity index 100% rename from app/api/words/README.md rename to src/app/api/words/README.md diff --git a/app/api/words/search/route.ts b/src/app/api/words/search/route.ts similarity index 96% rename from app/api/words/search/route.ts rename to src/app/api/words/search/route.ts index 7b29461..32b7cee 100644 --- a/app/api/words/search/route.ts +++ b/src/app/api/words/search/route.ts @@ -1,7 +1,7 @@ import { NextRequest, NextResponse } from 'next/server'; -import { SCM } from '@/app/lib/supabaseClient'; -import { advancedQueryType } from '@/app/types/type'; -import { GameMode } from '@/app/word/search/types'; +import { SCM } from '@/src/app/lib/supabaseClient'; +import { advancedQueryType } from '@/src/app/types/type'; +import { GameMode } from '@/src/app/word/search/types'; export async function GET(request: NextRequest) { const { searchParams } = new URL(request.url); diff --git a/app/auth/auth.tsx b/src/app/auth/auth.tsx similarity index 97% rename from app/auth/auth.tsx rename to src/app/auth/auth.tsx index 79961c9..56095b1 100644 --- a/app/auth/auth.tsx +++ b/src/app/auth/auth.tsx @@ -8,13 +8,13 @@ import type { AppDispatch } from "../store/store"; import { userAction } from "../store/slice"; import { Suspense } from 'react'; import { LogIn, UserPlus, Loader2, User, AlertCircle } from "lucide-react"; -import { Button } from "@/app/components/ui/button"; -import { Input } from "@/app/components/ui/input"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/app/components/ui/card"; -import { Alert, AlertDescription } from "@/app/components/ui/alert"; +import { Button } from "@/src/app/components/ui/button"; +import { Input } from "@/src/app/components/ui/input"; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/src/app/components/ui/card"; +import { Alert, AlertDescription } from "@/src/app/components/ui/alert"; import ErrorModal from '../components/ErrModal'; -import type { ErrorMessage } from "@/types/type"; -import { SCM } from "@/lib/supabaseClient"; +import type { ErrorMessage } from "@/src/app/types/type"; +import { SCM } from "@/src/app/lib/supabaseClient"; const AuthPage = () => { const router = useRouter(); diff --git a/app/auth/page.tsx b/src/app/auth/page.tsx similarity index 100% rename from app/auth/page.tsx rename to src/app/auth/page.tsx diff --git a/app/components/CompleteModal.tsx b/src/app/components/CompleteModal.tsx similarity index 100% rename from app/components/CompleteModal.tsx rename to src/app/components/CompleteModal.tsx diff --git a/app/components/ConfirmModal.tsx b/src/app/components/ConfirmModal.tsx similarity index 100% rename from app/components/ConfirmModal.tsx rename to src/app/components/ConfirmModal.tsx diff --git a/app/components/ErrModal.tsx b/src/app/components/ErrModal.tsx similarity index 100% rename from app/components/ErrModal.tsx rename to src/app/components/ErrModal.tsx diff --git a/app/components/ErrorPage.tsx b/src/app/components/ErrorPage.tsx similarity index 96% rename from app/components/ErrorPage.tsx rename to src/app/components/ErrorPage.tsx index 5c457be..b59fcdd 100644 --- a/app/components/ErrorPage.tsx +++ b/src/app/components/ErrorPage.tsx @@ -1,6 +1,6 @@ "use client"; -import { Button } from "@/app/components/ui/button"; +import { Button } from "@/src/app/components/ui/button"; import { motion } from "framer-motion"; export default function ErrorPage({ message }: { message?: string }) { diff --git a/app/components/FailModal.tsx b/src/app/components/FailModal.tsx similarity index 92% rename from app/components/FailModal.tsx rename to src/app/components/FailModal.tsx index d338c6c..83e4b81 100644 --- a/app/components/FailModal.tsx +++ b/src/app/components/FailModal.tsx @@ -1,7 +1,7 @@ "use client"; -import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/app/components/ui/dialog"; -import { Button } from "@/app/components/ui/button"; +import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/src/app/components/ui/dialog"; +import { Button } from "@/src/app/components/ui/button"; import { XCircle } from "lucide-react"; interface ErrorModalProps { diff --git a/app/components/HelpModal.tsx b/src/app/components/HelpModal.tsx similarity index 97% rename from app/components/HelpModal.tsx rename to src/app/components/HelpModal.tsx index 3d02748..c1db22f 100644 --- a/app/components/HelpModal.tsx +++ b/src/app/components/HelpModal.tsx @@ -6,7 +6,7 @@ import { DialogHeader, DialogTitle, DialogTrigger, -} from '@/app/components/ui/dialog'; +} from '@/src/app/components/ui/dialog'; interface HelpModalProps { title: string; diff --git a/app/components/LoadingPage.tsx b/src/app/components/LoadingPage.tsx similarity index 86% rename from app/components/LoadingPage.tsx rename to src/app/components/LoadingPage.tsx index 7f5337c..9809c98 100644 --- a/app/components/LoadingPage.tsx +++ b/src/app/components/LoadingPage.tsx @@ -1,9 +1,9 @@ "use client"; -import Spinner from "@/app/components/Spinner"; -import ProgressBar from "@/app/components/ProgressBar"; +import Spinner from "@/src/app/components/Spinner"; +import ProgressBar from "@/src/app/components/ProgressBar"; import { useDispatch, useSelector } from 'react-redux'; -import { updateLoadingState } from '@/app/store/slice'; -import type { RootState } from '@/app/store/store'; +import { updateLoadingState } from '@/src/app/store/slice'; +import type { RootState } from '@/src/app/store/store'; export const useLoadingState = () => { const dispatch = useDispatch(); diff --git a/app/components/LoginRequiredModal.tsx b/src/app/components/LoginRequiredModal.tsx similarity index 93% rename from app/components/LoginRequiredModal.tsx rename to src/app/components/LoginRequiredModal.tsx index f37b6ec..2d0ab2f 100644 --- a/app/components/LoginRequiredModal.tsx +++ b/src/app/components/LoginRequiredModal.tsx @@ -1,7 +1,7 @@ "use client"; -import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/app/components/ui/dialog"; -import { Button } from "@/app/components/ui/button"; +import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/src/app/components/ui/dialog"; +import { Button } from "@/src/app/components/ui/button"; import { useRouter } from "next/navigation"; interface LoginRequiredModalProps { diff --git a/app/components/MarkdownViewer.tsx b/src/app/components/MarkdownViewer.tsx similarity index 100% rename from app/components/MarkdownViewer.tsx rename to src/app/components/MarkdownViewer.tsx diff --git a/app/components/NoticeModal.tsx b/src/app/components/NoticeModal.tsx similarity index 96% rename from app/components/NoticeModal.tsx rename to src/app/components/NoticeModal.tsx index 1abeb09..a59c2dd 100644 --- a/app/components/NoticeModal.tsx +++ b/src/app/components/NoticeModal.tsx @@ -1,8 +1,8 @@ "use client"; -import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/app/components/ui/dialog"; -import { Button } from "@/app/components/ui/button"; -import { Checkbox } from "@/app/components/ui/checkbox"; +import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/src/app/components/ui/dialog"; +import { Button } from "@/src/app/components/ui/button"; +import { Checkbox } from "@/src/app/components/ui/checkbox"; import { useState } from "react"; import { Info } from "lucide-react"; import Image from "next/image"; diff --git a/app/components/NoticeProvider.tsx b/src/app/components/NoticeProvider.tsx similarity index 75% rename from app/components/NoticeProvider.tsx rename to src/app/components/NoticeProvider.tsx index 72b28bf..8c65799 100644 --- a/app/components/NoticeProvider.tsx +++ b/src/app/components/NoticeProvider.tsx @@ -1,7 +1,7 @@ "use client"; -import { useNotice } from "@/app/hooks/useNotice"; -import NoticeModal from "@/app/components/NoticeModal"; +import { useNotice } from "@/src/app/hooks/useNotice"; +import NoticeModal from "@/src/app/components/NoticeModal"; export default function NoticeProvider() { const { notice, showNoticeModal, closeNoticeModal } = useNotice(); diff --git a/app/components/ProgressBar.tsx b/src/app/components/ProgressBar.tsx similarity index 100% rename from app/components/ProgressBar.tsx rename to src/app/components/ProgressBar.tsx diff --git a/app/components/ProgressModal.tsx b/src/app/components/ProgressModal.tsx similarity index 91% rename from app/components/ProgressModal.tsx rename to src/app/components/ProgressModal.tsx index 328e46b..c8b6c61 100644 --- a/app/components/ProgressModal.tsx +++ b/src/app/components/ProgressModal.tsx @@ -3,9 +3,9 @@ import { AlertDialogContent, AlertDialogHeader, AlertDialogTitle, -} from "@/app/components/ui/alert-dialog"; -import { Button } from "@/app/components/ui/button"; -import { Progress } from "@/app/components/ui/progress"; +} from "@/src/app/components/ui/alert-dialog"; +import { Button } from "@/src/app/components/ui/button"; +import { Progress } from "@/src/app/components/ui/progress"; interface ProgressModalProp { isModalOpen: boolean; diff --git a/app/components/Spinner.tsx b/src/app/components/Spinner.tsx similarity index 100% rename from app/components/Spinner.tsx rename to src/app/components/Spinner.tsx diff --git a/app/components/UnderConstruction.tsx b/src/app/components/UnderConstruction.tsx similarity index 96% rename from app/components/UnderConstruction.tsx rename to src/app/components/UnderConstruction.tsx index b955fd5..7c5c6de 100644 --- a/app/components/UnderConstruction.tsx +++ b/src/app/components/UnderConstruction.tsx @@ -3,7 +3,7 @@ import { useRouter } from 'next/navigation'; import { motion } from 'framer-motion'; import { Construction, ArrowLeft } from 'lucide-react'; -import { Button } from '@/app/components/ui/button'; +import { Button } from '@/src/app/components/ui/button'; export default function UnderConstructionPage() { const router = useRouter(); diff --git a/app/components/UnderConstructionModal.tsx b/src/app/components/UnderConstructionModal.tsx similarity index 100% rename from app/components/UnderConstructionModal.tsx rename to src/app/components/UnderConstructionModal.tsx diff --git a/app/components/ui/alert-dialog.tsx b/src/app/components/ui/alert-dialog.tsx similarity index 97% rename from app/components/ui/alert-dialog.tsx rename to src/app/components/ui/alert-dialog.tsx index b53dbba..a4dc492 100644 --- a/app/components/ui/alert-dialog.tsx +++ b/src/app/components/ui/alert-dialog.tsx @@ -3,8 +3,8 @@ import * as React from "react" import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog" -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/app/components/ui/button" +import { cn } from "@/src/app/lib/utils" +import { buttonVariants } from "@/src/app/components/ui/button" const AlertDialog = AlertDialogPrimitive.Root diff --git a/app/components/ui/alert.tsx b/src/app/components/ui/alert.tsx similarity index 97% rename from app/components/ui/alert.tsx rename to src/app/components/ui/alert.tsx index 5afd41d..aa551a0 100644 --- a/app/components/ui/alert.tsx +++ b/src/app/components/ui/alert.tsx @@ -1,7 +1,7 @@ import * as React from "react" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const alertVariants = cva( "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", diff --git a/app/components/ui/avatar.tsx b/src/app/components/ui/avatar.tsx similarity index 97% rename from app/components/ui/avatar.tsx rename to src/app/components/ui/avatar.tsx index 51e507b..20a1d72 100644 --- a/app/components/ui/avatar.tsx +++ b/src/app/components/ui/avatar.tsx @@ -3,7 +3,7 @@ import * as React from "react" import * as AvatarPrimitive from "@radix-ui/react-avatar" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const Avatar = React.forwardRef< React.ElementRef, diff --git a/app/components/ui/badge.tsx b/src/app/components/ui/badge.tsx similarity index 96% rename from app/components/ui/badge.tsx rename to src/app/components/ui/badge.tsx index e87d62b..bee7bda 100644 --- a/app/components/ui/badge.tsx +++ b/src/app/components/ui/badge.tsx @@ -1,7 +1,7 @@ import * as React from "react" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const badgeVariants = cva( "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", diff --git a/app/components/ui/button.tsx b/src/app/components/ui/button.tsx similarity index 97% rename from app/components/ui/button.tsx rename to src/app/components/ui/button.tsx index 65d4fcd..fe14900 100644 --- a/app/components/ui/button.tsx +++ b/src/app/components/ui/button.tsx @@ -2,7 +2,7 @@ import * as React from "react" import { Slot } from "@radix-ui/react-slot" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const buttonVariants = cva( "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", diff --git a/app/components/ui/card.tsx b/src/app/components/ui/card.tsx similarity index 97% rename from app/components/ui/card.tsx rename to src/app/components/ui/card.tsx index cabfbfc..7fd2bdb 100644 --- a/app/components/ui/card.tsx +++ b/src/app/components/ui/card.tsx @@ -1,6 +1,6 @@ import * as React from "react" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const Card = React.forwardRef< HTMLDivElement, diff --git a/app/components/ui/checkbox.tsx b/src/app/components/ui/checkbox.tsx similarity index 96% rename from app/components/ui/checkbox.tsx rename to src/app/components/ui/checkbox.tsx index c6fdd07..5b38ae1 100644 --- a/app/components/ui/checkbox.tsx +++ b/src/app/components/ui/checkbox.tsx @@ -4,7 +4,7 @@ import * as React from "react" import * as CheckboxPrimitive from "@radix-ui/react-checkbox" import { Check } from "lucide-react" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const Checkbox = React.forwardRef< React.ElementRef, diff --git a/app/components/ui/collapsible.tsx b/src/app/components/ui/collapsible.tsx similarity index 100% rename from app/components/ui/collapsible.tsx rename to src/app/components/ui/collapsible.tsx diff --git a/app/components/ui/dialog.tsx b/src/app/components/ui/dialog.tsx similarity index 98% rename from app/components/ui/dialog.tsx rename to src/app/components/ui/dialog.tsx index 1647513..cb7e38e 100644 --- a/app/components/ui/dialog.tsx +++ b/src/app/components/ui/dialog.tsx @@ -4,7 +4,7 @@ import * as React from "react" import * as DialogPrimitive from "@radix-ui/react-dialog" import { X } from "lucide-react" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const Dialog = DialogPrimitive.Root diff --git a/app/components/ui/input.tsx b/src/app/components/ui/input.tsx similarity index 94% rename from app/components/ui/input.tsx rename to src/app/components/ui/input.tsx index 69b64fb..cd11ea2 100644 --- a/app/components/ui/input.tsx +++ b/src/app/components/ui/input.tsx @@ -1,6 +1,6 @@ import * as React from "react" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const Input = React.forwardRef>( ({ className, type, ...props }, ref) => { diff --git a/app/components/ui/label.tsx b/src/app/components/ui/label.tsx similarity index 94% rename from app/components/ui/label.tsx rename to src/app/components/ui/label.tsx index 5341821..e2725e1 100644 --- a/app/components/ui/label.tsx +++ b/src/app/components/ui/label.tsx @@ -4,7 +4,7 @@ import * as React from "react" import * as LabelPrimitive from "@radix-ui/react-label" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "@/lib/utils" +import { cn } from "@/src/app/lib/utils" const labelVariants = cva( "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" diff --git a/app/components/ui/pagination.tsx b/src/app/components/ui/pagination.tsx similarity index 95% rename from app/components/ui/pagination.tsx rename to src/app/components/ui/pagination.tsx index 7cdff3f..6787045 100644 --- a/app/components/ui/pagination.tsx +++ b/src/app/components/ui/pagination.tsx @@ -1,8 +1,8 @@ import * as React from "react" import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react" -import { cn } from "@/lib/utils" -import { ButtonProps, buttonVariants } from "@/app/components/ui/button" +import { cn } from "@/src/app/lib/utils" +import { ButtonProps, buttonVariants } from "@/src/app/components/ui/button" const Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (