1 00:00:02,150 --> 00:00:09,140 Zacznijmy od implementacji uwierzytelniania, a jednym bardzo ważnym krokiem w tym kierunku jest dodanie nowego ekranu, 2 00:00:09,140 --> 00:00:16,370 ekranu uwierzytelniania, który powinien zawierać formularz logowania lub rejestracji, którego użytkownik może użyć do zalogowania się 3 00:00:16,370 --> 00:00:19,910 lub rejestracji, a zatem tutaj na ekranie 4 00:00:20,130 --> 00:00:24,080 autoryzacji zaimportuję zareaguj od zareaguj, a także zaimportuję niektóre 5 00:00:24,260 --> 00:00:31,070 rzeczy z React Native, ponieważ stamtąd, z React Native, chcę mieć widok przewijania, ponieważ zbudujemy 6 00:00:31,070 --> 00:00:36,740 formularz i chcę upewnij się, że użytkownicy na wszystkich urządzeniach mogą się 7 00:00:36,740 --> 00:00:38,420 z nim komunikować. 8 00:00:38,480 --> 00:00:42,290 Dodam tutaj arkusz stylów i na razie powinno to być, zawsze możemy 9 00:00:42,290 --> 00:00:44,690 dodać więcej, jeśli będziemy potrzebować więcej. 10 00:00:44,960 --> 00:00:50,990 Możemy również dołączyć widok i klawiaturę unikając widoku Chyba upewniam się, że wszystkie dane 11 00:00:51,050 --> 00:00:52,970 wejściowe są zawsze osiągalne. 12 00:00:52,970 --> 00:00:58,160 Mówiąc o danych wejściowych, oczywiście dodamy formularz i dlatego ponownie użyję komponentu wejściowego, który 13 00:00:58,160 --> 00:01:02,630 zbudowaliśmy w sekcji formularzy, którą mogę znaleźć w folderze interfejsu użytkownika składników. 14 00:01:02,720 --> 00:01:07,670 Dlatego obejrzyj tę sekcję, aby dowiedzieć się, co robi ten komponent i 15 00:01:07,670 --> 00:01:09,620 jak możemy nim zarządzać. 16 00:01:09,620 --> 00:01:17,650 Dzięki temu możemy utworzyć tutaj element auth screen, który odbiera rekwizyty, a także możemy utworzyć 17 00:01:17,650 --> 00:01:22,140 ten obiekt stylów za pomocą arkusza stylów, stworzyć 18 00:01:22,150 --> 00:01:27,510 tam metodę i oczywiście wyeksportować ekran auth, tak jak ten. 19 00:01:27,540 --> 00:01:33,150 Teraz oczywiście pytanie brzmi, w jaki sposób prezentujemy ten ekran autoryzacji? Jak możemy się upewnić, że to 20 00:01:33,150 --> 00:01:35,520 widzimy, jeśli nie jesteśmy zalogowani? 21 00:01:35,520 --> 00:01:40,620 Teraz to jest coś, co udoskonalimy w tym module, ale aby rozpocząć, możemy przejść 22 00:01:40,620 --> 00:01:46,200 do nawigatora i upewnić się, że po uruchomieniu aplikacji widzimy ten ekran uwierzytelnienia, a do tego 23 00:01:46,200 --> 00:01:51,930 możemy użyć specjalnego nowego nawigatora, którego nie używane wcześniej, dla którego jest specjalnie zbudowany, można niemal powiedzieć, 24 00:01:51,930 --> 00:01:56,950 że dla tego przypadku użycia uwierzytelnienia i że funkcja tworzenia przełącznika nawigatora pomaga nam 25 00:01:56,970 --> 00:02:02,550 w tym, więc tworzy taki przełącznik nawigatora. Szczególną cechą tego nawigatora jest to, że 26 00:02:02,550 --> 00:02:08,160 zawsze wyświetla dokładnie jeden ekran i nie można wrócić do innego ekranu, jeśli następnie przejdziesz do innego. 27 00:02:08,160 --> 00:02:13,710 Tak więc cofanie się jest wyraźnie zabronione, czego dokładnie chcemy, ponieważ nie powinieneś być 28 00:02:13,890 --> 00:02:18,040 w stanie wrócić do ekranu logowania, jeśli się właśnie zalogowałeś. 29 00:02:18,090 --> 00:02:24,750 Dlatego na dole pliku utworzę nowego nawigatora, być może mojego głównego nawigatora, nazwa oczywiście 30 00:02:24,750 --> 00:02:31,770 zależy od Ciebie, z funkcją tworzenia przełącznika nawigatora i podobnie jak poprzednio, ten nawigator bierze 31 00:02:31,920 --> 00:02:38,670 argument, w którym konfigurujemy to, więc obiekt, w którym go konfigurujemy i tam, chcę powiązać 32 00:02:38,880 --> 00:02:46,260 ekran autoryzacji, a także oczywiście mój stos. Teraz, aby mieć fajny nagłówek, utworzę 33 00:02:46,260 --> 00:02:55,560 tutaj również mój auth navigator, który jest nawigatorem stosu utworzonym za pomocą funkcji tworzenia stosu nawigatora, a tam 34 00:02:55,560 --> 00:03:00,430 po prostu zmapuję ekran autoryzacji, nad którym właśnie zacząłem pracować, 35 00:03:00,450 --> 00:03:09,210 i oczywiście trzeba go zaimportować, więc w tym ShopNavigator. plik js, możemy zaimportować ekran autoryzacji z ekranu autoryzacji użytkownika w 36 00:03:09,210 --> 00:03:10,060 ten 37 00:03:10,180 --> 00:03:16,880 sposób i po dodaniu tego importu, jeśli zejdziemy w dół, mapujemy to tutaj na autoryzację w nawigatorze autoryzacji, 38 00:03:16,880 --> 00:03:23,640 a nawigator autoryzacji jest następnie mapowany na autoryzację tutaj w nawigatorze przełączania i sklep jest oczywiście mapowany do 39 00:03:23,640 --> 00:03:28,770 nawigatora sklepu, a teraz jest to główny nawigator, który zamykamy za pomocą funkcji 40 00:03:28,770 --> 00:03:34,110 tworzenia kontenera aplikacji, a zatem dzięki temu, jeśli to zapiszemy, faktycznie wyświetlimy ekran autoryzacji 41 00:03:34,140 --> 00:03:35,820 jako pierwszy ekran, który 42 00:03:36,060 --> 00:03:43,980 w tej chwili nie spowoduje wyświetlenia żadnego ważnego jsx, więc otrzymujemy błąd, ale możemy oczywiście nad tym popracować, ponieważ celem jest 43 00:03:43,980 --> 00:03:53,880 teraz wyświetlenie tego ekranu uwierzytelniania, w którym możemy się zalogować i zrobić swoje. Więc tutaj chcę przedstawić te dane wejściowe i faktycznie zaimportuję 44 00:03:53,880 --> 00:04:02,750 również element karty z karty interfejsu użytkownika składników, aby ta ładna karta wyglądała tutaj i zawierała moje dane 45 00:04:02,750 --> 00:04:07,400 wejściowe i oczywiście jest to całkowicie opcjonalne, ale 46 00:04:07,400 --> 00:04:14,030 tutaj dodam to tutaj dodam kartę, a na karcie możemy dodać widok przewijania, abyśmy 47 00:04:14,030 --> 00:04:19,100 mogli przewijać wewnątrz tej karty, oczywiście możesz również dodać widok 48 00:04:19,100 --> 00:04:27,650 przewijania wokół karty, abyś mógł przewijać ogólnie ekran, ale zrobię to w ten sposób, dodaję też swój własny 49 00:04:27,650 --> 00:04:36,540 styl do karty, którą mogę nazwać pojemnikiem autoryzacyjnym, nazwa może być całkowicie zależna od ciebie, a także opiszę to 50 00:04:36,540 --> 00:04:46,880 wszystko jako opakowanie zobacz, gdzie dodam styl, który nazwiemy ekranem. Właściwie tutaj możemy już korzystać z klawiatury, unikając widoku. Myślę, że 51 00:04:46,940 --> 00:04:56,730 z zachowaniem paddingu, a następnie przesunięcia pionowego klawiatury powiedzmy 50. Teraz w tym widoku przewijania, który mamy 52 00:04:56,730 --> 00:05:04,720 na karcie, możemy zacząć dodawać dane wejściowe, niestandardowe dane, które zbudowaliśmy 53 00:05:04,720 --> 00:05:11,590 wcześniej w trakcie kursu. Na przykład tutaj dane wejściowe z adresem e-mail 54 00:05:11,590 --> 00:05:19,780 z identyfikatorem i etykietą e-maila, ponieważ tam chcę pobrać adres e-mail użytkownika, a zatem adres e-mail typu klawiatury obsługiwany zarówno 55 00:05:19,810 --> 00:05:22,750 w systemie iOS, jak i Android. 56 00:05:22,750 --> 00:05:28,980 Powinien być również wymagany i chcę użyć walidatora e-mail, są to dwie funkcje sprawdzania 57 00:05:28,990 --> 00:05:36,540 poprawności, które wbudowałem w dane wejściowe wcześniej w tym kursie, a także automatyczne wyłączanie wielkich liter powinno być 58 00:05:36,540 --> 00:05:42,630 wyłączone, więc ustawię to na żadną, ponieważ jest to duże adres e-mail naprawdę 59 00:05:42,630 --> 00:05:52,190 nie jest pomocny, a komunikat o błędzie, który chcę pokazać, jeśli coś jest nie tak, wprowadź poprawny adres e-mail, coś w tym rodzaju. 60 00:05:53,210 --> 00:05:58,670 Teraz, gdy wartość się zmienia, więc przy zmianie wartości chcemy coś zrobić, ale na 61 00:05:58,670 --> 00:06:04,790 razie nic tutaj nie zrobię, po prostu zapewnij pustą funkcję, abyśmy nie otrzymali błędu i wartości 62 00:06:04,790 --> 00:06:08,260 początkowej, którą chcę pokazać tutaj jest to po 63 00:06:08,270 --> 00:06:12,530 prostu pusty ciąg, ponieważ nie chcę podawać żadnej innej wartości początkowej. 64 00:06:12,530 --> 00:06:17,420 Teraz oczywiście nie jest to jedyne wejście, więc powtórzę to, ponieważ 65 00:06:17,900 --> 00:06:26,810 potrzebuję tutaj również hasła z etykietą hasła, a typ klawiatury powinien być tutaj domyślny, ponieważ chcę mieć normalne słowo kluczowe, ale 66 00:06:26,810 --> 00:06:27,500 chcę 67 00:06:27,500 --> 00:06:31,490 zaciemnij dane wejściowe, abyśmy ich nie widzieli i można 68 00:06:31,490 --> 00:06:34,630 to zrobić, dodając tutaj bezpieczne wprowadzanie tekstu. 69 00:06:34,640 --> 00:06:38,250 Oczywiście nie jest to rekwizyt obsługiwany przez mój niestandardowy komponent, 70 00:06:38,330 --> 00:06:44,000 ale należy pamiętać, że w tym komponencie przekazujemy wszystkie rekwizyty do wbudowanego wprowadzania tekstu, a 71 00:06:44,000 --> 00:06:48,710 wbudowane wprowadzanie tekstu obsługuje tutaj tę właściwość bezpiecznego wprowadzania tekstu, dlatego ja mogę 72 00:06:48,710 --> 00:06:51,050 to ustawić. W tym 73 00:06:51,100 --> 00:06:55,370 przypadku sprawdzanie poprawności nie powinno również sprawdzać, czy jest to adres e-mail, 74 00:06:55,370 --> 00:07:02,450 ale upewnij się, że mamy minimalną długość, powiedzmy pięć znaków. Tutaj można również wyłączyć automatyczne pisanie wielkimi literami, 75 00:07:02,450 --> 00:07:08,660 komunikat o błędzie powinien wprowadzić poprawne hasło, a dzięki temu zobaczyłem, że tutaj oczywiście mam literówkę, 76 00:07:08,660 --> 00:07:14,510 którą powinien być adres e-mail, tutaj hasło i zostawię to tutaj jak to jest. 77 00:07:17,440 --> 00:07:19,650 Teraz, aby móc 78 00:07:19,660 --> 00:07:29,020 to przesłać, potrzebuję również przycisku, więc tutaj zaimportuję przycisk z React Native i dodam dwa przyciski faktycznie 79 00:07:29,020 --> 00:07:29,790 na 80 00:07:31,000 --> 00:07:38,370 karcie, a zatem również w widoku przewijania. Pierwszy przycisk ma tytuł logowania, powiedzmy, 81 00:07:38,370 --> 00:07:44,940 a później zmienimy go na logowanie lub rejestrację, w zależności od trybu, w 82 00:07:44,940 --> 00:07:52,570 którym się znajdujemy i kolor jest importowany lub dodawany za pomocą stałej kolorów, którą powinieneś 83 00:07:52,670 --> 00:08:01,190 import i na tych stałych kolorach użyję kolorów. podstawowy i onPress w tej chwili mogą po prostu wskazać pustą 84 00:08:01,190 --> 00:08:06,320 funkcję i powtórzę to, ponieważ chcę mieć drugi przycisk, w którym mówię przełącznik, 85 00:08:06,320 --> 00:08:13,550 aby się zarejestrować i oczywiście to później powie również przełącznik, aby się zalogować, jeśli jesteśmy zalogowani w górę i 86 00:08:13,550 --> 00:08:18,720 tam możemy użyć naszego koloru akcentu. Jeśli teraz to zapiszemy, powinniśmy mieć podstawowy 87 00:08:18,720 --> 00:08:21,870 ekran logowania, oto on, nie wygląda tak, jak powinien, 88 00:08:21,930 --> 00:08:23,580 ale mamy tutaj swoje dane 89 00:08:23,970 --> 00:08:26,970 wejściowe, mamy te dwa przyciski, również na Androida po 90 00:08:26,970 --> 00:08:28,040 zakończeniu ładowania, 91 00:08:28,180 --> 00:08:31,360 tutaj idziemy i teraz oczywiście chcę to odpowiednio stylizować. 92 00:08:31,380 --> 00:08:33,570 Przejdźmy więc do arkusza 93 00:08:33,570 --> 00:08:40,550 stylów i zauważmy, że mam przypisane dwa style na końcu - screen i kontener uwierzytelniania, więc tutaj w 94 00:08:40,550 --> 00:08:43,920 stylach chcę dodać zarówno screen, jak i kontener uwierzytelniania, 95 00:08:43,920 --> 00:08:50,390 są to dwa style, z którymi planuję pracować. Teraz dla ekranu ustawię flex na 96 00:08:50,390 --> 00:08:57,050 jeden, a następnie wyjustuję moją zawartość na środku i wyrównam elementy w środku, aby 97 00:08:57,110 --> 00:08:58,730 wyśrodkować je zarówno 98 00:08:59,120 --> 00:09:04,090 na osi pionowej i poziomej, a także na pojemniku uwierzytelniającym. 99 00:09:04,100 --> 00:09:10,100 Chcę ustawić szerokość powiedzmy 80%, aby nie wziąć pełnej dostępnej szerokości i maksymalnej 100 00:09:10,100 --> 00:09:22,710 szerokości faktycznie 400 pikseli, w przypadku gdyby 80% było więcej, ograniczamy to do 400 pikseli i może wysokość powiedzmy 50%, ale maksymalna wysokość wynosi również 400. 101 00:09:22,800 --> 00:09:24,150 Zobaczmy, jak to wygląda. Jeśli 102 00:09:24,150 --> 00:09:25,950 to uratujemy, to właśnie 103 00:09:26,000 --> 00:09:27,230 tu dostanę. 104 00:09:27,230 --> 00:09:32,960 Teraz mogę tam przewijać, ponieważ skonfigurowałem taki widok przewijania i tak naprawdę nie chcę 105 00:09:32,960 --> 00:09:33,910 tego zachowania. 106 00:09:34,160 --> 00:09:35,570 Nie ustawię tutaj 107 00:09:35,570 --> 00:09:39,620 wysokości, po prostu dodam maksymalną wysokość, aby była ograniczona na 108 00:09:39,620 --> 00:09:44,500 pewnej wysokości, ale domyślnie zajmuje tyle wysokości, ile jest wymagane, dlatego raczej 109 00:09:44,540 --> 00:09:49,820 zamiast tego dodam trochę wypełnienia, abyśmy mieli trochę przestrzeń wokół wejść i nie znajduje 110 00:09:49,820 --> 00:09:50,440 się 111 00:09:50,450 --> 00:09:56,420 na krawędzi karty, więc wygląda to znacznie ładniej i zobaczmy, jak to wygląda na Androidzie, 112 00:09:56,440 --> 00:09:57,870 tak, ogólnie wygląda OK. 113 00:09:58,690 --> 00:10:00,730 Jeśli kliknę tam, to również 114 00:10:00,730 --> 00:10:06,860 przewinie się w górę, więc klawiatura unikająca widoku wykonuje swoją pracę, ale oczywiście nadal pojawia się błąd, który 115 00:10:07,040 --> 00:10:11,190 przy zmianie danych wejściowych powoduje błąd, ponieważ tak, dodałem tutaj zmianę wartości, 116 00:10:11,200 --> 00:10:15,070 która powinna być przy zmianie wejścia, a nie przy zmianie wartości. 117 00:10:15,070 --> 00:10:18,370 To trochę poprawka, ale zmierzamy we właściwym kierunku. 118 00:10:18,430 --> 00:10:20,740 Teraz jeszcze nie skończyłem, chcę mieć 119 00:10:20,740 --> 00:10:24,950 tytuł nagłówka, a co powiesz na kolor tła, prawdopodobnie też byłby miły. 120 00:10:25,080 --> 00:10:32,680 Dlatego w odniesieniu do tytułu nagłówka możemy oczywiście dodać AuthScreen. navigationOptions i na razie pracuję z niektórymi 121 00:10:32,680 --> 00:10:39,070 opcjami statycznymi, ponieważ chcę po prostu dodać tutaj tytuł nagłówka i ustawić 122 00:10:41,480 --> 00:10:46,700 go tak, aby uwierzytelniał lub po prostu uwierzytelniał, coś takiego 123 00:10:46,700 --> 00:10:48,090 i dla 124 00:10:48,110 --> 00:10:53,680 tła, oczywiście możemy dać tutaj widok, który zawiera wszystko kolor tła, 125 00:10:54,380 --> 00:11:01,280 ale tak naprawdę chcę pokazać wam nowy komponent, którego do tej pory nie 126 00:11:01,280 --> 00:11:09,480 używaliśmy i do tego musimy zainstalować zupełnie nowy pakiet, a to pakiet expo-liniowo-gradientowy, który zainstalowałeś z 127 00:11:09,480 --> 00:11:12,480 instalacją npm --save gradient expo-liniowy. 128 00:11:12,510 --> 00:11:16,190 Jest to pakiet, który pozwala nam 129 00:11:16,200 --> 00:11:18,270 z łatwością dodać 130 00:11:18,570 --> 00:11:25,080 gradient liniowy, więc w bardzo prosty sposób i po zainstalowaniu wystarczy zaimportować 131 00:11:25,800 --> 00:11:32,760 z gradientu liniowego expo i zaimportować komponent, który to eksponuje, składnik gradientu liniowego. 132 00:11:32,770 --> 00:11:39,730 Teraz jest to komponent, którego możesz użyć na swojej stronie i tutaj użyję go wewnątrz klawiatury, 133 00:11:39,730 --> 00:11:47,770 unikając widoku, liniowego gradientu jak ten i owijam go wokół wszystkich innych treści tutaj i teraz możesz skonfigurować to 134 00:11:47,770 --> 00:11:48,600 i 135 00:11:49,240 --> 00:11:56,060 tam, ja chcesz się upewnić, że ma to klucz kolorów, który pozwala nam ustawić kolory między 136 00:11:56,200 --> 00:12:02,080 nimi, powinien przejść, ponieważ gradient jest po prostu gradientem między wieloma kolorami, przynajmniej 137 00:12:02,080 --> 00:12:08,040 dwoma, ale możesz dodać więcej, a teraz możesz po prostu dodać kolory, takie 138 00:12:08,230 --> 00:12:16,510 jak czerwony lub dodając kody szesnastkowe i chcę przejść między #ffedff i powiedzmy inny kod szesnastkowy, # ffe3ff i oczywiście 139 00:12:16,510 --> 00:12:19,020 możesz tutaj eksperymentować z różnymi kolorami. 140 00:12:19,030 --> 00:12:26,860 Teraz musimy również dodać styl tutaj, a ja nazwiemy ten gradient stylów, który możemy teraz dodać tutaj, 141 00:12:28,330 --> 00:12:36,040 a ten gradient przyjmie szerokość 100% i wysokość 100%, więc weźmie całą szerokość i wysokość może 142 00:12:36,040 --> 00:12:40,560 dostać, tak to wygląda, ale teraz mamy problem, oczywiście, że 143 00:12:40,560 --> 00:12:41,890 nasza treść 144 00:12:41,940 --> 00:12:46,300 nie jest już wyśrodkowana. Aby upewnić się, że 145 00:12:46,440 --> 00:12:52,410 tak jest, musimy teraz dodać uzasadnienie treści i ponownie wyrównać elementy, a zatem 146 00:12:52,410 --> 00:12:53,010 tutaj 147 00:12:53,010 --> 00:12:55,880 na otaczającym ekranie możemy się tego pozbyć. 148 00:12:55,960 --> 00:12:57,490 Teraz mamy taki sam wygląd 149 00:12:57,820 --> 00:13:01,930 jak poprzednio, oczywiście możemy to również osiągnąć, nie ustawiając szerokości i wysokości, a jedynie zginając jeden. 150 00:13:02,200 --> 00:13:07,210 Więc teraz z tą konfiguracją i ważne jest, aby ekran nie próbował wyśrodkować, 151 00:13:07,210 --> 00:13:08,610 ponieważ w przeciwnym 152 00:13:08,620 --> 00:13:15,510 razie gradient zostanie wyśrodkowany, ale przy tej konfiguracji mamy teraz ten wygląd z tym ładnym gradientem i aby zobaczyć 153 00:13:15,510 --> 00:13:21,960 tytuł naszego nagłówka, po prostu musimy upewnić się, że w ustawieniach nawigacji, w nawigatorze sklepu, przypisujemy nasze domyślne 154 00:13:21,960 --> 00:13:23,850 rekwizyty nawigacyjne do nawigatora autoryzacji. 155 00:13:23,970 --> 00:13:29,670 Dodam więc drugi argument, aby utworzyć nawigator stosu, a domyślne opcje nawigacji wskazują tylko 156 00:13:29,670 --> 00:13:34,980 domyślne opcje nawigacji, które ustawiają kolor nagłówka, kolor nagłówka i tak dalej. 157 00:13:39,730 --> 00:13:45,190 Oczywiście upewnij się, że nie ma tu literówki w opcjach nawigacji na ekranie autoryzacji na ekranie autoryzacji, 158 00:13:45,190 --> 00:13:46,480 tak jak ja. 159 00:13:46,480 --> 00:13:50,950 Więc z tym naprawionym, jest to konfiguracja, którą mamy tutaj, oczywiście 160 00:13:50,950 --> 00:13:54,830 możesz eksperymentować z kolorami i używać różnych kolorów, jeśli 161 00:13:55,060 --> 00:14:01,480 wolisz, jestem z tego zadowolony, a teraz jedyną rzeczą, którą chcę naprawić tutaj, jest moja stylizacja 162 00:14:01,480 --> 00:14:09,650 dla przycisków, pewne odstępy wokół nich byłyby fajne i można je łatwo dodać, zawijając przyciski w widokach, w rzeczywistości oba przyciski. 163 00:14:12,500 --> 00:14:22,640 Zrobię to tutaj i teraz nadam każdemu widokowi styl tutaj, może kontener przycisku stylów, zrobię to w pierwszym widoku i drugim widoku, a teraz możemy 164 00:14:22,760 --> 00:14:24,980 nadać temu kontenerowi przycisku styl 165 00:14:24,980 --> 00:14:29,500 w dół w arkuszu stylów i tutaj może ustawić górny margines 166 00:14:29,750 --> 00:14:35,930 na przykład na 10, aby upewnić się, że każdy przycisk ma mały margines na górze, aby 167 00:14:35,930 --> 00:14:40,760 przyciski nie znajdowały się bezpośrednio obok siebie, co moim zdaniem naprawdę pomogłoby 168 00:14:40,790 --> 00:14:41,900 naszym przyciskom. 169 00:14:41,900 --> 00:14:43,350 Wygląda to dobrze na 170 00:14:43,340 --> 00:14:45,280 iOS, sprawdźmy też na Androidzie, tak, 171 00:14:45,290 --> 00:14:46,910 nie wygląda to tak źle. 172 00:14:47,810 --> 00:14:53,090 Dzięki temu mamy tę podstawową konfigurację, teraz upewnijmy się, że to też robi coś pożytecznego i że 173 00:14:53,090 --> 00:14:55,160 faktycznie próbujemy się z tym zalogować.