Projekt aplikacji SaaS
8 godz. 8 min · Next.js · Full-stack i Programowanie
Daniel NoworytaFull stack DeveloperNaucz się tworzyć bezpieczne systemy uwierzytelniania i autoryzacji, korzystając z Clerk. Pokażę Ci, jak to robić krok po kroku, aby Twoje aplikacje były bezpieczne i profesjonalne.
Zrozumiesz, jak skutecznie i bezboleśnie połączyć swoją aplikację Next.js z bazą danych PostgreSQL na DigitalOcean. Pokażę Ci, jak używać Prismy, aby ułatwić ten proces.
Dowiesz się, jak zarządzać routingiem i nawigacją w swojej aplikacji, aby użytkownicy mogli łatwo i intuicyjnie poruszać się po Twojej stronie.
Pokażę Ci, jak z łatwością wdrożyć swoją aplikację na Vercel, jednym z najpopularniejszych środowisk hostingowych dla aplikacji Next.js.
Nauczysz się zarządzać stanem aplikacji i jak wykorzystać server actions w praktyce, co pozwoli Ci na tworzenie bardziej zaawansowanych i dynamicznych funkcji.
Ten kurs jest dla osób, które już mają pewne doświadczenie z JavaScript i chcą zgłębić swoje zrozumienie Next.js. Zakładamy, że znasz podstawy TypeScript, TailwindCSS, ale nie potrzebujesz doświadczenia z Next.js - wszystko wyjaśnię Ci od podstaw!
Kolejnym elementem, na którym skupimy
naszą uwagę będzie tabelka z kategoriami ile dana kategoria kosztuje.
Zobaczmy to w designie.
Mamy tabelkę z kolumną kategorii i z kolumną kosztów.
Wszystkie dane potrzebne do tabelki już sobie zrobiliśmy w poprzedniej lekcji.
Mamy funkcję, która poddaje nam wszystkie nasze kategorie i koszty, dlatego możemy
sobie teraz przejść do naszej implementacji naszej tabelki.
No jak tabelka?
No to zaczniemy sobie najpierw od stworzenia tabeli table.
I w tym momencie już możemy sobie ustawić klasę.
Na pewno na min.
WiFi chcemy mieć pełną szerokość tutaj tego komponentu.
Dobrze, w tym momencie przejdźmy sobie
tutaj poniżej i będziemy potrzebowali na pewno jakiegoś body.
Jeżeli chodzi o naszą tabelkę.
Także zaczniemy od this.
I tutaj mamy tak TR i będziemy mieli
dwie kolumny, czyli numer 1 i numer 2.
Jeżeli chodzi o pierwszą kolumnę, to tutaj będziemy mieli kategorię.
Druga kolumna to tutaj będzie zapiszemy.
Mamy już naszą tabelkę tutaj po tej stronie, oczywiście z cytowaniem.
Za chwilkę się zajmiemy.
Jeżeli chodzi o nasze body, czyli head możemy sobie tutaj zamknąć.
To jest nagłówek naszej tabeli tej body.
No to tutaj musimy przyjąć też dwie rzeczy.
Na pewno chcemy zmapować nasz nasze wyniki, czyli Without Map.
I w tym momencie kategorii data będzie mamy nasze dane.
Jeżeli chodzi o dodatek, to mamy tutaj zarówno nazwę, jak i cenę danej kategorii.
Czyli teraz tr.
Ten.
Tutaj oczywiście jest potrzebny kij.
Możemy sobie użyć naszego name jako ki.
Jeżeli chodzi o zawartość tego, no to będziemy mieli.
Czyli w tym momencie tutaj
możemy użyć kategorii data name, no i w następnym TD mamy kategorię Data Price.
Zapiszemy sobie naszą tablicę.
Zobacz już tutaj.
Zaczyna nam się coś pojawiać.
Jest kilka rzeczy, nad którymi musimy zdecydowanie popracować.
Dlatego wróćmy do stosowania najpierw naszego nagłówka naszej tabeli.
To jest tutaj ten element.
Jeżeli zobaczymy na nasz design, to mamy tutaj jakiś napis Divide dir.
Pod tym nagłówkiem prawdopodobnie też mamy inną czcionkę.
Jest to napisane inaczej i tutaj te odstępne też są zupełnie inne.
Przejdźmy sobie jeszcze raz tutaj do
naszego komponentu i zaczniemy od stylu naszego Hm.
Może najpierw klas name i tutaj tak zrobimy.
Border bottom, border color.
Zrobimy na ring.
Niech to będzie kolor Ring 300.
Dodatkowo piękne.
Zrobimy sobie też Nothing 50, żeby odróżnić ten Eder od całej reszty.
Jeżeli chodzi o następne rzeczy, które będziemy
potrzebować to padding na x 6, padding na y 2.
Tekst po lewej stronie, nie pośrodku.
Tekst chcemy troszeczkę pomniejszyć, jednak font normal możemy.
Nie musimy tego pisać.
Tekst, zasięg i niech to będzie 400.
I zapiszemy sobie nasze zmiany.
Sprawdźmy jak wygląda.
No już ta kategoria tutaj wygląda dużo lepiej.
Przejdźmy teraz do kolejnego elementu.
Możemy tak naprawdę skopiować sobie te style cały class name.
Tak naprawdę ten TH też będzie miał podobny klasę.
Mamy kategorię mamy PRISM.
Teraz przejdźmy do sterowania naszej
tabelki i sprawdzimy czy jest ona dobrze ułożona w naszym kontenerze.
Myślę, że przydałoby się z tego względu,
że musimy jednak mieć tutaj wychodzić poza te padding.
Różne są szkoły.
Generalnie rzecz biorąc mamy padding nałożony na nasz cały kontener.
Dlatego też tutaj
na ten element możemy sobie ustawić position relative i na naszą tabelkę.
Wtedy możemy sobie ją ustawić,
jakby wrzucić ją w div i ustawić ją tak naprawdę absolutnie do tego.
Spróbujemy to zrobić najpierw na naszej tabeli.
Absolut i tak bottom 0 sobie ustawimy, left też 0.
Sprawdźmy jak to będzie wyglądało, bo na razie.
Jesteśmy tak na samym dole.
Top 0 też sobie ustawimy.
No przyniosła nam się tabelka tak jak ma się przenieść.
Jeżeli chodzi o margin x to musimy przesunąć to sobie
o tą wartość którą mamy padding na naszym kontenerze czyli padding jest na 6 czyli
prawdopodobnie będziemy musieli sobie tutaj ustawić minus tam x na 6.
To pozwoli nam zrobić to, że tabelka nasza przesunie się na tę stronę.
Jeżeli chodzi o wysokość to na full ustawimy sobie.
Myślę, że tak naprawdę jeżeli chodzi o
style tutaj z tego co już widzę, to warto byłoby jednak coś sobie tutaj
opakować w dodatkowy kontener, tą naszą tabelę.
I jeżeli sobie teraz przeniesiemy ją troszeczkę wyżej ten plastik.
Jednak na rzucimy na nasz kontener.
Myślę, że będziemy mieli większą kontrolę nad tym, jak to wszystko tutaj wygląda.
Mamy już to lepiej kontrolować.
Dodatkowa rzecz myślę tu. Tutaj mamy.
Wszystko już jest ok, ustawione minus full
to de facto tego nie potrzebujemy tutaj ustawiać.
Natomiast myślę, że minuty full dobrze byłoby ustawić tutaj na ten element.
Mamy to już zrobione i myślę, że to by było na tyle.
Na chwilę obecną
musimy jeszcze tutaj tylko przesunąć oczywiście tą tabelkę bardziej w prawą
stronę i popracować troszkę tutaj nad tymi danymi, które są wyświetlane.
Także przejdźmy najpierw tutaj do tej mapy.
W której wyświetlamy sobie nasze elementy
i zaczniemy od tego, żeby zrobić tu fixed do dwóch miejsc po przecinku.
Jeszcze troszeczkę ułatwi naszą sprawę.
Jeżeli chodzi o zdecydowanie.
Category data name.
No to myślę, że możemy skorzystać tutaj
też z pewnych klas i zajmijmy się najpierw tym TID tej.
Tutaj piszemy void wrap.
Jeżeli chodzi o px zrobiłem na 6 p y zrobimy sobie na 3.
Tekst ustawimy na mniejszy i tekst z
linkiem możemy sobie tu zostawić tak jak jest.
Okej, no już wygląda to troszeczkę lepiej.
Są odsunięte od siebie te wartości.
Przejdźmy teraz do sterowania.
Jeżeli chodzi o kategorie name myślę, że tutaj nie będziemy musieli sobie
nic celować, chociaż dobrze byłoby to jednak tutaj zapakować w jakiś wrapper np.
w postaci paragrafu.
I tą category name też możemy sobie odpowiednio tutaj ustawić.
Myślę, że tak naprawdę to co teraz to jest jak najbardziej wystarczające, natomiast
tutaj o tą część to musimy się zająć na pewno tą kategorią.
Tak? Przejdźmy do Tides.
I.
I zaczniemy od nowa.
Dodatkowo PX ustawimy sobie na 6
P i ustawimy też na może trochę mniejszą wartość Tekst damy po prawej stronie.
Sprawdźmy jeszcze co zmienić w naszym myślano.
Już się troszeczkę zmieniło nasze wyświetlanie naszej tabelki.
Jeżeli chodzi o font to ustawimy sobie sami bold.
Dodatkowo można jeszcze zmienić to.
Jest to wszystko w porządku.
Dobrze, mamy już wyświetlanie tych danych.
Teraz co jeszcze nam nie pasuje to
zdecydowanie szerokość tutaj tego elementu.
Sprawdźmy sobie w naszej przeglądarce WinXP.
Jak to teraz na chwilę obecną wygląda?
Zobaczmy dlaczego tutaj ten element nie jest na pełną szerokość.
Mamy tutaj główny wrapper, który ma padding ustawiony
na 6, natomiast my tutaj mamy naszą tabelkę No która generalnie rzecz biorąc.
Tutaj chyba nam brakuje bottom left top a.
Oczywiście, że tutaj generalnie powinniśmy chyba jeszcze ustawić.
Sprawdźmy w naszych stylach.
Bottom Left top.
RAID 0.
No i już teraz nasza tabelka tak naprawdę zajmuje całe miejsce.
Musimy się jeszcze skupić na wysterowaniu tego elementu.
TXT left Oczywiście to jest niefortunne.
Tutaj w tym przypadku potrzebujemy Tech Street.
I tak naprawdę możemy uznać, że nasz komponent z wyświetlaniem
podstawowych statystyk dotyczących naszych kategorii jest prawie skończony.
Sprawdźmy jeszcze design czcionkę.
Tutaj widzę, że jest wyraźnie inna przy sobie.
Przesuniemy na lewą stronę tą firmę.
No to widzisz, że tutaj mamy za grubą czcionkę Zdecydowanie.
Cała reszta myślę, że jest ok.
Brakuje nam jeszcze tutaj waluty, którą też możemy dodać.
Tak samo jest tutaj.
Jeżeli chodzi o tą niższą część też jest w miarę ok.
Z passing jeszcze możemy troszeczkę sobie poprawić.
Natomiast wróćmy najpierw do tych czcionek, żeby one lepiej wyglądały.
Jeżeli chodzi o te czcionki to mamy tu kategorii price.
W tym momencie możemy sobie zrobić font lite.
No już to wygląda dużo lepiej.
Zobaczmy firmę nasz design.
OK, i sprawdzimy sobie tutaj jeszcze te odstępy.
Powinny być jednak troszeczkę większe od tych elementów.
Czyli wróćmy do naszej naszej tabelki z kategoriami, elementy z kategoriami.
No i tutaj mamy te dwa elementy,
które odpowiadają nam za najbardziej drogą, kategorię, no i najtańszą.
Generalnie rzecz biorąc możemy po prostu
na te H1, gdzie tutaj nam dać margin po ton na 2?
Sprawdźmy jak to będzie wyglądało.
No odsunęły się już od siebie.
Także myślę, że kategorii breakdown możemy uznać za zamknięte.
Teraz przejdziemy do budowania
tej tabelki z danymi, które potrzebujemy, żeby wyświetlić naszemu użytkownikowi.