diff --git a/recipes/somtoday/icon.svg b/recipes/somtoday/icon.svg
new file mode 100644
index 000000000..6db8acc79
--- /dev/null
+++ b/recipes/somtoday/icon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/recipes/somtoday/index.js b/recipes/somtoday/index.js
new file mode 100644
index 000000000..13da9a579
--- /dev/null
+++ b/recipes/somtoday/index.js
@@ -0,0 +1,3 @@
+'use strict';
+
+module.exports = Ferdium => Ferdium;
diff --git a/recipes/somtoday/package-lock.json b/recipes/somtoday/package-lock.json
new file mode 100644
index 000000000..264df87e6
--- /dev/null
+++ b/recipes/somtoday/package-lock.json
@@ -0,0 +1,13 @@
+{
+ "name": "SomToday",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "SomToday",
+ "version": "1.0.0",
+ "license": "MIT"
+ }
+ }
+}
diff --git a/recipes/somtoday/package.json b/recipes/somtoday/package.json
new file mode 100644
index 000000000..0d70d7ba2
--- /dev/null
+++ b/recipes/somtoday/package.json
@@ -0,0 +1,11 @@
+{
+ "id": "somtoday",
+ "name": "SomToday",
+ "version": "1.0.0",
+ "license": "MIT",
+ "config": {
+ "serviceURL": "https://inloggen.somtoday.nl",
+ "hasDirectMessages": true,
+ "hasNotificationSound": true
+ }
+}
diff --git a/recipes/somtoday/service.css b/recipes/somtoday/service.css
new file mode 100644
index 000000000..69291a15e
--- /dev/null
+++ b/recipes/somtoday/service.css
@@ -0,0 +1,151 @@
+.tg_head_split {
+ max-width: 100% !important;
+}
+
+.im_page_wrap {
+ max-width: 100% !important;
+}
+
+.im_dialogs_col_wrap {
+ width: 320px !important;
+}
+
+.im_history_col_wrap {
+ width: calc(100% - 320px) !important;
+}
+
+.im_message_wrap {
+ max-width: inherit !important;
+}
+
+.im_message_body {
+ max-width: 580px !important;
+}
+
+body.darkTheme,
+.darkTheme .modal-content {
+ color: #bbb !important;
+ background: #252525 !important;
+}
+.darkTheme a.tg_checkbox {
+ color: #bbb !important;
+}
+.darkTheme .im_page_wrap {
+ /*background color of contentwrapper under header*/
+
+ background-color: #303030 !important;
+ border-left: 1px solid #4d4d4d !important;
+ border-right: 1px solid #4d4d4d !important;
+ border-bottom: 1px solid #4d4d4d !important;
+ box-shadow: none;
+}
+.darkTheme .im_message_body,
+.darkTheme .im_attach,
+.darkTheme .im_media_attach,
+.darkTheme .im_record,
+.darkTheme .im_message_document_thumbed {
+ background: inherit !important;
+}
+.darkTheme .im_dialog_peer {
+ /*peer nickname unselected*/
+
+ color: #bbb !important;
+}
+.darkTheme .contacts_modal_members_list a.contacts_modal_contact {
+ /*nicknames in contactlist via hamburger menu*/
+
+ color: #bbb;
+}
+.darkTheme .active a.im_dialog {
+ /*selected peer */
+
+ background-color: #4d4d4d !important;
+}
+.darkTheme .tg_head_split,
+.darkTheme .md_modal_head {
+ /*page header block*/
+
+ background-color: #4d4d4d !important;
+}
+.darkTheme .dropdown.open .tg_head_btn,
+.darkTheme .tg_head_btn:hover {
+ background: #4d4d4d !important;
+}
+.darkTheme .form-control {
+ /*input field*/
+
+ background-color: #0e0e0e !important;
+ color: #bbb !important;
+}
+.darkTheme .composer_rich_textarea {
+ background: #303030 !important;
+ border-color: #bbb !important;
+}
+.darkTheme .im_dialogs_col_wrap {
+ /*contactlist right border*/
+
+ border-right: 2px solid #4d4d4d;
+}
+.darkTheme .im_dialogs_col .nano > .nano-pane > .nano-slider {
+ /*scrollbarbutton when hover*/
+
+ background-color: #4d4d4d !important;
+}
+.darkTheme .tg_head_split {
+ background-color: #151515;
+}
+.darkTheme .im_submit {
+ color: #4d4d4d;
+}
+.darkTheme .im_message_mymention {
+ background: #1d1d1d;
+}
+.darkTheme .im_message_focus .im_message_outer_wrap {
+ background-color: #4d4d4d;
+}
+.darkTheme .im_message_selected .im_message_outer_wrap {
+ background: #4d4d4d;
+}
+.darkTheme a:hover {
+ background-color: #282828 !important;
+}
+.darkTheme .im_message_unread_split {
+ background: #4d4d4d;
+}
+@keyframes im_message_focus_fade {
+ 0% {
+ background-color: #2d2d2d;
+ }
+}
+.darkTheme .btn-primary {
+ background-color: #4d4d4d;
+}
+.darkTheme .im_history_select_active .im_message_outer_wrap:hover {
+ background: #4d4d4d;
+}
+.darkTheme .im_dialog_chat_from_wrap,
+.darkTheme .im_dialog_message_service {
+ color: #6ac;
+}
+.darkTheme .composer_rich_textarea,
+.darkTheme .composer_textarea {
+ box-shadow: 0px 3px 1px #ddd;
+}
+.darkTheme .composer_rich_textarea:focus {
+ box-shadow: 0px 3px 1px #ddd !important;
+}
+.darkTheme .tg_head_logo_dropdown .dropdown-menu > li > a {
+ color: #ddd;
+}
+.darkTheme .btn-primary.disabled,
+.darkTheme .btn-primary[disabled] {
+ background: #4d4d4d none repeat scroll 0% 0%;
+}
+/*emoji*/
+
+.darkTheme .composer_emoji_tooltip,
+.darkTheme .icon-tooltip-tail,
+.darkTheme .dropdown-menu {
+ background-color: #4d4d4d !important;
+ border-color: #5d5d5d;
+}
diff --git a/recipes/somtoday/webview.js b/recipes/somtoday/webview.js
new file mode 100644
index 000000000..df9b9fdac
--- /dev/null
+++ b/recipes/somtoday/webview.js
@@ -0,0 +1,22 @@
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : { default: obj };
+}
+
+const _path = _interopRequireDefault(require('path'));
+
+module.exports = Ferdium => {
+ function getMessages() {
+ let direct = 0;
+ let indirect = 0;
+ const FerdiumData = document.querySelector('#FerdiumMessages').dataset;
+ if (FerdiumData) {
+ direct = FerdiumData.direct;
+ indirect = FerdiumData.indirect;
+ }
+
+ Ferdium.setBadge(direct, indirect);
+ }
+
+ Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
+ Ferdium.loop(getMessages);
+};
diff --git a/recipes/voetbal-nl/icon.svg b/recipes/voetbal-nl/icon.svg
index 791797273..f1af0f9d3 100644
--- a/recipes/voetbal-nl/icon.svg
+++ b/recipes/voetbal-nl/icon.svg
@@ -1,32 +1,3 @@
-
-
-
+
\ No newline at end of file
diff --git a/recipes/voetbal-nl/package.json b/recipes/voetbal-nl/package.json
index b7013cad3..983c60aa4 100644
--- a/recipes/voetbal-nl/package.json
+++ b/recipes/voetbal-nl/package.json
@@ -1,7 +1,7 @@
{
"id": "voetbal-nl",
"name": "Voetbal",
- "version": "1.0.0",
+ "version": "1.0.1",
"license": "MIT",
"config": {
"serviceURL": "https://voetbal.nl/inloggen",