Skip to content

Commit 7a9b2da

Browse files
committed
Merge branch 'release/0.6.0'
2 parents 857bdeb + fd3fcdf commit 7a9b2da

89 files changed

Lines changed: 4711 additions & 1517 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ install:
1010
- npm update -g
1111
- npm install
1212
script:
13-
- grunt build
13+
- grunt
1414
- npm run print-userscript-banner
1515
deploy:
1616
provider: releases

Gruntfile.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
2+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
33
*
44
* This program is free software: you can redistribute it and/or modify
55
* it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
2020
const resolve = require('rollup-plugin-node-resolve');
2121
const commonJs = require('rollup-plugin-commonjs');
2222
const virtual = require('rollup-plugin-virtual');
23-
const babel = require('rollup-plugin-babel');
23+
const babel = require('rollup-plugin-babel');
2424

2525
const licenseBanner = require('./licenseBanner');
2626
const userScriptBanner = require('./userScriptBanner');
@@ -137,6 +137,7 @@ module.exports = function (grunt) {
137137
'assets/generated/extraNav.html': 'assets/templates/extraNav.html',
138138
'assets/generated/settings.html': 'assets/templates/settings.html',
139139
'assets/generated/editComicData.html': 'assets/templates/editComicData.html',
140+
'assets/generated/editLog.html': 'assets/templates/editLog.html',
140141
'assets/generated/addItem.html': 'assets/templates/addItem.html',
141142
'assets/generated/setTitle.html': 'assets/templates/setTitle.html',
142143
'assets/generated/setTagline.html': 'assets/templates/setTagline.html',
@@ -146,7 +147,8 @@ module.exports = function (grunt) {
146147
'assets/generated/itemDetails.html': 'assets/templates/itemDetails.html',
147148
'assets/generated/comicNav.html': 'assets/templates/comicNav.html',
148149
'assets/generated/changeLog.html': 'assets/templates/changeLog.html',
149-
'assets/generated/date.html': 'assets/templates/date.html'
150+
'assets/generated/date.html': 'assets/templates/date.html',
151+
'assets/generated/comic.html': 'assets/templates/comic.html'
150152
}
151153
}
152154
},
@@ -194,16 +196,18 @@ module.exports = function (grunt) {
194196
require('load-grunt-tasks')(grunt);
195197

196198
// Register the tasks.
197-
grunt.registerTask('default', ['build']);
199+
grunt.registerTask('default', ['build', 'check', 'uglify']);
198200
grunt.registerTask('build', [
199201
'compass', // Compile CSS
200202
'htmlmin', // Minify HTML templates
201203
'filesToJavascript', // Convert HTML templates to JS variables
202204
'concat:variables', // Create finished variable.pass2.js file
203-
'flow', // Type-checking
204-
'eslint', // Check for lint
205205
'rollup:main', // Rollup all the javascript files into one
206206
'concat:source', // Add banner to rollup result
207-
'uglify', // Minify the javascript
207+
]);
208+
209+
grunt.registerTask('check', [
210+
'flow', // Type-checking
211+
'eslint', // Check for lint
208212
]);
209213
};

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

assets/js/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by

assets/js/constants.js

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -21,11 +21,7 @@
2121
const developmentMode = false;
2222

2323
function getSiteUrl() {
24-
if (developmentMode) {
25-
return 'http://localhost:3000/';
26-
} else {
27-
return 'https://questionablextensions.net/';
28-
}
24+
return 'https://questionablextensions.net/';
2925
}
3026

