diff --git a/tools/src/app/app.routes.ts b/tools/src/app/app.routes.ts index e087668..efeffb7 100644 --- a/tools/src/app/app.routes.ts +++ b/tools/src/app/app.routes.ts @@ -7,6 +7,7 @@ import { TextToCronComponent } from '../tools/client-side/text-to-cron/text-to-c import { DdsToPngComponent } from '../tools/client-side/dds-to-png/dds-to-png.component'; import { ImageConverterComponent } from '../tools/server-side/image-converter/image-converter.component'; import { WordCounterComponent } from '../tools/client-side/word-counter/word-counter.component'; +import { ColorPickerComponent } from '../tools/client-side/color-picker/color-picker/color-picker.component'; export const routes: Routes = [ { @@ -48,6 +49,11 @@ export const routes: Routes = [ path: 'text-counter', pathMatch: 'full', component: WordCounterComponent + }, + { + path: 'color-picker', + pathMatch: 'full', + component: ColorPickerComponent } ]; diff --git a/tools/src/app/header/header.component.ts b/tools/src/app/header/header.component.ts index cf911cc..8e8af42 100644 --- a/tools/src/app/header/header.component.ts +++ b/tools/src/app/header/header.component.ts @@ -53,6 +53,11 @@ export class HeaderComponent implements OnInit { label: 'Text to Cron Expression', routerLink: 'text-to-cron', routerLinkActiveOptions: { exact: true } + }, + { + label: 'Color picker', + routerLink: 'color-picker', + routerLinkActiveOptions: { exact: true } } ], diff --git a/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.html b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.html new file mode 100644 index 0000000..959ac43 --- /dev/null +++ b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.html @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.scss b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.scss new file mode 100644 index 0000000..179c313 --- /dev/null +++ b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.scss @@ -0,0 +1,18 @@ +.color-picker { + display: flex; + align-items: center; + gap: 10px; + } + + .color-picker input[type="color"] { + width: 50px; + height: 50px; + border: none; + cursor: pointer; + } + + .color-picker input[type="text"] { + padding: 5px; + font-size: 16px; + width: 100px; + } \ No newline at end of file diff --git a/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.spec.ts b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.spec.ts new file mode 100644 index 0000000..08836cb --- /dev/null +++ b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ColorPickerComponent } from './color-picker.component'; + +describe('ColorPickerComponent', () => { + let component: ColorPickerComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ColorPickerComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ColorPickerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.ts b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.ts new file mode 100644 index 0000000..e3735d8 --- /dev/null +++ b/tools/src/tools/client-side/color-picker/color-picker/color-picker.component.ts @@ -0,0 +1,26 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { ButtonModule } from 'primeng/button'; +import { InputTextModule } from 'primeng/inputtext'; + +@Component({ + selector: 'app-color-picker', + standalone: true, + imports: [ + CommonModule, + FormsModule, + InputTextModule, + ButtonModule, + ReactiveFormsModule + ], + templateUrl: './color-picker.component.html', + styleUrl: './color-picker.component.scss' +}) +export class ColorPickerComponent { + colorControl = new FormControl('#ff0000'); + + onColorChange(value: string) { + this.colorControl.setValue(value); + } +}