oh hai. i edited all your templates and introduced less stylesheets

This commit is contained in:
Konrad Mohrfeldt 2011-10-16 00:39:35 +02:00
parent 28ade73b47
commit 456465a67e
10 changed files with 1134 additions and 626 deletions

View File

@ -1,7 +1,7 @@
{% load thumbnail %}
{% if buyables %}
<table class="showitem">
<table class="itemList">
<tbody>
{% for buyable in buyables %}
<tr>
@ -11,25 +11,25 @@
<td class="name"><a href="/store/show/{{ buyable.id }}">{{ buyable.name }}</a></td>
<td class="actions">
{% if buyable.hasDeposit %}
<a class="buyButton includingPrice" href="/store/buy/{{ buyable.id }}"
<a class="button buy" href="/store/buy/{{ buyable.id }}"
title="Kaufen (Ohne Pfand)">
<span><span>{{ buyable.price|floatformat:2 }} </span></span>
<span><span>{{ buyable.price|floatformat:2 }}€</span></span>
</a>
<a class="buyButton includingDeposit includingPrice"
<a class="button buy inclDeposit"
href="/store/buy/{{ buyable.id }}/with/deposit" title="Kaufen (Mit Pfand)">
<span><span>{{ buyable.price|floatformat:2 }} € / {{ buyable.deposit|floatformat:2 }} </span></span>
<span><span>{{ buyable.price|floatformat:2 }}€ / {{ buyable.deposit|floatformat:2 }}€</span></span>
</a>
<a class="buyButton onlyDeposit includingPrice"
<a class="button buy onlyDeposit"
href="/store/buy/{{ buyable.id }}/only/deposit" title="Kaufen (Nur Pfand)">
<span><span>{{ buyable.deposit|floatformat:2 }} </span></span>
<span><span>{{ buyable.deposit|floatformat:2 }}€</span></span>
</a>
{% else %}
<a class="buyButton includingPrice" href="/store/buy/{{ buyable.id }}"
<a class="button buy" href="/store/buy/{{ buyable.id }}"
title="Kaufen">
<span><span>{{ buyable.price|floatformat:2 }} </span></span>
<span><span>{{ buyable.price|floatformat:2 }}€</span></span>
</a>
{% endif %}
</td>

View File

