mirror of
https://framagit.org/framasoft/framadate/funky-framadate-front.git
synced 2023-08-25 13:53:14 +02:00
Merge branch 'feedback-button' into 'develop'
Feedback button See merge request framasoft/framadate/funky-framadate-front!38
This commit is contained in:
commit
f00afc94db
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
<main>
|
<main>
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
|
<app-feedback></app-feedback>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<app-footer></app-footer>
|
<app-footer></app-footer>
|
||||||
|
@ -22,6 +22,7 @@ import { AppComponent } from './app.component';
|
|||||||
import { CoreModule } from './core/core.module';
|
import { CoreModule } from './core/core.module';
|
||||||
import { OldStuffModule } from './features/old-stuff/old-stuff.module';
|
import { OldStuffModule } from './features/old-stuff/old-stuff.module';
|
||||||
import { SharedModule } from './shared/shared.module';
|
import { SharedModule } from './shared/shared.module';
|
||||||
|
import { ParticipationModule } from './features/participation/participation.module';
|
||||||
|
|
||||||
export class MyMissingTranslationHandler implements MissingTranslationHandler {
|
export class MyMissingTranslationHandler implements MissingTranslationHandler {
|
||||||
public handle(params: MissingTranslationHandlerParams): string {
|
public handle(params: MissingTranslationHandlerParams): string {
|
||||||
@ -59,7 +60,7 @@ export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
|
|||||||
},
|
},
|
||||||
useDefaultLang: false,
|
useDefaultLang: false,
|
||||||
}),
|
}),
|
||||||
OldStuffModule,
|
ParticipationModule,
|
||||||
],
|
],
|
||||||
providers: [Title, TranslateService],
|
providers: [Title, TranslateService],
|
||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
|
@ -10,5 +10,6 @@ import { PollComponent } from './poll/poll.component';
|
|||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [ParticipationComponent, PollComponent],
|
declarations: [ParticipationComponent, PollComponent],
|
||||||
imports: [CommonModule, ParticipationRoutingModule, SharedModule, TranslateModule.forChild({ extend: true })],
|
imports: [CommonModule, ParticipationRoutingModule, SharedModule, TranslateModule.forChild({ extend: true })],
|
||||||
|
exports: [],
|
||||||
})
|
})
|
||||||
export class ParticipationModule {}
|
export class ParticipationModule {}
|
||||||
|
23
src/app/shared/components/feedback/feedback.component.html
Normal file
23
src/app/shared/components/feedback/feedback.component.html
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<div class="feedback-container">
|
||||||
|
<div class="feedback-choices" *ngIf="isOpen" [ngClass]="{ active: isOpen }">
|
||||||
|
<a class="link" href="mailto:contact@cipherbliss.com">
|
||||||
|
<i class="fa fa-mail-forward"></i>
|
||||||
|
Par email
|
||||||
|
</a>
|
||||||
|
<a class="link" href="https://riot.im/app/#/room/#framadate:matrix.org">
|
||||||
|
<i class="fa fa-matrix-org"></i>
|
||||||
|
Par Matrix
|
||||||
|
</a>
|
||||||
|
<a class="link" href="https://framateam.org/ux-framatrucs/channels/framadate">
|
||||||
|
<i class="fa fa-comments"></i>
|
||||||
|
Discuter sur Framateam
|
||||||
|
</a>
|
||||||
|
<a class="link" href="https://framagit.org/framasoft/framadate/funky-framadate-front">
|
||||||
|
<i class="fa fa-gitlab"></i>
|
||||||
|
Créer une Issue sur Framagit
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="button" (click)="isOpen = !isOpen" [ngClass]="{ active: isOpen }">
|
||||||
|
<i class="fa fa-comment"></i> feedback
|
||||||
|
</div>
|
||||||
|
</div>
|
39
src/app/shared/components/feedback/feedback.component.scss
Normal file
39
src/app/shared/components/feedback/feedback.component.scss
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
:host {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 1em;
|
||||||
|
right: 1em;
|
||||||
|
color: white;
|
||||||
|
.feedback-choices {
|
||||||
|
&.active {
|
||||||
|
background: #0c5593;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
padding: 1em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.link {
|
||||||
|
margin: 1ch;
|
||||||
|
display: block;
|
||||||
|
max-width: 10em;
|
||||||
|
color: white;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
&:hover {
|
||||||
|
background: white;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
i {
|
||||||
|
color: white;
|
||||||
|
margin: 1ch;
|
||||||
|
}
|
||||||
|
.button {
|
||||||
|
float: right;
|
||||||
|
color: white;
|
||||||
|
background: #0c5593;
|
||||||
|
padding: 1em;
|
||||||
|
border-radius: 2em;
|
||||||
|
&.active {
|
||||||
|
background: #2e6da4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { FeedbackComponent } from './feedback.component';
|
||||||
|
|
||||||
|
describe('FeedbackComponent', () => {
|
||||||
|
let component: FeedbackComponent;
|
||||||
|
let fixture: ComponentFixture<FeedbackComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [FeedbackComponent],
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(FeedbackComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
13
src/app/shared/components/feedback/feedback.component.ts
Normal file
13
src/app/shared/components/feedback/feedback.component.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-feedback',
|
||||||
|
templateUrl: './feedback.component.html',
|
||||||
|
styleUrls: ['./feedback.component.scss'],
|
||||||
|
})
|
||||||
|
export class FeedbackComponent implements OnInit {
|
||||||
|
private isOpen = false;
|
||||||
|
|
||||||
|
constructor() {}
|
||||||
|
ngOnInit(): void {}
|
||||||
|
}
|
@ -17,9 +17,10 @@ import { ConfirmationService, MessageService } from 'primeng/api';
|
|||||||
|
|
||||||
import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
|
import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
|
||||||
import { PollPageComponent } from './components/poll-page/poll-page.component';
|
import { PollPageComponent } from './components/poll-page/poll-page.component';
|
||||||
|
import { FeedbackComponent } from './components/feedback/feedback.component';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [PageNotFoundComponent, PollPageComponent],
|
declarations: [PageNotFoundComponent, PollPageComponent, FeedbackComponent],
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
ChartsModule,
|
ChartsModule,
|
||||||
@ -38,6 +39,7 @@ import { PollPageComponent } from './components/poll-page/poll-page.component';
|
|||||||
ChartsModule,
|
ChartsModule,
|
||||||
ConfirmDialogModule,
|
ConfirmDialogModule,
|
||||||
DialogModule,
|
DialogModule,
|
||||||
|
FeedbackComponent,
|
||||||
InputSwitchModule,
|
InputSwitchModule,
|
||||||
InputTextareaModule,
|
InputTextareaModule,
|
||||||
MessageModule,
|
MessageModule,
|
||||||
|
Loading…
Reference in New Issue
Block a user