openworktime/webapp/index.html
webapp/index.htmlRaw
1
2 <!DOCTYPE html>
3 <html ng-app="workApp">
4 <head>
5 <!--Import Google Icon Font-->
6 <link href="fonts/icons.css" rel="stylesheet">
7 <!--Import materialize.css-->
8 <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/>
9
10
11 <link type="text/css" rel="stylesheet" href="own.css"/>
12
13 <!--Let browser know website is optimized for mobile-->
14 <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
15 <title>Open Work Time - local version</title>
16
17
18
19 </head>
20
21 <body ng-controller="workController as work">
22
23
24 <nav>
25 <div class="nav-wrapper blue-grey darken-1">
26 <a href="#" class="brand-logo">Open Work Time <small>- v0.1</small></a>
27 <ul id="nav-mobile" class="right">
28 <li>
29 <a ng-click="openCode()" target="_blank">
30 <i class="large material-icons" title="Visit code">code</i>
31 </a>
32 </li>
33 <li>
34 <a ng-click="deleteStorage()">
35 <i class="large material-icons" title="Delete storage">info_outline</i>
36 </a>
37 </li>
38 <li>
39 <a ng-click="saveStorage()" title="Save all to storage">
40 <i class="large material-icons">perm_identity</i>
41 </a>
42 </li>
43 </ul>
44 </div>
45 </nav>
46
47 <div class="row">
48 <div class="col s12 m4 l3 blue-grey lighten-2">
49 <!-- Grey navigation panel -->
50 <div class="o_user_title center-align">
51 <img ng-src="img/avatars/{{user.avatar}}.png" alt="" class="circle responsive-img blue-grey lighten-4">
52 <h3>{{user.username}}</h3>
53 </div>
54 <p>
55 Users's github: <a ng-href="{{user.github}}">{{user.github}}</a>
56 </p>
57 <p>
58 Total worked time: {{user.totalWorkedTime | secondsToDateTime | date:'HH:mm'}}h
59 </p>
60 </div>
61
62
63 <div class="col s12 m8 l9">
64 <div class="row">
65 <div class="card blue-grey lighten-4 col s12 m12 l5">
66 <div class="card-content">
67 <span class="card-title">Projects</span>
68 <div class="collection">
69 <a href="#!" ng-click="projectSelect($index)" ng-repeat="project in projects" class="collection-item avatar blue-grey lighten-4">
70 <div class="right">
71 <div class="waves-effect waves-light btn-floating blue-grey lighten-2" ng-click="editProject($index)">
72 <i class="material-icons"><img src="img/edit.png" class="o_trash_icon" /></i>
73 </div>
74 <div class="waves-effect waves-light btn-floating blue-grey lighten-2" ng-click="removeProject($index)">
75 <i class="material-icons"><img src="img/trash.png" class="o_trash_icon" /></i>
76 </div>
77 </div>
78 <img ng-src="img/{{project.icon}}.png" class="circle"/>
79 <span class="title">{{project.title}}</span>
80 <p class="grey-text">{{project.totaltime | secondsToDateTime | date:'HH:mm:ss'}}</p>
81 </a>
82 </div>
83 </div>
84 <div class="card-action" ng-show="!editingProject">
85 <div class="input-field col s6">
86 <input ng-model="newproject.title" id="newprojectname" type="text" class="validate">
87 <label for="newprojectname">New project name</label>
88 </div>
89 <div class="input-field col s6">
90 <input ng-model="newproject.icon" id="icon" type="text" class="validate">
91 <label for="icon">icon</label>
92 </div>
93 <a ng-click="addNewProject()" class="waves-effect waves-light btn blue-grey lighten-1 right">Add new project</a>
94 </div>
95 <div class="card-action" ng-show="editingProject">
96 <div class="input-field col s6">
97 <input ng-model="editingProject.title" id="newprojectname" value=" " type="text" class="validate">
98 <label for="newprojectname">New project name</label>
99 </div>
100 <div class="input-field col s6">
101 <input ng-model="editingProject.icon" id="icon" value=" " type="text" class="validate">
102 <label for="icon">icon</label>
103 </div>
104 <a ng-click="cancelEditProject()" class="waves-effect waves-light btn red lighten-2">Cancel</a>
105 <a ng-click="updateProject()" class="waves-effect waves-light btn blue lighten-2 right">Update project</a>
106 </div>
107 </div>
108
109 <div ng-show="currentproject.title" class="card blue-grey lighten-4 col s12 m12 l7">
110 <div class="card-content">
111 <span class="card-title">
112 <img ng-src="img/{{currentproject.icon}}.png" class="o_project_title_img"/>
113 {{currentproject.title}}
114 </span>
115 <p>
116 Total time: {{currentproject.totaltime | secondsToDateTime | date:'HH:mm:ss'}}
117 </p>
118 <p>
119 Current strike time: <b>{{currentStrike | secondsToDateTime | date:'HH:mm:ss'}}</b>
120 </p>
121
122 </div>
123 <div class="card-action">
124 <a ng-click="btnWork()" ng-show="!working" class="waves-effect waves-light btn green lighten-2">Work!</a>
125 <a ng-click="btnStop()" ng-show="working" class="waves-effect waves-light btn red lighten-2">Stop!</a>
126
127 <!--<a class="waves-effect waves-light btn deep-orange lighten-2">Stop working!</a>-->
128 </div>
129 <div class="divider"></div>
130 <div class="card-content">
131 <!-- here the charts -->
132 <canvas id="bar" class="chart chart-bar"
133 chart-data="currentproject.chart.data" chart-labels="currentproject.chart.labels" chart-series="currentproject.chart.series">
134 </canvas>
135
136 </div>
137 </div>
138 <div ng-show="!currentproject.title" class="card blue-grey lighten-4 col s12 m12 l7" style="height: 200px;">
139 <span class="card-title">
140 Select a project
141 </span>
142 </div>
143
144
145 </div>
146 </div>
147 </div>
148
149<!-- ELECTRON
150Insert this line above script imports
151Works for both browser and electron with the same code -->
152<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
153
154 <!-- ANGULAR -->
155 <script src="libraries/angular.min.js"></script>
156
157 <!-- ANGULAR CHART JS -->
158 <script src="node_modules/chart.js/dist/Chart.min.js"></script>
159 <script src="node_modules/angular-chart.js/dist/angular-chart.min.js"></script>
160
161
162 <!--Import jQuery before materialize.js-->
163 <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
164 <script type="text/javascript" src="js/materialize.min.js"></script>
165
166 <script src="controllers.js"></script>
167
168 <script src="libraries/toastr.js"></script>
169 <link type="text/css" rel="stylesheet" href="libraries/toastr.css"/>
170
171<!-- ELECTRON
172Insert this line after script imports -->
173<script>if (window.module) module = window.module;</script>
174
175
176 </body>
177 </html>