]> Untitled Git - lemmy.git/commitdiff
Adding versioning to front page.
authorDessalines <tyhou13@gmx.com>
Tue, 9 Apr 2019 03:28:07 +0000 (20:28 -0700)
committerDessalines <tyhou13@gmx.com>
Tue, 9 Apr 2019 03:28:07 +0000 (20:28 -0700)
- Fixes #51

ui/.gitignore
ui/fuse.js
ui/set_version.js [new file with mode: 0644]
ui/src/components/moment-time.tsx
ui/src/components/navbar.tsx

index cc0ab540cf6c3e10587f607caf42c6149f99c2b7..1e420dc4938ecc757bd122edd14e8e6d1dc51139 100644 (file)
@@ -1,3 +1,4 @@
+src/version.ts
 dist
 .fusebox
 _site
index a9283fad2492e8cbe09766be7b11bc1d7d9ffc92..c70edfb849cafa0cfcf729ea788df66d2df885df 100644 (file)
@@ -11,6 +11,7 @@ const transformInferno = require('ts-transform-inferno').default;
 const transformClasscat = require('ts-transform-classcat').default;
 let fuse, app;
 let isProduction = false;
+var setVersion = require('./set_version.js').setVersion;
 
 Sparky.task('config', _ => {
   fuse = new FuseBox({
@@ -41,15 +42,16 @@ Sparky.task('config', _ => {
   });
   app = fuse.bundle('app').instructions('>index.tsx');
 });
+Sparky.task('version', _ => setVersion());
 Sparky.task('clean', _ => Sparky.src('dist/').clean('dist/'));
 Sparky.task('env', _ => (isProduction = true));
 Sparky.task('copy-assets', () => Sparky.src('assets/*.svg').dest('dist/'));
-Sparky.task('dev', ['clean', 'config', 'copy-assets'], _ => {
+Sparky.task('dev', ['clean', 'config', 'copy-assets', 'version'], _ => {
   fuse.dev();
   app.hmr().watch();
   return fuse.run();
 });
-Sparky.task('prod', ['clean', 'env', 'config', 'copy-assets'], _ => {
+Sparky.task('prod', ['clean', 'env', 'config', 'copy-assets', 'version'], _ => {
   // fuse.dev({ reload: true }); // remove after demo
   return fuse.run();
 });
diff --git a/ui/set_version.js b/ui/set_version.js
new file mode 100644 (file)
index 0000000..bfd640c
--- /dev/null
@@ -0,0 +1,9 @@
+const fs = require('fs');
+
+exports.setVersion =  function() {
+  let revision = require('child_process')
+    .execSync('git describe --tags --long')
+    .toString().trim();
+  let line = `export let version: string = "${revision}";`;
+  fs.writeFileSync("./src/version.ts", line);
+}
index f07f04a3f02534f7d69cdcb506132d9761fcef74..b7402e7ec9c02f41b08a72b884ade8e93a1526e0 100644 (file)
@@ -17,11 +17,11 @@ export class MomentTime extends Component<MomentTimeProps, any> {
   render() {
     if (this.props.data.updated) {
       return (
-        <span className="font-italics">modified {moment.utc(this.props.data.updated).fromNow()}</span>
+        <span title={this.props.data.updated} className="font-italics">modified {moment.utc(this.props.data.updated).fromNow()}</span>
       )
     } else {
       return (
-        <span>{moment.utc(this.props.data.published).fromNow()}</span>
+        <span title={this.props.data.published}>{moment.utc(this.props.data.published).fromNow()}</span>
       )
     }
   }
index c4b51e375e3c5d71a47550edcd3a061be3da700f..ca0c5a2a2319f34b0103523a1fc317d0d3816718 100644 (file)
@@ -2,6 +2,7 @@ import { Component, linkEvent } from 'inferno';
 import { Link } from 'inferno-router';
 import { repoUrl } from '../utils';
 import { UserService } from '../services';
+import { version } from '../version';
 
 interface NavbarState {
   isLoggedIn: boolean;
@@ -40,7 +41,7 @@ export class Navbar extends Component<any, NavbarState> {
   navbar() {
     return (
       <nav class="navbar navbar-expand-sm navbar-light bg-light p-0 px-3 shadow">
-        <a class="navbar-brand" href="#">
+        <a title={version} class="navbar-brand" href="#">
           <svg class="icon mr-2"><use xlinkHref="#icon-mouse"></use></svg>
           Lemmy
         </a>