Mykes commited on
Commit
8b2c9a3
·
verified ·
1 Parent(s): 537aa26

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +80 -21
app.py CHANGED
@@ -44,6 +44,25 @@ st.markdown("""
44
  .small-font {
45
  font-size: 0.8rem;
46
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  </style>
48
  """, unsafe_allow_html=True)
49
 
@@ -188,29 +207,60 @@ def create_example_card(title, description, values, key):
188
  if st.button('Применить этот пример', key=key):
189
  st.session_state['current_example'] = values
190
 
191
- with col1:
192
- create_example_card(
193
- example_cases['контр']['title'],
194
- example_cases['контр']['description'],
195
- example_cases['контр']['values'],
196
- 'example_control'
197
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
 
199
- with col2:
200
- create_example_card(
201
- example_cases['топирамат']['title'],
202
- example_cases['топирамат']['description'],
203
- example_cases['топирамат']['values'],
204
- 'example_topirama'
205
- )
206
 
207
- with col3:
208
- create_example_card(
209
- example_cases['леветирацетам']['title'],
210
- example_cases['леветирацетам']['description'],
211
- example_cases['леветирацетам']['values'],
212
- 'example_levetiracetam'
213
- )
214
 
215
  # # Описание в основной части
216
  # with st.container():
@@ -231,6 +281,15 @@ with col3:
231
 
232
  # Боковая панель для ввода данных
233
  with st.sidebar:
 
 
 
 
 
 
 
 
 
234
  st.header('Ввод данных')
235
 
236
  # Создаем вкладки для разных типов параметров
 
44
  .small-font {
45
  font-size: 0.8rem;
46
  }
47
+ @media (max-width: 768px) {
48
+ /* Основной контейнер */
49
+ .main .block-container {
50
+ padding: 1rem;
51
+ }
52
+ /* Карточки примеров */
53
+ .metric-card {
54
+ margin: 1rem 0;
55
+ padding: 0.5rem;
56
+ }
57
+ /* Колонки: одна под другой */
58
+ .stColumns > div {
59
+ width: 100% !important;
60
+ }
61
+ /* Текст и элементы */
62
+ .stNumberInput input, .stSelectbox select {
63
+ width: 100%;
64
+ }
65
+ }
66
  </style>
67
  """, unsafe_allow_html=True)
68
 
 
207
  if st.button('Применить этот пример', key=key):
208
  st.session_state['current_example'] = values
209
 
210
+ if st.session_state.get('is_mobile', False): # Если мобильное устройство
211
+ for key, example in example_cases.items():
212
+ create_example_card(
213
+ example['title'],
214
+ example['description'],
215
+ example['values'],
216
+ f'example_{key}'
217
+ )
218
+ else: # Для десктопа
219
+ col1, col2, col3 = st.columns(3)
220
+ with col1:
221
+ create_example_card(
222
+ example_cases['контр']['title'],
223
+ example_cases['контр']['description'],
224
+ example_cases['контр']['values'],
225
+ 'example_control'
226
+ )
227
+ with col2:
228
+ create_example_card(
229
+ example_cases['топирамат']['title'],
230
+ example_cases['топирамат']['description'],
231
+ example_cases['топирамат']['values'],
232
+ 'example_topirama'
233
+ )
234
+ with col3:
235
+ create_example_card(
236
+ example_cases['леветирацетам']['title'],
237
+ example_cases['леветирацетам']['description'],
238
+ example_cases['леветирацетам']['values'],
239
+ 'example_levetiracetam'
240
+ )
241
+ # with col1:
242
+ # create_example_card(
243
+ # example_cases['контр']['title'],
244
+ # example_cases['контр']['description'],
245
+ # example_cases['контр']['values'],
246
+ # 'example_control'
247
+ # )
248
 
249
+ # with col2:
250
+ # create_example_card(
251
+ # example_cases['топирамат']['title'],
252
+ # example_cases['топирамат']['description'],
253
+ # example_cases['топирамат']['values'],
254
+ # 'example_topirama'
255
+ # )
256
 
257
+ # with col3:
258
+ # create_example_card(
259
+ # example_cases['леветирацетам']['title'],
260
+ # example_cases['леветирацетам']['description'],
261
+ # example_cases['леветирацетам']['values'],
262
+ # 'example_levetiracetam'
263
+ # )
264
 
265
  # # Описание в основной части
266
  # with st.container():
 
281
 
282
  # Боковая панель для ввода данных
283
  with st.sidebar:
284
+ st.markdown("""
285
+ <style>
286
+ @media (max-width: 768px) {
287
+ div[data-testid="stSidebarNav"] {
288
+ width: 100% !important;
289
+ }
290
+ }
291
+ </style>
292
+ """, unsafe_allow_html=True)
293
  st.header('Ввод данных')
294
 
295
  # Создаем вкладки для разных типов параметров