Cleanup links

This commit is contained in:
Stephani, John 2026-03-16 17:01:58 -05:00
parent 245465a6fc
commit 5a6bb5577b
No known key found for this signature in database
GPG Key ID: D1DF11026392A2DD
5 changed files with 19 additions and 5 deletions

Binary file not shown.

View File

@ -110,9 +110,13 @@ def puzzle_by_number(puzzle_number):
@app.route('/new', methods=['GET', 'POST']) @app.route('/new', methods=['GET', 'POST'])
def new_puzzle(): def new_puzzle():
with sqlite3.connect(config.db_file) as connection:
cursor = connection.cursor()
puzzle_numbers = get_puzzle_numbers(cursor)
default_creation_date = today_display_date() default_creation_date = today_display_date()
if request.method == 'GET': if request.method == 'GET':
return render_template('new.html', creation_date=default_creation_date) return render_template('new.html', creation_date=default_creation_date, puzzle_numbers=puzzle_numbers)
author = request.form.get("author", "").strip() author = request.form.get("author", "").strip()
raw_creation_date = request.form.get("creation_date", "").strip() or default_creation_date raw_creation_date = request.form.get("creation_date", "").strip() or default_creation_date
@ -132,6 +136,7 @@ def new_puzzle():
'new.html', 'new.html',
error="Author is required.", error="Author is required.",
creation_date=raw_creation_date, creation_date=raw_creation_date,
puzzle_numbers=puzzle_numbers,
form=request.form form=request.form
), 400 ), 400
@ -140,6 +145,7 @@ def new_puzzle():
'new.html', 'new.html',
error='Creation date must be in the format "Day Month Year" (example: 15 March 2026).', error='Creation date must be in the format "Day Month Year" (example: 15 March 2026).',
creation_date=raw_creation_date, creation_date=raw_creation_date,
puzzle_numbers=puzzle_numbers,
form=request.form form=request.form
), 400 ), 400
@ -148,6 +154,7 @@ def new_puzzle():
'new.html', 'new.html',
error="Each category needs a name and exactly 4 words.", error="Each category needs a name and exactly 4 words.",
creation_date=raw_creation_date, creation_date=raw_creation_date,
puzzle_numbers=puzzle_numbers,
form=request.form form=request.form
), 400 ), 400
@ -166,7 +173,8 @@ def new_puzzle():
return render_template( return render_template(
'new.html', 'new.html',
success=f"Saved puzzle #{number}.", success=f"Saved puzzle #{number}.",
creation_date=creation_date creation_date=creation_date,
puzzle_numbers=puzzle_numbers + [number],
) )
@app.route('/delete', methods=['GET', 'POST']) @app.route('/delete', methods=['GET', 'POST'])
@ -196,6 +204,7 @@ def delete_puzzle():
return render_template( return render_template(
'delete.html', 'delete.html',
puzzles=puzzles, puzzles=puzzles,
puzzle_numbers=[puzzle["number"] for puzzle in puzzles],
deleted=request.args.get("deleted"), deleted=request.args.get("deleted"),
error=request.args.get("error"), error=request.args.get("error"),
) )

View File

@ -10,7 +10,10 @@
<body> <body>
<nav class="header-links"> <nav class="header-links">
<a href="/">home</a> <a href="/0">0</a>
{% for number in puzzle_numbers %}
<a href="/{{ number }}">{{ number }}</a>
{% endfor %}
<a href="/new">new</a> <a href="/new">new</a>
<a href="/delete" class="active">delete</a> <a href="/delete" class="active">delete</a>
</nav> </nav>

View File

@ -10,7 +10,6 @@
<body> <body>
<nav class="header-links"> <nav class="header-links">
<a href="/">home</a>
<a href="/0" class="{{ 'active' if current_puzzle == 0 else '' }}">0</a> <a href="/0" class="{{ 'active' if current_puzzle == 0 else '' }}">0</a>
{% for number in puzzle_numbers %} {% for number in puzzle_numbers %}
<a href="/{{ number }}" class="{{ 'active' if current_puzzle == number else '' }}">{{ number }}</a> <a href="/{{ number }}" class="{{ 'active' if current_puzzle == number else '' }}">{{ number }}</a>

View File

@ -10,7 +10,10 @@
<body> <body>
<nav class="header-links"> <nav class="header-links">
<a href="/">home</a> <a href="/0">0</a>
{% for number in puzzle_numbers %}
<a href="/{{ number }}">{{ number }}</a>
{% endfor %}
<a href="/new" class="active">new</a> <a href="/new" class="active">new</a>
<a href="/delete">delete</a> <a href="/delete">delete</a>
</nav> </nav>