+
diff --git a/tailwind.config.js b/tailwind.config.js
index a466a7a..3ed0d29 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,63 +1,74 @@
/** @type {import('tailwindcss').Config} */
export default {
- darkMode: ["class"],
- content: [
- "./index.html",
- "./src/**/*.{ts,tsx}"
- ],
+ darkMode: ["class"],
+ content: ["./index.html", "./src/**/*.{ts,tsx}"],
theme: {
- extend: {
- fontFamily: {
- sans: ['A2G', 'sans-serif'],
- },
- borderRadius: {
- lg: 'var(--radius)',
- md: 'calc(var(--radius) - 2px)',
- sm: 'calc(var(--radius) - 4px)'
- },
- colors: {
- background: 'hsl(var(--background))',
- foreground: 'hsl(var(--foreground))',
- card: {
- DEFAULT: 'hsl(var(--card))',
- foreground: 'hsl(var(--card-foreground))'
- },
- popover: {
- DEFAULT: 'hsl(var(--popover))',
- foreground: 'hsl(var(--popover-foreground))'
- },
- primary: {
- DEFAULT: 'hsl(var(--primary))',
- foreground: 'hsl(var(--primary-foreground))'
- },
- secondary: {
- DEFAULT: 'hsl(var(--secondary))',
- foreground: 'hsl(var(--secondary-foreground))'
- },
- muted: {
- DEFAULT: 'hsl(var(--muted))',
- foreground: 'hsl(var(--muted-foreground))'
- },
- accent: {
- DEFAULT: 'hsl(var(--accent))',
- foreground: 'hsl(var(--accent-foreground))'
- },
- destructive: {
- DEFAULT: 'hsl(var(--destructive))',
- foreground: 'hsl(var(--destructive-foreground))'
- },
- border: 'hsl(var(--border))',
- input: 'hsl(var(--input))',
- ring: 'hsl(var(--ring))',
- chart: {
- '1': 'hsl(var(--chart-1))',
- '2': 'hsl(var(--chart-2))',
- '3': 'hsl(var(--chart-3))',
- '4': 'hsl(var(--chart-4))',
- '5': 'hsl(var(--chart-5))'
- }
- }
- }
+ extend: {
+ screens: {
+ xs: "400px",
+ },
+ fontFamily: {
+ sans: ["A2G", "sans-serif"],
+ },
+ borderRadius: {
+ lg: "var(--radius)",
+ md: "calc(var(--radius) - 2px)",
+ sm: "calc(var(--radius) - 4px)",
+ },
+ colors: {
+ background: "hsl(var(--background))",
+ foreground: "hsl(var(--foreground))",
+ card: {
+ DEFAULT: "hsl(var(--card))",
+ foreground: "hsl(var(--card-foreground))",
+ },
+ popover: {
+ DEFAULT: "hsl(var(--popover))",
+ foreground: "hsl(var(--popover-foreground))",
+ },
+ primary: {
+ DEFAULT: "hsl(var(--primary))",
+ foreground: "hsl(var(--primary-foreground))",
+ },
+ secondary: {
+ DEFAULT: "hsl(var(--secondary))",
+ foreground: "hsl(var(--secondary-foreground))",
+ },
+ muted: {
+ DEFAULT: "hsl(var(--muted))",
+ foreground: "hsl(var(--muted-foreground))",
+ },
+ accent: {
+ DEFAULT: "hsl(var(--accent))",
+ foreground: "hsl(var(--accent-foreground))",
+ },
+ destructive: {
+ DEFAULT: "hsl(var(--destructive))",
+ foreground: "hsl(var(--destructive-foreground))",
+ },
+ border: "hsl(var(--border))",
+ input: "hsl(var(--input))",
+ ring: "hsl(var(--ring))",
+ chart: {
+ 1: "hsl(var(--chart-1))",
+ 2: "hsl(var(--chart-2))",
+ 3: "hsl(var(--chart-3))",
+ 4: "hsl(var(--chart-4))",
+ 5: "hsl(var(--chart-5))",
+ },
+ },
+ screens: {
+ xs: "400px", // 새로운 브레이크포인트 추가
+ },
+ fontSize: {
+ // 반응형 텍스트 크기 정의
+ "responsive-xs": ["0.65rem", { lineHeight: "1rem" }],
+ "responsive-sm": ["0.75rem", { lineHeight: "1.25rem" }],
+ "responsive-base": ["0.8rem", { lineHeight: "1.5rem" }],
+ "responsive-lg": ["0.9rem", { lineHeight: "1.75rem" }],
+ "responsive-xl": ["1rem", { lineHeight: "1.75rem" }],
+ },
+ },
},
plugins: [require("tailwindcss-animate")],
-}
+};
From 296cc273586b2f7545d3d912ac54609ed40804c2 Mon Sep 17 00:00:00 2001
From: haeni82 <2021111929@dgu.ac.kr>
Date: Mon, 23 Mar 2026 11:31:06 +0900
Subject: [PATCH 2/9] =?UTF-8?q?design:=20=EA=B6=8C=ED=95=9C=20=EB=B3=80?=
=?UTF-8?q?=EA=B2=BD=20=EC=8B=9C=20=ED=9A=8C=EC=84=A0=20->=20=EC=9D=B4?=
=?UTF-8?q?=EB=A6=84=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20header=20userInfoC?=
=?UTF-8?q?ard=20=ED=85=8D=EC=8A=A4=ED=8A=B8=20=ED=81=AC=EA=B8=B0=20?=
=?UTF-8?q?=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Header.tsx | 5 +----
src/page/Policy/components/Permisssion.tsx | 2 +-
src/page/Policy/components/UserInfoCard.tsx | 4 ++--
3 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index ab114d4..9e300f1 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -118,10 +118,7 @@ export default function Header({
className={`h-16 ${darkMode ? "invert" : ""}`}
/>
) : (
-
+
{getPageTitle()}
)}
diff --git a/src/page/Policy/components/Permisssion.tsx b/src/page/Policy/components/Permisssion.tsx
index 4fec84a..88713e4 100644
--- a/src/page/Policy/components/Permisssion.tsx
+++ b/src/page/Policy/components/Permisssion.tsx
@@ -226,7 +226,7 @@ function PermissionManager() {
className="flex items-center justify-between text-sm text-gray-600 bg-gray-50 rounded-lg px-3 py-2"
>
- 회선 {item.lineId} · {permissionName}
+ {row?.userName} · {permissionName}
navigate("/shared-data")}
@@ -177,7 +177,7 @@ export default function UserInfo({ userData, userId }: Props) {
{/* 사용 로그 보기 */}
Date: Mon, 23 Mar 2026 12:15:17 +0900
Subject: [PATCH 3/9] =?UTF-8?q?desing:=20container-queries=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 10 ++++++++++
package.json | 1 +
src/layout/Layout.tsx | 6 +++---
tailwind.config.js | 13 +++++++------
4 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 0fb8bbf..b25462a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"version": "0.0.0",
"dependencies": {
"@radix-ui/react-slot": "^1.2.4",
+ "@tailwindcss/container-queries": "^0.1.1",
"@tanstack/react-query": "^5.90.21",
"axios": "^1.13.6",
"class-variance-authority": "^0.7.1",
@@ -1505,6 +1506,15 @@
"win32"
]
},
+ "node_modules/@tailwindcss/container-queries": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
+ "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "tailwindcss": ">=3.2.0"
+ }
+ },
"node_modules/@tanstack/query-core": {
"version": "5.90.20",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz",
diff --git a/package.json b/package.json
index 11072cc..8691150 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
},
"dependencies": {
"@radix-ui/react-slot": "^1.2.4",
+ "@tailwindcss/container-queries": "^0.1.1",
"@tanstack/react-query": "^5.90.21",
"axios": "^1.13.6",
"class-variance-authority": "^0.7.1",
diff --git a/src/layout/Layout.tsx b/src/layout/Layout.tsx
index 8b4f133..95fee4f 100644
--- a/src/layout/Layout.tsx
+++ b/src/layout/Layout.tsx
@@ -37,10 +37,10 @@ export default function Layout({ children }: LayoutProps) {
return (
// 1. 전체 화면을 고정하고 스크롤을 막기
{/* pt-10 정도로 늘려서 차트가 헤더를 침범하지 못하게 물리적 공간을 확보하세요. */}
{children}
diff --git a/tailwind.config.js b/tailwind.config.js
index 3ed0d29..1c9f660 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -5,7 +5,9 @@ export default {
theme: {
extend: {
screens: {
- xs: "400px",
+ xs: "400px", // 소형 모바일 이하
+ tablet: "768px", // 태블릿 → 2컬럼 레이아웃
+ desktop: "1400px", // 데스크톱 → 앱뷰(480px 고정) 복귀
},
fontFamily: {
sans: ["A2G", "sans-serif"],
@@ -57,11 +59,7 @@ export default {
5: "hsl(var(--chart-5))",
},
},
- screens: {
- xs: "400px", // 새로운 브레이크포인트 추가
- },
fontSize: {
- // 반응형 텍스트 크기 정의
"responsive-xs": ["0.65rem", { lineHeight: "1rem" }],
"responsive-sm": ["0.75rem", { lineHeight: "1.25rem" }],
"responsive-base": ["0.8rem", { lineHeight: "1.5rem" }],
@@ -70,5 +68,8 @@ export default {
},
},
},
- plugins: [require("tailwindcss-animate")],
+ plugins: [
+ require("tailwindcss-animate"),
+ require("@tailwindcss/container-queries"),
+ ],
};
From f2a9d967eca1dcf4a16b4f302e99554842787e08 Mon Sep 17 00:00:00 2001
From: haeni82 <2021111929@dgu.ac.kr>
Date: Mon, 23 Mar 2026 12:16:05 +0900
Subject: [PATCH 4/9] =?UTF-8?q?design:=20=ED=95=98=EB=93=9C=20=EC=BD=94?=
=?UTF-8?q?=EB=94=A9=EB=90=9C=20=ED=8F=B0=ED=8A=B8=20=ED=81=AC=EA=B8=B0=20?=
=?UTF-8?q?=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/PolicyScroll.tsx | 13 +-
.../components/AppPolicyFilters.tsx | 123 +++++++++---------
2 files changed, 65 insertions(+), 71 deletions(-)
diff --git a/src/components/common/PolicyScroll.tsx b/src/components/common/PolicyScroll.tsx
index 6ed6db4..c69dab8 100644
--- a/src/components/common/PolicyScroll.tsx
+++ b/src/components/common/PolicyScroll.tsx
@@ -149,12 +149,7 @@ export default function PolicyScroll({
return (
-
- {title}
-
+ {title}
{getPolicyIcon(policy.type)}
-
- [{policy.type}]
+
[{policy.type}]
+
+ {policy.title}
-
{policy.title}
))}
diff --git a/src/page/PolicyDetail/components/AppPolicyFilters.tsx b/src/page/PolicyDetail/components/AppPolicyFilters.tsx
index e868ee3..1cf28fe 100644
--- a/src/page/PolicyDetail/components/AppPolicyFilters.tsx
+++ b/src/page/PolicyDetail/components/AppPolicyFilters.tsx
@@ -1,6 +1,8 @@
interface AppPolicyFiltersProps {
policyFilter: "전체" | "정책없음" | "정책적용" | "정책예외";
- setPolicyFilter: (filter: "전체" | "정책없음" | "정책적용" | "정책예외") => void;
+ setPolicyFilter: (
+ filter: "전체" | "정책없음" | "정책적용" | "정책예외",
+ ) => void;
conditionFilters: Set<"사용량 제한" | "속도 제한">;
toggleConditionFilter: (condition: "사용량 제한" | "속도 제한") => void;
showPolicyDropdown: boolean;
@@ -16,83 +18,80 @@ const AppPolicyFilters = ({
setShowPolicyDropdown,
}: AppPolicyFiltersProps) => {
return (
-
+
-
정책
-