This commit is contained in:
Tykayn 2024-01-20 23:11:57 +01:00 committed by tykayn
parent 3d22b1f50f
commit e76ef0b241
3 changed files with 84 additions and 47 deletions

View File

@ -95,31 +95,18 @@
'topic-is-finished': subjects[currentSubjectId].finished || ! isTopicRunning(subjects[currentSubjectId])
}">
<div class="content-current-subject">
<h1 class="subject active">
{{ subjects[currentSubjectId].title }}
</h1>
<p>{{ subjects[currentSubjectId].duration }} min, par {{ subjects[currentSubjectId].author }}</p>
<p>Reste: {{ countRemainingMinutes(subjects[currentSubjectId]) }} min</p>
<p>avancement: {{ getPercentProgressTimeForTopic(subjects[currentSubjectId]) }} %</p>
<hr>
<div class="compte-rendu-infos">
<label for="scribe">scribe</label>
<input type="text" id="scribe" [(ngModel)]="scribe">
<br>
<label for="presents">{{countLinesInPresent()}}présents</label>
<textarea name="presents" id="note" cols="30" rows="10" id="presents" [(ngModel)]="presents"></textarea>
<br>
<label for="début">Début</label>
<input name="presents" id="début" [(ngModel)]="startTime"/>
<br>
<label for="fin">Fin</label>
<input name="presents" id="fin" [(ngModel)]="endTime"/>
</div>
<div class="actions">
<p>Début: {{ startTime }}, Fin: {{ endTime }}. Durée: {{round(getMinutesBetweenTwoDates(startDate,endDate))}}</p>
<p>Début: {{ startTime }}, Fin: {{ endTime }}.
Durée: {{round(getMinutesBetweenTwoDates(startDate, endDate))}}</p>
<button class="btn btn-primary" (click)="previousSubject()">
précédent
@ -134,6 +121,30 @@
up temps
</button>
</div>
<p>avancement: {{ getPercentProgressTimeForTopic(subjects[currentSubjectId]) }} %</p>
</div>
<div class="stats">
<h2>
statistiques:
</h2>
{{statsExplication}}
</div>
<hr>
<div class="compte-rendu-infos">
<label for="scribe">scribe</label>
<input type="text" id="scribe" [(ngModel)]="scribe">
<br>
<label for="presents">{{countLinesInPresent()}}présents</label>
<textarea name="presents" id="note" cols="30" rows="10" id="presents" [(ngModel)]="presents"></textarea>
<br>
<label for="début">Début</label>
<input name="presents" id="début" [(ngModel)]="startTime"/>
<br>
<label for="fin">Fin</label>
<input name="presents" id="fin" [(ngModel)]="endTime"/>
</div>
</div>
</div>

View File

