add lib translate texts
This commit is contained in:
parent
fc4d89f77e
commit
45a36f4736
23 changed files with 298 additions and 14 deletions
15
implem/package-lock.json
generated
15
implem/package-lock.json
generated
|
@ -14,6 +14,7 @@
|
|||
"@angular/forms": "^20.1.0",
|
||||
"@angular/platform-browser": "^20.1.0",
|
||||
"@angular/router": "^20.1.0",
|
||||
"remixicon": "^4.6.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "~0.15.0"
|
||||
|
@ -27,6 +28,7 @@
|
|||
"@storybook/addon-docs": "^9.1.1",
|
||||
"@storybook/angular": "^9.1.1",
|
||||
"@types/jasmine": "~5.1.0",
|
||||
"bulma": "^1.0.4 ",
|
||||
"jasmine-core": "~5.8.0",
|
||||
"karma": "~6.4.0",
|
||||
"karma-chrome-launcher": "~3.2.0",
|
||||
|
@ -7777,6 +7779,13 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/bulma": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/bulma/-/bulma-1.0.4.tgz",
|
||||
"integrity": "sha512-Ffb6YGXDiZYX3cqvSbHWqQ8+LkX6tVoTcZuVB3lm93sbAVXlO0D6QlOTMnV6g18gILpAXqkG2z9hf9z4hCjz2g==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/bundle-name": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
|
||||
|
@ -14872,6 +14881,12 @@
|
|||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/remixicon": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/remixicon/-/remixicon-4.6.0.tgz",
|
||||
"integrity": "sha512-bKM5odjqE1yzVxEZGJE7F79WHhNrJFIKHXR+GG+P1IWXn8AnJZhl8SbIRDJsNAvIqx4VPkNwjuHfc42tutMDpQ==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/renderkid": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
"@angular/forms": "^20.1.0",
|
||||
"@angular/platform-browser": "^20.1.0",
|
||||
"@angular/router": "^20.1.0",
|
||||
"remixicon": "^4.6.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "~0.15.0"
|
||||
|
@ -48,6 +49,7 @@
|
|||
"karma-jasmine": "~5.1.0",
|
||||
"karma-jasmine-html-reporter": "~2.1.0",
|
||||
"storybook": "^9.1.1",
|
||||
"bulma": "^1.0.4 ",
|
||||
"typescript": "~5.8.2"
|
||||
}
|
||||
}
|
||||
|
|
6
implem/public/csc_logo.svg
Normal file
6
implem/public/csc_logo.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.52206 7.28816L9.6082 6.20201L5.26314 1.85714C3.90547 0.499441 1.88152 0.893194 0.918739 1.85746C0.0837352 2.69375 -0.166553 3.75833 0.10483 4.84444C0.36813 5.8982 1.19027 6.47363 1.73334 7.01681L2.81948 5.93066L2.00522 5.11604C1.64317 4.75392 1.24618 3.70262 2.00569 2.9435C2.82077 2.12885 3.81546 2.58148 4.1775 2.94354L8.52206 7.28816Z" fill="#7FB8E7"/>
|
||||
<path d="M5.43018 8.58488L4.34404 9.67104L8.6891 14.0159C10.0468 15.3736 12.0707 14.9799 13.0335 14.0156C13.8685 13.1793 14.1188 12.1147 13.8474 11.0286C13.5841 9.97485 12.762 9.39942 12.2189 8.85623L11.1328 9.94239L11.947 10.757C12.3091 11.1191 12.7061 12.1704 11.9465 12.9295C11.1315 13.7442 10.1368 13.2916 9.77474 12.9295L5.43018 8.58488Z" fill="#7FB8E7"/>
|
||||
<path d="M6.32149 6.41189L5.22094 5.34034L0.934581 9.74314C-0.404832 11.1189 0.0159221 13.1374 0.99295 14.0872C1.84031 14.911 2.90812 15.147 3.99049 14.8612C5.04062 14.5838 5.605 13.754 6.14088 13.2037L5.04032 12.1322L4.23667 12.9573C3.87943 13.3241 2.83354 13.7351 2.06436 12.9858C1.2389 12.1817 1.67819 11.181 2.03537 10.8142L6.32149 6.41189Z" fill="#7FB8E7"/>
|
||||
<path d="M7.61327 9.50212L8.68924 10.5984L13.0743 6.29387C14.4446 4.94887 14.0697 2.92131 13.1144 1.94958C12.286 1.10681 11.2238 0.846618 10.1352 1.10788C9.07907 1.36136 8.49602 2.17812 7.94781 2.71612L9.02379 3.81235L9.84595 3.00569C10.2114 2.64703 11.2663 2.25983 12.0183 3.02639C12.8254 3.84903 12.3635 4.83948 11.9981 5.19814L7.61327 9.50212Z" fill="#7FB8E7"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
49
implem/public/safran_logo.svg
Normal file
49
implem/public/safran_logo.svg
Normal file
|
@ -0,0 +1,49 @@
|
|||
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_181_3230" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="14" width="20" height="7">
|
||||
<path d="M18.9093 14.9434C16.8047 17.7914 13.4049 19.6474 9.56798 19.6474C5.73108 19.6474 2.33128 17.7914 0.226653 14.9434H0C1.6999 18.4794 5.34253 20.9114 9.56798 20.9114C13.7934 20.9114 17.4361 18.4634 19.136 14.9434H18.9093Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_181_3230)">
|
||||
<path d="M19.136 14.9434H0V20.9114H19.136V14.9434Z" fill="url(#paint0_radial_181_3230)"/>
|
||||
</g>
|
||||
<mask id="mask1_181_3230" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="2" width="19" height="17">
|
||||
<path d="M2.81698 4.06464C1.5542 4.99264 1.05233 5.93664 0.874244 6.81664C-0.0161772 11.1206 8.59663 12.8326 11.8993 13.9046C13.7125 14.4806 13.9553 15.2646 13.9392 15.8886C13.9068 17.3286 11.8507 18.6246 11.8345 18.6246C13.5182 18.5926 15.7848 17.6166 17.1447 16.0966C17.6627 15.5206 18.116 14.7526 18.2294 14.1926C18.7312 11.6166 16.3028 10.3046 13.4373 9.31264C11.2031 8.54464 9.35753 8.01664 7.78715 7.53664C5.29397 6.78464 4.87304 6.06464 4.88923 5.28064C4.90542 4.36864 5.89298 3.21664 6.99387 2.54464C6.97768 2.51264 4.90542 2.51264 2.81698 4.06464Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask1_181_3230)">
|
||||
<path d="M-7.01001 14.6885L14.1658 26.5605L25.7251 6.43255L4.54928 -5.43945L-7.01001 14.6885Z" fill="url(#paint1_linear_181_3230)"/>
|
||||
</g>
|
||||
<mask id="mask2_181_3230" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="6">
|
||||
<path d="M0 5.96808H0.226653C2.33128 3.12008 5.73108 1.26408 9.56798 1.26408C13.4049 1.26408 16.8047 3.12008 18.9093 5.96808H19.136C17.4361 2.43208 13.7934 7.79692e-05 9.56798 7.79692e-05C5.35872 -0.015922 1.6999 2.43208 0 5.96808Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask2_181_3230)">
|
||||
<path d="M-0.728516 0.0796874L0.291421 8.27169L19.8807 5.87169L18.8446 -2.32031L-0.728516 0.0796874Z" fill="url(#paint2_linear_181_3230)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_181_3230" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.57148 17.9241) scale(10.698 10.5728)">
|
||||
<stop stop-color="#84CFED"/>
|
||||
<stop offset="0.22" stop-color="#59A7D5"/>
|
||||
<stop offset="0.45" stop-color="#3284C0"/>
|
||||
<stop offset="0.67" stop-color="#176BB1"/>
|
||||
<stop offset="0.86" stop-color="#065BA7"/>
|
||||
<stop offset="1" stop-color="#0056A4"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint1_linear_181_3230" x1="3.8416" y1="7.5054" x2="18.3229" y2="15.8158" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#57BCEC"/>
|
||||
<stop offset="0.08" stop-color="#4CB1E3"/>
|
||||
<stop offset="0.34" stop-color="#2B8FC9"/>
|
||||
<stop offset="0.59" stop-color="#1376B6"/>
|
||||
<stop offset="0.81" stop-color="#0567AB"/>
|
||||
<stop offset="1" stop-color="#0062A7"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_181_3230" x1="9.12259" y1="-0.191204" x2="11.6743" y2="20.5973" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#81CDEC"/>
|
||||
<stop offset="0.08" stop-color="#5FADD8"/>
|
||||
<stop offset="0.16" stop-color="#4292C8"/>
|
||||
<stop offset="0.25" stop-color="#2A7CBB"/>
|
||||
<stop offset="0.35" stop-color="#176BB1"/>
|
||||
<stop offset="0.47" stop-color="#0A5FA9"/>
|
||||
<stop offset="0.62" stop-color="#0258A5"/>
|
||||
<stop offset="0.94" stop-color="#0056A4"/>
|
||||
<stop offset="1" stop-color="#0056A4"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
|
@ -3,10 +3,11 @@
|
|||
<title>CSC implémentation</title>
|
||||
</head>
|
||||
<body>
|
||||
<router-outlet/>
|
||||
<h1>
|
||||
<img src="csc_logo.svg" alt="logo">
|
||||
CSC
|
||||
</h1>
|
||||
<router-outlet/>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,6 +1,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';
|
||||
|
||||
export const routes: Routes = [{
|
||||
path: '',
|
||||
|
@ -10,4 +11,8 @@ export const routes: Routes = [{
|
|||
path: 'admin',
|
||||
component: Admin
|
||||
},
|
||||
{
|
||||
path: 'similar-cases',
|
||||
component: SimilarCases
|
||||
},
|
||||
];
|
||||
|
|
|
@ -1,4 +1,31 @@
|
|||
<div id="main_page">
|
||||
nav du haut
|
||||
<app-top-navigation></app-top-navigation>
|
||||
<main>
|
||||
|
||||
<h2 class="title">
|
||||
CSC Solution Matcher helps match client questions with similar previous cases using AI technology
|
||||
</h2>
|
||||
<!-- traduction de requête-->
|
||||
<div id="translation_request">
|
||||
|
||||
<div class="helper">
|
||||
Original question
|
||||
<i class="ri-arrow-right-line"></i>
|
||||
|
||||
</div>
|
||||
|
||||
<lib-translate-texts></lib-translate-texts>
|
||||
</div>
|
||||
<!-- analyse de question-->
|
||||
<div id="question_alaysis">
|
||||
<!--filters-->
|
||||
<!-- advanced filters-->
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
|
||||
<!-- bottom nav -->
|
||||
<!-- bottom fixed bar -->
|
||||
<!-- search button-->
|
||||
</footer>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import { Component } from '@angular/core';
|
||||
import {TopNavigation} from '../../shared/navigation/top-navigation/top-navigation';
|
||||
import {TranslateTexts} from '../../../../../my-workspace/projects/my-lib/translate-texts/translate-texts';
|
||||
|
||||
@Component({
|
||||
selector: 'app-main',
|
||||
imports: [
|
||||
TopNavigation
|
||||
TopNavigation,
|
||||
TranslateTexts
|
||||
],
|
||||
templateUrl: './main.html',
|
||||
styleUrl: './main.scss'
|
||||
|
|
1
implem/src/app/pages/similar-cases/similar-cases.html
Normal file
1
implem/src/app/pages/similar-cases/similar-cases.html
Normal file
|
@ -0,0 +1 @@
|
|||
<p>similar-cases works!</p>
|
0
implem/src/app/pages/similar-cases/similar-cases.scss
Normal file
0
implem/src/app/pages/similar-cases/similar-cases.scss
Normal file
23
implem/src/app/pages/similar-cases/similar-cases.spec.ts
Normal file
23
implem/src/app/pages/similar-cases/similar-cases.spec.ts
Normal file
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { SimilarCases } from './similar-cases';
|
||||
|
||||
describe('SimilarCases', () => {
|
||||
let component: SimilarCases;
|
||||
let fixture: ComponentFixture<SimilarCases>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [SimilarCases]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(SimilarCases);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
11
implem/src/app/pages/similar-cases/similar-cases.ts
Normal file
11
implem/src/app/pages/similar-cases/similar-cases.ts
Normal file
|
@ -0,0 +1,11 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-similar-cases',
|
||||
imports: [],
|
||||
templateUrl: './similar-cases.html',
|
||||
styleUrl: './similar-cases.scss'
|
||||
})
|
||||
export class SimilarCases {
|
||||
|
||||
}
|
|
@ -1,5 +1,51 @@
|
|||
<p>top-navigation works!</p>
|
||||
<lib-essai></lib-essai>
|
||||
<lib-color-display name="rouge" hexaCode="#cc0000" ></lib-color-display>
|
||||
<lib-color-display name="vert" hexaCode="green" ></lib-color-display>
|
||||
<lib-color-display name="bleu" hexaCode="blue" ></lib-color-display>
|
||||
<div class="top-navigation">
|
||||
|
||||
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="https://cipherbliss.com">
|
||||
|
||||
<img src="safran_logo.svg" alt="logo">
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false"
|
||||
data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
|
||||
<div class="navbar-end">
|
||||
<a class="navbar-item" routerLink="home" routerLinkActive="active-link">
|
||||
<img src="csc_logo.svg" alt="logo">
|
||||
CSC Solution Matcher
|
||||
</a>
|
||||
<a class="navbar-item">
|
||||
Home
|
||||
</a>
|
||||
<a class="navbar-item">
|
||||
|
||||
Admin
|
||||
|
||||
</a>
|
||||
<a class="navbar-item">
|
||||
|
||||
Quick Start
|
||||
|
||||
</a>
|
||||
<a class="navbar-item">
|
||||
<!-- exit-->
|
||||
<i class="ri-door-line"></i>
|
||||
</a>
|
||||
<a class="navbar-item">
|
||||
<!-- user -->
|
||||
borhène
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import { Component } from '@angular/core';
|
||||
import {Essai} from '../../../../../../my-workspace/projects/my-lib/essai/essai';
|
||||
import {ColorDisplay} from '../../../../../../my-workspace/projects/my-lib/color-display/color-display';
|
||||
import {Component} from '@angular/core';
|
||||
import {RouterLink, RouterLinkActive} from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-top-navigation',
|
||||
imports: [
|
||||
Essai,
|
||||
ColorDisplay
|
||||
RouterLink,
|
||||
RouterLinkActive
|
||||
],
|
||||
templateUrl: './top-navigation.html',
|
||||
styleUrl: './top-navigation.scss'
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
|
||||
// libs
|
||||
//@use 'remixicon/fonts/remixicon.scss';
|
||||
@use 'remixicon/fonts/remixicon.scss';
|
||||
|
||||
@use 'bulma/sass/base/minireset.scss';
|
||||
@use 'bulma/sass/grid/_index.scss';
|
||||
@use 'bulma/sass/components/navbar.scss';
|
||||
|
||||
// dev tools
|
||||
//@use '_app.scss';
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<p>filters-group works!</p>
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { FiltersGroup } from './filters-group';
|
||||
|
||||
describe('FiltersGroup', () => {
|
||||
let component: FiltersGroup;
|
||||
let fixture: ComponentFixture<FiltersGroup>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [FiltersGroup]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(FiltersGroup);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,11 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'lib-filters-group',
|
||||
imports: [],
|
||||
templateUrl: './filters-group.html',
|
||||
styleUrl: './filters-group.css'
|
||||
})
|
||||
export class FiltersGroup {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<div class="translate-texts">
|
||||
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
|
||||
<!-- delete button from_text-->
|
||||
<button class="delete-button button" (click)="emptyText('fromText')">x</button>
|
||||
<textarea name="from_text" id="from_text" cols="30" rows="10" [(ngModel)]="fromText"></textarea>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
||||
<button class="delete-button button" (click)="emptyText('toText')">x</button>
|
||||
<textarea name="from_text" id="from_text" cols="30" rows="10" [(ngModel)]="toText"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { TranslateTexts } from './translate-texts';
|
||||
|
||||
describe('TranslateTexts', () => {
|
||||
let component: TranslateTexts;
|
||||
let fixture: ComponentFixture<TranslateTexts>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateTexts]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(TranslateTexts);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,19 @@
|
|||
import { Component } from '@angular/core';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
selector: 'lib-translate-texts',
|
||||
imports: [
|
||||
FormsModule
|
||||
],
|
||||
templateUrl: './translate-texts.html',
|
||||
styleUrl: './translate-texts.css'
|
||||
})
|
||||
export class TranslateTexts {
|
||||
public fromText : string = ''
|
||||
public toText : 'fromText' | 'toText' | '' = ''
|
||||
|
||||
emptyText(someText: 'fromText' | 'toText'){
|
||||
this[someText] = '';
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue