display legacy file
This commit is contained in:
parent
db8763942f
commit
1e8516e254
4 changed files with 50 additions and 3 deletions
|
|
@ -38,6 +38,7 @@
|
||||||
<div id="info-message-contents">
|
<div id="info-message-contents">
|
||||||
<div id="info-message-contents-text"></div>
|
<div id="info-message-contents-text"></div>
|
||||||
<div id="info-message-contents-version"></div>
|
<div id="info-message-contents-version"></div>
|
||||||
|
<div id="info-message-contents-legacy"></div>
|
||||||
<h4 id="info-message-content-commits-headline">Last Commits</h4>
|
<h4 id="info-message-content-commits-headline">Last Commits</h4>
|
||||||
<div id="info-message-contents-commits"></div>
|
<div id="info-message-contents-commits"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ export interface RevealableInterface {
|
||||||
imageUrl?: string;
|
imageUrl?: string;
|
||||||
version?: string;
|
version?: string;
|
||||||
commits?: Commit[];
|
commits?: Commit[];
|
||||||
|
fileContents?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RevealableStates {
|
enum RevealableStates {
|
||||||
|
|
@ -44,6 +45,7 @@ export class Revealable {
|
||||||
imageUrl: string;
|
imageUrl: string;
|
||||||
version: string;
|
version: string;
|
||||||
commits: Commit[];
|
commits: Commit[];
|
||||||
|
fileContents: string;
|
||||||
|
|
||||||
isHovered: boolean;
|
isHovered: boolean;
|
||||||
isRevealed: boolean;
|
isRevealed: boolean;
|
||||||
|
|
@ -59,7 +61,17 @@ export class Revealable {
|
||||||
pulseCountUp: boolean;
|
pulseCountUp: boolean;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
{ type, name, path, contents, url, imageUrl, version, commits }: RevealableInterface,
|
{
|
||||||
|
type,
|
||||||
|
name,
|
||||||
|
path,
|
||||||
|
contents,
|
||||||
|
url,
|
||||||
|
imageUrl,
|
||||||
|
version,
|
||||||
|
commits,
|
||||||
|
fileContents,
|
||||||
|
}: RevealableInterface,
|
||||||
area: Area
|
area: Area
|
||||||
) {
|
) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
|
@ -69,6 +81,7 @@ export class Revealable {
|
||||||
this.url = url;
|
this.url = url;
|
||||||
this.version = version;
|
this.version = version;
|
||||||
this.commits = commits;
|
this.commits = commits;
|
||||||
|
this.fileContents = fileContents;
|
||||||
this.imageUrl = imageUrl;
|
this.imageUrl = imageUrl;
|
||||||
this.area = area;
|
this.area = area;
|
||||||
this.currentSize = this.minSize;
|
this.currentSize = this.minSize;
|
||||||
|
|
@ -182,6 +195,7 @@ export class Revealable {
|
||||||
url: this.url,
|
url: this.url,
|
||||||
version: this.version,
|
version: this.version,
|
||||||
commits: this.commits,
|
commits: this.commits,
|
||||||
|
fileContents: this.fileContents,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ export interface InfoMessageType {
|
||||||
url?: string;
|
url?: string;
|
||||||
commits?: Commit[];
|
commits?: Commit[];
|
||||||
version?: string;
|
version?: string;
|
||||||
|
fileContents?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class InfoMessage {
|
export class InfoMessage {
|
||||||
|
|
@ -32,13 +33,14 @@ export class InfoMessage {
|
||||||
infoMessageCommitsHeadlineRef: HTMLElement;
|
infoMessageCommitsHeadlineRef: HTMLElement;
|
||||||
infoMessageCommitsRef: HTMLElement;
|
infoMessageCommitsRef: HTMLElement;
|
||||||
infoMessageVersionRef: HTMLElement;
|
infoMessageVersionRef: HTMLElement;
|
||||||
|
infoMessageLegacyRef: HTMLElement;
|
||||||
backdrop: HTMLElement;
|
backdrop: HTMLElement;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.infoMessage = document.getElementById('info-message');
|
this.infoMessage = document.getElementById('info-message');
|
||||||
this.infoMessageHeadline = document.getElementById('info-message-headline');
|
this.infoMessageHeadline = document.getElementById('info-message-headline');
|
||||||
this.infoMessageSubheadline = document.getElementById('info-message-subheadline');
|
this.infoMessageSubheadline = document.getElementById('info-message-subheadline');
|
||||||
this.infoMessageContents = document.getElementById('info-message-contents');
|
this.infoMessageContents = document.getElementById('info-message-contents-text');
|
||||||
this.infoMessageClose = document.getElementById('info-message-close');
|
this.infoMessageClose = document.getElementById('info-message-close');
|
||||||
this.infoMessageImgRef = document.getElementById('info-message-img') as HTMLImageElement;
|
this.infoMessageImgRef = document.getElementById('info-message-img') as HTMLImageElement;
|
||||||
this.infoMessageLinkRef = document.getElementById('info-message-link') as HTMLAnchorElement;
|
this.infoMessageLinkRef = document.getElementById('info-message-link') as HTMLAnchorElement;
|
||||||
|
|
@ -47,6 +49,7 @@ export class InfoMessage {
|
||||||
'info-message-content-commits-headline'
|
'info-message-content-commits-headline'
|
||||||
);
|
);
|
||||||
this.infoMessageVersionRef = document.getElementById('info-message-contents-version');
|
this.infoMessageVersionRef = document.getElementById('info-message-contents-version');
|
||||||
|
this.infoMessageLegacyRef = document.getElementById('info-message-contents-legacy');
|
||||||
this.backdrop = document.getElementById('backdrop');
|
this.backdrop = document.getElementById('backdrop');
|
||||||
|
|
||||||
this.backdrop.addEventListener('click', this.onBackdropClick);
|
this.backdrop.addEventListener('click', this.onBackdropClick);
|
||||||
|
|
@ -96,6 +99,13 @@ export class InfoMessage {
|
||||||
this.infoMessageVersionRef.style.display = 'none';
|
this.infoMessageVersionRef.style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.type === RevealableTypes.LEGACY) {
|
||||||
|
this.infoMessageLegacyRef.style.display = 'block';
|
||||||
|
this.setLegacy(newMessage.fileContents);
|
||||||
|
} else {
|
||||||
|
this.infoMessageLegacyRef.style.display = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
store.setState({ infoMessageShown: true });
|
store.setState({ infoMessageShown: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -113,13 +123,20 @@ export class InfoMessage {
|
||||||
|
|
||||||
private setContents(headline: string, innerHTML: string) {
|
private setContents(headline: string, innerHTML: string) {
|
||||||
this.infoMessageHeadline.innerText = headline;
|
this.infoMessageHeadline.innerText = headline;
|
||||||
// this.infoMessageContents.innerHTML = innerHTML;
|
this.infoMessageContents.innerHTML = innerHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
private setVersion(version: string) {
|
private setVersion(version: string) {
|
||||||
this.infoMessageVersionRef.innerHTML = `This package is installed at<br/><h3>${version}</h3>`;
|
this.infoMessageVersionRef.innerHTML = `This package is installed at<br/><h3>${version}</h3>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private setLegacy(fileContents: string) {
|
||||||
|
this.infoMessageLegacyRef.innerHTML = `
|
||||||
|
<p>Excerpt from the file:</p>
|
||||||
|
<pre>${fileContents}</pre>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
private setCommits(commits: Commit[]) {
|
private setCommits(commits: Commit[]) {
|
||||||
const commitEls = commits.map(
|
const commitEls = commits.map(
|
||||||
({ message, url, time }) =>
|
({ message, url, time }) =>
|
||||||
|
|
|
||||||
15
styles.scss
15
styles.scss
|
|
@ -240,6 +240,21 @@ textarea {
|
||||||
margin: 1.5rem 0;
|
margin: 1.5rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#info-message-contents-legacy {
|
||||||
|
p {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #4e4e4e;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
padding: 0.5rem;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
|
|
|
||||||
Reference in a new issue