aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJeremy Benoist <jeremy.benoist@gmail.com>2019-07-09 13:22:50 +0200
committerJeremy Benoist <jeremy.benoist@gmail.com>2019-07-09 13:46:02 +0200
commit66fa0c26ab74467645e2cc63a4f48ef82e3f5748 (patch)
tree04d918dbb95181f6a26c1e32cd2086b678c2cc67
parentff8fe22f2e00f91c08efb161e4de52bc4b401880 (diff)
downloadwallabag-66fa0c26ab74467645e2cc63a4f48ef82e3f5748.tar.gz
wallabag-66fa0c26ab74467645e2cc63a4f48ef82e3f5748.tar.zst
wallabag-66fa0c26ab74467645e2cc63a4f48ef82e3f5748.zip
Copy client info to clipboard
From the listing page and the create summary page, you can now copy client info to the clipboard using dedicated buttons.
-rw-r--r--app/Resources/static/themes/_global/index.js10
-rw-r--r--package.json1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.th.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig28
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig15
-rw-r--r--web/wallassets/public.js2
-rw-r--r--yarn.lock31
20 files changed, 91 insertions, 10 deletions
diff --git a/app/Resources/static/themes/_global/index.js b/app/Resources/static/themes/_global/index.js
index 9ad96fc0..66ac063b 100644
--- a/app/Resources/static/themes/_global/index.js
+++ b/app/Resources/static/themes/_global/index.js
@@ -4,6 +4,8 @@ import $ from 'jquery';
4/* Annotations */ 4/* Annotations */
5import annotator from 'annotator'; 5import annotator from 'annotator';
6 6
7import ClipboardJS from 'clipboard';
8
7/* Fonts */ 9/* Fonts */
8import 'material-design-icons-iconfont/dist/material-design-icons.css'; 10import 'material-design-icons-iconfont/dist/material-design-icons.css';
9import 'lato-font/css/lato-font.css'; 11import 'lato-font/css/lato-font.css';
@@ -107,4 +109,12 @@ $(document).ready(() => {
107 $('#user_emailTwoFactor').on('change', () => { 109 $('#user_emailTwoFactor').on('change', () => {
108 $('#user_googleTwoFactor').prop('checked', false); 110 $('#user_googleTwoFactor').prop('checked', false);
109 }); 111 });
112
113 // handle copy to clipboard for developer stuff
114 const clipboard = new ClipboardJS('.btn');
115 clipboard.on('success', (e) => {
116 console.info(e.text);
117
118 e.clearSelection();
119 });
110}); 120});
diff --git a/package.json b/package.json
index ac894e79..61f44714 100644
--- a/package.json
+++ b/package.json
@@ -64,6 +64,7 @@
64 }, 64 },
65 "dependencies": { 65 "dependencies": {
66 "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85", 66 "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85",
67 "clipboard": "^2.0.4",
67 "hammerjs": "^2.0.8", 68 "hammerjs": "^2.0.8",
68 "highlight.js": "^9.12.0", 69 "highlight.js": "^9.12.0",
69 "icomoon-free-npm": "^0.0.0", 70 "icomoon-free-npm": "^0.0.0",
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index 2db283ae..c504bddc 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -518,6 +518,7 @@ developer:
518 # redirect_uris_label: 'Redirect URIs' 518 # redirect_uris_label: 'Redirect URIs'
519 # save_label: 'Create a new client' 519 # save_label: 'Create a new client'
520 # action_back: 'Back' 520 # action_back: 'Back'
521 # copy_to_clipboard: Copy to clipboard
521 # client_parameter: 522 # client_parameter:
522 # page_title: 'API clients management > Client parameters' 523 # page_title: 'API clients management > Client parameters'
523 # page_description: 'Here are your client parameters.' 524 # page_description: 'Here are your client parameters.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index db01272f..b2d1a09d 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'Weiterleitungs-URIs' 518 redirect_uris_label: 'Weiterleitungs-URIs'
519 save_label: 'Neuen Client erstellen' 519 save_label: 'Neuen Client erstellen'
520 action_back: 'Zurück' 520 action_back: 'Zurück'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'API-Client-Verwaltung > Client-Parameter' 523 page_title: 'API-Client-Verwaltung > Client-Parameter'
523 page_description: 'Dies sind deine Client-Parameter.' 524 page_description: 'Dies sind deine Client-Parameter.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 6d006310..6874e924 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'Redirect URIs (optional)' 518 redirect_uris_label: 'Redirect URIs (optional)'
519 save_label: 'Create a new client' 519 save_label: 'Create a new client'
520 action_back: 'Back' 520 action_back: 'Back'
521 copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'API clients management > Client parameters' 523 page_title: 'API clients management > Client parameters'
523 page_description: 'Here are your client parameters.' 524 page_description: 'Here are your client parameters.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 0eb74396..13e96e0f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'URIs de redirección' 518 redirect_uris_label: 'URIs de redirección'
519 save_label: 'Crear un nuevo cliente' 519 save_label: 'Crear un nuevo cliente'
520 action_back: 'Volver' 520 action_back: 'Volver'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'Gestión de clientes API > Parámetros del cliente' 523 page_title: 'Gestión de clientes API > Parámetros del cliente'
523 page_description: 'Aquí están los parámetros del cliente.' 524 page_description: 'Aquí están los parámetros del cliente.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 35afdbf4..425d3a6a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -518,6 +518,7 @@ developer:
518 # redirect_uris_label: 'Redirect URIs' 518 # redirect_uris_label: 'Redirect URIs'
519 # save_label: 'Create a new client' 519 # save_label: 'Create a new client'
520 # action_back: 'بازگشت' 520 # action_back: 'بازگشت'
521 # copy_to_clipboard: Copy to clipboard
521 # client_parameter: 522 # client_parameter:
522 # page_title: 'API clients management > Client parameters' 523 # page_title: 'API clients management > Client parameters'
523 # page_description: 'Here are your client parameters.' 524 # page_description: 'Here are your client parameters.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 8a79b02f..2c1a91a8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: "Adresses de redirection (optionnel)" 518 redirect_uris_label: "Adresses de redirection (optionnel)"
519 save_label: "Créer un nouveau client" 519 save_label: "Créer un nouveau client"
520 action_back: "Retour" 520 action_back: "Retour"
521 copy_to_clipboard: Copier dans le presse-papier
521 client_parameter: 522 client_parameter:
522 page_title: "Gestion des clients API > Les paramètres de votre client" 523 page_title: "Gestion des clients API > Les paramètres de votre client"
523 page_description: "Voilà les paramètres de votre client" 524 page_description: "Voilà les paramètres de votre client"
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 859bbb14..b8b37301 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'Redirect URI' 518 redirect_uris_label: 'Redirect URI'
519 save_label: 'Crea un nuovo client' 519 save_label: 'Crea un nuovo client'
520 action_back: 'Indietro' 520 action_back: 'Indietro'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'Gestione client API > Parametri Client' 523 page_title: 'Gestione client API > Parametri Client'
523 page_description: 'Questi sono i tuoi parametri del client.' 524 page_description: 'Questi sono i tuoi parametri del client.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 7d928613..c887fe29 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'URLs de redireccion' 518 redirect_uris_label: 'URLs de redireccion'
519 save_label: 'Crear un novèl client' 519 save_label: 'Crear un novèl client'
520 action_back: 'Retorn' 520 action_back: 'Retorn'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'Gestion dels clients API > Los paramètres de vòstre client' 523 page_title: 'Gestion dels clients API > Los paramètres de vòstre client'
523 page_description: 'Vaquí los paramètres de vòstre client.' 524 page_description: 'Vaquí los paramètres de vòstre client.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 8e7ad7f2..3a2073d3 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'Przekieruj adresy URI' 518 redirect_uris_label: 'Przekieruj adresy URI'
519 save_label: 'Stwórz nowego klienta' 519 save_label: 'Stwórz nowego klienta'
520 action_back: 'Cofnij' 520 action_back: 'Cofnij'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'Zarządzanie klientami API > Parametry klienta' 523 page_title: 'Zarządzanie klientami API > Parametry klienta'
523 page_description: 'Tutaj znajdują się parametry klienta.' 524 page_description: 'Tutaj znajdują się parametry klienta.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
index ee45c085..50bc246c 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'URIs de redirecionamento' 518 redirect_uris_label: 'URIs de redirecionamento'
519 save_label: 'Criar um novo cliente' 519 save_label: 'Criar um novo cliente'
520 action_back: 'Voltar' 520 action_back: 'Voltar'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 # page_title: 'API clients management > Parâmetros de clientes' 523 # page_title: 'API clients management > Parâmetros de clientes'
523 page_description: 'Aqui estão os parâmetros de seus clientes.' 524 page_description: 'Aqui estão os parâmetros de seus clientes.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index edfc77a2..a0da3299 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -518,6 +518,7 @@ developer:
518 # redirect_uris_label: 'Redirect URIs' 518 # redirect_uris_label: 'Redirect URIs'
519 # save_label: 'Create a new client' 519 # save_label: 'Create a new client'
520 # action_back: 'Back' 520 # action_back: 'Back'
521 # copy_to_clipboard: Copy to clipboard
521 # client_parameter: 522 # client_parameter:
522 # page_title: 'API clients management > Client parameters' 523 # page_title: 'API clients management > Client parameters'
523 # page_description: 'Here are your client parameters.' 524 # page_description: 'Here are your client parameters.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
index c99da444..7aedc290 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'Ссылка перенаправления (опционально)' 518 redirect_uris_label: 'Ссылка перенаправления (опционально)'
519 save_label: 'Создать нового клиента' 519 save_label: 'Создать нового клиента'
520 action_back: 'Назад' 520 action_back: 'Назад'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'Управление клиентским API > Параметры клиента' 523 page_title: 'Управление клиентским API > Параметры клиента'
523 page_description: 'Здесь ваши параметры клиента.' 524 page_description: 'Здесь ваши параметры клиента.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
index 9927d059..924a85d9 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
@@ -518,6 +518,7 @@ developer:
518 redirect_uris_label: 'เส้นทางใหม่ของ URIs (ให้เลือกได้)' 518 redirect_uris_label: 'เส้นทางใหม่ของ URIs (ให้เลือกได้)'
519 save_label: 'สร่้างลูกข่ายใหม' 519 save_label: 'สร่้างลูกข่ายใหม'
520 action_back: 'กลับ' 520 action_back: 'กลับ'
521 # copy_to_clipboard: Copy to clipboard
521 client_parameter: 522 client_parameter:
522 page_title: 'การจัดการลูกข่ายของ API > พารามิเตอร์ของลูกข่าย' 523 page_title: 'การจัดการลูกข่ายของ API > พารามิเตอร์ของลูกข่าย'
523 page_description: 'ที่นี้เป็นพารามิเตอร์ของลูกข่ายของคุณ' 524 page_description: 'ที่นี้เป็นพารามิเตอร์ของลูกข่ายของคุณ'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 60fa44d5..e81c1974 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -518,6 +518,7 @@ developer:
518 # redirect_uris_label: 'Redirect URIs' 518 # redirect_uris_label: 'Redirect URIs'
519 # save_label: 'Create a new client' 519 # save_label: 'Create a new client'
520 # action_back: 'Back' 520 # action_back: 'Back'
521 # copy_to_clipboard: Copy to clipboard
521 # client_parameter: 522 # client_parameter:
522 # page_title: 'API clients management > Client parameters' 523 # page_title: 'API clients management > Client parameters'
523 # page_description: 'Here are your client parameters.' 524 # page_description: 'Here are your client parameters.'
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
index b498cceb..3a3ba0c9 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
@@ -8,11 +8,29 @@
8 <div class="card-panel settings"> 8 <div class="card-panel settings">
9 <div class="row"> 9 <div class="row">
10 <p>{{ 'developer.client_parameter.page_description'|trans }}</p> 10 <p>{{ 'developer.client_parameter.page_description'|trans }}</p>
11 <ul> 11
12 <li>{{ 'developer.client_parameter.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> 12 <table class="striped">
13 <li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> 13 <tr>
14 <li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> 14 <td>{{ 'developer.client_parameter.field_name'|trans }}</td>
15 </ul> 15 <td><strong><code>{{ client_name }}</code></strong></td>
16 </tr>
17 <tr>
18 <td>{{ 'developer.client_parameter.field_id'|trans }}</td>
19 <td>
20 <strong><code>{{ client_id }}</code></strong>
21 <button class="btn" data-clipboard-text="{{ client_id }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
22 </td>
23 </tr>
24 <tr>
25 <td>{{ 'developer.client_parameter.field_secret'|trans }}</td>
26 <td>
27 <strong><code>{{ client_secret }}</code></strong>
28 <button class="btn" data-clipboard-text="{{ client_secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
29 </td>
30 </tr>
31 </table>
32
33 <br/>
16 34
17 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> 35 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a>
18 <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a> 36 <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
index be04cddb..b83bf96f 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
@@ -33,11 +33,17 @@
33 <table class="striped"> 33 <table class="striped">
34 <tr> 34 <tr>
35 <td>{{ 'developer.existing_clients.field_id'|trans }}</td> 35 <td>{{ 'developer.existing_clients.field_id'|trans }}</td>
36 <td><strong><code>{{ client.clientId }}</code></strong></td> 36 <td>
37 <strong><code>{{ client.clientId }}</code></strong>
38 <button class="btn" data-clipboard-text="{{ client.clientId }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
39 </td>
37 </tr> 40 </tr>
38 <tr> 41 <tr>
39 <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> 42 <td>{{ 'developer.existing_clients.field_secret'|trans }}</td>
40 <td><strong><code>{{ client.secret }}</code></strong></td> 43 <td>
44 <strong><code>{{ client.secret }}</code></strong>
45 <button class="btn" data-clipboard-text="{{ client.secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
46 </td>
41 </tr> 47 </tr>
42 <tr> 48 <tr>
43 <td>{{ 'developer.existing_clients.field_uris'|trans }}</td> 49 <td>{{ 'developer.existing_clients.field_uris'|trans }}</td>
@@ -48,9 +54,10 @@
48 <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td> 54 <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td>
49 </tr> 55 </tr>
50 </table> 56 </table>
57
58 <p>{{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}</p>
59 <p>{{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}</p>
51 <p> 60 <p>
52 {{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/>
53 {{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/>
54 <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> 61 <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a>
55 </p> 62 </p>
56 </div> 63 </div>
diff --git a/web/wallassets/public.js b/web/wallassets/public.js
index 6755ba8f..caaccd90 100644
--- a/web/wallassets/public.js
+++ b/web/wallassets/public.js
@@ -1 +1 @@
!function(o){function __webpack_require__(e){if(n[e])return n[e].exports;var p=n[e]={i:e,l:!1,exports:{}};return o[e].call(p.exports,p,p.exports,__webpack_require__),p.l=!0,p.exports}var n={};__webpack_require__.m=o,__webpack_require__.c=n,__webpack_require__.i=function(o){return o},__webpack_require__.d=function(o,n,e){__webpack_require__.o(o,n)||Object.defineProperty(o,n,{configurable:!1,enumerable:!0,get:e})},__webpack_require__.n=function(o){var n=o&&o.__esModule?function(){return o.default}:function(){return o};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(o,n){return Object.prototype.hasOwnProperty.call(o,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=232)}({220:function(o,n,e){function webpackContext(o){return e(webpackContextResolve(o))}function webpackContextResolve(o){var n=p[o];if(!(n+1))throw new Error("Cannot find module '"+o+"'.");return n}var p={"./appicon/apple-touch-icon-114.png":235,"./appicon/apple-touch-icon-120.png":236,"./appicon/apple-touch-icon-144.png":237,"./appicon/apple-touch-icon-152.png":238,"./appicon/apple-touch-icon-57.png":239,"./appicon/apple-touch-icon-72.png":240,"./appicon/apple-touch-icon-76.png":241,"./appicon/apple-touch-icon.png":242,"./appicon/favicon.ico":243,"./bg-select.png":244,"./icons/Diaspora-asterisk.svg":245,"./icons/carrot-icon--black.png":246,"./icons/carrot-icon--white.png":247,"./icons/diaspora-icon--black.png":248,"./icons/diaspora-icon--white.png":249,"./icons/scuttle.png":250,"./icons/shaarli.png":251,"./icons/unmark-icon--black.png":252,"./list.png":253,"./logo-square.svg":254,"./logo-w.png":255,"./logo-wallabag.svg":256,"./table.png":257};webpackContext.keys=function(){return Object.keys(p)},webpackContext.resolve=webpackContextResolve,o.exports=webpackContext,webpackContext.id=220},227:function(o,n){},232:function(o,n,e){"use strict";e(227),function(o){o.keys().forEach(o)}(e(220))},235:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-114.png"},236:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-120.png"},237:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-144.png"},238:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-152.png"},239:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-57.png"},240:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-72.png"},241:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-76.png"},242:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon.png"},243:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/favicon.ico"},244:function(o,n,e){o.exports=e.p+"themes/_global/img/bg-select.png"},245:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/Diaspora-asterisk.svg"},246:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/carrot-icon--black.png"},247:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/carrot-icon--white.png"},248:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/diaspora-icon--black.png"},249:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/diaspora-icon--white.png"},250:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/scuttle.png"},251:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/shaarli.png"},252:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/unmark-icon--black.png"},253:function(o,n,e){o.exports=e.p+"themes/_global/img/list.png"},254:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-square.svg"},255:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-w.png"},256:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-wallabag.svg"},257:function(o,n,e){o.exports=e.p+"themes/_global/img/table.png"}}); \ No newline at end of file !function(o){function __webpack_require__(e){if(n[e])return n[e].exports;var p=n[e]={i:e,l:!1,exports:{}};return o[e].call(p.exports,p,p.exports,__webpack_require__),p.l=!0,p.exports}var n={};__webpack_require__.m=o,__webpack_require__.c=n,__webpack_require__.i=function(o){return o},__webpack_require__.d=function(o,n,e){__webpack_require__.o(o,n)||Object.defineProperty(o,n,{configurable:!1,enumerable:!0,get:e})},__webpack_require__.n=function(o){var n=o&&o.__esModule?function(){return o.default}:function(){return o};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(o,n){return Object.prototype.hasOwnProperty.call(o,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=242)}({230:function(o,n,e){function webpackContext(o){return e(webpackContextResolve(o))}function webpackContextResolve(o){var n=p[o];if(!(n+1))throw new Error("Cannot find module '"+o+"'.");return n}var p={"./appicon/apple-touch-icon-114.png":245,"./appicon/apple-touch-icon-120.png":246,"./appicon/apple-touch-icon-144.png":247,"./appicon/apple-touch-icon-152.png":248,"./appicon/apple-touch-icon-57.png":249,"./appicon/apple-touch-icon-72.png":250,"./appicon/apple-touch-icon-76.png":251,"./appicon/apple-touch-icon.png":252,"./appicon/favicon.ico":253,"./bg-select.png":254,"./icons/Diaspora-asterisk.svg":255,"./icons/carrot-icon--black.png":256,"./icons/carrot-icon--white.png":257,"./icons/diaspora-icon--black.png":258,"./icons/diaspora-icon--white.png":259,"./icons/scuttle.png":260,"./icons/shaarli.png":261,"./icons/unmark-icon--black.png":262,"./list.png":263,"./logo-square.svg":264,"./logo-w.png":265,"./logo-wallabag.svg":266,"./table.png":267};webpackContext.keys=function(){return Object.keys(p)},webpackContext.resolve=webpackContextResolve,o.exports=webpackContext,webpackContext.id=230},237:function(o,n){},242:function(o,n,e){"use strict";e(237),function(o){o.keys().forEach(o)}(e(230))},245:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-114.png"},246:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-120.png"},247:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-144.png"},248:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-152.png"},249:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-57.png"},250:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-72.png"},251:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon-76.png"},252:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/apple-touch-icon.png"},253:function(o,n,e){o.exports=e.p+"themes/_global/img/appicon/favicon.ico"},254:function(o,n,e){o.exports=e.p+"themes/_global/img/bg-select.png"},255:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/Diaspora-asterisk.svg"},256:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/carrot-icon--black.png"},257:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/carrot-icon--white.png"},258:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/diaspora-icon--black.png"},259:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/diaspora-icon--white.png"},260:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/scuttle.png"},261:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/shaarli.png"},262:function(o,n,e){o.exports=e.p+"themes/_global/img/icons/unmark-icon--black.png"},263:function(o,n,e){o.exports=e.p+"themes/_global/img/list.png"},264:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-square.svg"},265:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-w.png"},266:function(o,n,e){o.exports=e.p+"themes/_global/img/logo-wallabag.svg"},267:function(o,n,e){o.exports=e.p+"themes/_global/img/table.png"}}); \ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index addfd19b..efdf61e6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1330,6 +1330,15 @@ cli-width@^2.0.0:
1330 resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 1330 resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
1331 integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 1331 integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
1332 1332
1333clipboard@^2.0.4:
1334 version "2.0.4"
1335 resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
1336 integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==
1337 dependencies:
1338 good-listener "^1.2.2"
1339 select "^1.1.2"
1340 tiny-emitter "^2.0.0"
1341
1333cliui@^2.1.0: 1342cliui@^2.1.0:
1334 version "2.1.0" 1343 version "2.1.0"
1335 resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 1344 resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
@@ -1909,6 +1918,11 @@ delayed-stream@~1.0.0:
1909 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1918 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
1910 integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 1919 integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
1911 1920
1921delegate@^3.1.2:
1922 version "3.2.0"
1923 resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
1924 integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
1925
1912delegates@^1.0.0: 1926delegates@^1.0.0:
1913 version "1.0.0" 1927 version "1.0.0"
1914 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1928 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@@ -2843,6 +2857,13 @@ globule@^1.0.0:
2843 lodash "~4.17.10" 2857 lodash "~4.17.10"
2844 minimatch "~3.0.2" 2858 minimatch "~3.0.2"
2845 2859
2860good-listener@^1.2.2:
2861 version "1.2.2"
2862 resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
2863 integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
2864 dependencies:
2865 delegate "^3.1.2"
2866
2846graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: 2867graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
2847 version "4.1.15" 2868 version "4.1.15"
2848 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 2869 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
@@ -5758,6 +5779,11 @@ select-hose@^2.0.0:
5758 resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" 5779 resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
5759 integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= 5780 integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
5760 5781
5782select@^1.1.2:
5783 version "1.1.2"
5784 resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
5785 integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
5786
5761selfsigned@^1.9.1: 5787selfsigned@^1.9.1:
5762 version "1.10.4" 5788 version "1.10.4"
5763 resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" 5789 resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd"
@@ -6443,6 +6469,11 @@ timers-browserify@^2.0.4:
6443 dependencies: 6469 dependencies:
6444 setimmediate "^1.0.4" 6470 setimmediate "^1.0.4"
6445 6471
6472tiny-emitter@^2.0.0:
6473 version "2.1.0"
6474 resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
6475 integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
6476
6446tmp@^0.0.33: 6477tmp@^0.0.33:
6447 version "0.0.33" 6478 version "0.0.33"
6448 resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 6479 resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"