formspree/formspree/templates/layouts/base.html

107 lines
4.4 KiB
HTML

<!doctype html>
<html lang="{{ lang or 'en' }}">
<head>
<meta charset="UTF-8">
<title>{% block title %}{{config.SERVICE_NAME}}{% endblock %}</title>
<!-- google optimize and analytics -->
<style>.async-hide { opacity: 0 !important} </style>
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-KCSJ8DK':true});</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{config.GA_KEY}}', 'auto');
ga('require', 'GTM-KCSJ8DK');
ga('send', 'pageview');
</script>
<!-- end google optimize and analytics -->
<script src="//use.typekit.net/{{config.TYPEKIT_KEY}}.js"></script>
<script>try{Typekit.load();}catch(e){}</script>
<link rel="icon" type="image/png" href="{{config.SERVICE_URL}}/static/img/favicon.ico">
<meta name="viewport" content="initial-scale=1">
<script defer src="https://use.fontawesome.com/releases/v5.0.9/js/all.js"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.9/js/v4-shims.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://js.stripe.com/v3/"></script>
{% block head_scripts %}{% endblock %}
<link rel="stylesheet" href="{{url_for('static', filename='main.css')}}">
</head>
<body class="{% block bodyclass %}{% endblock %}" id="{% block bodyid %}card{% endblock %}">
<noscript>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
<div class="row">
<div class="container">
<div class="col-1-1">
{% for category, flashed in messages %}
<div class="alert-box {{ category }} banner">
{{ flashed|safe }}
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% endwith %}
</noscript>
{% block nav %}
<nav>
{% if g.user.is_authenticated %}
<div class="greetings">
<h4 class="light">Welcome {{ current_user.email }}
(<a href="{{ url_for('logout') }}">logout</a>)
</h4>
</div>
<div class="menu">
{% if request.path != '/' %}<span class="item"><a href="/">Home</a></span>{% endif %}
<span class="item"><a href="{{ url_for('dashboard') }}">Your forms</a></span>
<span class="item"><a href="{{ url_for('account') }}">{% if current_user.upgraded %}Your{% else %}Upgrade{% endif %} account</a></span>
{% else %}
<div class="greetings">
<h4 class="light">
<a href="http://testformspree.com/" target="_blank">Try Formspree!</a>
</h4>
</div>
<div class="menu">
{% if request.path != '/' %}<span class="item"><a href="/">Home</a></span>{% endif %}
{% if request.path != '/login' %}<span class="item"><a href="{{ url_for('login') }}" class="login">{{ config.UPGRADED_PLAN_NAME }} account login</a></span>{% endif %}
{% endif %}
</div>
</nav>
{% endblock %}
<div class="row">
{% block base %}
<div class="container narrow card">
<h1>Nothing to see here</h1>
</div>
{% endblock base %}
{% block footer %}{% endblock %}
</div>
{% block tail_scripts %}{% endblock %}
<script src="//cdnjs.cloudflare.com/ajax/libs/SlickNav/1.0.3/jquery.slicknav.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.1/toastr.min.js"></script>
<script>
/* turning flask flash messages into js popup notifications */
window.popupMessages = {{ get_flashed_messages(with_categories=True) | json | safe }}
</script>
<script src="https://checkout.stripe.com/checkout.js"></script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
<script type="text/javascript">
Stripe.setPublishableKey('{{config.STRIPE_PUBLISHABLE_KEY}}');
</script>
<script src="{{ url_for('static', filename='bundle.js' if config.DEBUG else 'bundle.prod.js') }}"></script>
</body>
</html>