+{/block}
+
+
diff --git a/app/modules/Front/Home/templates/ipa.latte b/app/modules/Front/Home/templates/ipa.latte
new file mode 100644
index 0000000..d72ec79
--- /dev/null
+++ b/app/modules/Front/Home/templates/ipa.latte
@@ -0,0 +1,68 @@
+{block title}Slovnik{/block}
+{layout ../@layout.latte}
+{block head}
+
+{/block}
+
+{block content}
+
+
Zadaj vyhladavany vyraz.
+
+
+ {form searchForm}
+
+
+ | {label string /} | {label translation /} | {label clen /} |
+
+
+ | {input string} | {input translation} | {input clen} | {input search} |
+
+
+ {ifset $result}
+
+
+ | Preklad |
+
+{var $last = ''}
+{foreach $result as $term}
+{if ($last != $term->string1 && $last != '') }
+
+
+
+{/if}
+{if $last != $term->string1}
+
+
+ {$term->string1}
+ {foreach $term->pronunciations as $pron}
+ [{$pron->ipa}]
+
+ {/foreach}
+
+
+{/if}
+{$last == $term->string1 && trim($last2) != '' && trim($term->string2) != '' ? ', ' : ''}{$term->string2}{**
+ Nutne kvoli newline
+**}
+{? $last = $term->string1}
+{? $last2 = $term->string2}
+{/foreach}
+ |
+ {/ifset}
+ {/form}
+ {control paginator}
+
+{/block}
+
diff --git a/app/modules/Front/templates/@layout.latte b/app/modules/Front/templates/@layout.latte
index ca8db8a..b72cfe3 100644
--- a/app/modules/Front/templates/@layout.latte
+++ b/app/modules/Front/templates/@layout.latte
@@ -1,38 +1,62 @@
-{layout '../../Base/templates/@layout.latte'}
+{**
+ * @param string $basePath web base path
+ * @param array $flashes flash messages
+ *}
+
+
+
+
-{block #head}
-
-
-
-{/}
+
{ifset title}{include title|striptags} | {/ifset}Nette Sandbox
-{block #main}
-
-{/}
+
+
+ My Dictionary
+ multilanguage dictionary with pronunciations
+
+
+
+
+
+
+ {$title}
+
+ {$flash->message}
+
+ {include content}
+
+
+
+
+
+
+ {block scripts}
+ {/block}
+
+
diff --git a/www/assets/css/style.css b/www/assets/css/style.css
new file mode 100644
index 0000000..5fe804b
--- /dev/null
+++ b/www/assets/css/style.css
@@ -0,0 +1,510 @@
+body {
+ font-size: 15px;
+ line-height: 1.6;
+ color: #333;
+ background: white;
+}
+
+h1 {
+ color: #3484D2;
+}
+
+#ajax-spinner {
+ margin: 15px 0 0 15px;
+ padding: 13px;
+ background: white url('../images/spinner.gif') no-repeat 50% 50%;
+ font-size: 0;
+ z-index: 123456;
+ display: none;
+}
+
+div.flash {
+ color: black;
+ background: #FFF9D7;
+ border: 1px solid #E2C822;
+ padding: 1em;
+ margin: 1em 0;
+}
+
+a[href^="#error:"] {
+ background: red;
+ color: white;
+}
+
+form th, form td {
+ vertical-align: top;
+ font-weight: normal;
+}
+
+form th {
+ text-align: right;
+}
+
+form .required label {
+ font-weight: bold;
+}
+
+form .error {
+ color: #D00;
+ font-weight: bold;
+}
+
+table.trans {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.trans th, table.trans td {
+ text-align: left;
+ padding: 2px;
+}
+
+table.trans tr:nth-child(even){background-color: #f2f2f2}
+
+table.trans th {
+ background-color: #4CAF50;
+ color: white;
+}
+
+.e-table {
+ width: 100%;
+ border-collapse: collapse;
+ font-family: Arial;
+ font-style: bold;
+}
+
+.e-table td, .e-table th {
+ padding: 10px 20px;
+}
+
+.e-table th {
+ color: #363636;
+ text-align: left;
+ font-family: "Open Sans";
+ font-weight: bold;
+ background: #1d9bd4 none repeat scroll 0 0;
+ border-bottom: 1px solid #146a91;
+ color: #fff;
+ font-weight: 700;
+}
+
+.e-table td {
+ text-align: left;
+ font-family: "Open Sans";
+ font-weight: bold;
+}
+
+.e-table td:first-child {
+ text-align: left;
+}
+
+.e-table tr {
+ border-bottom: 1px solid #b8b8b8;
+}
+
+.e-table tr:nth-child(2n+1) {
+ background: #fff none repeat scroll 0 0;
+}
+.e-table tr:nth-child(2n) {
+ background: #d9d9d9 none repeat scroll 0 0;
+}
+
+.e-table i.icon-check {
+ color: #1d9bd4;
+}
+.e-table i.icon-missing {
+ color: #e40137;
+}
+.e-table .e-centered {
+ text-align: center;
+}
+.e-table.left-align td {
+ text-align: left;
+}
+
+span.term {
+ font-weight: bold;
+}
+
+
+span.ipa-1 {
+ color: black;
+ font-weight: bold;
+}
+
+span.ipa-2 {
+ color: red;
+ font-weight: bold;
+}
+
+span.ipa-3 {
+ color: blue;
+ font-weight: bold;
+}
+
+span.flag {
+ color: red;
+ font-style: italic;
+}
+
+span.type {
+ color: blue;
+ font-style: italic;
+}
+
+table.trans tr td {
+ border-bottom: 1px solid #000000;
+}
+
+table.trans1 tr td {
+ border-bottom: 0px solid #000000;
+}
+
+body {
+ background:#fbfdf6;
+ font-family:"Myriad Pro", Myriad, Helvetica, Arial, sans-serif;
+ font-size:90%;
+ color:#968765;
+ margin:20px auto;
+ text-align:center;
+ line-height:1.4em;
+ width:960px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family:Helvetica, Arial, sans-serif;
+ font-size:1.5em;
+ letter-spacing:-0.06em;
+ text-transform:uppercase;
+ font-weight:normal;
+}
+
+a:link, a:visited {
+ font-family:georgia, times, serif;
+ font-weight:bold;
+ color:#c17086;
+ text-decoration:none;
+ border-bottom:1px solid #91476c;
+ font-size:.8em;
+}
+
+a:hover {
+ border-bottom:1px dotted #91476c;
+}
+
+a img {
+ border:none;
+}
+
+header, section, article, footer {
+ padding:10px 20px 20px;
+ margin:10px;
+ border:1px solid #e7e2d7;
+ border-radius:8px;
+ -webkit-border-radius:.8em;
+ -moz-border-radius:.8em;
+ background:#fff url(../images/sprites.png) repeat-x 0px -120px;
+}
+
+header {
+ display:block;
+ position:relative;
+ text-align:left;
+}
+
+header img {
+ position:absolute;
+ left:20px;
+ top:18px;
+}
+
+header h1 {
+ font-size:2.3em;
+ text-transform:none;
+ letter-spacing:0em;
+ text-align:center;
+}
+
+header h2 {
+ margin:-10px 0px 20px;
+ font-size:1.3em;
+ text-align:center
+}
+
+nav {
+ text-align:center;
+ display:block;
+}
+
+nav ul {
+ padding:0px;
+ list-style-type:none;
+ display:inline;
+}
+
+nav li {
+ margin:0px 10px;
+ padding:0px;
+ list-style-type:none;
+ display:inline;
+}
+
+nav a:link, nav a:visited {
+ font-size:1.4em;
+ font-weight:normal;
+}
+
+section {
+ float:left;
+ width:178px;
+ text-align:left;
+}
+
+section h1, section h2, section h3, section h4, section h5, section h6 {
+ background:transparent url(../images/sprites.png) no-repeat 0px -80px;
+ color:#fff;
+ padding:9px 10px 10px 10px;
+ margin:13px -10px;
+ text-shadow:0 1px 0 #403232;
+}
+
+section ul {
+ padding:0px;
+ list-style:none;
+ border-top:1px solid #e7e2d7;
+ margin:14px 0px;
+}
+
+section li {
+ margin:0px;
+ padding:0px;
+ list-style:none;
+}
+
+section li a:link, section li a:visited {
+ float:left;
+ width:96%;
+ padding:3px 1%;
+ border-bottom:1px solid #e7e2d7;
+}
+
+section li a:hover {
+ background:#f2f1ec;
+}
+
+article {
+ float:right;
+ width:658px;
+ text-align:left;
+}
+
+article h1 {
+ background:transparent url(../images/sprites.png) no-repeat 0px 0px;
+ color:#fff;
+ padding:7px 10px 12px 30px;
+ margin-left:-30px;
+ text-shadow:0 1px 0 #403232;
+}
+
+article h2, article h3, article h4, article h5, article h6 {
+ background:transparent url(../images/sprites.png) no-repeat 0px -40px;
+ color:#fff;
+ padding:7px 10px 12px 30px;
+ margin-left:-30px;
+ text-shadow:0 1px 0 #913951;
+}
+
+article p:first-of-type {
+ font-family:Helvetica, Arial, serif;
+ text-transform:uppercase;
+ border-top:1px dotted #968765;
+ border-bottom:1px dotted #968765;
+ padding:10px 0px;
+ color:#c17086;
+}
+
+footer {
+ display:block;
+ clear:both !important;
+ width:898px;
+}
+
+footer a {
+ margin:0px 5px;
+}
+
+ .ui-autocomplete {
+ max-height: 400px;
+ overflow-y: auto;
+ /* prevent horizontal scrollbar */
+ overflow-x: hidden;
+ }
+
+ #searchBox {
+ max-height: 400px;
+ overflow-y: auto;
+ /* prevent horizontal scrollbar */
+ overflow-x: hidden;
+ }
+
+
+/*
+ul.ui-autocomplete li.ui-menu-item{text-align:left;}
+*/
+
+.ui-autocomplete {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ float: left;
+ display: none;
+ min-width: 160px;
+ padding: 4px 0;
+ margin: 0 0 10px 25px;
+ list-style: none;
+ background-color: #ffffff;
+ border-color: #ccc;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-style: solid;
+ border-width: 1px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+}
+
+.ui-menu-item > a.ui-corner-all {
+ display: block;
+ padding: 3px 15px;
+ clear: both;
+ font-weight: normal;
+ line-height: 18px;
+ color: #555555;
+ white-space: nowrap;
+ text-decoration: none;
+}
+
+.ui-state-hover, .ui-state-active {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #0088cc;
+ border-radius: 0px;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ background-image: none;
+}
+
+.pagination {
+ height: 36px;
+ margin: 18px 0;
+ justify-content: center;
+}
+.pagination ul {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ margin-left: 0;
+ margin-bottom: 0;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.pagination li {
+ display: inline;
+}
+.pagination a {
+ float: left;
+ padding: 0 14px;
+ line-height: 34px;
+ text-decoration: none;
+ border: 1px solid #ddd;
+ border-left-width: 0;
+}
+.pagination a:hover,
+.pagination .active a {
+ background-color: #f5f5f5;
+}
+.pagination .active a {
+ color: #999999;
+ cursor: default;
+}
+.pagination .disabled span,
+.pagination .disabled a,
+.pagination .disabled a:hover {
+ color: #999999;
+ background-color: transparent;
+ cursor: default;
+}
+.pagination li:first-child a {
+ border-left-width: 1px;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+.pagination li:last-child a {
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+.pagination-centered {
+ text-align: center;
+}
+.pagination-right {
+ text-align: right;
+}
+.pager {
+ margin-left: 0;
+ margin-bottom: 18px;
+ list-style: none;
+ text-align: center;
+ *zoom: 1;
+}
+.pager:before,
+.pager:after {
+ display: table;
+ content: "";
+}
+.pager:after {
+ clear: both;
+}
+.pager li {
+ display: inline;
+}
+.pager a {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+.pager a:hover {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.pager .next a {
+ float: right;
+}
+.pager .previous a {
+ float: left;
+}
+.pager .disabled a,
+.pager .disabled a:hover {
+ color: #999999;
+ background-color: #fff;
+ cursor: default;
+}
diff --git a/www/assets/images/sound.png b/www/assets/images/sound.png
new file mode 100644
index 0000000..d3c1095
Binary files /dev/null and b/www/assets/images/sound.png differ
diff --git a/www/assets/images/spinner.gif b/www/assets/images/spinner.gif
new file mode 100644
index 0000000..185a077
Binary files /dev/null and b/www/assets/images/spinner.gif differ
diff --git a/www/assets/images/sprites.png b/www/assets/images/sprites.png
new file mode 100644
index 0000000..d737c32
Binary files /dev/null and b/www/assets/images/sprites.png differ