Bootstrap & bootstrap theme startup
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from sqlalchemy.orm import DeclarativeBase
|
||||
from flask_migrate import Migrate
|
||||
from flask_bcrypt import Bcrypt
|
||||
from flask_bootstrap import Bootstrap
|
||||
from flask_jwt_extended import JWTManager
|
||||
|
||||
|
||||
# Create extensions
|
||||
|
||||
db = SQLAlchemy()
|
||||
migrate = Migrate()
|
||||
bcrypt = Bcrypt()
|
||||
bootstrap = Bootstrap()
|
||||
jwt = JWTManager()
|
||||
jwt = JWTManager()
|
||||
@@ -1,19 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="en" itemscope itemtype="http://schema.org/WebPage">
|
||||
|
||||
<head>
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="UTF-8">
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
||||
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="{{url_for('static', filename='assets/img/apple-icon.png')}}">
|
||||
<link rel="icon" type="image/png" href="{{url_for('static', filename='./assets/img/favicon.png')}}">
|
||||
<title>
|
||||
{% block title %}{% endblock %}
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900|Roboto+Slab:400,700" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="{{url_for('static', filename='/assets/css/nucleo-icons.css" rel="stylesheet')}}" />
|
||||
<link href="{{url_for('static', filename='/assets/css/nucleo-svg.css" rel="stylesheet')}}" />
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<!-- Material Icons -->
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Round" rel="stylesheet">
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="{{url_for('static', filename='/assets/css/material-kit-pro.css')}}" rel="stylesheet" />
|
||||
</head>
|
||||
<body>
|
||||
<div><a href="/register">Register</a></div>
|
||||
<div><a href="/login">Login</a></div>
|
||||
<hr>
|
||||
|
||||
<body class="presentation-page bg-gray-200">
|
||||
{% include 'navbar.html' %}
|
||||
{% with messages = get_flashed_messages()%}
|
||||
{% if messages%}
|
||||
{% for message in messages%}
|
||||
|
||||
59
eveai_app/templates/navbar.html
Normal file
59
eveai_app/templates/navbar.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!-- Navbar Light -->
|
||||
<nav
|
||||
class="navbar navbar-expand-lg navbar-light bg-white z-index-3 py-3">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="" rel="tooltip" title="Generated by Kobe & Pieter @ Flow IT" data-placement="bottom" target="_blank">
|
||||
EveAI
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navigation" aria-controls="navigation" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navigation">
|
||||
<ul class="navbar-nav navbar-nav-hover mx-auto">
|
||||
<li class="nav-item px-3">
|
||||
<a class="nav-link">
|
||||
User Mgmt
|
||||
</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<li>
|
||||
<a class="dropdown-item" href="/user/tenant">
|
||||
Tenant Registration
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="/user/user">
|
||||
User Registration
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="nav-item px-3">
|
||||
<a class="nav-link">
|
||||
Document Mgmt
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item px-3">
|
||||
<a class="nav-link">
|
||||
Interaction Mgmt
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item px-3">
|
||||
<a class="nav-link ">
|
||||
Login
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<button class="btn bg-gradient-primary mb-0">Buy Now</button>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Navbar -->
|
||||
|
||||
|
||||
</div>
|
||||
@@ -6,7 +6,7 @@ from wtforms.validators import DataRequired, Length, Email, NumberRange
|
||||
class TenantForm(FlaskForm):
|
||||
name = StringField('Name', validators=[DataRequired(), Length(max=80)])
|
||||
website = StringField('Website', validators=[DataRequired(), Length(max=255)])
|
||||
license_start_date = DateField('License Start Date', id='datepicker')
|
||||
license_start_date = DateField('License Start Date', id='form-control datepicker')
|
||||
license_end_date = DateField('License End Date', id='datepicker')
|
||||
allowed_monthly_interactions = IntegerField('Allowed Monthly Interactions', validators=[NumberRange(min=0)])
|
||||
submit = SubmitField('Submit')
|
||||
@@ -25,3 +25,5 @@ class UserForm(FlaskForm):
|
||||
valid_to = DateField('Valid to', id='datepicker')
|
||||
tenant_id = IntegerField('Tenant ID', validators=[NumberRange(min=0)])
|
||||
submit = SubmitField('Submit')
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user