aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Resources/views/themes/baggy
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources/views/themes/baggy')
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig169
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig7
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig120
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.xml.twig34
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig104
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig7
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig15
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig6
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/checkEmail.html.twig17
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig31
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig39
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig35
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig47
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig28
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig15
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig13
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig55
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css28
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoClose.js6
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoCompleteTags.js47
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js17
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/popupForm.js83
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/saveLink.js109
23 files changed, 1032 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
new file mode 100644
index 00000000..c90bb2e3
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
@@ -0,0 +1,169 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Config{% endtrans %}{% endblock %}
4
5{% block content %}
6 <h2>{% trans %}Wallabag configuration{% endtrans %}</h2>
7
8 <form action="{{ path('config') }}" method="post" {{ form_enctype(form.config) }}>
9 {{ form_errors(form.config) }}
10
11 <fieldset class="w500p inline">
12 <div class="row">
13 {{ form_label(form.config.theme) }}
14 {{ form_errors(form.config.theme) }}
15 {{ form_widget(form.config.theme) }}
16 </div>
17 </fieldset>
18
19 <fieldset class="w500p inline">
20 <div class="row">
21 {{ form_label(form.config.items_per_page) }}
22 {{ form_errors(form.config.items_per_page) }}
23 {{ form_widget(form.config.items_per_page) }}
24 </div>
25 </fieldset>
26
27 <fieldset class="w500p inline">
28 <div class="row">
29 {{ form_label(form.config.language) }}
30 {{ form_errors(form.config.language) }}
31 {{ form_widget(form.config.language) }}
32 </div>
33 </fieldset>
34
35 {{ form_rest(form.config) }}
36 </form>
37
38 <h2>{% trans %}RSS configuration{% endtrans %}</h2>
39
40 <form action="{{ path('config') }}" method="post" {{ form_enctype(form.rss) }}>
41 {{ form_errors(form.rss) }}
42
43 <fieldset class="w500p inline">
44 <div class="row">
45 <label>Rss token</label>
46 {% if rss.token %}
47 {{ rss.token }}
48 {% else %}
49 <em>No token</em>
50 {% endif %}
51
52 <a href="{{ path('generate_token') }}">Regenerate ?</a>
53 </div>
54 </fieldset>
55
56 <fieldset class="w500p inline">
57 <div class="row">
58 <label>Rss links:</label>
59 {% if rss.token %}
60 <ul>
61 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">unread</a></li>
62 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">fav</a></li>
63 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">archives</a></li>
64 </ul>
65 {% else %}
66 <strong>You need to generate a token first.</strong>
67 {% endif %}
68 </div>
69 </fieldset>
70
71 <fieldset class="w500p inline">
72 <div class="row">
73 {{ form_label(form.rss.rss_limit) }}
74 {{ form_errors(form.rss.rss_limit) }}
75 {{ form_widget(form.rss.rss_limit) }}
76 </div>
77 </fieldset>
78
79 {{ form_rest(form.rss) }}
80 </form>
81
82 <h2>{% trans %}User information{% endtrans %}</h2>
83
84 <form action="{{ path('config') }}" method="post" {{ form_enctype(form.user) }}>
85 {{ form_errors(form.user) }}
86
87 <fieldset class="w500p inline">
88 <div class="row">
89 {{ form_label(form.user.name) }}
90 {{ form_errors(form.user.name) }}
91 {{ form_widget(form.user.name) }}
92 </div>
93 </fieldset>
94
95 <fieldset class="w500p inline">
96 <div class="row">
97 {{ form_label(form.user.email) }}
98 {{ form_errors(form.user.email) }}
99 {{ form_widget(form.user.email) }}
100 </div>
101 </fieldset>
102
103 {{ form_rest(form.user) }}
104 </form>
105
106 <h2>{% trans %}Change your password{% endtrans %}</h2>
107
108 <form action="{{ path('config') }}" method="post" {{ form_enctype(form.pwd) }}>
109 {{ form_errors(form.pwd) }}
110
111 <fieldset class="w500p inline">
112 <div class="row">
113 {{ form_label(form.pwd.old_password) }}
114 {{ form_errors(form.pwd.old_password) }}
115 {{ form_widget(form.pwd.old_password) }}
116 </div>
117 </fieldset>
118
119 <fieldset class="w500p inline">
120 <div class="row">
121 {{ form_label(form.pwd.new_password.first) }}
122 {{ form_errors(form.pwd.new_password.first) }}
123 {{ form_widget(form.pwd.new_password.first) }}
124 </div>
125 </fieldset>
126
127 <fieldset class="w500p inline">
128 <div class="row">
129 {{ form_label(form.pwd.new_password.second) }}
130 {{ form_errors(form.pwd.new_password.second) }}
131 {{ form_widget(form.pwd.new_password.second) }}
132 </div>
133 </fieldset>
134
135 {{ form_rest(form.pwd) }}
136 </form>
137
138 <h2>{% trans %}Add a user{% endtrans %}</h2>
139
140 <form action="{{ path('config') }}" method="post" {{ form_enctype(form.new_user) }}>
141 {{ form_errors(form.new_user) }}
142
143 <fieldset class="w500p inline">
144 <div class="row">
145 {{ form_label(form.new_user.username) }}
146 {{ form_errors(form.new_user.username) }}
147 {{ form_widget(form.new_user.username) }}
148 </div>
149 </fieldset>
150
151 <fieldset class="w500p inline">
152 <div class="row">
153 {{ form_label(form.new_user.password) }}
154 {{ form_errors(form.new_user.password) }}
155 {{ form_widget(form.new_user.password) }}
156 </div>
157 </fieldset>
158
159 <fieldset class="w500p inline">
160 <div class="row">
161 {{ form_label(form.new_user.email) }}
162 {{ form_errors(form.new_user.email) }}
163 {{ form_widget(form.new_user.email) }}
164 </div>
165 </fieldset>
166
167 {{ form_rest(form.new_user) }}
168 </form>
169{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig
new file mode 100644
index 00000000..0d4d5ad2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig
@@ -0,0 +1,7 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Edit an entry{% endtrans %}{% endblock %}
4
5{% block content %}
6 {{ form(form) }}
7{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
new file mode 100644
index 00000000..176290e4
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
@@ -0,0 +1,120 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title "Unread" %}
4
5{% block content %}
6 {% block pager %}
7 <div class="results">
8 <div class="nb-results">{{ entries.count }} {% trans %}entries{% endtrans %}</div>
9 <div class="pagination">
10 <a href="#" id="filter">{% trans %}Filter{% endtrans %}</a>
11 {% if entries is not empty %}
12
13 {% for p in range(1, entries.nbPages) if entries.nbPages > 1 %}
14 <li>
15 <a href="{{ path(app.request.attributes.get('_route'), app.request.query.all|merge({'page': p})) }}" class="{{ currentPage == p ? 'current':''}}" >{{ p }}</a>
16 </li>
17 {% endfor %}
18 {% endif %}
19 </div>
20 </div>
21 {% endblock %}
22
23 {% if entries is empty %}
24 <div class="messages warning"><p>{% trans %}No articles found.{% endtrans %}</p></div>
25 {% else %}
26 {% for entry in entries %}
27 <div id="entry-{{ entry.id|e }}" class="entry">
28 <h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2>
29 {% if entry.readingTime > 0 %}
30 <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} {{ entry.readingTime }} min</span></div>
31 {% else %}
32 <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} <small class="inferieur">&lt;</small> 1 min</span></div>
33 {% endif %}
34
35 <ul class="tools links">
36 <li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
37 <li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
38 <li><a title="{% trans %}delete{% endtrans %}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}delete{% endtrans %}</span></a></li>
39 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.domainName }}</span></a></li>
40 </ul>
41 {% if entry.previewPicture is null %}
42 <p>{{ entry.content|striptags|slice(0, 300) }}&hellip;</p>
43 {% else %}
44 <img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" />
45 {% endif %}
46 </div>
47 {% endfor %}
48 {% endif %}
49
50 <aside id="filter-form" class="">
51 <form method="get" action="{{ path('all') }}">
52 <h2>{% trans %}Filters{% endtrans %}</h2>
53 <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">&times;</a>
54
55 <div id="filter-status" class="filter-group">
56 <div class="">
57 <label>{% trans %}Status{% endtrans %}</label>
58 </div>
59 <div class="input-field">
60 {{ form_widget(form.isArchived) }}
61 <label for="entry_filter_isArchived">{% trans %}Archived{% endtrans %}</label>
62 </div>
63
64 <div class="input-field">
65 {{ form_widget(form.isStarred) }}
66 <label for="entry_filter_isStarred">{% trans %}Starred{% endtrans %}</label>
67 </div>
68
69 <div class="input-field">
70 {{ form_widget(form.previewPicture) }}
71 <label for="entry_filter_previewPicture">{% trans %}Has a preview picture{% endtrans %}</label>
72 </div>
73 </div>
74 <div id="filter-reading-time" class="filter-group">
75 <div class="">
76 <label>{% trans %}Reading time in minutes{% endtrans %}</label>
77 </div>
78 <div class="input-field ">
79 <label for="entry_filter_readingTime_left_number">{% trans %}from{% endtrans %}</label>
80 {{ form_widget(form.readingTime.left_number, {'type': 'number'}) }}
81 </div>
82 <div class="input-field ">
83 <label for="entry_filter_readingTime_right_number">{% trans %}to{% endtrans %}</label>
84 {{ form_widget(form.readingTime.right_number, {'type': 'number'}) }}
85 </div>
86 </div>
87
88 <div id="filter-domain-name" class="filter-group">
89 <label for="entry_filter_domainName">{% trans %}Domain name{% endtrans %}</label>
90 <div class="input-field ">
91 {{ form_widget(form.domainName, {'type': 'text', 'attr' : {'placeholder': 'website.com'} }) }}
92 </div>
93 </div>
94
95 <div id="filter-creation-date" class="filter-group">
96 <div class="">
97 <label>{% trans %}Creation date{% endtrans %}</label>
98 </div>
99 <div class="input-field ">
100 <label for="entry_filter_createdAt_left_date" class="active">{% trans %}from{% endtrans %}</label>
101 {{ form_widget(form.createdAt.left_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.left_date.vars.value} }) }}
102 </div>
103 <div class="input-field ">
104 <label for="entry_filter_createdAt_right_date" class="active">{% trans %}to{% endtrans %}</label>
105 {{ form_widget(form.createdAt.right_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.right_date.vars.value} }) }}
106 </div>
107 </div>
108 <div id="filter-buttons" class="filter-group">
109
110 <div class="">
111 <a href="#!" class="center waves-effect waves-green btn-flat" id="clear_form_filters">{% trans %}Clear{% endtrans %}</a>
112 </div>
113
114 <button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">{% trans %}Filters{% endtrans %}</button>
115
116 </div>
117 </form>
118 </aside>
119
120{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.xml.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.xml.twig
new file mode 100644
index 00000000..a39a8dc3
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.xml.twig
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="utf-8"?>
2<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
3 <channel>
4 <title>wallabag — {{type}} feed</title>
5 <link>{{ url('unread') }}</link>
6 <pubDate>{{ "now"|date('D, d M Y H:i:s') }}</pubDate>
7 <generator>wallabag</generator>
8 <description>wallabag {{type}} elements</description>
9
10 {% for entry in entries %}
11
12 <item>
13 <title><![CDATA[{{ entry.title }}]]></title>
14 <source url="{{ url('view', { 'id': entry.id }) }}">wallabag</source>
15 <link>{{ url('view', { 'id': entry.id }) }}</link>
16 <guid>{{ url('view', { 'id': entry.id }) }}</guid>
17 <pubDate>{{ entry.createdAt|date('D, d M Y H:i:s') }}</pubDate>
18 <description>
19 <![CDATA[
20 {%- if entry.readingTime > 0 -%}
21 {% trans %}estimated reading time :{% endtrans %} {{ entry.readingTime }} min
22 {%- else -%}
23 {% trans %}estimated reading time :{% endtrans %} &lt; 1 min
24 {%- endif %}
25
26 {{ entry.content|raw -}}
27 ]]>
28 </description>
29 </item>
30
31 {% endfor %}
32
33 </channel>
34</rss>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
new file mode 100644
index 00000000..f58d0399
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
@@ -0,0 +1,104 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ entry.title|raw }} ({{ entry.domainName }}){% endblock %}
4
5{% block content %}
6 <div id="article_toolbar">
7 <ul class="links">
8 <li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li>
9 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName }}</span></a></li>
10 <li><a title="{% trans %}Mark as read{% endtrans %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
11 <li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
12 <li><a title="{% trans %}Delete{% endtrans %}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}Delete{% endtrans %}</span></a></li>
13 {% if share_twitter %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
14 {% if share_mail %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
15 {% if share_shaarli %}<li><a href="{{ shaarli_url }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
16 {% if share_diaspora %}<li><a href="{{ diaspora_url }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora{% endtrans %}"><span>{% trans %}diaspora{% endtrans %}</span></a></li>{% endif %}
17 {# {% if flattr %}{% if flattr.status == flattrable %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}"><span>{% trans %}flattr{% endtrans %}</span></a></li>{% elseif flattr.status == flattred %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}><span>{% trans %}flattr{% endtrans %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %} #}
18 {% if carrot %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
19 {% if show_printlink %}<li><a title="{% trans %}Print{% endtrans %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans %}Print{% endtrans %}</span></a></li>{% endif %}
20 {% if export_epub %}<li><a href="?epub&amp;method=id&amp;value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
21 {% if export_mobi %}<li><a href="?mobi&amp;method=id&amp;value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
22 {% if export_pdf %}<li><a href="?pdf&amp;method=id&amp;value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
23 <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{% trans %}Does this article appear wrong?{% endtrans %}" class="tool bad-display icon icon-delete"><span>{% trans %}Does this article appear wrong?{% endtrans %}</span></a></li>
24 </ul>
25 </div>
26 <div id="article">
27 <header class="mbm">
28 <h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{% trans %}Edit tags{% endtrans %}">✎</a></h1>
29 </header>
30 <aside class="tags">
31 {% for tag in entry.tags %}<span class="mdi-action-label-outline">{{ tag.label }}</span>{% endfor %}
32 {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
33 </aside>
34 {% if entry.previewPicture is not null %}
35 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
36 {% endif %}
37 <article>
38 {{ entry.content | raw }}
39 </article>
40 </div>
41 <script src="{{ asset('themes/_global/js/restoreScroll.js')}}"></script>
42 <script type="text/javascript">
43 $(document).ready(function() {
44
45 // toggle read property of current article
46 /* $('#markAsRead').click(function(){
47 $("body").css("cursor", "wait");
48 $.ajax( { url: '{{ path('archive_entry', { 'id': entry.id }) }}' }).done(
49 function( data ) {
50 if ( data == '1' ) {
51 if ( $('#markAsRead').hasClass("archive-off") ) {
52 $('#markAsRead').removeClass("archive-off");
53 $('#markAsRead').addClass("archive");
54 }
55 else {
56 $('#markAsRead').removeClass("archive");
57 $('#markAsRead').addClass("archive-off");
58 }
59 }
60 else {
61 alert('Error! Pls check if you are logged in.');
62 }
63 });
64 $("body").css("cursor", "auto");
65 });*/
66
67 // toggle favorite property of current article
68 /* $('#setFav').click(function(){
69 $("body").css("cursor", "wait");
70 $.ajax( { url: '{{ path('star_entry', { 'id': entry.id }) }}' }).done(
71 function( data ) {
72 if ( data == '1' ) {
73 if ( $('#setFav').hasClass("fav-off") ) {
74 $('#setFav').removeClass("fav-off");
75 $('#setFav').addClass("fav");
76 }
77 else {
78 $('#setFav').removeClass("fav");
79 $('#setFav').addClass("fav-off");
80 }
81 }
82 else {
83 alert('Error! Pls check if you are logged in.');
84 }
85 });
86 $("body").css("cursor", "auto");
87 });*/
88
89 $(window).scroll(function(e){
90 var scrollTop = $(window).scrollTop();
91 var docHeight = $(document).height();
92 var scrollPercent = (scrollTop) / (docHeight);
93 var scrollPercentRounded = Math.round(scrollPercent*100)/100;
94 savePercent({{ entry.id }}, scrollPercentRounded);
95 });
96
97 retrievePercent({{ entry.id }});
98
99 $(window).resize(function(){
100 retrievePercent({{ entry.id }});
101 });
102 });
103 </script>
104{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig
new file mode 100644
index 00000000..95ed0785
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig
@@ -0,0 +1,7 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Save new entry{% endtrans %}{% endblock %}
4
5{% block content %}
6 {{ render(controller( "WallabagCoreBundle:Entry:addEntryForm" )) }}
7{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig
new file mode 100644
index 00000000..d182d552
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig
@@ -0,0 +1,15 @@
1<form name="entry" method="post" action="{{ path('new_entry')}}">
2
3 {% if form_errors(form) %}
4 <span class="black-text">{{ form_errors(form) }}</span>
5 {% endif %}
6
7 {% if form_errors(form.url) %}
8 <span class="black-text">{{ form_errors(form.url) }}</span>
9 {% endif %}
10
11 {{ form_label(form.url) }}
12 {{ form_widget(form.url) }}
13
14 <div class="hidden">{{ form_rest(form) }}</div>
15</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig
new file mode 100644
index 00000000..631bcb88
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig
@@ -0,0 +1,6 @@
1Hello {{username}}!
2
3To reset your password - please visit {{confirmationUrl}}
4
5Regards,
6Wallabag bot
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/checkEmail.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/checkEmail.html.twig
new file mode 100644
index 00000000..056d65b5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/checkEmail.html.twig
@@ -0,0 +1,17 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
4
5{% block body_class %}login{% endblock %}
6
7{% block menu %}{% endblock %}
8
9{% block content %}
10 <form>
11 <fieldset class="w500p center">
12 <h2 class="mbs txtcenter">{% trans %}Forgot password{% endtrans %}</h2>
13
14 <p>{{ 'An email has been sent to %email%. It contains a link you must click to reset your password.'|trans({'%email%': email}) }}</p>
15 </fieldset>
16 </form>
17{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig
new file mode 100644
index 00000000..4476ea7b
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig
@@ -0,0 +1,31 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
4
5{% block body_class %}login{% endblock %}
6
7{% block menu %}{% endblock %}
8
9{% block content %}
10 <form action="{{ path('forgot_password') }}" method="post" name="forgotPasswordform">
11 <fieldset class="w500p center">
12 <h2 class="mbs txtcenter">{% trans %}Forgot password{% endtrans %}</h2>
13
14 {{ form_errors(form) }}
15
16 <p>Enter your email address below and we'll send you password reset instructions.</p>
17
18 <div class="row">
19 {{ form_label(form.email) }}
20 {{ form_errors(form.email) }}
21 {{ form_widget(form.email) }}
22 </div>
23
24 <div class="row mts txtcenter">
25 <button type="submit">Send me reset instructions</button>
26 </div>
27 </fieldset>
28
29 {{ form_rest(form) }}
30 </form>
31{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig
new file mode 100644
index 00000000..5437d20c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig
@@ -0,0 +1,39 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}login to your wallabag{% endtrans %}{% endblock %}
4
5{% block body_class %}login{% endblock %}
6
7{% block menu %}{% endblock %}
8{% block messages %}{% endblock %}
9
10{% block content %}
11 <form action="{{ path('login_check') }}" method="post" name="loginform">
12 <fieldset class="w500p center">
13 <h2 class="mbs txtcenter">{% trans %}Login to wallabag{% endtrans %}</h2>
14 {% if error %}
15 <div>{{ error.message }}</div>
16 {% endif %}
17
18 {% for flashMessage in app.session.flashbag.get('notice') %}
19 <p>{{ flashMessage }}</p>
20 {% endfor %}
21
22 <div class="row">
23 <label class="col w150p" for="username">{% trans %}Username{% endtrans %}</label>
24 <input type="text" id="username" name="_username" value="{{ last_username }}" />
25 </div>
26
27 <div class="row">
28 <label class="col w150p" for="password">{% trans %}Password{% endtrans %}</label>
29 <input type="password" id="password" name="_password" />
30 </div>
31
32 <div class="row mts txtcenter">
33 <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
34 <button type="submit">Login</button>
35 <a href="{{ path('forgot_password') }}" class="small">Forgot your password?</a>
36 </div>
37 </fieldset>
38 </form>
39{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig
new file mode 100644
index 00000000..fda88af2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig
@@ -0,0 +1,35 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Change password{% endtrans %}{% endblock %}
4
5{% block body_class %}login{% endblock %}
6
7{% block menu %}{% endblock %}
8
9{% block content %}
10 <form action="{{ path('forgot_password_reset', {'token': token}) }}" method="post" name="loginform">
11 <fieldset class="w500p center">
12 <h2 class="mbs txtcenter">{% trans %}Change password{% endtrans %}</h2>
13
14 {{ form_errors(form) }}
15
16 <div class="row">
17 {{ form_label(form.new_password.first) }}
18 {{ form_errors(form.new_password.first) }}
19 {{ form_widget(form.new_password.first) }}
20 </div>
21
22 <div class="row">
23 {{ form_label(form.new_password.second) }}
24 {{ form_errors(form.new_password.second) }}
25 {{ form_widget(form.new_password.second) }}
26 </div>
27
28 <div class="row mts txtcenter">
29 <button type="submit">Change password</button>
30 </div>
31 </fieldset>
32
33 {{ form_rest(form) }}
34 </form>
35{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig
new file mode 100755
index 00000000..311b5067
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig
@@ -0,0 +1,47 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}About{% endtrans %}{% endblock %}
4
5{% block content %}
6 <h2>{% trans %}Who is behind wallabag{% endtrans %}</h2>
7
8 <dl>
9 <dt>{% trans %}Developed by{% endtrans %}</dt>
10 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans %}website{% endtrans %}</a></dd>
11 <dd>Thomas Citharel — <a href="https://tcit.fr">{% trans %}website{% endtrans %}</a></dd>
12 <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{% trans %}website{% endtrans %}</a></dd>
13
14 <dt>{% trans %}And many others contributors ♥{% endtrans %} <a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans %}on Github{% endtrans %}</a></dt>
15
16 <dt>{% trans %}Project website{% endtrans %}</dt>
17 <dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd>
18
19 <dt>{% trans %}License{% endtrans %}: <a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dt>
20
21 <dt>{% trans %}Version{% endtrans %}: {{ version }}</dt>
22 </dl>
23
24 <h2>{% trans %}Getting help{% endtrans %}</h2>
25
26 <dl>
27 <dt>{% trans %}Documentation{% endtrans %}</dt>
28 <dd><a href="https://doc.wallabag.org/en">english</a></dd>
29 <dd><a href="https://doc.wallabag.org/fr">français</a></dd>
30 <dd><a href="https://doc.wallabag.org/de">deutsch</a></dd>
31
32 <dt>{% trans %}Bug reports{% endtrans %}</dt>
33 <dd><a href="https://support.wallabag.org">{% trans %}On our support website{% endtrans %}</a> {% trans %}or{% endtrans %} <a href="https://github.com/wallabag/wallabag/issues">{% trans %}on Github{% endtrans %}</a></dd>
34 </dl>
35
36 <h2>{% trans %}Helping wallabag{% endtrans %}</h2>
37
38 <p>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</p>
39
40 <dl>
41 <dt>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</dt>
42 <dd>by contributing to the project: <a href="https://github.com/wallabag/wallabag/issues/1254">an issue lists all our needs</a></dd>
43 <dd><a href="{{ paypal_url }}">{% trans %}via Paypal{% endtrans %}</a></dd>
44
45 <dd><a href="{{ flattr_url }}">{% trans %}via Flattr{% endtrans %}</a></dd>
46 </dl>
47{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig
new file mode 100644
index 00000000..58cb316b
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig
@@ -0,0 +1,28 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Howto{% endtrans %}{% endblock %}
4
5{% block content %}
6 <h2>{% trans %}Howto{% endtrans %}</h2>
7
8 <p>{% trans %}There are several ways to save an article:{% endtrans %}</p>
9 <ul>
10 <li><a href="{{ path('new') }}">{% trans %}Thanks to this form{% endtrans %}</a></li>
11 </ul>
12 <h3>{% trans %}Browser Addons{% endtrans %}</h3>
13 <ul>
14 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans %}Standard Firefox Add-On{% endtrans %}</a></li>
15 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans %}Chrome Extension{% endtrans %}</a></li>
16 </ul>
17 <h3>{% trans %}Mobile Apps{% endtrans %}</h3>
18 <ul>
19 <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via F-Droid{% endtrans %}</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via Google Play{% endtrans %}</a></li>
20 <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
21 <li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
22 </ul>
23 <h3>{% trans %}Bookmarklet{% endtrans %}</h3>
24 <p>
25 {% trans %}Drag &amp; drop this link to your bookmarks bar:{% endtrans %} {% trans %}bag it!{% endtrans %}
26 </p>
27
28{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig
new file mode 100644
index 00000000..0b5a530d
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig
@@ -0,0 +1,15 @@
1<form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}">
2
3 {% if form_errors(form) %}
4 <span class="black-text">{{ form_errors(form) }}</span>
5 {% endif %}
6
7 {% if form_errors(form.label) %}
8 <span class="black-text">{{ form_errors(form.label) }}</span>
9 {% endif %}
10
11 {{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
12 {{ form_widget(form.save, { 'attr': {'class': 'btn waves-effect waves-light'}, 'label': 'add tag' }) }}
13
14 <div class="hidden">{{ form_rest(form) }}</div>
15</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
new file mode 100644
index 00000000..c2a461b8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
@@ -0,0 +1,13 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title "Tags" %}
4
5{% block content %}
6 {% if tags is empty %}
7 <div class="messages warning"><p>{% trans %}No tags found.{% endtrans %}</p></div>
8 {% else %}
9 {% for tag in tags %}
10 {{tag.label}}
11 {% endfor %}
12 {% endif %}
13{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
index dffea036..3d573eaa 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
@@ -14,4 +14,59 @@
14 {{ parent() }} 14 {{ parent() }}
15 15
16 <script src="{{ asset('themes/baggy/js/init.js') }}"></script> 16 <script src="{{ asset('themes/baggy/js/init.js') }}"></script>
17 <script src="{{ asset('themes/baggy/js/closeMessage.js') }}"></script>
18 <script src="{{ asset('themes/baggy/js/autoClose.js') }}"></script>
19 <script src="{{ asset('themes/baggy/js/saveLink.js') }}"></script>
20 <script src="{{ asset('themes/baggy/js/popupForm.js') }}"></script>
21{% endblock %}
22
23{% block header %}
24 <header class="w600p center mbm">
25 <h1 class="logo">
26 {% block logo %}
27 <img width="100" height="100" src="{{ asset('themes/baggy/img/logo-w.png') }}" alt="wallabag logo" />
28 {% endblock %}
29 </h1>
30 </header>
31{% endblock %}
32
33{% block menu %}
34 <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
35 <ul id="links" class="links">
36 <li><a href="{{ path('unread') }}">{% trans %}unread{% endtrans %}</a></li>
37 <li><a href="{{ path('starred') }}">{% trans %}favorites{% endtrans %}</a></li>
38 <li><a href="{{ path('archive') }}"}>{% trans %}archive{% endtrans %}</a></li>
39 <li><a href="{{ path('all') }}"}>{% trans %}all{% endtrans %}</a></li>
40 <li><a href="{{ path('tag') }}">{% trans %}tags{% endtrans %}</a></li>
41 <li><a href="{{ path('new') }}">{% trans %}save a link{% endtrans %}</a></li>
42 <li style="position: relative;"><a href="javascript: void(null);" id="search">{% trans %}search{% endtrans %}</a>
43 <div id="search-form" class="messages info popup-form">
44 <form method="get" action="index.php">
45 <h2>{% trans %}Search{% endtrans %}</h2>
46 <a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">&times;</a>
47 <input type="hidden" name="view" value="search"></input>
48 <input required placeholder="{% trans %}Enter your search here{% endtrans %}" type="text" name="search" id="searchfield"><br>
49 <input id="submit-search" type="submit" value="{% trans %}Search{% endtrans %}"></input>
50 </form>
51 </div>
52 </li>
53 <li><a href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li>
54 <li><a href="{{ path('about') }}">{% trans %}about{% endtrans %}</a></li>
55 <li><a class="icon icon-power" href="{{ path('logout') }}" title="{% trans %}logout{% endtrans %}">{% trans %}logout{% endtrans %}</a></li>
56 </ul>
57{% endblock %}
58
59{% block messages %}
60 {% for flashMessage in app.session.flashbag.get('notice') %}
61 <div class="messages success">
62 <a href="#" class="closeMessage">×</a>
63 <p>{{ flashMessage }}</p>
64 </div>
65 {% endfor %}
66{% endblock %}
67
68{% block footer %}
69 <footer class="w600p center mt3 mb3 smaller txtright">
70 <p>{% trans %}powered by{% endtrans %} <a href="http://wallabag.org">wallabag</a></p>
71 </footer>
17{% endblock %} 72{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css
index 72a7b205..950d8b0e 100755
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css
@@ -939,6 +939,34 @@ pre code {
939 font-size: 0.96em; 939 font-size: 0.96em;
940} 940}
941 941
942#filter-form {
943 position: fixed;
944 width: 20%;
945 height: 100%;
946 top: 0;
947 right: 0;
948 background-color: #FFF;
949 padding: 15px;
950 padding-right: 30px;
951 padding-top: 30px;
952
953 z-index: 12;
954
955 /*transition-property: transform;
956 transition-duration: 0.3s;
957 transition-delay: 0.3s;
958
959 transform: translate3d(100%, 0, 0);*/
960}
961
962#filter-form form {
963
964}
965
966#filter-form form .filter-group {
967 margin: 5px;
968}
969
942 970
943/* ========================================================================== 971/* ==========================================================================
944 6 = Media Queries 972 6 = Media Queries
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoClose.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoClose.js
new file mode 100644
index 00000000..e9145b7e
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoClose.js
@@ -0,0 +1,6 @@
1$(document).ready(function() {
2 current_url = window.location.href
3 if (current_url.match("&closewin=true")) {
4 window.close();
5 }
6});
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoCompleteTags.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoCompleteTags.js
new file mode 100755
index 00000000..90bc982c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/autoCompleteTags.js
@@ -0,0 +1,47 @@
1jQuery(function($) {
2
3 function split( val ) {
4 return val.split( /,\s*/ );
5 }
6 function extractLast( term ) {
7 return split( term ).pop();
8 }
9
10
11 $("#value").bind("keydown", function(event) {
12 if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) {
13 event.preventDefault();
14 }
15 }).autocomplete({
16 source : function(request, response) {
17 $.getJSON("./?view=tags", {
18 term : extractLast(request.term),
19 //id: $(':hidden#entry_id').val()
20 }, response);
21 },
22 search : function() {
23 // custom minLength
24 var term = extractLast(this.value);
25 if (term.length < 1) {
26 return false;
27 }
28 },
29 focus : function() {
30 // prevent value inserted on focus
31 return false;
32 },
33 select : function(event, ui) {
34 var terms = split(this.value);
35 // remove the current input
36 terms.pop();
37 // add the selected item
38 terms.push(ui.item.value);
39 // add placeholder to get the comma-and-space at the end
40 terms.push("");
41 this.value = terms.join(", ");
42 return false;
43 }
44 });
45
46
47});
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js
new file mode 100644
index 00000000..527719d5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js
@@ -0,0 +1,17 @@
1$(function(){
2 //---------------------------------------------------------------------------
3 // Show the close icon when the user hover over a message
4 //---------------------------------------------------------------------------
5 // $('.messages').on('mouseenter', function(){
6 // $(this).find('a.closeMessage').stop(true, true).show();
7 // }).on('mouseleave', function(){
8 // $(this).find('a.closeMessage').stop(true, true).hide();
9 // });
10 //---------------------------------------------------------------------------
11 // Close the message box when the user clicks the close icon
12 //---------------------------------------------------------------------------
13 $('a.closeMessage').on('click', function(){
14 $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); });
15 return false;
16 });
17}); \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/popupForm.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/popupForm.js
new file mode 100644
index 00000000..b933acd1
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/popupForm.js
@@ -0,0 +1,83 @@
1$(document).ready(function() {
2
3 $("#search-form").hide();
4 $("#bagit-form").hide();
5 $("#filter-form").hide();
6
7 //---------------------------------------------------------------------------
8 // Toggle the "Search" popup in the sidebar
9 //---------------------------------------------------------------------------
10 function toggleSearch() {
11 $("#search-form").toggle();
12 $("#search").toggleClass("current");
13 $("#search").toggleClass("active-current");
14 $("#search-arrow").toggleClass("arrow-down");
15 if ($("#search").hasClass("current")) {
16 $("#content").addClass("opacity03");
17 } else {
18 $("#content").removeClass("opacity03");
19 }
20 }
21
22 //---------------------------------------------------------------------------
23 // Toggle the "Filter" popup on entries list
24 //---------------------------------------------------------------------------
25 function toggleFilter() {
26 $("#filter-form").toggle();
27 }
28
29 //---------------------------------------------------------------------------
30 // Toggle the "Save a Link" popup in the sidebar
31 //---------------------------------------------------------------------------
32 function toggleBagit() {
33 $("#bagit-form").toggle();
34 $("#bagit").toggleClass("current");
35 $("#bagit").toggleClass("active-current");
36 $("#bagit-arrow").toggleClass("arrow-down");
37 if ($("#bagit").hasClass("current")) {
38 $("#content").addClass("opacity03");
39 } else {
40 $("#content").removeClass("opacity03");
41 }
42 }
43
44 //---------------------------------------------------------------------------
45 // Close all #links popups in the sidebar
46 //---------------------------------------------------------------------------
47 function closePopups() {
48 $("#links .messages").hide();
49 $("#links > li > a").removeClass("active-current");
50 $("#links > li > a").removeClass("current");
51 $("[id$=-arrow]").removeClass("arrow-down");
52 $("#content").removeClass("opacity03");
53 }
54
55 $("#search").click(function(){
56 closePopups();
57 toggleSearch();
58 $("#searchfield").focus();
59 });
60
61 $("#filter").click(function(){
62 closePopups();
63 toggleFilter();
64 });
65
66 $("#bagit").click(function(){
67 closePopups();
68 toggleBagit();
69 $("#plainurl").focus();
70 });
71
72 $("#search-form-close").click(function(){
73 toggleSearch();
74 });
75
76 $("#filter-form-close").click(function(){
77 toggleFilter();
78 });
79
80 $("#bagit-form-close").click(function(){
81 toggleBagit();
82 });
83});
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/saveLink.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/saveLink.js
new file mode 100755
index 00000000..a7acd84c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/saveLink.js
@@ -0,0 +1,109 @@
1$.fn.ready(function() {
2
3 var $bagit = $('#bagit'),
4 $bagitForm = $('#bagit-form'),
5 $bagitFormForm = $('#bagit-form-form');
6
7 /* ==========================================================================
8 bag it link and close button
9 ========================================================================== */
10
11 function toggleSaveLinkForm(url, event) {
12 $("#add-link-result").empty();
13
14 $bagit.toggleClass("active-current");
15
16 //only if bag-it link is not presented on page
17 if ( $bagit.length === 0 ) {
18 if ( event !== 'undefined' && event ) {
19 $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200});
20 }
21 else {
22 $bagitForm.css( {position:"relative", top:"auto", left:"auto"});
23 }
24 }
25
26 if ($("#search-form").length != 0) {
27 $("#search").removeClass("current");
28 $("#search-arrow").removeClass("arrow-down");
29 $("#search-form").hide();
30 }
31 $bagitForm.toggle();
32 $('#content').toggleClass("opacity03");
33 if (url !== 'undefined' && url) {
34 $('#plainurl').val(url);
35 }
36 $('#plainurl').focus();
37 }
38
39 //---------------------------------------------------------------------------
40 // These two functions are now taken care of in popupForm.js
41 //---------------------------------------------------------------------------
42
43 // $bagit.click(function(){
44 // $bagit.toggleClass("current");
45 // $("#bagit-arrow").toggleClass("arrow-down");
46 // toggleSaveLinkForm();
47 // });
48
49 // $("#bagit-form-close").click(function(){
50 // $bagit.removeClass("current");
51 // $("#bagit-arrow").removeClass("arrow-down");
52 // toggleSaveLinkForm();
53 // });
54
55
56 //send "bag it link" form request via ajax
57 $bagitFormForm.submit( function(event) {
58 $("body").css("cursor", "wait");
59 $("#add-link-result").empty();
60
61 $.ajax({
62 type: $bagitFormForm.attr('method'),
63 url: $bagitFormForm.attr('action'),
64 data: $bagitFormForm.serialize(),
65 success: function(data) {
66 $('#add-link-result').html("Done!");
67 $('#plainurl').val('');
68 $('#plainurl').blur('');
69 $("body").css("cursor", "auto");
70 //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay
71 },
72 error: function(data) {
73 $('#add-link-result').html("Failed!");
74 $("body").css("cursor", "auto");
75 }
76 });
77
78 event.preventDefault();
79 });
80
81 /* ==========================================================================
82 Keyboard gestion
83 ========================================================================== */
84
85 $(window).keydown(function(e){
86 if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || (e.keyCode == 27 && $bagitForm.is(':visible') ) ) {
87 $bagit.removeClass("current");
88 $("#bagit-arrow").removeClass("arrow-down");
89 toggleSaveLinkForm();
90 return false;
91 }
92 });
93
94 /* ==========================================================================
95 Process all links inside an article
96 ========================================================================== */
97
98 $("article a[href^='http']").after(function() {
99 return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\"></a> ";
100 });
101
102 $(".add-to-wallabag-link-after").click(function(event){
103 toggleSaveLinkForm($(this).attr('href'), event);
104 event.preventDefault();
105 });
106
107});
108
109