🎯 Konfiguracija
+⚙️ Nastavitve
🏆 Lestvica
+ 0 +Dodaj na lestvico +
diff --git a/app.py b/app.py index c7000dc..ced3268 100644 --- a/app.py +++ b/app.py @@ -2569,5 +2569,50 @@ def set_language(language): 'message': f'Unsupported language: {language}' }), 400 +# ── Calculator leaderboard & display settings ──────────────────────────────── + +CALC_LEADERBOARD_FILE = os.path.join('data', 'calculator_leaderboard.json') + +@app.route('/api/calculator/leaderboard', methods=['GET']) +def get_calculator_leaderboard(): + try: + if os.path.exists(CALC_LEADERBOARD_FILE): + with open(CALC_LEADERBOARD_FILE, 'r', encoding='utf-8') as f: + return jsonify(json.load(f)) + return jsonify([]) + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 500 + +@app.route('/api/calculator/leaderboard', methods=['POST']) +def save_calculator_leaderboard(): + try: + data = request.get_json() + os.makedirs('data', exist_ok=True) + with open(CALC_LEADERBOARD_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, indent=2, ensure_ascii=False) + return jsonify({'status': 'success'}) + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 500 + +@app.route('/api/calculator/display', methods=['GET']) +def get_calculator_display(): + try: + settings = load_settings() + return jsonify(settings.get('calc_display', {'enabled': False, 'camera': 1})) + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 500 + +@app.route('/api/calculator/display', methods=['POST']) +def save_calculator_display(): + try: + data = request.get_json() + settings = load_settings() + settings['calc_display'] = {'enabled': bool(data.get('enabled')), 'camera': int(data.get('camera', 1))} + save_settings(settings) + return jsonify({'status': 'success'}) + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 500 + + if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) \ No newline at end of file diff --git a/app/storage.py b/app/storage.py index 318db97..ee5f0b8 100644 --- a/app/storage.py +++ b/app/storage.py @@ -35,7 +35,11 @@ DEFAULT_SETTINGS = { 'show_titles': True, 'title_size': 1.1 }, - 'disabled_cameras': [] + 'disabled_cameras': [], + 'calc_display': { + 'enabled': False, + 'camera': 1 + } } diff --git a/data/calculator_leaderboard.json b/data/calculator_leaderboard.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/data/calculator_leaderboard.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/data/camera_settings.json b/data/camera_settings.json index 9a97d9c..aebf485 100644 --- a/data/camera_settings.json +++ b/data/camera_settings.json @@ -13,5 +13,9 @@ "target_number_size": 1.7 }, "tv_view": "cameras", - "disabled_cameras": [] + "disabled_cameras": [], + "calc_display": { + "enabled": true, + "camera": 4 + } } \ No newline at end of file diff --git a/templates/calculator.html b/templates/calculator.html index 287a3a4..db087ae 100644 --- a/templates/calculator.html +++ b/templates/calculator.html @@ -1,5 +1,5 @@ - +