Spaces:
Running
Running
Deploy e5011ab from GitHub Actions
Browse files- ui/components.css +135 -0
ui/components.css
CHANGED
|
@@ -335,3 +335,138 @@ a.o-stat:hover .o-stat__value{color:var(--draft-ink)}
|
|
| 335 |
.o-frame>.o-float{position:fixed;inset:auto 8px 8px;width:auto;height:min(80dvh,620px)}
|
| 336 |
.o-side .o-kbd{display:none}
|
| 337 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
.o-frame>.o-float{position:fixed;inset:auto 8px 8px;width:auto;height:min(80dvh,620px)}
|
| 336 |
.o-side .o-kbd{display:none}
|
| 337 |
}
|
| 338 |
+
|
| 339 |
+
/* โโ ์์
๋(v0.5): ์ ๋ง๋ + ์์ด์ฝ ์ค + ์นธ ๋ฉ๋ด + ๋ณธ๋ฌธ โ ์ ์ฅ์ ยท ํ์ฒ๋ผ ์ค๋ ๋ค์ฌ๋ค๋ณด๋ ํ๋ฉด. ํ ํ๋(๋์ฐ์ง ์์), ์นธ์ ์ ์ผ๋ก๋ง ๋๋๋ค โโ */
|
| 340 |
+
.o-app{display:grid;grid-template:"bar bar bar" 48px "rail menu main" minmax(0,1fr)/48px 248px minmax(0,1fr);height:100dvh;background:var(--paper);overflow:hidden}
|
| 341 |
+
.o-app--nomenu{grid-template:"bar bar" 48px "rail main" minmax(0,1fr)/48px minmax(0,1fr)}
|
| 342 |
+
.o-app__bar{grid-area:bar;display:flex;align-items:center;gap:var(--s-3);min-width:0;padding:0 var(--s-3) 0 var(--s-4);border-bottom:1px solid var(--rule)}
|
| 343 |
+
.o-app__bar .o-search{flex:0 1 320px;margin-left:auto}
|
| 344 |
+
.o-app__end{display:flex;align-items:center;gap:var(--s-2)}
|
| 345 |
+
.o-app__bar .o-crumbs{flex-wrap:nowrap;gap:6px;min-width:0;font:400 var(--t-13) var(--sans);color:var(--pencil)} /* ๊ธฐ์กด o-crumbs(์์ ๊ฒฝ๋ก ๊ธ)๋ฅผ ์ ๋ง๋ ์์์๋ง ํค์ด๋ค */
|
| 346 |
+
.o-app__bar .o-crumbs a{color:inherit;text-decoration:none;white-space:nowrap}.o-app__bar .o-crumbs a:hover{color:var(--ink)}
|
| 347 |
+
.o-app__bar .o-crumbs>:last-child{color:var(--ink);font-weight:600}
|
| 348 |
+
.o-app__bar .o-crumbs__sep{color:var(--rule-3);flex:none}
|
| 349 |
+
.o-rail{grid-area:rail;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) 0;border-right:1px solid var(--rule);background:var(--desk)}
|
| 350 |
+
.o-rail a{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-3);color:var(--pencil)}
|
| 351 |
+
.o-rail a:hover{background:var(--well-hover);color:var(--ink)}
|
| 352 |
+
.o-rail a[aria-current=true]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--rule-2)}
|
| 353 |
+
.o-rail__sep{width:20px;height:1px;margin:6px 0;background:var(--rule-2)}
|
| 354 |
+
.o-rail__end{margin-top:auto}
|
| 355 |
+
.o-secmenu{grid-area:menu;display:flex;flex-direction:column;min-height:0;overflow:auto;padding:var(--s-3) var(--s-2) var(--s-6);border-right:1px solid var(--rule);background:var(--desk)}
|
| 356 |
+
.o-secmenu__head{display:flex;flex-direction:column;gap:2px;padding:2px var(--s-2) var(--s-3);margin-bottom:var(--s-1);border-bottom:1px solid var(--rule)}
|
| 357 |
+
.o-secmenu__title{font-size:var(--t-14);font-weight:650;color:var(--ink)}
|
| 358 |
+
.o-secmenu__meta{font:400 var(--t-11) var(--mono);color:var(--pencil)}
|
| 359 |
+
.o-secmenu__label{padding:var(--s-4) var(--s-2) var(--s-1);font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
|
| 360 |
+
.o-secmenu__item{display:flex;align-items:center;gap:8px;min-height:28px;padding:0 var(--s-2);border-radius:var(--r-2);color:var(--graphite);text-decoration:none;font-size:var(--t-13)}
|
| 361 |
+
.o-secmenu__item .o-icon{width:14px;height:14px;color:var(--faint)}
|
| 362 |
+
.o-secmenu__item:hover{background:var(--well-hover);color:var(--ink)}
|
| 363 |
+
.o-secmenu__item[aria-current=true]{background:var(--well-hover);color:var(--ink);font-weight:600}
|
| 364 |
+
.o-secmenu__item[aria-current=true] .o-icon{color:var(--ink)}
|
| 365 |
+
.o-secmenu__item>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
| 366 |
+
.o-secmenu__item--sub{min-height:26px;font-size:var(--t-12)}
|
| 367 |
+
.o-secmenu__find{display:flex;align-items:center;gap:6px;height:28px;margin:var(--s-1) 0;padding:0 var(--s-2);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper);color:var(--faint);font-size:var(--t-12)}
|
| 368 |
+
.o-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid var(--rule-2);border-radius:var(--r-1);font:500 10.5px var(--mono);color:var(--pencil);white-space:nowrap}
|
| 369 |
+
.o-badge--alert{border-color:color-mix(in srgb,var(--alert) 40%,transparent);background:var(--alert-wash);color:var(--alert)}
|
| 370 |
+
.o-badge--draft{border-color:color-mix(in srgb,var(--draft) 40%,transparent);background:var(--draft-wash);color:var(--draft-ink)}
|
| 371 |
+
.o-badge--ok{border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}
|
| 372 |
+
.o-badge .o-icon{width:11px;height:11px;margin-right:4px}
|
| 373 |
+
.o-btn--primary .o-kbd{background:transparent;border-color:rgba(255,255,255,.35);color:inherit}
|
| 374 |
+
.o-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0}
|
| 375 |
+
.o-main__body{flex:1;min-height:0;overflow:auto;padding:var(--s-8) var(--s-10) var(--s-12)}
|
| 376 |
+
.o-main__body>h1{font-size:var(--t-24);margin-bottom:var(--s-1)}
|
| 377 |
+
.o-main__lead{margin-bottom:var(--s-6);color:var(--pencil);font-size:var(--t-13)}
|
| 378 |
+
.o-main__body h2{margin:var(--s-8) 0 var(--s-3);font-size:var(--t-16)}
|
| 379 |
+
|
| 380 |
+
/* โโ ๋ฐ์ดํฐ ๊ฒฉ์: ์ด๋ฆฐ ํ ํญ ยท ๋๊ตฌ ์ค ยท ๊ฒฉ์ ยท ์๋ ์ค (Supabase Table Editor ์, ์ฝ๊ธฐ ์ ์ฉ) โโ */
|
| 381 |
+
.o-filetabs{display:flex;flex:none;height:38px;background:var(--desk);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none}
|
| 382 |
+
.o-filetabs a{display:inline-flex;align-items:center;gap:6px;padding:0 var(--s-4);border-right:1px solid var(--rule);color:var(--pencil);text-decoration:none;font-size:var(--t-12);white-space:nowrap}
|
| 383 |
+
.o-filetabs a .o-icon{width:13px;height:13px}
|
| 384 |
+
.o-filetabs a:hover{color:var(--ink)}
|
| 385 |
+
.o-filetabs a[aria-selected=true]{background:var(--paper);color:var(--ink);font-weight:600;margin-bottom:-1px;border-bottom:1px solid var(--paper)}
|
| 386 |
+
.o-gridbar{display:flex;flex:none;align-items:center;gap:var(--s-2);height:44px;padding:0 var(--s-3);border-bottom:1px solid var(--rule)}
|
| 387 |
+
.o-gridbar__find{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:28px;padding:0 var(--s-2);color:var(--faint);font-size:var(--t-13)}
|
| 388 |
+
.o-gridbar__find span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
| 389 |
+
.o-gridbar .o-btn .o-icon{width:13px;height:13px}
|
| 390 |
+
.o-gridbar__sep{width:1px;height:20px;background:var(--rule-2)}
|
| 391 |
+
.o-grid-wrap{flex:1;min-height:0;overflow:auto}
|
| 392 |
+
.o-grid{border-collapse:separate;border-spacing:0;min-width:100%;font:400 var(--t-12)/1 var(--mono);color:var(--graphite)}
|
| 393 |
+
.o-grid th{position:sticky;top:0;z-index:1;height:34px;padding:0 var(--s-3);background:var(--desk);border-bottom:1px solid var(--rule-2);border-right:1px solid var(--rule);text-align:left;white-space:nowrap;font-weight:400}
|
| 394 |
+
.o-grid td{height:32px;max-width:280px;min-width:120px;padding:0 var(--s-3);border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
| 395 |
+
.o-grid tbody tr:hover td{background:var(--desk)}
|
| 396 |
+
.o-grid th.o-grid__check,.o-grid td.o-grid__check{width:36px;min-width:36px;padding:0;text-align:center}
|
| 397 |
+
.o-grid__check input{accent-color:var(--ink);width:13px;height:13px;vertical-align:middle}
|
| 398 |
+
.o-grid__name{font:600 var(--t-12) var(--sans);color:var(--ink)}
|
| 399 |
+
.o-grid__type{margin-left:6px;font:400 var(--t-11) var(--mono);color:var(--faint)}
|
| 400 |
+
.o-grid__key{width:12px;height:12px;margin-right:6px;vertical-align:-2px;color:var(--pencil)}
|
| 401 |
+
.o-grid__key--fk{color:var(--draft)}
|
| 402 |
+
.o-grid .o-cell-masked{color:var(--alert)}
|
| 403 |
+
.o-grid__foot{display:flex;flex:none;align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-3);border-top:1px solid var(--rule);font-size:var(--t-12);color:var(--pencil)}
|
| 404 |
+
.o-grid__foot .o-badge{margin-left:auto}
|
| 405 |
+
.o-grid__pager{display:flex;align-items:center;gap:6px}
|
| 406 |
+
.o-grid__pager input{width:40px;height:24px;padding:0 6px;border:1px solid var(--rule-2);border-radius:var(--r-2);font:inherit;text-align:center}
|
| 407 |
+
|
| 408 |
+
/* โโ ๊ณ ์น ๊ฒ ์นด๋(Supabase Advisor ์): ๊ฐ๋ ยท ๋ฌด๊ฒ ยท ํ ์ค ยท ๊ทผ๊ฑฐ ยท ํ ์ผ โโ */
|
| 409 |
+
.o-advisor{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}
|
| 410 |
+
.o-advisor__card{display:flex;flex-direction:column;gap:var(--s-2);min-height:150px;padding:var(--s-4);border:1px solid var(--rule-2);border-radius:var(--r-4);background:var(--paper)}
|
| 411 |
+
.o-advisor__card--high{border-color:color-mix(in srgb,var(--alert) 30%,transparent);background:color-mix(in srgb,var(--alert-wash) 45%,var(--paper))}
|
| 412 |
+
.o-advisor__head{display:flex;align-items:center;gap:8px;font:500 var(--t-11) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pencil)}
|
| 413 |
+
.o-advisor__head .o-badge{margin-left:auto}
|
| 414 |
+
.o-advisor__card--high .o-advisor__head .o-icon{color:var(--alert)}
|
| 415 |
+
.o-advisor__title{margin-top:auto;font-size:var(--t-13);font-weight:600;color:var(--ink)}
|
| 416 |
+
.o-advisor__why{font-size:var(--t-12);color:var(--pencil);line-height:1.5}
|
| 417 |
+
.o-advisor__why code{font-size:var(--t-11);padding:1px 4px;border:1px solid var(--rule);border-radius:var(--r-1);background:var(--desk)}
|
| 418 |
+
|
| 419 |
+
@media(max-width:820px){
|
| 420 |
+
.o-app,.o-app--nomenu{grid-template:"bar" 48px "rail" auto "menu" auto "main" minmax(70dvh,1fr)/minmax(0,1fr);height:auto;min-height:100dvh;overflow:visible}
|
| 421 |
+
.o-rail{flex-direction:row;justify-content:flex-start;padding:4px 8px;border-right:0;border-bottom:1px solid var(--rule);overflow-x:auto}
|
| 422 |
+
.o-rail__sep{width:1px;height:20px;margin:0 6px}.o-rail__end{margin:0 0 0 auto}
|
| 423 |
+
.o-secmenu{max-height:40dvh;border-right:0;border-bottom:1px solid var(--rule)}
|
| 424 |
+
.o-app__bar .o-search{display:none}
|
| 425 |
+
.o-app__bar .o-crumbs{overflow:hidden}.o-app__bar .o-crumbs>:not(:last-child){display:none}
|
| 426 |
+
.o-gridbar{flex-wrap:wrap;height:auto;padding:6px var(--s-3)}.o-gridbar__find{flex-basis:100%}
|
| 427 |
+
.o-main__body{padding:var(--s-5) var(--s-4) var(--s-8)}
|
| 428 |
+
}
|
| 429 |
+
|
| 430 |
+
/* โโ ์์
๋ ๋ณธ๋ฌธ + ์ค๋ฅธ์ชฝ ์นธ(์ฐ์ถ๋ฌผ ยท ์์ฑ ยท ๋ค์์ ํ ์ผ) โโ */
|
| 431 |
+
.o-main__cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0}
|
| 432 |
+
.o-main__cols>.o-main__body{min-width:0}
|
| 433 |
+
.o-main__aside{display:flex;flex-direction:column;gap:var(--s-6);min-height:0;overflow:auto;padding:var(--s-8) var(--s-5);border-left:1px solid var(--rule);background:var(--desk)}
|
| 434 |
+
.o-main__aside h2{margin:0 0 var(--s-2);font-size:var(--t-12);font-weight:600;color:var(--pencil)}
|
| 435 |
+
.o-secmenu__count{margin-left:auto;font:400 var(--t-11) var(--mono);color:var(--faint)}
|
| 436 |
+
|
| 437 |
+
/* โโ ํ์ผ ๊ฒฉ์: Space ํ๋ = ์นด๋ ํ ์ฅ(์ด๋ฆ ยท ํ ์ค ยท ์ํ ยท ๋ณ์นญ). ์ซ์ ยท ๊ฑด๊ฐ์ ๋ฃ์ง ์๋๋ค โโ */
|
| 438 |
+
.o-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}
|
| 439 |
+
.o-tile{display:flex;flex-direction:column;gap:var(--s-2);min-height:120px;padding:var(--s-4);border:1px solid var(--rule-2);border-radius:var(--r-4);background:var(--paper);color:inherit;text-decoration:none;transition:border-color var(--d-1) var(--ease),box-shadow var(--d-1) var(--ease)}
|
| 440 |
+
.o-tile:hover{border-color:var(--rule-3);box-shadow:0 1px 2px rgba(21,23,28,.06)}
|
| 441 |
+
.o-tile__name{display:flex;align-items:center;gap:6px;font-size:var(--t-14);font-weight:650;color:var(--ink)}
|
| 442 |
+
.o-tile__name .o-icon{color:var(--faint)}
|
| 443 |
+
.o-tile__line{font-size:var(--t-13);color:var(--graphite);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
|
| 444 |
+
.o-tile__foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
|
| 445 |
+
|
| 446 |
+
/* โโ ๋ฌธ์ ๋ณธ๋ฌธ: ์ ๋ชฉ ยท ๋ฌธ๋จ ยท ๋ชฉ๋ก ยท ์ฝ๋ ยท ํ (๋งํฌ๋ค์ด์ ์ฎ๊ธด ๊ธ) โโ */
|
| 447 |
+
.o-prose{max-width:760px;font-size:var(--t-14);line-height:1.75;color:var(--graphite)}
|
| 448 |
+
.o-prose h1{font-size:var(--t-24);margin:0 0 var(--s-4);color:var(--ink)}
|
| 449 |
+
.o-prose h2{font-size:var(--t-16);margin:var(--s-8) 0 var(--s-2);color:var(--ink)}
|
| 450 |
+
.o-prose h3{font-size:var(--t-14);margin:var(--s-6) 0 var(--s-2);color:var(--ink)}
|
| 451 |
+
.o-prose p{margin:0 0 var(--s-3)}
|
| 452 |
+
.o-prose ul,.o-prose ol{margin:0 0 var(--s-3);padding-left:1.4em}.o-prose li{margin:2px 0}
|
| 453 |
+
.o-prose code{padding:1px 5px;border:1px solid var(--rule);border-radius:var(--r-1);background:var(--desk)}
|
| 454 |
+
.o-prose a{color:var(--draft-ink)}
|
| 455 |
+
|
| 456 |
+
/* โโ ๊ด๊ณ ๊ทธ๋ฆผ(SVG): ์์ ยท ๋จธ๋ฆฌ ยท PK/FK ์์ฝ ยท ์ (ํ๋ณด = ์ ์ ) ยท ๊ฐ์ด๋ฐ ๊ฐ์กฐ โโ */
|
| 457 |
+
.o-graph text{font-size:11px;fill:var(--graphite)}
|
| 458 |
+
.o-graph{display:block;width:100%;height:auto;border:1px solid var(--rule);border-radius:var(--r-3);background:var(--desk);font-family:var(--sans)}
|
| 459 |
+
.o-graph__node{fill:var(--paper);stroke:var(--rule-3)}
|
| 460 |
+
.o-graph a:hover .o-graph__node{stroke:var(--ink)}
|
| 461 |
+
.o-graph__node--focus{fill:var(--ink);stroke:var(--ink)}
|
| 462 |
+
.o-graph__node--focus~text{fill:var(--paper)}
|
| 463 |
+
.o-graph__node--edge{stroke:var(--ink);stroke-width:2}
|
| 464 |
+
.o-graph__text{font-size:11px;fill:var(--graphite)}
|
| 465 |
+
.o-graph__head{font-size:12px;font-weight:600;fill:var(--ink)}
|
| 466 |
+
.o-graph__group{font-size:10.5px;font-family:var(--mono);letter-spacing:.06em;fill:var(--faint)}
|
| 467 |
+
.o-graph__pill{font:700 9px var(--mono);fill:var(--pencil)}.o-graph__pill--fk{fill:var(--draft)}
|
| 468 |
+
.o-graph__line{fill:none;stroke:var(--rule-3);stroke-width:1.25}
|
| 469 |
+
.o-graph__line--draft{stroke:var(--draft);stroke-dasharray:4 3}
|
| 470 |
+
.o-graph__more{font-size:11px;fill:var(--faint)}
|
| 471 |
+
|
| 472 |
+
@media(max-width:820px){.o-main__cols{grid-template-columns:minmax(0,1fr)}.o-main__aside{border-left:0;border-top:1px solid var(--rule)}}
|