3127
function getWebserviceBaseUrl() {
@@ -38,6 +34,7 @@ function getWebserviceBaseUrl() {
3834

3935
const comicDataUrl = getWebserviceBaseUrl() + 'comicdata/';
4036
const itemDataUrl = getWebserviceBaseUrl() + 'itemdata/';
37+
const editLogUrl = getWebserviceBaseUrl() + 'log';
4138

4239
const constants = {
4340
settingsKey: 'settings',
@@ -46,32 +43,44 @@ const constants = {
4643
siteUrl: getSiteUrl(),
4744
comicDataUrl,
4845
itemDataUrl,
46+
editLogUrl,
4947

5048
// Comics after 3132 should have a tagline
5149
taglineThreshold: 3132,
5250

51+
excludedComicsUrl: comicDataUrl + 'excluded',
5352
addItemToComicUrl: comicDataUrl + 'additem',
5453
removeItemFromComicUrl: comicDataUrl + 'removeitem',
5554
setComicTitleUrl: comicDataUrl + 'settitle',
5655
setComicTaglineUrl: comicDataUrl + 'settagline',
5756
setPublishDateUrl: comicDataUrl + 'setpublishdate',
5857
setGuestComicUrl: comicDataUrl + 'setguest',
5958
setNonCanonUrl: comicDataUrl + 'setnoncanon',
59+
setNoCastUrl: comicDataUrl + 'setnocast',
60+
setNoLocationUrl: comicDataUrl + 'setnolocation',
61+
setNoStorylineUrl: comicDataUrl + 'setnostoryline',
62+
setNoTitleUrl: comicDataUrl + 'setnotitle',
63+
setNoTaglineUrl: comicDataUrl + 'setnotagline',
6064

65+
itemImageUrl: itemDataUrl + 'image/',
6166
itemFriendDataUrl: itemDataUrl + 'friends/',
6267
itemLocationDataUrl: itemDataUrl + 'locations/',
6368
setItemDataPropertyUrl: itemDataUrl + 'setproperty',
6469

65-
characterImageBaseUrl: getSiteUrl() + 'images/characters/',
66-
characterImageExtension: 'png',
67-
6870
comicExtensions: ['png', 'gif', 'jpg'],
6971

7072
comicdataLoadingEvent: 'comicdata-loading',
7173
comicdataLoadedEvent: 'comicdata-loaded',
7274
comicdataErrorEvent: 'comicdata-error',
75+
76+
itemdataLoadingEvent: 'itemdata-loading',
77+
itemdataLoadedEvent: 'itemdata-loaded',
78+
itemdataErrorEvent: 'itemdata-error',
79+
7380
itemsChangedEvent: 'items-changed',
7481

82+
maintenanceEvent: 'maintenance',
83+
7584
messages: {
7685
maintenance: 'The Questionable Extensions' +
7786
' server is currently undergoing maintenance.' +

assets/js/modules/angular-app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by

assets/js/modules/angular/api/comicData.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -51,13 +51,19 @@ export type ComicItem = {
5151

5252
export type ComicData = {
5353
comic: number;
54+
imageType: "unknown" | "png" | "gif" | "jpeg",
5455
hasData: boolean;
5556
publishDate: ?string;
5657
isAccuratePublishDate: ?boolean;
5758
title: ?string;
5859
tagline: ?string;
5960
isGuestComic: ?boolean;
6061
isNonCanon: ?boolean;
62+
hasNoCast: ?boolean;
63+
hasNoLocation: ?boolean;
64+
hasNoStoryline: ?boolean;
65+
hasNoTitle: ?boolean;
66+
hasNoTagline: ?boolean;
6167
news: ?string;
6268
previous: ?number;
6369
next: ?number;

assets/js/modules/angular/api/itemData.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -47,4 +47,10 @@ export type DecoratedItemData = ItemData & {
4747
highlightColor: string;
4848
locations: ItemRelationData[];
4949
friends: ItemRelationData[];
50+
imageUrls: string[];
51+
};
52+
53+
export type ItemImageData = {
54+
id: number;
55+
crC32CHash: number;
5056
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// @flow
2+
/*
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU General Public License as published by
7+
* the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
*/
18+
19+
export type LogEntry = {
20+
identifier: string;
21+
dateTime: string;
22+
action: string;
23+
}
24+
25+
export type LogEntryData = {
26+
logEntries: LogEntry[];
27+
page: number;
28+
pageCount: number;
29+
logEntryCount: number;
30+
}

assets/js/modules/angular/assemble.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// @flow
22
/*
3-
* Copyright (C) 2016-2018 Alexander Krivács Schrøder <alexschrod@gmail.com>
3+
* Copyright (C) 2016-2019 Alexander Krivács Schrøder <alexschrod@gmail.com>
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -27,19 +27,22 @@ import titleController from './controllers/titleController';
2727

2828
import colorService from './services/colorService';
2929
import comicService from './services/comicService';
30+
import itemService from './services/itemService';
3031
import eventFactory from './services/eventFactory';
3132
import eventService from './services/eventService';
3233
import messageReportingService from './services/messageReportingService';
3334
import styleService from './services/styleService';
3435

3536
import donutDirective from './directives/donutDirective';
37+
import fileDataDirective from './directives/fileDataDirective';
3638
import onErrorDirective from './directives/onErrorDirective';
3739
import qcAddItemDirective from './directives/qcAddItemDirective';
3840
import qcChangeLogDirective from './directives/qcChangeLogDirective';
3941
import qcComicDirective from './directives/qcComicDirective';
4042
import qcComicNavDirective from './directives/qcComicNavDirective';
4143
import qcDateDirective from './directives/qcDateDirective';
4244
import qcEditComicDataDirective from './directives/qcEditComicDataDirective';
45+
import qcEditLogDirective from './directives/qcEditLogDirective';
4346
import qcExtraDirective from './directives/qcExtraDirective';
4447
import qcExtraNavDirective from './directives/qcExtraNavDirective';
4548
import qcItemDetailsDirective from './directives/qcItemDetailsDirective';
@@ -61,19 +64,22 @@ export default function (app: AngularModule) {
6164

6265
colorService(app);
6366
comicService(app);
67+
itemService(app);
6468
eventFactory(app);
6569
eventService(app);
6670
messageReportingService(app);
6771
styleService(app);
6872

6973
donutDirective(app);
74+
fileDataDirective(app);
7075
onErrorDirective(app);
7176
qcAddItemDirective(app);
7277
qcChangeLogDirective(app);
7378
qcComicDirective(app);
7479
qcComicNavDirective(app);
7580
qcDateDirective(app);
7681
qcEditComicDataDirective(app);
82+
qcEditLogDirective(app);
7783
qcExtraDirective(app);
7884
qcExtraNavDirective(app);
7985
qcItemDetailsDirective(app);

0 commit comments

Comments
 (0)