@ -3,70 +3,45 @@
{% block "content" %}
<p><a href="/store/">Zur Liste aller Items</a></p>
<a href="/store/">Zur Liste aller Items</a>
{% if item %}
<table class="showitem" width="40%">
<tr>
<td>
<table width="100%">
<tr>
<td colspan="2" align="center">
<div style="font-size:large">{{ item.name }}</div>
<img src="{% thumbnail item.image 400x400 %}">
</td>
</tr>
<tr>
<th>
Kategorie{{ item.buyableType.all.count|pluralize:"n"}}:</th>
<td>
{% for type in item.buyableType.all %}
{{ type }} <br/>
{% endfor %}
</td>
</tr>
<tr>
<th>
Preis:
</th>
<td>
{{ item.price|floatformat:2 }} € {% if item.hasDeposit %}(+ Pfand {{ item.deposit|floatformat:2 }} €) {% endif %}
</td>
</tr>
<tr>
<td colspan="2" align="center" style="padding:15px;font-style:italic">
"{{ item.description }}"
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr>
<td width="33%">
{% if item.hasDeposit %}
<a class="button" href="/store/buy/{{ item.id }}/with/deposit/">Kaufen - {{ item.price|floatformat:2 }} € <br/>+ {{ item.deposit|floatformat:2 }} € Pfand</a>
{% else %}
&nbsp;
{% endif %}
</td>
<td width="34%">
<a class="button" href="/store/buy/{{ item.id }}/">Kaufen - {{ item.price|floatformat:2 }} €<br/>{% if item.hasDeposit %} (Ohne Pfand){% endif %}</a>
</td>
<td width="33%">
{% if item.hasDeposit %}
<a class="button" href="/store/buy/{{ item.id }}/only/deposit/">Kaufen <br/>nur {{ item.deposit|floatformat:2 }} € Pfand</a>
{% else %}
&nbsp;
{% endif %}
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="singleItem" >
<div class="productImage">
<img src="{% thumbnail item.image 400x400 %}">
</div>
<div class="productMeta">
<div>
<h2>{{ item.name }}</h2>
<h3>Kaufen</h3>
<div class="actions clearAfter">
<a class="button buy" href="/store/buy/{{ item.id }}/">
<span><span>{{ item.price|floatformat:2 }}€</span></span>
</a>
<a class="button buy inclDeposit" href="/store/buy/{{ item.id }}/with/deposit/">
<span><span>{{ item.price|floatformat:2 }}€ / {{ item.deposit|floatformat:2 }}€</span></span>
</a>
<a class="button buy onlyDeposit"
href="/store/buy/{{ item.id }}/only/deposit/">
<span><span>{{ item.deposit|floatformat:2 }}€</span></span>
</a>
</div>
<h3>Beschreibung</h3>
<div class="description">"{{ item.description }}"</div>
<h3>Kategorie{{ item.buyableType.all.count|pluralize:"n"}}</h3>
<ul>
{% for type in item.buyableType.all %}
<li>{{ type }}</li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% else %}
No item found :(
Produkt wurde nicht gefunden
{% endif %}
{% endblock %}

View File

@ -18,16 +18,23 @@
<body{%block bodyargs %}{%endblock%}>
<div id="header">
<div class="search">
{% if user.is_authenticated %}
{% include "main/search-form.html" %}
{% endif %}
<div>
{% if user.is_authenticated %}
{% include "main/search-form.html" %}
{% endif %}
</div>
</div>
<div class="base_nav">
<div class="navigation">
<h1>Kasse</h1>
<nav>
{% if user.is_authenticated %}
{% include "main/navigation-login.html" %}
{% else %}
{% include "main/navigation.html" %}
{% endif %}
</nav>
{% if user.is_authenticated %}
{% include "main/navigation-login.html" %}
{% else %}
{% include "main/navigation.html" %}
<span class="balance">Kontostand: {{ user.get_profile.balance|floatformat:2 }} €</span>
{% endif %}
</div>
</div>

View File

@ -1,4 +1,4 @@
<ul>
<ul role="navigation sitemap">
<li><a href="/">Home</a></li>
<li><a href="/store/">Einkaufen</a></li>
<li><a href="/transaction/">Konto</a></li>
@ -9,4 +9,3 @@
{% endif %}
<li><a href="/user/logout/">Abmelden</a></li>
</ul>
<span class="balance">Kontostand: {{ user.get_profile.balance|floatformat:2 }} €</span>

View File

@ -1,7 +1,7 @@
{% load thumbnail %}
{% if buyables %}
<table width=100% class="showitem">
<table class="itemList">
<tbody>
{% for buyable in buyables %}
<tr>
@ -11,13 +11,13 @@
<td class="name"><span>{{ buyable.buyable__name }}</span> {% if buyable.num_buys %}({{ buyable.num_buys }} mal gekauft){% endif %}</td>
<td class="actions">
{% if buyable.buyable__deposit > 0 %}
<a class="buyButton includingPrice" href="/store/buy/{{ buyable.buyable__id }}" title="Kaufen (Ohne Pfand)"><span><span>{{ buyable.buyable__price|floatformat:2 }}€</span></span></a>
<a class="buyButton includingDeposit includingPrice" href="/store/buy/{{ buyable.buyable__id }}/with/deposit" title="Kaufen (Mit Pfand)"><span><span>{{ buyable.buyable__price|floatformat:2 }} € / {{ buyable.buyable__deposit|floatformat:2 }}€</span></span></a>
<a class="button buy" href="/store/buy/{{ buyable.buyable__id }}" title="Kaufen (Ohne Pfand)"><span><span>{{ buyable.buyable__price|floatformat:2 }}€</span></span></a>
<a class="button buy inclDeposit" href="/store/buy/{{ buyable.buyable__id }}/with/deposit" title="Kaufen (Mit Pfand)"><span><span>{{ buyable.buyable__price|floatformat:2 }}€ / {{ buyable.buyable__deposit|floatformat:2 }}€</span></span></a>
{% if includeDeposit %}
<a class="buyButton onlyDeposit" href="/store/buy/{{ buyable.buyable__id }}/only/deposit" title="Kaufen (Nur Pfand)"><span><span>{{ buyable.buyable__deposit|floatformat:2 }}€</span></span></a>
<a class="button buy onlyDeposit" href="/store/buy/{{ buyable.buyable__id }}/only/deposit" title="Kaufen (Nur Pfand)"><span><span>{{ buyable.buyable__deposit|floatformat:2 }}€</span></span></a>
{% endif %}
{% else %}
<a class="buyButton" href="/store/buy/{{ buyable.buyable__id }}" title="Kaufen"><span><span>{{ buyable.buyable__price|floatformat:2 }}€</span></span></a>
<a class="button buy" href="/store/buy/{{ buyable.buyable__id }}" title="Kaufen"><span><span>{{ buyable.buyable__price|floatformat:2 }}€</span></span></a>
{% endif %}
</td>
</tr>

View File

@ -1,6 +1,3 @@
<form method="get" action="#">
<input placeholder="Suche und kaufe..." class="autocomplete"
type="search" name="search_term" value="Lade Daten..."
disabled="disabled" />
<input type="submit" value="Suchen" />
</form>
<input placeholder="Suche und kaufe..." class="autocomplete"
type="search" name="search_term" value="Lade Daten..."
disabled="disabled" />

View File

@ -2,7 +2,7 @@
{% block "content" %}
{% if allMostDrinks or allMostSnacks %}
<table class="showlists">
<table class="itemListContainer">
<thead>
<tr>
<td role="presentation">&nbsp;</td>
@ -14,25 +14,25 @@
<tbody>
<tr>
<th scope="row">Getränke</th>
<td style="vertical-align:top">
<td>
{% include "main/product_list.html" with buyables=allMostDrinks %}
</td>
<td style="vertical-align:top">
<td>
{% include "main/product_list.html" with buyables=usersMostDrinks %}
</td>
<td style="vertical-align:top">
<td>
{% include "main/product_list.html" with buyables=usersLastDrinks %}
</td>
</tr>
<tr style="border-top: 2px solid #ECECEC">
<tr>
<th scope="row">Snacks</th>
<td style="vertical-align.top">
<td>
{% include "main/product_list.html" with buyables=allMostSnacks %}
</td>
<td style="vertical-align:top">
<td>
{% include "main/product_list.html" with buyables=usersMostSnacks %}
</td>
<td style="vertical-align:top">
<td>
{% include "main/product_list.html" with buyables=usersLastSnacks %}
</td>
</tr>

View File

@ -16,7 +16,7 @@
<p>{{ form.password.label_tag }} {{ form.password }}</p>
</fieldset>
<input type="submit" value="Anmelden" />
<input type="submit" class="button" value="Anmelden" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

File diff suppressed because it is too large Load Diff

543
k4ever/media/css/style.less Normal file
View File

@ -0,0 +1,543 @@
/* IF IM NOT A .LESS FILE DO NOT EDIT ME, BUT EDIT THE LESS FILE INSTEAD :) */
/*
* k4ever less stylesheet
*
* @author Theresa Enghardt <theresa@freitagsrunde.org>
* @author Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org>
*/
/* these should be replaced by local ones. im to lazy. anyone?
some help: http://www.fontsquirrel.com/fontface/generator */
@import "http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700.css";
@import "http://fonts.googleapis.com/css?family=Ubuntu:400,700.css";
/* this is a css style reset. theres much discussion if something like this
is helpful and appropriate. well... its here for now, so please dont
change anything in the following block */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
background: transparent;
border: 0;
margin: 0;
padding: 0;
vertical-align: baseline;
}
ol, ul, li { list-style: none; }
a:focus, input:focus { outline: none; }
body { line-height: 1; }
blockquote { quotes: none; }
blockquote:before, blockquote:after { content: ''; content: none; }
del { text-decoration: line-through; }
table { border-collapse: collapse; border-spacing: 0; }
a img { border: none; }
a { text-decoration: none; color: inherit; }
/* end of the css style reset block. feel free to change things */
// less functions
.vertical-linear-gradient(@startColour, @endColour) {
background-image: -webkit-gradient(linear, left top, left bottom, from(@startColour), to(@endColour));
background-image: -webkit-linear-gradient(top, @startColour, @endColour);
background-image: -moz-linear-gradient(top, @startColour, @endColour);
background-image: -ms-linear-gradient(top, @startColour, @endColour);
background-image: -o-linear-gradient(top, @startColour, @endColour);
background-image: linear-gradient(top, @startColour, @endColour);
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorStr='@{startColour}', EndColorStr='@{endColour}')";
}
.box-shadow(@args) {
-moz-box-shadow: @args;
-webkit-box-shadow: @args;
box-shadow: @args;
}
.border-radius(@args) {
-webkit-border-radius: @args;
-moz-border-radius: @args;
border-radius: @args;
/* useful if you don't want a bg color from leaking outside the border: */
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
}
.transition(@args) {
-webkit-transition: @args;
-moz-transition: @args;
-ms-transition: @args;
-o-transition: @args;
transition: @args;
}
.rotate(@degrees) {
-webkit-transform: rotate(@degrees);
-moz-transform: rotate(@degrees);
-ms-transform: rotate(@degrees);
-o-transform: rotate(@degrees);
transform: rotate(@degrees);
}
// end less functions
// less variables
// folders
@fldImages: "img";
@fldFonts: "font";
// colours
@clrDarkGrey: #111111;
@clrMediumGrey: #666666;
@clrMediumLightGrey: #e5e5e5;
@clrLightGrey: #eaeaea;
@clrLightBlue: #32bbef;
@clrMediumBlue: #3398cc;
@clrDarkBlue: #007bba;
// fonts
@ftText: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
@ftHeadlines: "Ubuntu", inherit;
// end less variables
body {
background: white;
font: 11px @ftText;
}
h1, h2, h3, h4, h5, h6, th {
clear: both;
font-weight: bold;
margin: 0;
font-family: @ftHeadlines;
color: @clrDarkBlue;
}
h2 {
border-bottom: 1px solid @clrDarkBlue;
margin-bottom: 10px;
}
h3 {
margin: 3px 0 5px 0;
}
.clear {
clear: both;
}
.clearAfter:after {
content: ".";
height: 0;
float: none;
visibility: hidden;
clear: both;
display: block;
}
.content {
padding: 5px;
a {
color: @clrMediumBlue;
&:hover {
color: white;
background-color: @clrMediumBlue;
}
}
}
input {
padding: 2px 5px;
border: 1px solid #E5E5E5;
background: url("@{fldImages}/404") white;
}
input {
&[type="text"], &[type="search"], &[type="password"] {
&:focus {
background: #FAFFBD;
}
}
}
p {
margin-bottom: 7px;
}
#header {
margin-bottom: 20px;
position: relative;
> div {
padding: 5px 10px;
}
.search {
height: 40px;
position: relative;
z-index: 2;
background-color: @clrDarkGrey;
.vertical-linear-gradient(@clrMediumGrey, @clrDarkGrey);
.box-shadow(0 3px 8px 0 black);
> div {
background: url("img/logo.png") 0 center no-repeat transparent;
height: 100%;
}
input {
width: 300px;
height: 30px;
float: right;
}
ul.ui-autocomplete {
background: white;
width: 298px;
border-width: 0 1px 1px 1px;
border-style: solid;
border-color: black;
z-index: 100;
li.ui-menu-item {
display: table-row;
&:hover, &.focus {
color: white;
.vertical-linear-gradient(@clrLightBlue, @clrMediumBlue);
.box-shadow(0 0 5px @clrMediumGrey);
}
a {
span {
line-height: 1;
vertical-align: top;
img {
height: 50px;
}
}
&#ui-active-menuitem.ui-corner-all div {
color: #FF0084;
}
&.ui-corner-all span {
display: table-cell;
}
}
}
.preview, .buy, .meta {
height: 50px;
padding: 5px;
font-size: 10px;
}
.preview {
width: 50px;
overflow: hidden;
text-align: center;
vertical-align: middle;
}
.buy {
vertical-align: middle;
width: 50px;
}
.focus .buy {
background-image: url("img/alt.png");
background-repeat: no-repeat;
background-position: 2px center;
}
.focus .buy.lock {
background-image: url("img/buy.png");
}
.focus .buy.lock.load,
.focus .buy.load {
background-image: url("img/load.gif");
}
.focus .buy.lock.success,
.focus .buy.success {
background-image: url("img/success.png");
}
.focus .buy.lock.failure,
.focus .buy.failure {
background-image: url("img/failure.png");
}
.meta {
width: 210px;
}
.meta:first-line {
font-weight: bold;
}
}
}
.navigation {
text-transform: uppercase;
color: white;
border-bottom: 2px solid black;
padding-top: 10px;
position: relative;
z-index: 1;
background-color: @clrMediumBlue;
.vertical-linear-gradient(@clrLightBlue, @clrMediumBlue);
> * {
display: inline-block;
vertical-align: middle;
}
h1 {
color: white;
margin: 0 20px 0 0;
text-shadow: 0 -1px #777;
}
li {
display: inline-block;
font-weight: bold;
margin-right: 10px;
a {
display: block;
text-align: center;
vertical-align: middle;
padding: 10px 15px;
margin: 3px 0;
.border-radius(20px);
.transition(~"background .2s, box-shadow .2s");
&:hover {
background: white;
color: @clrMediumBlue;
.box-shadow(0 1px 0 0 #777 inset);
.transition(~"background .2s, box-shadow .2s");
}
}
}
.balance {
float: right;
display: block;
padding: 10px 0;
margin: 3px 0;
}
}
}
form.login {
width: 300px;
margin: 60px auto;
border: 1px solid @clrMediumLightGrey;
padding: 20px;
.box-shadow(1px 1px 2px @clrLightGrey);
label {
display: block;
margin-top: 10px;
margin-bottom: 3px;
}
input {
font-size: 20px;
width: 97%;
padding: 5px 3px;
}
.button {
margin: 12px auto 0;
float: none;
width: 70%;
}
}
table.itemList {
width: 100%;
tbody tr:nth-child(even) {
td.name, td.actions {
background-color: @clrMediumLightGrey;
}
}
td, th {
vertical-align: middle;
}
th {
font-size: 20px;
text-align: center;
}
td {
padding-bottom: 10px;
&.productImage {
width: 80px;
text-align: center;
img {
max-width: 100%;
max-height: 64px;
}
}
&.name {
padding: 0 10px;
span {
display: block;
font-weight: bold;
}
a {
display: block;
font: 20px @ftHeadlines;
text-decoration: none;
font-weight: bold;
}
}
}
}
table.itemListContainer {
width: 100%;
td, th {
vertical-align: middle;
}
th {
font-size: 20px;
&[scope="row"] {
width: 20px;
.rotate(270deg);
}
}
> tbody > tr:first-child ~ tr > td{
padding-top: 50px;
}
}
.singleItem {
width: 820px;
margin: 0 auto;
.productImage, .productMeta {
float: left;
width: 400px;
}
.productImage {
text-align: center;
img {
max-width: 80%;
}
}
.productMeta {
margin-left: 20px;
}
.actions {
padding-bottom: 5px;
a {
margin-top: 0;
}
}
}
.button {
display: block;
padding: 5px 10px;
margin: 10px 10px 15px 0;
position: relative;
height: 32px;
text-align: center;
border-radius: 6px;
float: left;
z-index: 2;
color: white;
background-color: @clrDarkGrey;
border: 0 none;
.border-radius(6px);
.vertical-linear-gradient(@clrMediumGrey, @clrDarkGrey);
.box-shadow(0 1px 3px 0 black);
&.buy {
.border-radius(6px 6px 0 0);
> span {
display: block;
height: 100%;
min-width: 32px;
background: url("img/payment.png") no-repeat center center transparent;
> span {
position: absolute;
bottom: -15px;
left: 0;
display: block;
width: 100%;
z-index: 1;
background-color: #3398cc;
color: white;
font-size: 10px;
line-height: 15px;
.border-radius(0 0 6px 6px);
.box-shadow(~"0 1px 3px 0 black, 0 1px 1px 0 black inset");
}
}
&.onlyDeposit > span{
background-image: url("img/deposit.png");
}
&.inclDeposit > span {
background-image: url("img/payment_deposit.png");
min-width: 65px;
}
}
&:hover {
background-color: darken(@clrDarkGrey, 20%) !important;
.vertical-linear-gradient(darken(@clrMediumGrey, 20%), darken(@clrDarkGrey, 20%));
}
&:active {
.box-shadow(~"0 1px 3px 0 black, 0 1px 3px 0 black inset");
}
}