diff --git a/src/assets/timeline/logo.svg b/src/assets/timeline/logo.svg
new file mode 100644
index 0000000..b83447b
--- /dev/null
+++ b/src/assets/timeline/logo.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/src/components/Timeline.vue b/src/components/Timeline.vue
index ae211a9..e892672 100644
--- a/src/components/Timeline.vue
+++ b/src/components/Timeline.vue
@@ -2,6 +2,11 @@
@@ -77,6 +82,7 @@ import SkillCard from './SkillCard.vue';
import { Project } from '../model/projects';
import { tID } from '../model/skills';
import * as projects from '../service/projects';
+import * as scroller from '../service/scroller';
function pluralize(n: number, s: string): string {
n = Math.floor(Math.abs(n));
@@ -166,7 +172,7 @@ export default class Timeline extends Vue {
if ( el == null ) {
return;
}
- // when scrolling after this limit, make the header fixed
+ // when scrolling after this limit, make the header fixed
const limit = el.offsetTop;
if ( target.scrollTop >= limit ) {
@@ -175,6 +181,10 @@ export default class Timeline extends Vue {
header.classList.remove('fixed');
}
}
+
+ protected scrollBack() {
+ scroller.go("skill-picker", 0);
+ }
}
@@ -187,9 +197,10 @@ export default class Timeline extends Vue {
$bg-color: #202228;
$header-height: 6rem;
$joint-height: 2rem;
+ $logo-size: 5rem;
#search-header {
- display: block;
+ display: grid;
position: absolute;
top: 0;
left: 0;
@@ -201,6 +212,9 @@ export default class Timeline extends Vue {
z-index: 500;
+ grid-template-columns: $logo-size auto min-content;
+ align-items: center;
+
transition: background .5s ease-in-out,
margin .2s ease-in-out,
left .2s ease-in-out,
@@ -208,18 +222,83 @@ export default class Timeline extends Vue {
border-radius .2s ease-in-out,
box-shadow .1s ease-in-out;
+ img {
+ width: $logo-size;
+ height: $logo-size;
+
+ opacity: 0;
+
+ margin-left: .5rem;
+
+ transition: opacity .2s ease-in-out;
+ }
+
+ span {
+ display: flex;
+ margin: auto;
+
+ flex-flow: row nowrap;
+
+ h3 {
+ color: #fff;
+ font-size: 1.3em;
+
+ transition: color .2s ease-in-out;
+ }
+
+ .skill-card {
+ margin: 0 .5em;
+
+ cursor: auto;
+
+ &:hover {
+ background: #444952;
+ }
+ }
+ }
+
+ input {
+ padding: .4em 1em;
+ margin-right: 1.5em;
+
+ color: #fff;
+ font-size: 1.4rem;
+
+ background: linear-gradient(to top right, #564ba4, #745cfc);
+ border: none;
+ border-radius: .5rem / .5rem;
+
+ opacity: 0;
+ transition: opacity .2s ease-in-out;
+
+ cursor: pointer;
+ }
+
&.fixed {
position: fixed;
left: 1rem;
width: calc( 100% - #{1*2rem} );
margin-top: 1rem;
- background: #eee;
+ background: #fff;
// background: linear-gradient(to top right, #564ba4, #745cfc);
border-radius: 1rem / 1rem;
box-shadow: 0 0 1em darken(#202228, 5%);
+
+ img {
+ opacity: 1;
+ }
+
+ h3 {
+ color: #000;
+ }
+
+ input {
+ opacity: 1;
+ }
}
+
}
#timeline {
@@ -239,7 +318,7 @@ export default class Timeline extends Vue {
padding: 0 5rem;
- padding-top: #{$header-height + 2rem};
+ padding-top: $header-height;
// line 1
.spacer { grid-column: 2; };
@@ -418,12 +497,14 @@ export default class Timeline extends Vue {
color: #999999;
}
- b {
+ .name b {
color: #745cfc;
font-weight: 500;
}
- span {
+ .name span,
+ .src span,
+ .end span {
position: relative;
font-size: .8em;
diff --git a/src/locales/en.json b/src/locales/en.json
index 66920e1..42d59db 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -9,5 +9,8 @@
"home.line4-2": "and",
"home.line4-3": "(Arduino, Raspberry).",
+ "timeline.title": "Timeline of projects featuring",
+ "timeline.back": "Change skill",
+
"end": ""
}
\ No newline at end of file
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 6be74bc..abf612f 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -9,5 +9,8 @@
"home.line4-2": "et l'",
"home.line4-3": "(Arduino, Raspberry).",
+ "timeline.title": "Chronologie des projets avec",
+ "timeline.back": "Choisir compétence",
+
"end": ""
}
\ No newline at end of file