Elektromarket/initializers/initializers.go

68 lines
2.3 KiB
Go

package initializers
import (
"net/http"
. "Elektromarket/models"
)
func initializePages() {
Pages = make(map[string]Page)
Pages["index"] = Page{"/", "templates/index.html", map[string]interface{}{"categories": Categories}, nil}
Pages["category"] = Page{"/category", "templates/category.html", map[string]interface{}{}, DynamicDataLoaderCategory}
Pages["product"] = Page{"/product", "templates/product.html", map[string]interface{}{}, DynamicDataLoaderProduct}
}
func initializeData() {
Categories = []Category {
{1, "Laptopy"},
{2, "Komputery"},
{3, "Smartfony"},
{4, "Smartwatche"},
{5, "Monitory"},
{6, "Drukarki"},
{7, "Myszki"},
{8, "Klawiatury"},
{9, "Akcesoria"},
}
Products = []Product {
{
1,
GetCategoryByName("Laptopy"),
"Apple MacBook Air 128 GB",
"Procesor Intel Core i5 | Pamięć 8 GB | Dysk SSD M.2 PCIe 128 GB | Grafika Intel HD Graphics 6000 | Typ ekranu Błyszczący, LED | System macOS Sierra",
"https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,apple-macbook-air-i58gb128gbhd-6000mac-os-368639,pr_2016_4_28_12_39_54_140.jpg",
11,
3999,
},
{
2,
GetCategoryByName("Laptopy"),
"Dell Inspiron 5370",
"Procesor Intel Core i5-8250U | Pamięć 8 GB | Dysk SSD M.2 256 GB | Grafika AMD Radeon 530, + Intel UHD Graphics 620 | Typ ekranu Matowy, LED | System Microsoft Windows 10 Home PL",
"https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,dell-inspiron-5370-i5-8250u8gb256win10-r530-fhd-393456,2017/12/pr_2017_12_14_9_40_43_405_10.jpg",
5,
3249,
},
{
3,
GetCategoryByName("Komputery"),
"Dell Inspiron 3670",
"System Microsoft Windows 10 Home PL | Procesor Intel Core i7-8700 | Grafika NVIDIA GeForce GTX 1050Ti, + Intel UHD Graphics 630 | Pamięć RAM 8 GB | Dysk SSD PCIe 128 GB | Dysk HDD SATA 7200 obr. 1000 GB | Miejsce na dodatkowy wewnętrzny dysk SATA Możliwość montażu dwóch dysków SATA",
"https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,dell-inspiron-3670-i7-87008gb1281000win10-gtx1050ti-447395,2018/9/pr_2018_9_20_15_45_5_770_00.jpg",
123,
4299,
},
}
}
func Initialize() {
initializeData()
initializePages()
for k := range Pages {
http.HandleFunc(Pages[k].Path, Pages[k].HandlePage)
}
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
http.ListenAndServe(":8000", nil)
}