Created base template. Updated forms. Added navbar. Added better scraping support for edit page.
This commit is contained in:
parent
13d63245ed
commit
89118c6d1d
11 changed files with 208 additions and 144 deletions
|
|
@ -24,8 +24,8 @@ class DeleteWishlist(FlaskForm):
|
|||
|
||||
|
||||
class EditWishlistInfo(FlaskForm):
|
||||
title = StringField("Title", validators=[DataRequired()])
|
||||
description = TextAreaField("Description", validators=[DataRequired()])
|
||||
title = StringField("Title")
|
||||
description = TextAreaField("Description")
|
||||
wl_edit_submit = SubmitField("Submit")
|
||||
|
||||
|
||||
|
|
|
|||
63
app/templates/base.html
Normal file
63
app/templates/base.html
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Wishthat</title>
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/daisyui@5"
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
/>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
||||
{% endblock head %}
|
||||
</head>
|
||||
<body class="m-0 p-0 w-full h-screen bg-base-200 flex flex-col">
|
||||
<nav class="w-full p-2 flex-none">
|
||||
<div class="navbar bg-base-100 shadow-sm rounded-md">
|
||||
<div class="navbar-start">
|
||||
<div class="dropdown">
|
||||
<div tabindex="0" role="button" class="btn btn-ghost lg:hidden">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-5 w-5"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M4 6h16M4 12h8m-8 6h16"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<ul
|
||||
tabindex="0"
|
||||
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow"
|
||||
>
|
||||
<li><a></a></li>
|
||||
<li>
|
||||
<a>Parent</a>
|
||||
<ul class="p-2">
|
||||
<li><a>Submenu 1</a></li>
|
||||
<li><a>Submenu 2</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a>Item 3</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-ghost text-xl" href="/">wishthat</a>
|
||||
</div>
|
||||
<div class="navbar-end">
|
||||
<a class="btn btn-soft btn-success hidden lg:inline-flex" href="/new">New wishlist</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
{% set cpath = url_for("edit", id=wishlist.editId) %}
|
||||
<main>
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<main class="bg-base-100">
|
||||
<h1>Edit '{{wishlist.title}}'</h1>
|
||||
<sub>Manage your wishlist details and items</sub>
|
||||
<br>
|
||||
|
|
@ -119,3 +122,4 @@
|
|||
price.value = json.price;
|
||||
})
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
</body>
|
||||
</html>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Wishthat</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/daisyui@5" rel="stylesheet" type="text/css" />
|
||||
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
||||
</head>
|
||||
<body class="m-0 p-0 w-full h-screen bg-base-200">
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
{% extends "base.html" %}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
{% include 'header.html' %}
|
||||
{% extends "base.html" %}
|
||||
|
||||
<main class="w-full h-screen flex justify-center items-end md:items-center">
|
||||
{% block content %}
|
||||
|
||||
<main class="w-full flex-grow flex justify-center items-end md:items-center">
|
||||
<form action="{{ url_for("new") }}" method="POST" class="border-2 border-base-300 w-full md:w-md p-6 m-4 rounded-lg shadow-lg bg-base-100">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
|
|
@ -13,8 +15,8 @@
|
|||
{{ form.description(class="w-full textarea validator mt-1 mb-2", placeholder="Wishlist Description") }}
|
||||
<div class="validator-hint">Please make sure that both inputs are filled.</div>
|
||||
|
||||
{{ form.submit(class="btn btn-soft w-full") }}
|
||||
{{ form.submit(class="btn btn-soft btn-success w-full") }}
|
||||
</form>
|
||||
</main>
|
||||
|
||||
{% include 'footer.html' %}
|
||||
{% endblock content %}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
{% include 'header.html' %}
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<dialog class="modal modal-bottom md:modal-middle" open>
|
||||
<div class="modal-box">
|
||||
|
|
@ -11,4 +13,4 @@
|
|||
</div>
|
||||
</dialog>
|
||||
|
||||
{% include 'footer.html' %}
|
||||
{% endblock content %}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
{% include 'header.html' %}
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{wishlist.title}}</h1>
|
||||
<sub>{{wishlist.description}}</sub>
|
||||
|
|
@ -57,4 +59,4 @@
|
|||
|
||||
</script>
|
||||
|
||||
{% include 'footer.html' %}
|
||||
{% endblock content %}
|
||||
|
|
|
|||
|
|
@ -13,14 +13,12 @@ from app.forms import (
|
|||
)
|
||||
from app.models import Wishlist, Item
|
||||
from uuid import UUID, uuid4 as uuid
|
||||
from json import JSONEncoder
|
||||
|
||||
from app.scrapers import scrapeSite
|
||||
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return "hello"
|
||||
return render_template("index.html")
|
||||
|
||||
|
||||
@app.route("/new", methods=["GET", "POST"])
|
||||
|
|
@ -67,7 +65,12 @@ def edit(id: str):
|
|||
|
||||
return redirect(url_for("index"))
|
||||
elif form_wl_editinfo.validate_on_submit() and form_wl_editinfo.wl_edit_submit.data:
|
||||
if form_wl_editinfo.title.data != "" and form_wl_editinfo.title.data != None:
|
||||
wishlist.title = str(form_wl_editinfo.title.data)
|
||||
if (
|
||||
form_wl_editinfo.description.data != ""
|
||||
and form_wl_editinfo.description.data != None
|
||||
):
|
||||
wishlist.description = str(form_wl_editinfo.description.data)
|
||||
db.session.commit()
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue