diff --git a/apps/dm_new/app/(with-layout)/intro/greywater/page.tsx b/apps/dm_new/app/(with-layout)/intro/greywater/page.tsx index 54f4ef682..fec020ece 100644 --- a/apps/dm_new/app/(with-layout)/intro/greywater/page.tsx +++ b/apps/dm_new/app/(with-layout)/intro/greywater/page.tsx @@ -1,7 +1,11 @@ // apps/dm/app/(landing)/reuse/intro/greywater/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import greywaterIntro from "@/public/images/landing/intro/greywater_intro.png"; +import greywaterMandatory from "@/public/images/landing/intro/greywater_mandatory.png"; +import greywaterStandard from "@/public/images/landing/intro/greywater_standard.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +25,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +63,7 @@ export default function GreywaterPage() {
중수 재이용 소개
- +
@@ -68,7 +73,7 @@ export default function GreywaterPage() {
중수도 설치 의무 대상
- +
@@ -78,7 +83,7 @@ export default function GreywaterPage() {
중수도 시설기준 및 관리기준
- +
diff --git a/apps/dm_new/app/(with-layout)/intro/law/page.tsx b/apps/dm_new/app/(with-layout)/intro/law/page.tsx index 32728806b..0d903a32a 100644 --- a/apps/dm_new/app/(with-layout)/intro/law/page.tsx +++ b/apps/dm_new/app/(with-layout)/intro/law/page.tsx @@ -1,7 +1,14 @@ // apps/dm/app/(landing)/reuse/intro/law/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import lawTimeline from "@/public/images/landing/intro/law_timeline.png"; +import performanceLeft from "@/public/images/landing/intro/performance_left.png"; +import domesticTextbox from "@/public/images/landing/intro/domestic_textbox.png"; +import policyTimeline from "@/public/images/landing/intro/policy_timeline.png"; +import relNote from "@/public/images/landing/intro/rel_note.png"; +import linkage from "@/public/images/landing/intro/linkage.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +28,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +66,7 @@ export default function WaterReuseLawPage() {
법제도 · 계획 및 기본계획 수립
- +
@@ -68,7 +76,7 @@ export default function WaterReuseLawPage() {
제 2차 계획 대비 실적 현황
- +
@@ -78,7 +86,7 @@ export default function WaterReuseLawPage() {
국내 관련 현황
- +
@@ -88,7 +96,7 @@ export default function WaterReuseLawPage() {
물 재이용 정책 변천 추이
- +
@@ -98,7 +106,7 @@ export default function WaterReuseLawPage() {
타법령과의 관계도
- +
@@ -114,7 +122,7 @@ export default function WaterReuseLawPage() { • 물관리 계획(국가수도기본계획, 국가 및 유역하수도종합계획, 하천유역수자원관리계획 등)과의 연계성 확보 → 통합적인 관점에서 물이용 체계 구축 필요

- + diff --git a/apps/dm_new/app/(with-layout)/intro/rain/page.tsx b/apps/dm_new/app/(with-layout)/intro/rain/page.tsx index 0fc3b1de9..3f88d7f58 100644 --- a/apps/dm_new/app/(with-layout)/intro/rain/page.tsx +++ b/apps/dm_new/app/(with-layout)/intro/rain/page.tsx @@ -1,7 +1,12 @@ // apps/dm/app/(landing)/reuse/intro/law/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import rainreuseIntro from "@/public/images/landing/intro/rainreuse_intro.png"; +import rainreuseMandatory from "@/public/images/landing/intro/rainreuse_mandatory.png"; +import rainwaterDesign from "@/public/images/landing/intro/rainwater_design.png"; +import rainwaterStandards from "@/public/images/landing/intro/rainwater_standards.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +26,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +64,7 @@ export default function RainwaterReusePage() {
빗물 재이용 소개
- +
@@ -68,7 +74,7 @@ export default function RainwaterReusePage() {
빗물이용시설 설치 관리 법적 의무 대상
- +
@@ -78,7 +84,7 @@ export default function RainwaterReusePage() {
빗물이용시설 설계 방안
- +
@@ -88,7 +94,7 @@ export default function RainwaterReusePage() {
빗물이용시설 시설기준 및 관리기준
- +
diff --git a/apps/dm_new/app/(with-layout)/intro/sewage/page.tsx b/apps/dm_new/app/(with-layout)/intro/sewage/page.tsx index c6e355ed9..526fd4e9c 100644 --- a/apps/dm_new/app/(with-layout)/intro/sewage/page.tsx +++ b/apps/dm_new/app/(with-layout)/intro/sewage/page.tsx @@ -1,7 +1,10 @@ // apps/dm/app/(landing)/reuse/intro/treated/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import treatedwaterIntro from "@/public/images/landing/intro/treatedwater_intro.png"; +import treatedwaterMandatory from "@/public/images/landing/intro/treatedwater_mandatory.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +24,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +62,7 @@ export default function TreatedWaterPage() {
하수처리수
- +
@@ -68,7 +72,7 @@ export default function TreatedWaterPage() {
하수처리수 재이용시설 의무 대상
- +
diff --git a/apps/dm_new/app/(with-layout)/status/greywater/page.tsx b/apps/dm_new/app/(with-layout)/status/greywater/page.tsx index 37d958045..b84a6760d 100644 --- a/apps/dm_new/app/(with-layout)/status/greywater/page.tsx +++ b/apps/dm_new/app/(with-layout)/status/greywater/page.tsx @@ -1,7 +1,12 @@ // apps/dm/app/(landing)/reuse/cases/greywater/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import greywaterOverall from "@/public/images/landing/cases/greywater_overall.png"; +import greywaterFactory from "@/public/images/landing/cases/greywater_factory.png"; +import greywaterBuilding from "@/public/images/landing/cases/greywater_building.png"; +import greywaterUsage from "@/public/images/landing/cases/greywater_usage.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +26,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +64,7 @@ export default function GreywaterPage() {
전체 중수도 설치 및 이용 현황 (공장 및 발전시설 제외)
- +
@@ -68,7 +74,7 @@ export default function GreywaterPage() {
공장 및 발전시설 내 중수도 설치 및 이용 현황
- +
@@ -78,7 +84,7 @@ export default function GreywaterPage() {
중수도 건축물별 이용량 현황
- +
@@ -88,7 +94,7 @@ export default function GreywaterPage() {
중수도 용도별 이용량 현황
- +
diff --git a/apps/dm_new/app/(with-layout)/status/rain/page.tsx b/apps/dm_new/app/(with-layout)/status/rain/page.tsx index 810053f52..aa33147f0 100644 --- a/apps/dm_new/app/(with-layout)/status/rain/page.tsx +++ b/apps/dm_new/app/(with-layout)/status/rain/page.tsx @@ -1,7 +1,11 @@ // apps/dm/app/(landing)/reuse/cases/rain/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import rainwaterBuilding from "@/public/images/landing/cases/rainwater_building.png"; +import rainwaterUsage from "@/public/images/landing/cases/rainwater_usage.png"; +import rainwaterUsageAmount from "@/public/images/landing/cases/rainwater_usage_amount.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +25,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +63,7 @@ export default function GreywaterPage() {
빗물이용시설의 건축물별 빗물이용량 현황
- +
@@ -68,7 +73,7 @@ export default function GreywaterPage() {
빗물이용시설의 용도별 분포 (2023년 기준)
- +
@@ -78,7 +83,7 @@ export default function GreywaterPage() {
빗물이용시설의 용도별 빗물이용량 현황
- +
diff --git a/apps/dm_new/app/(with-layout)/status/sewage/page.tsx b/apps/dm_new/app/(with-layout)/status/sewage/page.tsx index 21b3a5bcf..19214da02 100644 --- a/apps/dm_new/app/(with-layout)/status/sewage/page.tsx +++ b/apps/dm_new/app/(with-layout)/status/sewage/page.tsx @@ -1,7 +1,12 @@ // apps/dm/app/(landing)/reuse/cases/treated/page.tsx "use client"; +import Image, { type StaticImageData } from "next/image"; import SubPageHeader from "@/components/SubPageHeader"; +import treatedWaterYear from "@/public/images/landing/cases/treated_water_year.png"; +import treatedWaterUsage from "@/public/images/landing/cases/treated_water_usage.png"; +import treatedWaterFacility from "@/public/images/landing/cases/treated_water_facility.png"; +import treatedWaterRegion from "@/public/images/landing/cases/treated_water_region.png"; function SectionTitle({ children }: { children: React.ReactNode }) { return ( @@ -21,17 +26,18 @@ function Hr({ className = "" }: HrProps) { } type ImgCardProps = { - src: string; + src: StaticImageData; alt: string; }; function ImgCard({ src, alt }: ImgCardProps) { return (
- {alt}
); @@ -58,7 +64,7 @@ export default function GreywaterPage() {
연도별 하수처리수 재이용 현황
- +
@@ -68,7 +74,7 @@ export default function GreywaterPage() {
용도별 하수처리수 재이용 현황
- +
@@ -78,7 +84,7 @@ export default function GreywaterPage() {
하수처리시설 설치 및 이용 현황
- +
@@ -88,7 +94,7 @@ export default function GreywaterPage() {
시도별 하수처리수 재이용 현황
- +
diff --git a/apps/dm_new/components/CaseImageSlider.tsx b/apps/dm_new/components/CaseImageSlider.tsx index 6c50d5a5c..41d8987b8 100644 --- a/apps/dm_new/components/CaseImageSlider.tsx +++ b/apps/dm_new/components/CaseImageSlider.tsx @@ -1,6 +1,7 @@ // apps/dm/app/(landing)/reuse/_components/ImageSlider.tsx "use client"; +import Image from "next/image"; import { useEffect, useMemo, useRef, useState } from "react"; type Slide = { src: string; alt?: string }; @@ -86,10 +87,12 @@ export default function CaseImageSlider({ w-[80px] h-[80px] rounded-full border border-black/20 bg-white grid place-items-center shadow-sm hover:bg-black/[0.03]" > - 이전 @@ -102,10 +105,12 @@ export default function CaseImageSlider({ w-[80px] h-[80px] rounded-full border border-black/20 bg-white grid place-items-center shadow-sm hover:bg-black/[0.03]" > - 다음 @@ -129,10 +134,13 @@ export default function CaseImageSlider({ > {safeSlides.map((s, i) => (
- {s.alt
diff --git a/apps/dm_new/components/CaseTabsCarousel.tsx b/apps/dm_new/components/CaseTabsCarousel.tsx index 8d916817e..ece8f0848 100644 --- a/apps/dm_new/components/CaseTabsCarousel.tsx +++ b/apps/dm_new/components/CaseTabsCarousel.tsx @@ -8,6 +8,7 @@ import React, { useRef, useState, } from "react"; +import Image from "next/image"; /** * CaseTabsCarousel.tsx (FINAL OPTIMIZED) @@ -459,10 +460,12 @@ export default function CaseTabsCarousel() { ].join(" ")} aria-label="이전" > - 이전 @@ -480,10 +483,12 @@ export default function CaseTabsCarousel() { ].join(" ")} aria-label="다음" > - 다음 @@ -513,10 +518,13 @@ export default function CaseTabsCarousel() { className="overflow-hidden rounded-[22px] border-2 border-sky-400 bg-white" >
- {c.title}
diff --git a/apps/dm_new/components/ImageSlider.tsx b/apps/dm_new/components/ImageSlider.tsx index 6c50d5a5c..41d8987b8 100644 --- a/apps/dm_new/components/ImageSlider.tsx +++ b/apps/dm_new/components/ImageSlider.tsx @@ -1,6 +1,7 @@ // apps/dm/app/(landing)/reuse/_components/ImageSlider.tsx "use client"; +import Image from "next/image"; import { useEffect, useMemo, useRef, useState } from "react"; type Slide = { src: string; alt?: string }; @@ -86,10 +87,12 @@ export default function CaseImageSlider({ w-[80px] h-[80px] rounded-full border border-black/20 bg-white grid place-items-center shadow-sm hover:bg-black/[0.03]" > - 이전 @@ -102,10 +105,12 @@ export default function CaseImageSlider({ w-[80px] h-[80px] rounded-full border border-black/20 bg-white grid place-items-center shadow-sm hover:bg-black/[0.03]" > - 다음 @@ -129,10 +134,13 @@ export default function CaseImageSlider({ > {safeSlides.map((s, i) => (
- {s.alt
diff --git a/apps/dm_new/components/Lnb.tsx b/apps/dm_new/components/Lnb.tsx index 13c6523db..b3861fbe0 100644 --- a/apps/dm_new/components/Lnb.tsx +++ b/apps/dm_new/components/Lnb.tsx @@ -1,5 +1,6 @@ "use client"; +import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; @@ -130,9 +131,11 @@ export default function Lnb() { isOpen ? "rotate-180" : "rotate-0", ].join(" ")} > - menu toggle icon