Update app.py
Browse files
app.py
CHANGED
|
@@ -528,7 +528,7 @@ self.addEventListener('fetch', event => {
|
|
| 528 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
| 529 |
<title>디지털 굿판</title>
|
| 530 |
<link rel="manifest" href="/manifest.json">
|
| 531 |
-
<meta name="theme-color" content="#
|
| 532 |
<meta name="apple-mobile-web-app-capable" content="yes">
|
| 533 |
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
| 534 |
<meta name="apple-mobile-web-app-title" content="디지털 굿판">
|
|
@@ -537,6 +537,8 @@ self.addEventListener('fetch', event => {
|
|
| 537 |
/* iOS 상태바 영역 보호 */
|
| 538 |
body {
|
| 539 |
padding-top: env(safe-area-inset-top);
|
|
|
|
|
|
|
| 540 |
}
|
| 541 |
.status-bar {
|
| 542 |
position: fixed;
|
|
@@ -547,6 +549,8 @@ self.addEventListener('fetch', event => {
|
|
| 547 |
background: black;
|
| 548 |
z-index: 1000;
|
| 549 |
}
|
|
|
|
|
|
|
| 550 |
</style>
|
| 551 |
<script>
|
| 552 |
// 페이지 로드 시 상단으로 스크롤
|
|
@@ -577,18 +581,11 @@ self.addEventListener('fetch', event => {
|
|
| 577 |
|
| 578 |
// PWA 설치 관련
|
| 579 |
if ('serviceWorker' in navigator) {
|
| 580 |
-
window.addEventListener('load',
|
| 581 |
-
|
| 582 |
-
|
| 583 |
-
|
| 584 |
-
await preventSleep();
|
| 585 |
-
} catch (err) {
|
| 586 |
-
console.log('ServiceWorker 등록 실패:', err);
|
| 587 |
-
}
|
| 588 |
});
|
| 589 |
-
}
|
| 590 |
-
</script>
|
| 591 |
-
<script>
|
| 592 |
// 화면 꺼짐 방지
|
| 593 |
async function preventSleep() {
|
| 594 |
try {
|
|
@@ -869,19 +866,20 @@ def create_interface():
|
|
| 869 |
color: #4a90e2 !important;
|
| 870 |
}
|
| 871 |
}
|
| 872 |
-
|
| 873 |
div.gr-header {
|
| 874 |
display: none !important;
|
| 875 |
}
|
| 876 |
|
| 877 |
-
/*
|
| 878 |
body {
|
| 879 |
margin: 0;
|
| 880 |
padding: 0;
|
| 881 |
-
background: #
|
| 882 |
overflow-x: hidden;
|
| 883 |
position: relative;
|
| 884 |
min-height: 100vh;
|
|
|
|
| 885 |
}
|
| 886 |
|
| 887 |
/* 메인 컨테이너 스타일링 */
|
|
@@ -889,9 +887,9 @@ def create_interface():
|
|
| 889 |
margin: 0 auto !important;
|
| 890 |
padding: 0 !important;
|
| 891 |
max-width: 800px !important;
|
| 892 |
-
background:
|
| 893 |
min-height: 100vh;
|
| 894 |
-
box-shadow: 0 0 10px rgba(0,0,0,0.
|
| 895 |
position: relative;
|
| 896 |
}
|
| 897 |
|
|
@@ -902,14 +900,14 @@ def create_interface():
|
|
| 902 |
left: 0;
|
| 903 |
right: 0;
|
| 904 |
height: env(safe-area-inset-top);
|
| 905 |
-
background:
|
| 906 |
z-index: 1000;
|
| 907 |
}
|
| 908 |
|
| 909 |
/* 하단 여백 조정 */
|
| 910 |
.footer-spacing {
|
| 911 |
height: env(safe-area-inset-bottom);
|
| 912 |
-
background:
|
| 913 |
}
|
| 914 |
|
| 915 |
/* 앱 스크롤 동작 */
|
|
@@ -918,10 +916,47 @@ def create_interface():
|
|
| 918 |
scroll-behavior: smooth;
|
| 919 |
}
|
| 920 |
|
| 921 |
-
/* 모
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 922 |
@supports (-webkit-touch-callout: none) {
|
| 923 |
.status-bar {
|
| 924 |
height: max(env(safe-area-inset-top), 20px);
|
|
|
|
| 925 |
}
|
| 926 |
}
|
| 927 |
"""
|
|
|
|
| 528 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
| 529 |
<title>디지털 굿판</title>
|
| 530 |
<link rel="manifest" href="/manifest.json">
|
| 531 |
+
<meta name="theme-color" content="#0b0f19">
|
| 532 |
<meta name="apple-mobile-web-app-capable" content="yes">
|
| 533 |
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
| 534 |
<meta name="apple-mobile-web-app-title" content="디지털 굿판">
|
|
|
|
| 537 |
/* iOS 상태바 영역 보호 */
|
| 538 |
body {
|
| 539 |
padding-top: env(safe-area-inset-top);
|
| 540 |
+
background: #0b0f19 !important;
|
| 541 |
+
color: #ffffff;
|
| 542 |
}
|
| 543 |
.status-bar {
|
| 544 |
position: fixed;
|
|
|
|
| 549 |
background: black;
|
| 550 |
z-index: 1000;
|
| 551 |
}
|
| 552 |
+
#gradio-app {
|
| 553 |
+
background: #0b0f19 !important;
|
| 554 |
</style>
|
| 555 |
<script>
|
| 556 |
// 페이지 로드 시 상단으로 스크롤
|
|
|
|
| 581 |
|
| 582 |
// PWA 설치 관련
|
| 583 |
if ('serviceWorker' in navigator) {
|
| 584 |
+
window.addEventListener('load', function() {
|
| 585 |
+
setTimeout(() => {
|
| 586 |
+
window.scrollTo(0, 0);
|
| 587 |
+
}, 100);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 588 |
});
|
|
|
|
|
|
|
|
|
|
| 589 |
// 화면 꺼짐 방지
|
| 590 |
async function preventSleep() {
|
| 591 |
try {
|
|
|
|
| 866 |
color: #4a90e2 !important;
|
| 867 |
}
|
| 868 |
}
|
| 869 |
+
/* Hugging Face 로고 숨기기 */
|
| 870 |
div.gr-header {
|
| 871 |
display: none !important;
|
| 872 |
}
|
| 873 |
|
| 874 |
+
/* 다크 테마 기본 스타일 */
|
| 875 |
body {
|
| 876 |
margin: 0;
|
| 877 |
padding: 0;
|
| 878 |
+
background: #0b0f19 !important;
|
| 879 |
overflow-x: hidden;
|
| 880 |
position: relative;
|
| 881 |
min-height: 100vh;
|
| 882 |
+
color: #ffffff;
|
| 883 |
}
|
| 884 |
|
| 885 |
/* 메인 컨테이너 스타일링 */
|
|
|
|
| 887 |
margin: 0 auto !important;
|
| 888 |
padding: 0 !important;
|
| 889 |
max-width: 800px !important;
|
| 890 |
+
background: #0b0f19 !important;
|
| 891 |
min-height: 100vh;
|
| 892 |
+
box-shadow: 0 0 10px rgba(0,0,0,0.3);
|
| 893 |
position: relative;
|
| 894 |
}
|
| 895 |
|
|
|
|
| 900 |
left: 0;
|
| 901 |
right: 0;
|
| 902 |
height: env(safe-area-inset-top);
|
| 903 |
+
background: #000000;
|
| 904 |
z-index: 1000;
|
| 905 |
}
|
| 906 |
|
| 907 |
/* 하단 여백 조정 */
|
| 908 |
.footer-spacing {
|
| 909 |
height: env(safe-area-inset-bottom);
|
| 910 |
+
background: #0b0f19;
|
| 911 |
}
|
| 912 |
|
| 913 |
/* 앱 스크롤 동작 */
|
|
|
|
| 916 |
scroll-behavior: smooth;
|
| 917 |
}
|
| 918 |
|
| 919 |
+
/* 모든 탭 컨텐츠 배경색 */
|
| 920 |
+
.tabs > div {
|
| 921 |
+
background: #0b0f19 !important;
|
| 922 |
+
}
|
| 923 |
+
|
| 924 |
+
/* 입력 필드 스타일링 */
|
| 925 |
+
.gradio-textbox input,
|
| 926 |
+
.gradio-textbox textarea {
|
| 927 |
+
background: #1a1f2e !important;
|
| 928 |
+
color: #ffffff !important;
|
| 929 |
+
border: 1px solid #2a2f3e !important;
|
| 930 |
+
}
|
| 931 |
+
|
| 932 |
+
/* 버튼 스타일링 유지 */
|
| 933 |
+
.gradio-button {
|
| 934 |
+
background: #2a2f3e !important;
|
| 935 |
+
color: #ffffff !important;
|
| 936 |
+
border: none !important;
|
| 937 |
+
}
|
| 938 |
+
|
| 939 |
+
.gradio-button:hover {
|
| 940 |
+
background: #3a3f4e !important;
|
| 941 |
+
}
|
| 942 |
+
|
| 943 |
+
/* 데이터프레임/테이블 스타일링 */
|
| 944 |
+
.gradio-dataframe {
|
| 945 |
+
background: #1a1f2e !important;
|
| 946 |
+
color: #ffffff !important;
|
| 947 |
+
}
|
| 948 |
+
|
| 949 |
+
/* 모달과 팝업의 배경색 */
|
| 950 |
+
.modal-content {
|
| 951 |
+
background: #0b0f19 !important;
|
| 952 |
+
color: #ffffff !important;
|
| 953 |
+
}
|
| 954 |
+
|
| 955 |
+
/* iOS 상태바용 메타 태그 색상 */
|
| 956 |
@supports (-webkit-touch-callout: none) {
|
| 957 |
.status-bar {
|
| 958 |
height: max(env(safe-area-inset-top), 20px);
|
| 959 |
+
background: #000000;
|
| 960 |
}
|
| 961 |
}
|
| 962 |
"""
|