ls-vertretungsplan-desktop.meta

Issues/PRs archive for MTRNord/ls-vertretungsplan-desktop
git clone git://archive.git.mtrnord.blog/MTRNord/ls-vertretungsplan-desktop.meta.git
Log | Files | Refs

9.diff (26922B)


      1 diff --git a/README.md b/README.md
      2 index f817f28..c954d82 100644
      3 --- a/README.md
      4 +++ b/README.md
      5 @@ -1,12 +1,15 @@
      6  # ls-vertretungsplan-desktop
      7  UNOFFICIAL Desktop App for the schedule of Lornsenschule, Schleswig
      8  
      9 +#DOWNLOADS
     10 +Downloades can be found here: https://ls-desktop.herokuapp.com/download/
     11 +
     12  # Info about the API
     13  This Desktop App uses an API by @johan12345 that is NOT managed by me. I am allowed to use it and to have it in the Git Source. To see the APP made by @johan12345 take a look at https://ls.vertretungsplan.me
     14  
     15 -# How to Build (If you find the URL to the API ^^)
     16 +# How to Build
     17  
     18  1. Clone the Repository
     19  2. Run `npm install`
     20  3. If You use Windows run `build.cmd` otherwise go to 4
     21 -4. Everybody else go into the app directory and run `npm install` and now run `node build.js` in the root
     22 +4. Everybody else go into the app directory and run `npm install` and now run `build` in the root
     23 diff --git a/app/index.html b/app/index.html
     24 index e5c5059..9c1b882 100644
     25 --- a/app/index.html
     26 +++ b/app/index.html
     27 @@ -23,7 +23,7 @@ <h1 id="school"></h1></br>
     28            </ul>
     29  
     30            <div class="tab-content">
     31 -            <div class="tab-pane fade in active" id="vertretungen"></div>
     32 +            <div class="tab-pane fade in active" id="vertretungen"><div id="days" day="0"></div><div id="days" day="1"></div></div>
     33              <div class="tab-pane fade" id="messages"></div>
     34            </div>
     35  
     36 @@ -59,78 +59,86 @@ <h1 id="school"></h1></br>
     37            document.all.school.innerHTML = body.schoolId.replace(/_/g, ' ') + ' Vertretungsplan'; // Print the json response
     38            for (var key in body.days) {
     39              if (body.days.hasOwnProperty(key)) {
     40 -              //////////////////////////////////////////////////////////////
     41 -              //////////////////////////////////////////////////////////////
     42 -              //                                                          //
     43 -              //                      1 == morgen                         //
     44 -              //                      0 == heute                          //
     45 -              //                                                          //
     46 -              //////////////////////////////////////////////////////////////
     47 -              //////////////////////////////////////////////////////////////
     48 -              if (key == 1) {
     49 -                date = body.days[key].dateString
     50 -                substitutions = body.days[key].substitutions
     51 -                messages = body.days[key].messages
     52 -                console.log("Day found")
     53 -                for (var key in messages) {
     54 -                  if (messages.hasOwnProperty(key)) {
     55 -                    $("#messages").append('<div class="card card-block" style="height: 10%; background-color: #EEEEEE; color: #000"><p>' + messages[key].replace(/\n/g, ' ') + '</p></div>')
     56 -                  }
     57 +              date = body.days[key].dateString
     58 +              substitutions = body.days[key].substitutions
     59 +              messages = body.days[key].messages
     60 +              day = key
     61 +              console.log("Day found")
     62 +              $("#messages").append('<h2 id="date">' + date + '</h2>')
     63 +              for (var key in messages) {
     64 +                if (messages.hasOwnProperty(key)) {
     65 +                  $("#messages").append('<div class="card card-block" style="height: 10%; background-color: #EEEEEE; color: #000"><p>' + messages[key].replace(/\n/g, ' ') + '</p></div>')
     66                  }
     67 -                for (var key in substitutions) {
     68 -                  if (substitutions.hasOwnProperty(key)) {
     69 -                    console.log("Substitutions found")
     70 -                    substitutions_now = substitutions[key]
     71 -                    klassen = substitutions_now.classes
     72 -                    for (var key in klassen) {
     73 -                      if (klassen.hasOwnProperty(key)) {
     74 -                        console.log("Class found")
     75 -                        klasse = klassen[key]
     76 -                        console.log(klasse)
     77 -                        console.log($("h3").filter("[klasse='" + klasse + "']", "#klasse").length)
     78 -                        if ($("h3").filter("[klasse='" + klasse + "']", "#klasse").length == 0) {
     79 -                          console.log("Found new Class")
     80 -                          $("#vertretungen").append('<div id="klasse" klasse="' + klasse + '"><h3 id="klasse" klasse="' + klasse + '">' + klasse + '</h3>')
     81 -                        }else{}
     82 -                        var reg = new RegExp('[-]');
     83 -                        lesson = substitutions_now.lesson
     84 -                        substitutions_type = substitutions_now.type
     85 -                        text = substitutions_now.text
     86 -                        console.log("Appending")
     87 -                        console.log("Multiple Subjects: " + reg.test(lesson))
     88 -                        if (substitutions_type == "Vertretung") {
     89 +              }
     90 +              console.log(day)
     91 +              $("div").filter("[day='" + day + "']", "#days").append('<h2 id="date" date="' + date + '">' + date + '</h2>')
     92 +              for (var key in substitutions) {
     93 +                if (substitutions.hasOwnProperty(key)) {
     94 +                  console.log("Substitutions found")
     95 +                  substitutions_now = substitutions[key]
     96 +                  klassen = substitutions_now.classes
     97 +                  for (var key in klassen) {
     98 +                    if (klassen.hasOwnProperty(key)) {
     99 +                      console.log("Class found")
    100 +                      klasse = klassen[key]
    101 +                      if ($("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").length == 0) {
    102 +                        console.log("Found new Class")
    103 +                        $("h2").filter("[date='" + date + "']", "#days").after('<div id="klasse" klasse="' + klasse + '"><h3 id="klasse" klasse="' + klasse + '" day="' + day + '">' + klasse + '</h3>')
    104 +                      }else{}
    105 +                      var reg = new RegExp('[-]');
    106 +                      lesson = substitutions_now.lesson
    107 +                      substitutions_type = substitutions_now.type
    108 +                      text = substitutions_now.text
    109 +                      console.log("Appending")
    110 +                      console.log("Multiple Subjects: " + reg.test(lesson))
    111 +                      if (substitutions_type == "Vertretung") {
    112 +                        if (reg.test(lesson)) {
    113 +                          $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    114 +                        }else{
    115 +                          $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    116 +                        }
    117 +                      }else{
    118 +                        if (substitutions_type == "Betreuung") {
    119                            if (reg.test(lesson)) {
    120 -                            $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    121 +                            $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    122                            }else{
    123 -                            $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    124 +                            $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '>' + '<div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    125                            }
    126                          }else{
    127 -                          if (substitutions_type == "Betreuung") {
    128 +                          if (substitutions_type == "Unterricht geändert") {
    129                              if (reg.test(lesson)) {
    130 -                              $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    131 +                              $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    132                              }else{
    133 -                              $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    134 +                              $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    135                              }
    136                            }else{
    137 -                            if (substitutions_type == "Unterricht geändert") {
    138 +                            if (substitutions_type == "Lehrertausch") {
    139                                if (reg.test(lesson)) {
    140 -                                $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    141 +                                $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    142                                }else{
    143 -                                $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    144 +                                $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    145                                }
    146                              }else{
    147 -                              if (substitutions_type == "Lehrertausch") {
    148 +                              if (substitutions_type == "anderer Raum") {
    149                                  if (reg.test(lesson)) {
    150 -                                  $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    151 +                                  $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    152                                  }else{
    153 -                                  $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    154 +                                  $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    155                                  }
    156                                }else{
    157 -                                if (substitutions_type == "anderer Raum") {
    158 +                                if (substitutions_type == "Aufgaben") {
    159                                    if (reg.test(lesson)) {
    160 -                                    $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    161 +                                    $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #F44336; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    162                                    }else{
    163 -                                    $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>')
    164 +                                    $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #F44336; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    165 +                                  }
    166 +                                }else{
    167 +                                  if (substitutions_type == "Sondereins.") {
    168 +                                    if (reg.test(lesson)) {
    169 +                                      $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    170 +                                    }else{
    171 +                                      $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>')
    172 +                                    }
    173                                    }
    174                                  }
    175                                }
    176 @@ -138,21 +146,27 @@ <h1 id="school"></h1></br>
    177                            }
    178                          }
    179                        }
    180 +                      $.fn.sortSubstitutions = jQuery.fn.sortSubstitutions = function sortSubstitutions() {
    181 +                        $("> div", this[0]).sort(dec_sort).appendTo(this[0]);
    182 +                        function dec_sort(a, b){ return ($(b).attr("substitution")) < ($(a).attr("substitution")) ? 1 : -1; }
    183 +                      }
    184 +                      $('div#klasse[klasse="' + klasse + '"]').sortSubstitutions();
    185                      }
    186                    }
    187                  }
    188                }
    189              }
    190            }
    191 -          $.fn.sortDivs = jQuery.fn.sortDivs = function sortDivs() {
    192 +          $.fn.sortClasses = jQuery.fn.sortClasses = function sortClasses() {
    193              $("> div", this[0]).sort(dec_sort).appendTo(this[0]);
    194              function dec_sort(a, b){ return ($(b).attr("klasse")) < ($(a).attr("klasse")) ? 1 : -1; }
    195            }
    196 -          $('#vertretungen').sortDivs();
    197 +          $('#days[day="0"]').sortClasses();
    198 +          $('#days[day="1"]').sortClasses();
    199          }else{
    200 -            console.log(error)
    201 -            $("#Main").append('<p class="bg-danger">Scheinbar geht dein Internet nicht :/</p>')
    202 -          }
    203 +          console.log(error)
    204 +          $("#Main").append('<p class="bg-danger">Scheinbar geht dein Internet nicht :/</p>')
    205 +        }
    206        })
    207  
    208        $('#Tabs a').click(function (e) {
    209 diff --git a/app/main.js b/app/main.js
    210 index c919fa0..3277eef 100644
    211 --- a/app/main.js
    212 +++ b/app/main.js
    213 @@ -1,19 +1,25 @@
    214 -const {app, BrowserWindow, dialog} = require('electron')
    215 +const {app, BrowserWindow, dialog, globalShortcut} = require('electron')
    216 +const autoUpdater = require('electron').autoUpdater
    217 +const os = require("os")
    218  
    219  // Keep a global reference of the window object, if you don't, the window will
    220  // be closed automatically when the JavaScript object is garbage collected.
    221  let win
    222  
    223  function update () {
    224 -  var feedUrl = 'https://ls-desktop.herokuapp.com/update/win32/' + app.getVersion();
    225 +  console.warn("Starting Autoupdater")
    226 +  console.warn(app.getVersion())
    227 +  var feedUrl = 'https://ls-desktop.herokuapp.com/update/' + os.platform() + '/' + app.getVersion() + '/';
    228    autoUpdater.setFeedURL(feedUrl);
    229  
    230 +  autoUpdater.checkForUpdates()
    231 +
    232    autoUpdater.on('update-downloaded', function (event, releaseNotes, releaseName, releaseDate, updateUrl, quitAndUpdate) {
    233  
    234      var index = dialog.showMessageBox(mainWindow, {
    235        type: 'info',
    236 -      buttons: [i18n.__('Restart'), i18n.__('Later')],
    237 -      title: "Typetalk",
    238 +      buttons: ['Restart', 'Later'],
    239 +      title: "Lornsenschule Vertretungsplan",
    240        message: i18n.__('The new version has been downloaded. Please restart the application to apply the updates.'),
    241        detail: releaseName + "\n\n" + releaseNotes
    242      });
    243 @@ -22,7 +28,7 @@ function update () {
    244        return;
    245      }
    246  
    247 -    quitAndUpdate();
    248 +    autoUpdater.quitAndUpdate();
    249    });
    250  }
    251  
    252 @@ -33,7 +39,6 @@ function createWindow () {
    253    // and load the index.html of the app.
    254    win.loadURL(`file://${__dirname}/index.html`)
    255  
    256 -  // Open the DevTools.
    257    //win.webContents.openDevTools()
    258  
    259    // Emitted when the window is closed.
    260 @@ -43,6 +48,7 @@ function createWindow () {
    261      // when you should delete the corresponding element.
    262      win = null
    263    })
    264 +  update()
    265  }
    266  
    267  // This method will be called when Electron has finished
    268 @@ -65,7 +71,6 @@ app.on('activate', () => {
    269    if (win === null) {
    270      createWindow()
    271    }
    272 -  update();
    273  })
    274  
    275  // In this file you can include the rest of your app's specific main process
    276 diff --git a/app/package.json b/app/package.json
    277 index 8c60e60..700d1d0 100644
    278 --- a/app/package.json
    279 +++ b/app/package.json
    280 @@ -1,10 +1,21 @@
    281  {
    282    "name": "ls_vertretungsplan_desktop",
    283    "productName": "Lornsenschule Vertretungsplan",
    284 -  "version": "0.0.4",
    285 +  "version": "0.1.0",
    286    "description": "Eine Anwendung die den Vertretungsplan auf dem Desktop anzeigt",
    287    "main": "./main.js",
    288 -  "author": "Lornsenschule Vertretungsplan",
    289 +  "author": { 
    290 +    "name" : "Lornsenschule Vertretungsplan",
    291 +    "email" : "ínfo@nordgedanken.de",
    292 +    "url" : "https://github.com/MTRNord/ls-vertretungsplan-desktop"
    293 +  },
    294 +  "contributors": [
    295 +    {
    296 +      "name" : "Marcel Radzio",
    297 +      "email" : "ínfo@nordgedanken.de",
    298 +      "url" : "https://github.com/MTRNord/ls-vertretungsplan-desktop"
    299 +    }
    300 +  ],
    301    "license": "",
    302    "dependencies": {
    303      "cached-request": "^1.0.0",
    304 diff --git a/package.json b/package.json
    305 index 39328fa..6ce419b 100644
    306 --- a/package.json
    307 +++ b/package.json
    308 @@ -1,8 +1,8 @@
    309  {
    310    "name": "ls_vertretungsplan_desktop",
    311 -  "version": "0.0.4",
    312 +  "version": "0.1.0",
    313    "description": "Eine Anwendung die den Vertretungsplan auf dem Desktop anzeigt",
    314 -  "author": "Marcel Radzio <info@nordgedanken.de>",
    315 +  "author": "Marcel Radzio",
    316    "license": "",
    317    "devDependencies": {
    318      "electron": "^1.3.4",
    319 @@ -34,12 +34,12 @@
    320      },
    321      "win": {
    322        "iconUrl": "https://github.com/MTRNord/ls-vertretungsplan-desktop/tree/master/app/LS.ico?raw=true",
    323 +      "remoteReleases": "http://ls-desktop.herokuapp.com/download/0.0.4/",
    324        "icon": "app/LS.ico"
    325      },
    326      "linux": {
    327        "target": [
    328          "deb",
    329 -        "AppImage",
    330          "zip",
    331          "rpm"
    332        ]