diff --git a/app.py b/app.py index b7efca0..7915f0c 100644 --- a/app.py +++ b/app.py @@ -19,57 +19,10 @@ app = Flask(__name__) app.secret_key = "blahaj" -templates = { - "DNH": { - "text1": { - "string": "Do Not Hack", - "size": 130, - "pos": 0, - "bold": True - }, - "text2": { - "string": "bottom text", - "size": 50, - "pos": 130, - "bold": False - }, - "cut": True - }, - "Food": { - "text1": { - "string": "Nickname", - "size": 130, - "pos": 0, - "bold": True - }, - "text2": { - "string": "", - "size": 50, - "pos": 130, - "bold": False - }, - "cut": True - }, - "Remove by": { - "text1": { - "string": "Remove by", - "size": 130, - "pos": 0, - "bold": True - }, - "text2": { - "string": "", - "size": 50, - "pos": 130, - "bold": False - }, - "cut": True - } -} def render_text_template(info=None, info_color=None, scrollDown=None): - return render_template('text.html', filename=session["text image path"], text1=session["text1"], text2=session["text2"], cut=session["cut"], info=info, info_color=info_color, scrollDown=scrollDown, fonts=session["fonts"]) + return render_template('text.html', filename=session["text image path"], cut=session["cut"], info=info, info_color=info_color, scrollDown=scrollDown, fonts=session["fonts"]) @@ -90,9 +43,7 @@ def on_new_user(session): session["text image path"] = None session["uploaded image path"] = None session["cut"] = True - session["text1"] = templates["DNH"]["text1"] - session["text2"] = templates["DNH"]["text2"] - session["cut"] = templates["DNH"]["cut"] + session["cut"] = True session["fonts"] = fonts() @@ -155,25 +106,6 @@ def image_print(): return render_image_template() -@app.route('/text-template', methods=['GET', 'POST']) -def text_template(): - check_for_new_user(session) - - if request.method == 'POST': - template = templates[request.form["template"]] - - if request.form["template"] == "Food": - template["text2"]["string"] = datetime.now().strftime('%Y-%m-%d') - - if request.form["template"] == "Remove by": - template["text2"]["string"] = (datetime.now() + timedelta(weeks=3)).strftime('%Y-%m-%d') - - session["text1"] = template["text1"] - session["text2"] = template["text2"] - session["cut"] = template["cut"] - - return render_text_template() - @app.route('/text-form', methods=['GET', 'POST']) def text_form(): diff --git a/templates/text.html b/templates/text.html index 14270bb..3e0d526 100644 --- a/templates/text.html +++ b/templates/text.html @@ -7,12 +7,12 @@ {% endblock %} {% block content %} -
@@ -79,8 +79,38 @@ return html; } + const templates = new Map ([ + ["DNH", [{ + text: "Do Not Hack", + size: 130, + y_pos: 0 + }, { + text: "bottom text", + size: 50, + y_pos: 130 + }]], + ["Food", [{ + text: "Nickname", + size: 130, + y_pos: 0 + }, { + text: new Date().toISOString().slice(0, 10), + size: 50, + y_pos: 130 + }]], + ["Remove by", [{ + text: "Remove by", + size: 130, + y_pos: 0 + }, { + text: new Date(Date.now() + 3 * 7 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10), + size: 50, + y_pos: 130 + }]], + ]); - function generate_fields() { + + function generate_and_populate_fields() { let html = "" let lineCnt = get_persistent("lineCount", 2); @@ -88,10 +118,12 @@ let modified_line_form = line_form; modified_line_form + template = templates.get("DNH"); + modified_line_form = modified_line_form.replace("[title]", "Line " + i); - modified_line_form = init_field("text", "Text", i, modified_line_form); - modified_line_form = init_field("size", 130, i, modified_line_form); - modified_line_form = init_field("y_pos", i*130, i, modified_line_form); + modified_line_form = init_field("text", template[i].text, i, modified_line_form); + modified_line_form = init_field("size", template[i].size, i, modified_line_form); + modified_line_form = init_field("y_pos", template[i].y_pos, i, modified_line_form); html += modified_line_form; console.log(i); } @@ -103,7 +135,7 @@ document.getElementById("input").innerHTML = html; } - generate_fields() + generate_and_populate_fields() const text_form = document.getElementById("text_form") text_form.addEventListener('submit', function(e) { @@ -124,13 +156,30 @@ function add_line() { localStorage.setItem("lineCount", Number(localStorage.getItem("lineCount")) + 1); - generate_fields(); + generate_and_populate_fields(); } function remove_line() { localStorage.setItem("lineCount", Number(localStorage.getItem("lineCount")) - 1); - generate_fields(); + generate_and_populate_fields(); } + const template_selector = document.getElementById("template") + template_selector.addEventListener('submit', function(e) { + e.preventDefault(); + template = templates.get(template_selector.elements.template.value); + + + for (let i = 0; i < template.length; i++) { + localStorage.setItem("text" + i, template[i].text); + localStorage.setItem("size" + i, template[i].size); + localStorage.setItem("y_pos" + i, template[i].y_pos); + } + localStorage.setItem("lineCount", template.length); + generate_and_populate_fields() + + + }); + {% endblock %}