([
{
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 8bf23935c..2ed4ef03d 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_FO_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_FO_URL;
+export const DEV_URL_WR = SERVER_API_WR_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..2fdff5dbc 100644
--- a/apps/dm/package.json
+++ b/apps/dm/package.json
@@ -9,11 +9,13 @@
"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-cookie": "^3.0.5",
"js-sha512": "^0.9.0",
"lucide-react": "^0.474.0",
"next": "15.1.7",
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
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";
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"],