ajout page accueil CSC

This commit is contained in:
Tykayn 2025-08-22 11:57:56 +02:00 committed by tykayn
parent a19b70c0a0
commit dc0f735be8
35 changed files with 535 additions and 93 deletions

View file

@ -1,2 +1 @@
preserve-symlinks=true
prefix=/home/tykayn/.npm-global

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 KiB

View file

@ -3,13 +3,11 @@
<title>CSC implémentation</title>
</head>
<body>
<app-top-navigation></app-top-navigation>
@if (currentUrl !== '/login') {
<app-top-navigation></app-top-navigation>
<sae-feedback-button></sae-feedback-button>
}
<router-outlet/>
<h1>
<img src="csc_logo.svg" alt="logo">
CSC
</h1>
<sae-feedback-button></sae-feedback-button>
</body>
</html>

View file

@ -2,6 +2,7 @@ import {Routes} from '@angular/router';
import {Main} from './pages/main/main';
import {Admin} from './pages/admin/admin';
import {SimilarCases} from './pages/similar-cases/similar-cases';
import {Login} from './pages/login/login';
export const routes: Routes = [{
path: '',
@ -11,6 +12,10 @@ export const routes: Routes = [{
path: 'admin',
component: Admin
},
{
path: 'login',
component: Login
},
{
path: 'similar-cases',
component: SimilarCases

View file

@ -1,7 +1,9 @@
import { Component, signal } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import {Component, inject, signal} from '@angular/core';
import {ActivatedRoute, Router, RouterOutlet, NavigationEnd} from '@angular/router';
import {TopNavigation} from './shared/navigation/top-navigation/top-navigation';
import {FeedbackButton} from 'sae-lib/buttons/feedback-button/feedback-button';
import {filter} from 'rxjs/operators';
// import {SaeLib} from '@sae-lib/src/public-api';
@Component({
@ -11,5 +13,16 @@ import {FeedbackButton} from 'sae-lib/buttons/feedback-button/feedback-button';
styleUrl: './app.scss'
})
export class App {
public router = inject(Router);
currentUrl: string = '';
protected readonly title = signal('implem');
constructor() {
this.router.events.pipe(
filter(event => event instanceof NavigationEnd)
).subscribe((event: any) => {
this.currentUrl = event.urlAfterRedirects;
console.log('Current URL:', this.currentUrl);
});
}
}

View file

@ -0,0 +1,18 @@
<div id="cscLogin">
<!-- login page CSC-->
<div class="Aligner">
<div class="Aligner-item Aligner-item--top"></div>
<div class="Aligner-item"></div>
<div class="Aligner-item Aligner-item--bottom"></div>
</div>
<div class="columns">
<div class="column form-login">
</div>
<div class="column bg-login">
</div>
</div>
</div>

View file

@ -0,0 +1,32 @@
#cscLogin {
background: #1b1d27;
color: white;
display: flex;
width: 100vw;
height: 100vh;
padding: 121px 127px;
.bg-login {
background: url('/safran_bg.jpg') center no-repeat;
background-size: cover;
width: 600px;
}
}
.Aligner {
display: flex;
align-items: center;
justify-content: center;
}
.Aligner-item {
max-width: 50%;
}
.Aligner-item--top {
align-self: flex-start;
}
.Aligner-item--bottom {
align-self: flex-end;
}

View file

@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { Login } from './login';
describe('Login', () => {
let component: Login;
let fixture: ComponentFixture<Login>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [Login]
})
.compileComponents();
fixture = TestBed.createComponent(Login);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View file

@ -0,0 +1,14 @@
import {Component} from '@angular/core';
import {LoginForm} from 'sae-lib/forms/login-form/login-form';
@Component({
selector: 'app-login',
imports: [
LoginForm
],
templateUrl: './login.html',
styleUrl: './login.scss'
})
export class Login {
}

View file

@ -11,7 +11,6 @@
</h2>
<!-- traduction de requête-->
<div id="translation_request">
<sae-color-display></sae-color-display>
<div class="helper">
<span>
@ -43,4 +42,5 @@
<!-- search button-->
<app-bottom-navigation></app-bottom-navigation>
</footer>
<sae-feedback-button></sae-feedback-button>
</div>

View file

@ -1,3 +1,20 @@
.magic-text{
color: #EEA100;
.magic-text {
color: #A86CFD;
font-family: Barlow;
font-size: 20px;
font-style: normal;
font-weight: 600;
line-height: normal;
i {
font-size: 1.25em;
margin-left: 2px;
}
}
#translation_request {
.helper {
padding-left: 4.5%;
}
}

View file

@ -3,6 +3,7 @@ import {TranslateTexts} from 'sae-lib/inbox/translate-texts/translate-texts';
import {FiltersGroup} from '../../../../../my-workspace/projects/sae-lib/filters/filters-group/filters-group';
import {BottomNavigation} from '../../shared/navigation/bottom-navigation/bottom-navigation';
import {ColorDisplay} from 'sae-lib/colours/color-display/color-display';
import {FeedbackButton} from 'sae-lib/buttons/feedback-button/feedback-button';
@Component({
@ -11,7 +12,8 @@ import {ColorDisplay} from 'sae-lib/colours/color-display/color-display';
TranslateTexts,
FiltersGroup,
BottomNavigation,
ColorDisplay
ColorDisplay,
FeedbackButton
],
templateUrl: './main.html',
styleUrl: './main.scss'

View file

@ -1,3 +1,3 @@
.toggle-ai-suggestion{
color: #FEAD02;
.toggle-ai-suggestion {
color: #A86CFD;
}

View file

@ -39,7 +39,7 @@
Quick Start
</a>
<a class="navbar-item">
<a class="navbar-item" routerLink="login" routerLinkActive="is-active">
<!-- exit-->
<i class="ri-door-line"></i>
</a>

View file

@ -1,13 +1,13 @@
// from global to more precise
// sass lang utils
@use "sass:color";
@use "app/styles/app.scss";
// lib SAE Aero styles
@use 'sae-lib/src/styles/index.scss';
/* Fichier de styles global pour l'application */
// Importer les styles principaux
@import 'styles/main.scss';
@use "app/styles/app.scss";
@use 'styles/main.scss';
// Styles globaux supplémentaires
html, body {

View file

@ -37,23 +37,17 @@
left: 92%;
top: 50px;
width: 37px;
display: none;
&:hover {
background: #888;
color: #222;
display: block;
}
}
textarea {
width: 648px;
height: 236px;
flex-shrink: 0;
border-radius: 4px;
background: #FFF;
box-shadow: 0 19px 29px 0 rgba(30, 31, 34, 0.05);
border-width: 0;
padding: 11px 14px;
color: variables.$csc-textarea-color;
}
}
@ -64,52 +58,6 @@
}
.filter-group {
.input-box{
margin-left: -1rem;
i{
position: relative;
left: 2rem;
}
input{
padding-left: 2rem;
padding-top: 6px;
padding-bottom: 6px;
}
}
.search {
display: flex;
min-height: 42px;
max-height: 42px;
padding: var(--Spacing-Spacing-30, 12px) var(--Spacing-Spacing-40, 16px);
align-items: center;
gap: var(--Spacing-Spacing-20, 8px);
align-self: stretch;
}
.chips-listing {
margin-top: 16px;
border-radius: 4px;
background: variables.$csc-filters-box-color;
width: 100%;
height: 400px;
padding: 12px;
.chips {
background: variables.$csc-chips-bg-color;
color: white;
padding: 12px 16px;
border: solid 1px variables.$csc-chips-bg-color;
width: 100%;
border-radius: 20px;
}
}
}
.bottom-navigation {
.nav-item {