diff --git a/Gruntfile.js b/Gruntfile.js
index b4c176d..88c0fbb 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,23 +1,26 @@
module.exports = function (grunt) {
-
- // Project configuration.
- grunt.initConfig({
- pkg: grunt.file.readJSON('package.json'),
- terser: {
- options: {
- // Task-specific options go here.
- },
- build: {
- // Target-specific file lists and/or options go here.
- src: 'src/main/resources/static/js/bundle.js',
- dest: 'src/main/resources/static/js/bundle.min.js'
- },
- chat_worker: {
- src: 'src/main/resources/static/js/worker.js',
- dest: 'src/main/resources/static/js/worker.js'
- },
- },
- banner: `
+ // Project configuration.
+ grunt.initConfig({
+ pkg: grunt.file.readJSON("package.json"),
+ terser: {
+ options: {
+ // Task-specific options go here.
+ },
+ build: {
+ // Target-specific file lists and/or options go here.
+ src: "src/main/resources/static/js/bundle.js",
+ dest: "src/main/resources/static/js/bundle.min.js",
+ },
+ chat_worker: {
+ src: "src/main/resources/static/js/worker.js",
+ dest: "src/main/resources/static/js/worker.js",
+ },
+ admin_bundle: {
+ src: "src/main/resources/static/js/adminBundle.js",
+ dest: "src/main/resources/static/js/adminBundle.min.js",
+ },
+ },
+ banner: `
* -----------------------------------------
* @date <%= grunt.template.today("yyyy-mm-dd") %>
* @project Chatto
@@ -25,73 +28,110 @@ module.exports = function (grunt) {
* @license GPL
* -----------------------------------------
`,
- usebanner: {
- dist: {
- options: {
- position: 'top',
- banner: '/*! <%= banner %> */ '
- },
- files: {
- src: ['src/main/resources/static/js/bundle.min.js', 'src/main/resources/static/js/worker.js']
- }
- }
+ usebanner: {
+ dist: {
+ options: {
+ position: "top",
+ banner: "/*! <%= banner %> */ ",
},
- browserify: {
- chat_worker_dev: {
- src: 'src/main/frontend/workers/encryption-worker/main.ts',
- dest: 'src/main/resources/static/js/worker.js',
- options: {
- browserifyOptions: {
- debug: true
- },
- }
- },
- dev: {
- src: 'src/main/frontend/chat/main.ts',
- dest: 'src/main/resources/static/js/bundle.js',
- options: {
- browserifyOptions: {
- debug: true
- },
- }
- },
- prod: {
- src: 'src/main/frontend/chat/main.ts',
- dest: 'src/main/resources/static/js/bundle.js',
- banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
- options: {
- browserifyOptions: {
- debug: false
- },
- }
- },
- chat_worker_prod: {
- src: 'src/main/frontend/workers/encryption-worker/main.ts',
- dest: 'src/main/resources/static/js/worker.min.js',
+ files: {
+ src: [
+ "src/main/resources/static/js/bundle.min.js",
+ "src/main/resources/static/js/adminBundle.min.js",
+ "src/main/resources/static/js/worker.js",
+ ],
+ },
+ },
+ },
+ browserify: {
+ chat_worker_dev: {
+ src: "src/main/frontend/workers/encryption-worker/main.ts",
+ dest: "src/main/resources/static/js/worker.js",
+ options: {
+ browserifyOptions: {
+ debug: true,
+ },
+ },
+ },
+ dev: {
+ src: "src/main/frontend/chat/main.ts",
+ dest: "src/main/resources/static/js/bundle.js",
+ options: {
+ browserifyOptions: {
+ debug: true,
+ },
+ },
+ },
+ prod: {
+ src: "src/main/frontend/chat/main.ts",
+ dest: "src/main/resources/static/js/bundle.js",
+ banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
+ options: {
+ browserifyOptions: {
+ debug: false,
+ },
+ },
+ },
+ chat_worker_prod: {
+ src: "src/main/frontend/workers/encryption-worker/main.ts",
+ dest: "src/main/resources/static/js/worker.min.js",
+ },
+ admin_bundle_dev: {
+ src: "src/main/frontend/admin/main.ts",
+ dest: "src/main/resources/static/js/adminBundle.js",
+ options: {
+ browserifyOptions: {
+ debug: true,
+ },
+ },
+ },
+ admin_bundle_prod: {
+ src: "src/main/frontend/admin/main.ts",
+ dest: "src/main/resources/static/js/adminBundle.js",
+ banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
+ options: {
+ browserifyOptions: {
+ debug: false,
+ },
+ },
+ },
+ options: {
+ plugin: [
+ [
+ "tsify",
+ {
+ target: "ES6",
+ noImplicitAny: true,
+ esModuleInterop: true,
+ allowSyntheticDefaultImports: true,
},
- options: {
- plugin: [
- ['tsify', { target: 'ES6', noImplicitAny: true, esModuleInterop: true, allowSyntheticDefaultImports: true }], // register plugin by name
- ],
-
-
- browserifyOptions: {},
- }
- }
- });
-
- // Load the plugin that provides the "uglify" task.
- grunt.loadNpmTasks('grunt-terser');
-
- // // Default task(s).
- // grunt.registerTask('default', ['uglify']);
+ ], // register plugin by name
+ ],
- grunt.loadNpmTasks('grunt-browserify')
- grunt.loadNpmTasks('grunt-banner');
+ browserifyOptions: {},
+ },
+ },
+ });
+ // Load the plugin that provides the "uglify" task.
+ grunt.loadNpmTasks("grunt-terser");
+ // // Default task(s).
+ // grunt.registerTask('default', ['uglify']);
- grunt.registerTask('default', ['browserify:dev', 'browserify:chat_worker_dev'])
- grunt.registerTask('prod', ["browserify:prod", 'browserify:chat_worker_dev', "terser", 'usebanner'])
+ grunt.loadNpmTasks("grunt-browserify");
+ grunt.loadNpmTasks("grunt-banner");
-};
\ No newline at end of file
+ grunt.registerTask("default", [
+ "browserify:dev",
+ "browserify:chat_worker_dev",
+ "browserify:admin_bundle_dev",
+ ]);
+ grunt.registerTask("prod", [
+ "browserify:prod",
+ "browserify:chat_worker_dev",
+ "browserify:admin_bundle_prod",
+ "terser",
+ "usebanner",
+ ]);
+};
diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties
index ce43b11..68a8386 100644
--- a/src/main/resources/application-prod.properties
+++ b/src/main/resources/application-prod.properties
@@ -6,4 +6,5 @@ logging.level.org.hibernate.type.descriptor.sql.BasicBinder=INFO
spring.http.log-request-details=false
logging.level.org.springframework.cache = INFO
chat-bundle=bundle.min.js
+admin-bundle=adminBundle.min.js
chatto.frontend.log-level=INFO
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index c07868b..ddb0a43 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -3,7 +3,6 @@
#spring.datasource.url = jdbc:mysql://localhost:3306/chatto_db?useSSL=false
#spring.datasource.username = chatto_user
#spring.datasource.password = password
-
chatto.datasource.username=chatto_user
chatto.datasource.password=password
chatto.datasource.database-name=chatto_db2
@@ -29,6 +28,7 @@ spring.cache.jcache.config=classpath:ehcache.xml
logging.level.org.springframework.cache=DEBUG
chatto.token.timeout-duration=30
chat-bundle=bundle.js
+admin-bundle=adminBundle.js
# spring.devtools.add-properties=false
chatto.frontend.log-level=TRACE
chatto.frontend.chat-page-size=9
\ No newline at end of file
diff --git a/src/main/resources/templates/fragments/admin.html b/src/main/resources/templates/fragments/admin.html
index deaffa8..77adf24 100644
--- a/src/main/resources/templates/fragments/admin.html
+++ b/src/main/resources/templates/fragments/admin.html
@@ -42,11 +42,9 @@
crossorigin="anonymous" /> -->
-
+
-
-
@@ -73,6 +71,9 @@
href="../../../resources/static/css/dataTables.bootstrap4.min.css">
+
+