Grandediw commited on
Commit
6afba73
·
verified ·
1 Parent(s): 10d6aa1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -25
app.py CHANGED
@@ -81,7 +81,7 @@ model = load_model(MODEL_PATH)
81
 
82
  # Create Gradio Interface
83
  with gr.Blocks(css="""
84
- .card-grid {
85
  display: grid;
86
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
87
  gap: 10px;
@@ -96,24 +96,15 @@ with gr.Blocks(css="""
96
  border-radius: 8px;
97
  transition: all 0.3s ease;
98
  }
99
- .card-container:hover {
100
- transform: scale(1.05);
101
- box-shadow: 0 4px 8px rgba(0,0,0,0.1);
102
- }
103
- .card-container img {
104
- width: 80px;
105
- height: 80px;
106
  object-fit: contain;
107
  }
108
- .card-container.selected {
109
  background-color: #e3f2fd;
110
  border-color: #2196f3;
111
  }
112
- .card-label {
113
- font-size: 12px;
114
- text-align: center;
115
- margin-top: 5px;
116
- }
117
  """) as interface:
118
  gr.Markdown("## Clash Royale Prediction")
119
  gr.Markdown("Select 8 cards from the opponent's deck to predict the probability of winning!")
@@ -132,17 +123,21 @@ with gr.Blocks(css="""
132
  current_deck.append(card_name)
133
  return current_deck, f"Selected cards: {len(current_deck)}/8"
134
 
135
- # Create card grid
136
- with gr.Box(elem_classes="card-grid"):
137
- for card, url in valid_card_images.items():
138
- with gr.Box(elem_classes="card-container"):
139
- btn = gr.Button(image=url, label=card, scale=0)
140
- gr.Markdown(card, elem_classes="card-label")
141
- btn.click(
142
- toggle_card,
143
- inputs=[gr.Textbox(value=card, visible=False), selected_deck],
144
- outputs=[selected_deck, selected_cards_display]
145
- )
 
 
 
 
146
 
147
  with gr.Row():
148
  result = gr.Textbox(label="Prediction Result:", interactive=False)
 
81
 
82
  # Create Gradio Interface
83
  with gr.Blocks(css="""
84
+ .container {
85
  display: grid;
86
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
87
  gap: 10px;
 
96
  border-radius: 8px;
97
  transition: all 0.3s ease;
98
  }
99
+ img.card-image {
100
+ width: 80px !important;
101
+ height: 80px !important;
 
 
 
 
102
  object-fit: contain;
103
  }
104
+ .selected {
105
  background-color: #e3f2fd;
106
  border-color: #2196f3;
107
  }
 
 
 
 
 
108
  """) as interface:
109
  gr.Markdown("## Clash Royale Prediction")
110
  gr.Markdown("Select 8 cards from the opponent's deck to predict the probability of winning!")
 
123
  current_deck.append(card_name)
124
  return current_deck, f"Selected cards: {len(current_deck)}/8"
125
 
126
+ # Create card grid using rows and columns
127
+ with gr.Column():
128
+ cards_per_row = 8
129
+ cards_list = list(valid_card_images.items())
130
+
131
+ for i in range(0, len(cards_list), cards_per_row):
132
+ with gr.Row():
133
+ for card, url in cards_list[i:i + cards_per_row]:
134
+ with gr.Column():
135
+ btn = gr.Button(image=url, label=card)
136
+ btn.click(
137
+ toggle_card,
138
+ inputs=[gr.Textbox(value=card, visible=False), selected_deck],
139
+ outputs=[selected_deck, selected_cards_display]
140
+ )
141
 
142
  with gr.Row():
143
  result = gr.Textbox(label="Prediction Result:", interactive=False)