@ -124,9 +124,11 @@ main {
.pill-group .pill:nth-child(6n + 1) {
--pill-accent: var(--bright-blue);
}
.pill-group .pill:nth-child(6n + 2) {
--pill-accent: var(--french-violet);
}
.pill-group .pill:nth-child(6n + 3),
.pill-group .pill:nth-child(6n + 4),
.pill-group .pill:nth-child(6n + 5) {
@ -152,6 +154,7 @@ main {
.social-links a:hover svg path {
fill: var(--gray-900);
}
//
//.left-side{
// width: 50%;
@ -160,10 +163,19 @@ main {
display: block;
padding: 1rem;
border-left: 10px solid white;
&.active {
border-left-color: #00b89c;
width: 20em;
word-break: break-all;
word-wrap: break-word;
}
}
.is-primary {
background: rgb(47, 86, 27)
}
label {
margin-right: 2ch;
margin-top: 1rem;
@ -180,19 +192,24 @@ label{
margin-right: 2ch;
display: inline-block;
}
pre {
width: 20rem;
padding: 0.5rem;
background: lightslategrey;
overflow-x: auto;
}
.is-clickable {
cursor: pointer;
&:hover {
&.subject {
background: rgba(170, 210, 199, 0.2);
}
}
}
@media screen and (max-width: 650px) {
.content {
flex-direction: column;

View File

@ -33,6 +33,8 @@ export class AppComponent implements OnInit, OnDestroy {
today: any = new Date();
// champs habituels pour le compte rendu:
scribe: string = 'tykayn';
private timekeeper: string = 'Chuck Norris';
private animator: string = 'Covid Copperfield';
presents: string = '- tykayn';
pasteLand: string = "* Présentation du suivi sur Nextcloud - 5min (tykayn)\n" +
@ -48,8 +50,7 @@ export class AppComponent implements OnInit, OnDestroy {
startDate: Date = new Date();
endDate: Date = new Date();
private topicChangeDate: Date = new Date();
private timekeeper: any;
private animator: any;
updateTopicChangeDate(): void {
@ -60,6 +61,7 @@ export class AppComponent implements OnInit, OnDestroy {
console.log(`Spent ${timeDifferenceInSeconds} seconds`);
this.subjects[this.currentSubjectId].spentSeconds += timeDifferenceInSeconds;
this.topicChangeDate = currentTime;
this.makeStatisticsOnTopicsSpentSeconds()
}
round(val: number) {
@ -138,9 +140,6 @@ export class AppComponent implements OnInit, OnDestroy {
this.startDate = this.makeDateFromHourToday(this.startTime + '');
this.endDate = this.makeDateFromHourToday(this.endTime + '');
// this.interval = setInterval(() => {
this.updateProgressEveryPeriod();
// }, 1 * 1000);
}
@ -150,8 +149,10 @@ export class AppComponent implements OnInit, OnDestroy {
nextSubject() {
this.updateTopicChangeDate()
if(this.currentSubjectId < this.subjects.length-1) {
this.currentSubjectId++
}
}
findMinutesDurationInDescription(topic: string): number {
let durationRegex = /-\s(\d+)min/g;
@ -249,7 +250,10 @@ export class AppComponent implements OnInit, OnDestroy {
}
this.statsExplication = `Total spent seconds: ${totalSeconds}\nAverage spent seconds: ${averageSeconds}\nLongest topic: ${longestTopic.title} (${longestSeconds} seconds)\nShortest topic: ${shortestTopic.title} (${shortestSeconds} seconds)`;
this.statsExplication = `Temps passé: ${this.round(totalSeconds)}
Moyenne par sujet: ${this.round(averageSeconds)}
Sujet le plus long: ${longestTopic.title.replace('*','')} (${this.round(longestSeconds)} )
Sujet le plus court : ${shortestTopic.title.replace('*','')} (${this.round(shortestSeconds)})`;
}
@ -270,9 +274,9 @@ export class AppComponent implements OnInit, OnDestroy {
buildCompteRendu() {
let compteRendu = `Compte rendu du ${this.formatDateYMD(this.today)}\n`;
let compteRendu = ` Compte rendu du ${this.formatDateYMD(this.today)}\n\n`;
compteRendu += `début: ${this.startTime}, fin:${this.endTime}.\n`;
compteRendu += ` Présents: ${this.formatPresentLines()}.\n`;
compteRendu += `Présents:\n${this.formatPresentLines()}.\n`;
if (this.scribe) {
compteRendu += `Scribe: ${this.scribe}.\n`;
}
@ -282,13 +286,18 @@ export class AppComponent implements OnInit, OnDestroy {
if (this.animator) {
compteRendu += `Animation: ${this.animator}.\n`;
}
compteRendu += `Statistiques:\n
${this.statsExplication}.`;
for (const topic of this.subjects) {
compteRendu += `* ${topic.title}-`;
compteRendu += ` ${topic.duration} min`;
compteRendu += ` (${topic.author})\n`;
compteRendu += ` \n${topic.notes}\n`;
compteRendu += ` ${topic.notes}\n`;
if(topic.spentSeconds){
compteRendu += `Temps écoulé : ${this.round(topic.spentSeconds)}\n\n`;
}
}
this.compteRendu = compteRendu
return compteRendu
}
@ -309,7 +318,7 @@ export class AppComponent implements OnInit, OnDestroy {
return line;
}).join('\n') + '\n'
}
return lines;
return lines.trim();
}
copyCompteRenduToClipboard() {