- Nie musisz importować tych wszystkich styli w globalnym styles.css, dodaj je sobie to tablicy styli w pliku konfiguracyjnym angulara angular.json i webpack za Ciebie zrobi odpowiednie buildy css i wrzuci j w templatkę główną.
- client_delivery_code?: ClientDeliveryCode, w JS raczej jest nazewnictwo clientDeliveryCode
-
date?: string;
date_stamp?: Date;
cholernie myli... czym jest date? Wg mnie raczej powinno być pole date?: Date trzymające obiekt daty, ewentualnie trzymająe timestamp. Do tego to pole date_stamp kompletnie nie wiadomo do czego jest i po co...
-
gdzie jest rzecz najważniejsza - unit tests?
-
https://github.com/pnkp/order-register-spa/blob/master/src/app/clients/client-address/client-address.component.ts#L49 metoda createAddress jest zbyt rozbudowana, zbyt wiele warunków itp. nawet jej nie analizuję bo wiem, że jej otestowanie to będzie katorga... rozbij to na mniejsze metody, jakoś racjonalnie popracuj modyfikatorami dostępu i spróbuj napisać do tego unit testy, przy takich funkcjach od razu widać, że nie masz doświadczenia w testowaniu kodu :)
-
Ponad to masz subskrypcje do Observabli ale nie robisz nigdzie unsubscribe... błąd! Albo rób jawnie usubscribe np. w ngOnDeatroy albo tak zmień logikę, by móc skorzystać z async pipe.
-
Nie stosuj zagnieżdżanych subskrypcji... trudno się to testuje... lepiej poczytaj o różnych operatorach rxjs, flatMap, scan, switchMap itp. itd. i generalnie o dobrych praktykach unikania nested subscribe.
-
<button [disabled]="orderBodies.length < 1 || isResponse" class="ml-1"
są różne szkoły, ja raczej jestem zwolennikiem aby taką logikę przenieść do kontrolera do jakieś metody w stylu sholudDisableSubmitButton(): boolean, ale to tylko przyjęte zasady, żaden błąd.
-
co robi komponent home :) ? (wiem, pozostałość po buildzie bazowym, ale warto oczyścić projekt z takich śmieci).
-
_source: any; - nie po to mamy TS żeby używać "any" :) albo wiesz z czym pracujesz albo nie :)
-
const token: string = TokenStorage.getToken();
const bearerToken: string = 'Bearer ' + token;
ten "token" widzę, że używasz tylko tu, więc nie ma sensu tworzyć go w osobnej stałej.
-
this.mobileQuery = media.matchMedia('(max-width: 600px)');
nie wnikam w to całe mobileQuery bo tym się nie bawiłem ale nie ważne, kilka razy widziałem to max-width jako string - wyciągnij sobie to może do jakiegoś globalnego pliku typu media-constants.ts, będzie Ci łatwiej tym zarządzać.
Generalnie spoko, masz gdzieś może wersję na domenie żeby sobie poklikać? Moim zdaniem jest to dobry poziom na stanowisko juniorskie i z powodzeniem możesz myśleć o takim stanowisku, chyba, że już pracujesz jako programista :)
CSS nie oceniam bo layout to nie moja mocna strona... od tego są UX designerzy :)