From 1ec1c42e9f52d198f9abd9262f59b4ad4eb50803 Mon Sep 17 00:00:00 2001 From: YangJinSoo94 Date: Tue, 22 Jul 2025 15:43:54 +0900 Subject: [PATCH 1/4] =?UTF-8?q?middleware=20=EC=9E=91=EC=97=85=EC=A7=84?= =?UTF-8?q?=ED=96=89=EC=A4=91=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm/components/ui/config/index.ts | 16 ++++------------ apps/dm/src/entities/auth/api/login-service.ts | 1 - apps/dm/src/shared/config/index.ts | 2 +- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/apps/dm/components/ui/config/index.ts b/apps/dm/components/ui/config/index.ts index 8bf23935c..f54a9ff61 100644 --- a/apps/dm/components/ui/config/index.ts +++ b/apps/dm/components/ui/config/index.ts @@ -1,13 +1,5 @@ -const LOCAL_PORT = "3000"; -const DEV_PORT = "11080"; -const DEV_PORT_FO = "11082"; +import { PROXY_HOST, SERVER_API_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; -export const LOCAL_URL_WR = `http://localhost:${LOCAL_PORT}/api/v1`; -export const DEV_URL_WR = `http://con.mind-one.co.kr:${DEV_PORT}/api/v1`; - -//export const DEV_URL_FO = `http://con.mind-one.co.kr:${DEV_PORT_FO}/api/v1`; -export const LOCAL_URL_FO = `http://192.168.1.129:${DEV_PORT_FO}/api/v1`; -export const DEV_URL_FO = `http://con.mind-one.co.kr:${DEV_PORT_FO}/api/v1`; - -export const CS_URL= 'http://dev.onasys.co.kr:8000' -export const CS_TUS_UPLOAD= "/attach-service/api/v1/tus/upload"; \ No newline at end of file +export const LOCAL_URL = PROXY_HOST; +export const DEV_URL_FO = SERVER_API_URL; +export const DEV_URL_WR = SERVER_API_WR_URL; diff --git a/apps/dm/src/entities/auth/api/login-service.ts b/apps/dm/src/entities/auth/api/login-service.ts index 3cd387507..614aadbf9 100644 --- a/apps/dm/src/entities/auth/api/login-service.ts +++ b/apps/dm/src/entities/auth/api/login-service.ts @@ -1,4 +1,3 @@ - import type { LoginService, ILogin } from "../model/login-interface"; import { tokenManager } from "../lib/token-manager"; import {PROXY_HOST, ACCESS_TOKEN, AUTH_USER_ID,SITE_ID, CLAIM_NAME, ENDPOINT, JWT_EXPIRATION_TIME } from "../../../shared/config"; diff --git a/apps/dm/src/shared/config/index.ts b/apps/dm/src/shared/config/index.ts index cd83447d5..3ac40ddb4 100644 --- a/apps/dm/src/shared/config/index.ts +++ b/apps/dm/src/shared/config/index.ts @@ -1,2 +1,2 @@ export * from "./api"; -export * from "./env"; +export * from "./env"; \ No newline at end of file From 425eb39a861cd409bcf2f72eb6b5a54d6dfb4dfc Mon Sep 17 00:00:00 2001 From: YangJinSoo94 Date: Tue, 22 Jul 2025 16:01:48 +0900 Subject: [PATCH 2/4] =?UTF-8?q?middleware=20=EC=9E=91=EC=97=85=EC=A7=84?= =?UTF-8?q?=ED=96=89=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm/app/base.tsx | 22 ++++++++++++++++++++++ apps/dm/app/layout.tsx | 11 ++++------- apps/dm/components/ui/config/index.ts | 4 ++-- 3 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 apps/dm/app/base.tsx diff --git a/apps/dm/app/base.tsx b/apps/dm/app/base.tsx new file mode 100644 index 000000000..3905c9952 --- /dev/null +++ b/apps/dm/app/base.tsx @@ -0,0 +1,22 @@ +"use client"; + +import { BaseLayout } from "@common/components"; +import type { MenuItem } from "./store/common"; +import { useDmStore } from "./store"; +import { useRouter } from "next/navigation"; + +export default function Base({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + const { getMenuAuth } = useDmStore((state) => state); + + const router = useRouter(); + const handleClick = (id:MenuItem) =>{ + getMenuAuth(id.menuCd); + router.push(id.urlPath); + } + + return {children}; +} diff --git a/apps/dm/app/layout.tsx b/apps/dm/app/layout.tsx index 0aac0da38..7c0f47a30 100644 --- a/apps/dm/app/layout.tsx +++ b/apps/dm/app/layout.tsx @@ -1,6 +1,5 @@ -"use client"; - -import { BaseLayout } from "@common/components"; +"use client" +import Base from "./base"; import "./globals.css"; import { StoreProvider } from "./store"; @@ -13,11 +12,9 @@ export default function RootLayout({ - - {children} - + {children} ); -} +} \ No newline at end of file diff --git a/apps/dm/components/ui/config/index.ts b/apps/dm/components/ui/config/index.ts index f54a9ff61..eb2379c7a 100644 --- a/apps/dm/components/ui/config/index.ts +++ b/apps/dm/components/ui/config/index.ts @@ -1,5 +1,5 @@ -import { PROXY_HOST, SERVER_API_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; +import { PROXY_HOST, SERVER_API_FO_URL, SERVER_API_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; export const LOCAL_URL = PROXY_HOST; -export const DEV_URL_FO = SERVER_API_URL; +export const DEV_URL_FO = SERVER_API_FO_URL; export const DEV_URL_WR = SERVER_API_WR_URL; From e891702da2740ee772f40e48ecd0a599f8fe17cd Mon Sep 17 00:00:00 2001 From: truthwing Date: Tue, 22 Jul 2025 21:06:50 +0900 Subject: [PATCH 3/4] =?UTF-8?q?build=20=EC=98=A4=EB=A5=98=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0=20jscookies=20=EB=AC=B8=EC=A0=9C=20=ED=99=95=EC=9D=B8?= =?UTF-8?q?=20=ED=95=84=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm/.env.development | 19 ++++++ apps/dm/.env.local | 19 ++++++ apps/dm/.env.production | 17 ++++++ apps/dm/.gitignore | 2 - .../sdmInfoInsert/modalSimilar/page.tsx | 6 +- .../app/pages/sdmMng/sdmInfoInsert/page.tsx | 2 +- apps/dm/app/pages/wrStatus/page.tsx | 17 ++---- apps/dm/app/store/common/index.tsx | 39 ++++++++++++ apps/dm/app/store/sdmMng/index.tsx | 2 - apps/dm/components/ui/config/index.ts | 2 +- .../sdmInfoInsertForm/AccessibleFormField.tsx | 1 - apps/dm/eslint.config.mjs | 4 ++ apps/dm/middleware.ts | 3 +- apps/dm/next.config.ts | 60 ++++++++----------- apps/dm/package.json | 2 + apps/dm/src/shared/lib/cookie.ts | 1 - 16 files changed, 136 insertions(+), 60 deletions(-) create mode 100644 apps/dm/.env.development create mode 100644 apps/dm/.env.local create mode 100644 apps/dm/.env.production diff --git a/apps/dm/.env.development b/apps/dm/.env.development new file mode 100644 index 000000000..622545fd6 --- /dev/null +++ b/apps/dm/.env.development @@ -0,0 +1,19 @@ +NEXT_PUBLIC_SITE_ID = DM +NEXT_PUBLIC_PORT = 3000 +NEXT_PUBLIC_PROXY_HOST = http://localhost:3000 +NEXT_PUBLIC_SERVER_API_URL = http://con.mind-one.co.kr:11080/api/v1 +NEXT_PUBLIC_FO_SERVER_API_URL = http://con.mind-one.co.kr:11082/api/v1 +NEXT_PUBLIC_CS_SERVER_API_URL = http://dev.onasys.co.kr:8000 +NEXT_PUBLIC_CS_TUS_UPLOAD = /attach-service/api/v1/tus/upload +NEXT_PUBLIC_CLAIM_NAME = Authorization +NEXT_PUBLIC_AUTH_USER_ID = token-id +NEXT_PUBLIC_ACCESS_TOKEN = access-token +NEXT_PUBLIC_REFRESH_TOKEN = refresh-token + + + +NEXT_PUBLIC_SEWERAGE_API_URL=http://con.mind-one.co.kr:11083/sewerage-service/api # 개발 서버 API +# NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.128:8883/sewerage-service/api # 최용성 +#NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.66:8883/sewerage-service/api # 박이정 + + diff --git a/apps/dm/.env.local b/apps/dm/.env.local new file mode 100644 index 000000000..622545fd6 --- /dev/null +++ b/apps/dm/.env.local @@ -0,0 +1,19 @@ +NEXT_PUBLIC_SITE_ID = DM +NEXT_PUBLIC_PORT = 3000 +NEXT_PUBLIC_PROXY_HOST = http://localhost:3000 +NEXT_PUBLIC_SERVER_API_URL = http://con.mind-one.co.kr:11080/api/v1 +NEXT_PUBLIC_FO_SERVER_API_URL = http://con.mind-one.co.kr:11082/api/v1 +NEXT_PUBLIC_CS_SERVER_API_URL = http://dev.onasys.co.kr:8000 +NEXT_PUBLIC_CS_TUS_UPLOAD = /attach-service/api/v1/tus/upload +NEXT_PUBLIC_CLAIM_NAME = Authorization +NEXT_PUBLIC_AUTH_USER_ID = token-id +NEXT_PUBLIC_ACCESS_TOKEN = access-token +NEXT_PUBLIC_REFRESH_TOKEN = refresh-token + + + +NEXT_PUBLIC_SEWERAGE_API_URL=http://con.mind-one.co.kr:11083/sewerage-service/api # 개발 서버 API +# NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.128:8883/sewerage-service/api # 최용성 +#NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.66:8883/sewerage-service/api # 박이정 + + diff --git a/apps/dm/.env.production b/apps/dm/.env.production new file mode 100644 index 000000000..8a552821e --- /dev/null +++ b/apps/dm/.env.production @@ -0,0 +1,17 @@ +NEXT_PUBLIC_SITE_ID = DM +NEXT_PUBLIC_PORT = 3000 +NEXT_PUBLIC_PROXY_HOST = http://wr.hasuon.or.kr +NEXT_PUBLIC_SERVER_API_URL = http://apigateway.iipbs-dev.svc.cluster.local:8000/api/v1 +NEXT_PUBLIC_FO_SERVER_API_URL = http://apigateway.iipbs-dev.svc.cluster.local:8000/operation-service/api/v1 +NEXT_PUBLIC_CS_SERVER_API_URL = http://apigateway.iipbs-dev.svc.cluster.local:8000 +NEXT_PUBLIC_CS_TUS_UPLOAD = /attach-service/api/v1/tus/upload +NEXT_PUBLIC_GEOSERVER_URL = http://172.29.143.87:8080/geoserver +NEXT_PUBLIC_LX_GEOSERVER_URL = http://172.29.143.87:8080/geoserver_swl +NEXT_PUBLIC_CLAIM_NAME = Authorization +NEXT_PUBLIC_AUTH_USER_ID = token-id +NEXT_PUBLIC_ACCESS_TOKEN = access-token +NEXT_PUBLIC_REFRESH_TOKEN = refresh-token + +NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-dev.svc.cluster.local:8000/sewerage-service/api + + diff --git a/apps/dm/.gitignore b/apps/dm/.gitignore index 5ef6a5207..c1b3c4e38 100644 --- a/apps/dm/.gitignore +++ b/apps/dm/.gitignore @@ -1,7 +1,6 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules /.pnp .pnp.* .yarn/* @@ -31,7 +30,6 @@ yarn-error.log* .pnpm-debug.log* # env files (can opt-in for committing if needed) -.env* # vercel .vercel diff --git a/apps/dm/app/pages/sdmMng/sdmInfoInsert/modalSimilar/page.tsx b/apps/dm/app/pages/sdmMng/sdmInfoInsert/modalSimilar/page.tsx index 8da2685da..22418c7b7 100644 --- a/apps/dm/app/pages/sdmMng/sdmInfoInsert/modalSimilar/page.tsx +++ b/apps/dm/app/pages/sdmMng/sdmInfoInsert/modalSimilar/page.tsx @@ -52,7 +52,7 @@ export default function ModalSimilarPage({ sply = 0, usageCd = '', money = 0 }: return spans; }, [similarCaseList]); - const handleCellClick = (index: number, headId: string) => { + const handleCellClick = (index: number) => { setMoneyDetailList([{ reqBizGrssCst: similarCaseList[index]?.reqBizGrssCst ?? '', reqBizReuseFcltCst: similarCaseList[index]?.reqBizReuseFcltCst ?? '', @@ -124,10 +124,10 @@ export default function ModalSimilarPage({ sply = 0, usageCd = '', money = 0 }: key={`similar-case-cell-${head.id}-${index}-${el.ruseBizNm}`} rowSpan={(head.id === 'businessName' || head.id ==='businessDuration' || head.id === 'money') ? rowSpans[index] : undefined} style={(head.id === 'businessName' || head.id === 'businessDuration' || head.id === 'money') && index > 0 && similarCaseList[index - 1]?.ruseBizNm === el.ruseBizNm ? { display: 'none' } : undefined} - onClick={() => handleCellClick(index, head.id)} + onClick={() => handleCellClick(index)} onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { - handleCellClick(index, head.id); + handleCellClick(index); } }} > diff --git a/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx b/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx index 119e1c487..a0f905c35 100644 --- a/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx +++ b/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx @@ -9,7 +9,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { useSearchParams } from "next/navigation"; import { Suspense, useEffect, useState } from "react"; import { FormProvider, useForm, type SubmitHandler } from "react-hook-form"; -import { Toaster, toast } from "react-hot-toast"; +import { Toaster } from "react-hot-toast"; import * as z from "zod"; import SdmLogin from "../sdmLogin/page"; diff --git a/apps/dm/app/pages/wrStatus/page.tsx b/apps/dm/app/pages/wrStatus/page.tsx index 4e830608f..dd7ec5552 100644 --- a/apps/dm/app/pages/wrStatus/page.tsx +++ b/apps/dm/app/pages/wrStatus/page.tsx @@ -1,8 +1,7 @@ 'use client'; -import React, { useState, useEffect, useRef } from 'react'; -import Image from 'next/image'; import { CHART_FORM, MainChart, type ChartConfig } from '@common/business_components'; +import React, { useEffect, useRef, useState } from 'react'; interface RegionData { name: string; @@ -22,12 +21,10 @@ interface TableData { const WrStatusPage: React.FC = () => { const [selectedRegion, setSelectedRegion] = useState(null); - const [originalFills, setOriginalFills] = useState>({}); const [hoveredRegion, setHoveredRegion] = useState(null); const [tooltipPosition, setTooltipPosition] = useState<{ x: number; y: number } | null>(null); - const [favorites, setFavorites] = useState>({}); const svgContainerRef = useRef(null); - const [chartData, setChartData] = useState([ + const [chartData] = useState([ { label : '서울', 하수 : 4, @@ -244,12 +241,6 @@ const WrStatusPage: React.FC = () => { } }; - const handleFavoriteClick = (region: string) => { - setFavorites(prev => ({ - ...prev, - [region]: !prev[region] - })); - }; const createDonutMarker = (svg: SVGSVGElement, x: number, y: number, name: string, values: number[]) => { const colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#FED16A']; @@ -395,13 +386,13 @@ const WrStatusPage: React.FC = () => { if (selectedRegion === pathId) { path.setAttribute('fill', '#2563eb'); } else { - const original = originalFills[pathId] || '#ffffff'; + const original = '#ffffff'; path.setAttribute('fill', original); } } }); } - }, [selectedRegion, originalFills]); + }, [selectedRegion]); return (
diff --git a/apps/dm/app/store/common/index.tsx b/apps/dm/app/store/common/index.tsx index c62ebdd0a..cf4ce14d8 100644 --- a/apps/dm/app/store/common/index.tsx +++ b/apps/dm/app/store/common/index.tsx @@ -14,6 +14,26 @@ export type SelectDataType = { val: string; } +export interface MenuItem { + menuCd: number; + menuKornNm: string; + menuEngNm: string; + parentId: number | null; + sortSeq: number; + iconNm?: string; + children: MenuItem[] | null; + levelNo: number; + urlPath: string; + menuLnkgTypeCd: string; + menuLnkgSn: number; + menuPath: string; + qrcd: string; + useYn: string; + otptYn: string; + newWndwYn: string; + requiredUrlPath: boolean; +} + // grid header export type TableUpperProps = { id: string; @@ -312,6 +332,7 @@ const fetchEnvPartData = async (): Promise => { ====================================*/ export type CommonAction = { initializeCommonData: () => Promise; + getMenuAuth: (menuCd:number) => Promise; } export type CommonType = { @@ -358,6 +379,24 @@ export const CommonState:CommonType = { export const CommonReducer:(set:any)=>CommonAction=(set: any) => { return { + getMenuAuth : async (menuCd : number) =>{ + const response = await getFetch( + "local", + `/cms-service/api/v1/menu-authrts/pageinfo/${menuCd}` + ); + set((state: CommonType) => { + return { + ...state, + auth: { + mngAuthrtYn: response[0].mngAuthrtYn, + inqAuthrtYn: response[0].mngAuthrtYn, + regAuthrtYn: response[0].mngAuthrtYn, + mdfcnAuthrtYn: response[0].mngAuthrtYn, + delAuthrtYn: response[0].mngAuthrtYn, + }, + }; + }); + }, // 시도 변경 이벤트 initializeCommonData: async () => { const promiseSet = await Promise.all([fetchSidoData(), fetchSigunData(), fetchRegionData(), fetchUnitWaterShedData(), fetchMiddleRegionData(), fetchEnvPartData()]); diff --git a/apps/dm/app/store/sdmMng/index.tsx b/apps/dm/app/store/sdmMng/index.tsx index a2475970b..e51c6b56a 100644 --- a/apps/dm/app/store/sdmMng/index.tsx +++ b/apps/dm/app/store/sdmMng/index.tsx @@ -253,8 +253,6 @@ export const upHeadSdmInfoStatus: TableUpperProps[] = [ ] // 수요정보 신청현황 데이터 -const sdmInfoStatusList : DemandCompType[] = [ -] /**==================================== * Store - Api diff --git a/apps/dm/components/ui/config/index.ts b/apps/dm/components/ui/config/index.ts index eb2379c7a..2ed4ef03d 100644 --- a/apps/dm/components/ui/config/index.ts +++ b/apps/dm/components/ui/config/index.ts @@ -1,4 +1,4 @@ -import { PROXY_HOST, SERVER_API_FO_URL, SERVER_API_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; +import { PROXY_HOST, SERVER_API_FO_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; export const LOCAL_URL = PROXY_HOST; export const DEV_URL_FO = SERVER_API_FO_URL; diff --git a/apps/dm/components/ui/sdmInfoInsertForm/AccessibleFormField.tsx b/apps/dm/components/ui/sdmInfoInsertForm/AccessibleFormField.tsx index 0c32db414..d2dfc00cb 100644 --- a/apps/dm/components/ui/sdmInfoInsertForm/AccessibleFormField.tsx +++ b/apps/dm/components/ui/sdmInfoInsertForm/AccessibleFormField.tsx @@ -12,7 +12,6 @@ interface AccessibleFormFieldProps { } export function AccessibleFormField({ - field, label, required = false, error, diff --git a/apps/dm/eslint.config.mjs b/apps/dm/eslint.config.mjs index c85fb67c4..29e63f653 100644 --- a/apps/dm/eslint.config.mjs +++ b/apps/dm/eslint.config.mjs @@ -11,6 +11,10 @@ const compat = new FlatCompat({ const eslintConfig = [ ...compat.extends("next/core-web-vitals", "next/typescript"), + {rules:{ + // other rules.. + "@typescript-eslint/no-explicit-any": "off", + }}, ]; export default eslintConfig; diff --git a/apps/dm/middleware.ts b/apps/dm/middleware.ts index cb8365e4e..9d914de2d 100644 --- a/apps/dm/middleware.ts +++ b/apps/dm/middleware.ts @@ -1,10 +1,9 @@ import { NextRequest, NextResponse } from "next/server"; -import { CS_URL } from "./components/ui/config"; import { CLAIM_NAME, AUTH_USER_ID } from "./src/shared/config"; // const CLAIM_NAME = "Authorization"; // const AUTH_USER_ID = "token-id"; - const serverApiUrl = CS_URL; +const serverApiUrl = process.env.NEXT_PUBLIC_CS_SERVER_API_URL; const GEOSERVER_URL = process.env.NEXT_PUBLIC_GEOSERVER_URL || ""; const LX_GEOSERVER_URL = process.env.NEXT_PUBLIC_LX_GEOSERVER_URL || ""; const SEWERAGE_API_URL = process.env.NEXT_PUBLIC_SEWERAGE_API_URL || ""; diff --git a/apps/dm/next.config.ts b/apps/dm/next.config.ts index 4d171bc44..48fc8dacb 100644 --- a/apps/dm/next.config.ts +++ b/apps/dm/next.config.ts @@ -1,41 +1,33 @@ import type { NextConfig } from "next"; -import webpack from "webpack"; + +const subDomain = + process.env.NEXT_PUBLIC_SUB_DOMAIN || "http://localhost:3000"; const nextConfig: NextConfig = { output: "standalone", - eslint: { - ignoreDuringBuilds: true, - }, - webpack: (config) => { - config.plugins.push( - new webpack.DefinePlugin({ - "import.meta.env.VITE_PORT": JSON.stringify( - process.env.NEXT_PUBLIC_PORT - ), - "import.meta.env.VITE_PROXY_HOST": JSON.stringify( - process.env.NEXT_PUBLIC_PROXY_HOST - ), - "import.meta.env.VITE_SERVER_API_URL": JSON.stringify( - process.env.NEXT_PUBLIC_SERVER_API_URL - ), - "import.meta.env.VITE_SITE_ID": JSON.stringify(process.env.SITE_ID), - "import.meta.env.VITE_CLAIM_NAME": JSON.stringify( - process.env.NEXT_PUBLIC_CLAIM_NAME - ), - "import.meta.env.VITE_ACCESS_TOKEN": JSON.stringify( - process.env.NEXT_PUBLIC_ACCESS_TOKEN - ), - "import.meta.env.VITE_REFRESH_TOKEN": JSON.stringify( - process.env.NEXT_PUBLIC_REFRESH_TOKEN - ), - "import.meta.env.VITE_AUTH_USER_ID": JSON.stringify( - process.env.NEXT_PUBLIC_AUTH_USER_ID - ), - "process.env.SITE_ID": JSON.stringify(process.env.NEXT_PUBLIC_SITE_ID), - }) - ); - - return config; + async rewrites() { + return { + beforeFiles: [ + { + source: "/_next/static/:path*", + destination: `${subDomain}/_next/static/:path*`, + has: [ + { + type: "header", + key: "referer", + value: "(.*)/pst(.*)", + }, + ], + }, + ], + afterFiles: [ + { + source: "/pst/:path*", + destination: `${subDomain}/pst/:path*`, + }, + ], + fallback: [], + }; }, }; diff --git a/apps/dm/package.json b/apps/dm/package.json index 2c9fe587b..c64ab5c49 100644 --- a/apps/dm/package.json +++ b/apps/dm/package.json @@ -9,12 +9,14 @@ "lint": "next lint" }, "dependencies": { + "@common/assets": "workspace:*", "@common/business_components": "workspace:*", "@common/components": "workspace:*", "@hookform/resolvers": "^4.1.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "js-sha512": "^0.9.0", + "js-cookie": "^3.0.5", "lucide-react": "^0.474.0", "next": "15.1.7", "react-hook-form": "^7.54.2", diff --git a/apps/dm/src/shared/lib/cookie.ts b/apps/dm/src/shared/lib/cookie.ts index 4bc0fe142..48254bb18 100644 --- a/apps/dm/src/shared/lib/cookie.ts +++ b/apps/dm/src/shared/lib/cookie.ts @@ -1,4 +1,3 @@ - import Cookies from "js-cookie"; From 268c45ed05efa45f966d33556a6ea974472b4b81 Mon Sep 17 00:00:00 2001 From: truthwing Date: Tue, 22 Jul 2025 21:24:43 +0900 Subject: [PATCH 4/4] jsyang product --- apps/dm/package.json | 2 +- apps/dm/tsconfig.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/dm/package.json b/apps/dm/package.json index c64ab5c49..2fdff5dbc 100644 --- a/apps/dm/package.json +++ b/apps/dm/package.json @@ -15,8 +15,8 @@ "@hookform/resolvers": "^4.1.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "js-sha512": "^0.9.0", "js-cookie": "^3.0.5", + "js-sha512": "^0.9.0", "lucide-react": "^0.474.0", "next": "15.1.7", "react-hook-form": "^7.54.2", diff --git a/apps/dm/tsconfig.json b/apps/dm/tsconfig.json index d897e147f..493584782 100644 --- a/apps/dm/tsconfig.json +++ b/apps/dm/tsconfig.json @@ -2,6 +2,7 @@ "$schema": "https://json.schemastore.org/tsconfig", "extends": "../../tsconfig.base.json", "compilerOptions": { + "noImplicitAny": false, "baseUrl": ".", "target": "ES2017", "lib": ["dom", "dom.iterable", "esnext"],