UI 디자인 대대적으로 대시보드 형태의 전문적인 느낌으로 재구성

This commit is contained in:
2026-03-04 01:39:26 +09:00
parent 840b0a5300
commit 618d5f8e6f
21 changed files with 3499 additions and 374 deletions

61
src/components/Icons.jsx Normal file
View File

@@ -0,0 +1,61 @@
const S = {
fill: 'none',
stroke: 'currentColor',
strokeWidth: '1.6',
strokeLinecap: 'round',
strokeLinejoin: 'round',
};
const svg = (children) => (
<svg width="18" height="18" viewBox="0 0 24 24" {...S}>
{children}
</svg>
);
export const IconHome = () =>
svg(
<>
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
<polyline points="9,22 9,12 15,12 15,22" />
</>
);
export const IconBlog = () =>
svg(
<>
<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" />
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" />
</>
);
export const IconLotto = () =>
svg(
<>
<circle cx="12" cy="12" r="10" />
<circle cx="8.5" cy="9.5" r="1.4" fill="currentColor" strokeWidth="0" />
<circle cx="15.5" cy="9.5" r="1.4" fill="currentColor" strokeWidth="0" />
<circle cx="8.5" cy="14.5" r="1.4" fill="currentColor" strokeWidth="0" />
<circle cx="15.5" cy="14.5" r="1.4" fill="currentColor" strokeWidth="0" />
<circle cx="12" cy="12" r="1.4" fill="currentColor" strokeWidth="0" />
</>
);
export const IconStock = () =>
svg(
<>
<polyline points="22,7 13.5,15.5 8.5,10.5 2,17" />
<polyline points="16,7 22,7 22,13" />
</>
);
export const IconTravel = () =>
svg(<polygon points="3,11 22,2 13,21 11,13 3,11" />);
export const IconLab = () =>
svg(
<>
<line x1="9" y1="3" x2="15" y2="3" />
<path d="M10 3v6.5L5.5 17.5A2 2 0 0 0 7.3 20h9.4a2 2 0 0 0 1.8-2.5L14 9.5V3" />
<line x1="6.5" y1="15" x2="17.5" y2="15" />
</>
);