|
130 | 130 |
|
131 | 131 | // Visualizzazione dell'interfaccia di impostazione iniziale, nel caso il file di configurazione sia mancante oppure i paramentri non siano sufficienti |
132 | 132 | echo ' |
133 | | -<div class="card card-center-large shadow-lg" style="max-width: 1200px; margin: 3% auto;"> |
| 133 | +<div class="card card-center-large shadow-lg" style="max-width: 1200px; margin: 3% auto; border-radius: 8px; border: none; opacity: 0; animation: fadeIn 0.5s forwards;"> |
134 | 134 | <div class="card-header text-center"> |
135 | 135 | <img src="'.$img.'/logo_completo.png" style="max-width: 280px;" alt="'.tr('OSM Logo').'"> |
136 | 136 | </div> |
137 | 137 |
|
138 | | - <div class="card-body"> |
| 138 | + <div class="card-body" style="padding: 30px;"> |
| 139 | + <div class="text-center mb-4"> |
| 140 | + <h4 style="color: #3c8dbc; font-weight: 600;">'.tr('Configurazione iniziale del gestionale').'</h4> |
| 141 | + <p class="text-muted">'.tr('Completa i campi seguenti per iniziare a utilizzare OpenSTAManager').'</p> |
| 142 | + </div> |
| 143 | +
|
139 | 144 | <form action="" method="post" id="init-form" enctype="multipart/form-data"> |
140 | 145 | <input type="hidden" name="action" value="init">'; |
141 | 146 |
|
142 | 147 | if (!$has_user) { |
143 | 148 | echo ' |
144 | | - <div class="card card-outline card-info mb-4"> |
145 | | - <div class="card-header"> |
146 | | - <h3 class="card-title"><i class="fa fa-user mr-2"></i>'.tr('Amministrazione').'</h3> |
| 149 | + <div class="card card-outline card-info mb-4" style="border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: all 0.3s ease;"> |
| 150 | + <div class="card-header" style="background-color: #f8f9fa; border-bottom: 2px solid #17a2b8; border-radius: 6px 6px 0 0;"> |
| 151 | + <h3 class="card-title" style="color: #17a2b8; font-weight: 600;"><i class="fa fa-user mr-2"></i>'.tr('Amministrazione').'</h3> |
147 | 152 | </div> |
148 | 153 |
|
149 | | - <div class="card-body"> |
| 154 | + <div class="card-body" style="padding: 20px;"> |
150 | 155 | <div class="row"> |
151 | 156 | <div class="col-md-4"> |
152 | | - {[ "type": "text", "label": "'.tr('Username').'", "id": "admin_username", "name": "admin_username", "value": "", "placeholder": "'.tr("Imposta lo username dell'amministratore").'", "required": 1]} |
| 157 | + {[ "type": "text", "label": "'.tr('Username').'", "id": "admin_username", "name": "admin_username", "value": "", "placeholder": "'.tr("Imposta lo username dell'amministratore").'", "required": 1, "extra": "style=\"border-radius: 4px; border-color: #ddd;\"" ]} |
153 | 158 | </div> |
154 | 159 |
|
155 | 160 | <div class="col-md-4"> |
156 | | - {[ "type": "password", "label": "'.tr('Password').'", "id": "password", "name": "admin_password", "value": "", "placeholder": "'.tr("Imposta la password dell'amministratore").'", "required": 1, "strength": "#config" ]} |
| 161 | + {[ "type": "password", "label": "'.tr('Password').'", "id": "password", "name": "admin_password", "value": "", "placeholder": "'.tr("Imposta la password dell'amministratore").'", "required": 1, "strength": "#config", "extra": "style=\"border-radius: 4px; border-color: #ddd;\"" ]} |
157 | 162 | </div> |
158 | 163 |
|
159 | 164 | <div class="col-md-4"> |
160 | | - {[ "type": "text", "label": "'.tr('Email').'", "id": "admin_email", "name": "admin_email", "value": "", "placeholder": "'.tr("Imposta l'indirizzo email dell'amministratore").'", "required": 1]} |
| 165 | + {[ "type": "text", "label": "'.tr('Email').'", "id": "admin_email", "name": "admin_email", "value": "", "placeholder": "'.tr("Imposta l'indirizzo email dell'amministratore").'", "required": 1, "extra": "style=\"border-radius: 4px; border-color: #ddd;\"" ]} |
161 | 166 | </div> |
162 | 167 | </div> |
163 | 168 | </div> |
|
166 | 171 |
|
167 | 172 | if (!$has_azienda) { |
168 | 173 | echo ' |
169 | | - <div class="card card-outline card-success mb-4"> |
170 | | - <div class="card-header"> |
171 | | - <h3 class="card-title"><i class="fa fa-building mr-2"></i>'.tr('Azienda predefinita').'</h3> |
| 174 | + <div class="card card-outline card-success mb-4" style="border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: all 0.3s ease;"> |
| 175 | + <div class="card-header" style="background-color: #f8f9fa; border-bottom: 2px solid #28a745; border-radius: 6px 6px 0 0;"> |
| 176 | + <h3 class="card-title" style="color: #28a745; font-weight: 600;"><i class="fa fa-building mr-2"></i>'.tr('Azienda predefinita').'</h3> |
172 | 177 | </div> |
173 | 178 |
|
174 | | - <div class="card-body" id="bs-popup">'; |
| 179 | + <div class="card-body" id="bs-popup" style="padding: 20px;">'; |
175 | 180 |
|
176 | 181 | $idtipoanagrafica = Tipo::where('name', 'Azienda')->first()->id; |
177 | 182 | $readonly_tipo = true; |
|
183 | 188 | echo str_replace('</form>', '', $anagrafica); |
184 | 189 |
|
185 | 190 | echo ' |
186 | | - <div class="card card-outline card-secondary collapsed-card"> |
187 | | - <div class="card-header"> |
188 | | - <h3 class="card-title"><i class="fa fa-image mr-2"></i>'.tr('Logo stampe').'</h3> |
| 191 | + <div class="card card-outline card-secondary collapsed-card" style="border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); margin-top: 20px; transition: all 0.3s ease;"> |
| 192 | + <div class="card-header" style="background-color: #f8f9fa; border-bottom: 2px solid #6c757d; border-radius: 6px 6px 0 0;"> |
| 193 | + <h3 class="card-title" style="color: #6c757d; font-weight: 600;"><i class="fa fa-image mr-2"></i>'.tr('Logo stampe').'</h3> |
189 | 194 | <div class="card-tools"> |
190 | | - <button type="button" class="btn btn-tool" data-card-widget="collapse"> |
| 195 | + <button type="button" class="btn btn-tool" data-card-widget="collapse" style="color: #6c757d;"> |
191 | 196 | <i class="fa fa-plus"></i> |
192 | 197 | </button> |
193 | 198 | </div> |
194 | 199 | </div> |
195 | | - <div class="card-body collapse"> |
196 | | -
|
197 | | - <div class="col-md-12"> |
198 | | - <div class="form-group"> |
199 | | - <label>'.tr('File').'</label> |
200 | | - <input type="file" class="form-control" name="blob" accept=".jpg,.jpeg,.png"> |
| 200 | + <div class="card-body collapse" style="padding: 20px;"> |
| 201 | + <div class="row"> |
| 202 | + <div class="col-md-12"> |
| 203 | + <div class="form-group"> |
| 204 | + <label style="font-weight: 600; color: #333;">'.tr('File').'</label> |
| 205 | + <input type="file" class="form-control" name="blob" accept=".jpg,.jpeg,.png" style="border-radius: 4px; border-color: #ddd; padding: 6px;"> |
| 206 | + </div> |
201 | 207 | </div> |
202 | 208 | </div> |
203 | 209 |
|
204 | | - <p> </p> |
205 | | - <div class="col-md-12 alert alert-info text-center">'.tr('Per impostare il logo delle stampe, caricare un file con estensione ".jpg", ".jpeg" o ".png". Risoluzione consigliata 302x111 pixel').'. |
| 210 | + <div class="alert alert-info" style="border-left: 4px solid #17a2b8; background-color: #f8f9fa; margin-top: 15px; border-radius: 4px;"> |
| 211 | + <i class="fa fa-info-circle mr-2"></i> '.tr('Per impostare il logo delle stampe, caricare un file con estensione ".jpg", ".jpeg" o ".png". Risoluzione consigliata 302x111 pixel').'. |
206 | 212 | </div> |
207 | 213 | </div> |
208 | 214 | </div>'; |
|
214 | 220 |
|
215 | 221 | if (!$has_settings) { |
216 | 222 | echo ' |
217 | | - <div class="card card-outline card-warning mb-4"> |
218 | | - <div class="card-header"> |
219 | | - <h3 class="card-title"><i class="fa fa-cogs mr-2"></i>'.tr('Impostazioni di base').'</h3> |
| 223 | + <div class="card card-outline card-warning mb-4" style="border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: all 0.3s ease;"> |
| 224 | + <div class="card-header" style="background-color: #f8f9fa; border-bottom: 2px solid #ffc107; border-radius: 6px 6px 0 0;"> |
| 225 | + <h3 class="card-title" style="color: #ffc107; font-weight: 600;"><i class="fa fa-cogs mr-2"></i>'.tr('Impostazioni di base').'</h3> |
220 | 226 | </div> |
221 | 227 |
|
222 | | - <div class="card-body"> |
| 228 | + <div class="card-body" style="padding: 20px;"> |
223 | 229 | <div class="row">'; |
224 | 230 | foreach ($settings as $setting => $required) { |
225 | 231 | if (empty(setting($setting))) { |
|
236 | 242 | } |
237 | 243 | echo ' |
238 | 244 | <!-- PULSANTI --> |
239 | | - <div class="row"> |
240 | | - <div class="col-md-4"> |
241 | | - <span style="color: red;" >*</span> <span><small><small>'.tr('Campi obbligatori').'</small></small></span> |
| 245 | + <div class="row" style="margin-top: 30px;"> |
| 246 | + <div class="col-md-6"> |
| 247 | + <div class="required-fields" style="display: flex; align-items: center; margin-top: 10px;"> |
| 248 | + <span style="color: #dc3545; font-size: 16px; margin-right: 5px;">*</span> |
| 249 | + <span style="color: #666; font-size: 13px;">'.tr('Campi obbligatori').'</span> |
| 250 | + </div> |
242 | 251 | </div> |
243 | | - <div class="col-md-4 text-right"> |
244 | | - <button type="submit" id="config" class="btn btn-success btn-block"> |
245 | | - <i class="fa fa-cog"></i> '.tr('Configura').' |
| 252 | + <div class="col-md-6 text-right"> |
| 253 | + <button type="submit" id="config" class="btn btn-success btn-lg" style="border-radius: 4px; padding: 10px 20px; transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.1);"> |
| 254 | + <i class="fa fa-cog mr-2"></i> '.tr('Configura').' |
246 | 255 | </button> |
247 | 256 | </div> |
248 | 257 | </div> |
|
251 | 260 | </div> |
252 | 261 | </div> |
253 | 262 |
|
| 263 | +<style> |
| 264 | +/* Nascondi la barra superiore e la sidebar */ |
| 265 | +.main-header, .main-sidebar, .control-sidebar-button, .control-sidebar, .control-sidebar-bg { |
| 266 | + display: none !important; |
| 267 | +} |
| 268 | +
|
| 269 | +/* Espandi il contenuto a tutta la larghezza */ |
| 270 | +.content-wrapper { |
| 271 | + margin-left: 0 !important; |
| 272 | + margin-top: 0 !important; |
| 273 | +} |
| 274 | +
|
| 275 | +/* Rimuovi il padding superiore della sezione content */ |
| 276 | +.content { |
| 277 | + padding-top: 0 !important; |
| 278 | +} |
| 279 | +
|
| 280 | +/* Animazioni e stili per le card */ |
| 281 | +@keyframes fadeIn { |
| 282 | + from { opacity: 0; transform: translateY(20px); } |
| 283 | + to { opacity: 1; transform: translateY(0); } |
| 284 | +} |
| 285 | +
|
| 286 | +.card { |
| 287 | + transition: all 0.3s ease; |
| 288 | +} |
| 289 | +
|
| 290 | +.card:hover { |
| 291 | + box-shadow: 0 5px 15px rgba(0,0,0,0.1); |
| 292 | +} |
| 293 | +
|
| 294 | +.btn:hover { |
| 295 | + transform: translateY(-2px); |
| 296 | + box-shadow: 0 4px 8px rgba(0,0,0,0.15); |
| 297 | +} |
| 298 | +</style> |
| 299 | +
|
254 | 300 | <script> |
255 | 301 | $(document).ready(function(){ |
| 302 | + // Rimuovi i pulsanti di submit non necessari |
256 | 303 | $("button[type=submit]").not("#config").remove(); |
| 304 | +
|
| 305 | + // Nascondi la barra superiore e la sidebar |
| 306 | + $(".main-header, .main-sidebar, .control-sidebar-button, .control-sidebar, .control-sidebar-bg").hide(); |
| 307 | +
|
| 308 | + // Espandi il contenuto a tutta la larghezza |
| 309 | + $(".content-wrapper").css({ |
| 310 | + "margin-left": "0", |
| 311 | + "margin-top": "0" |
| 312 | + }); |
| 313 | +
|
| 314 | + // Rimuovi il padding superiore della sezione content |
| 315 | + $(".content").css("padding-top", "0"); |
| 316 | +
|
| 317 | + // Animazione per le card al caricamento |
| 318 | + $(".card-outline").each(function(index) { |
| 319 | + $(this).css({ |
| 320 | + "opacity": "0", |
| 321 | + "transform": "translateY(20px)" |
| 322 | + }).delay(300 + (index * 150)).animate({ |
| 323 | + opacity: 1, |
| 324 | + transform: "translateY(0px)" |
| 325 | + }, 500); |
| 326 | + }); |
257 | 327 | }); |
258 | 328 | </script> |
259 | 329 |
|
|
0 commit comments