generated from VLADIMIR/template
	add embed ui
This commit is contained in:
		
							parent
							
								
									88de56c140
								
							
						
					
					
						commit
						6707967fb5
					
				
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@ -13,7 +13,9 @@ run:
 | 
				
			|||||||
	go run ./cmd/evening_detective/main.go
 | 
						go run ./cmd/evening_detective/main.go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build:
 | 
					build:
 | 
				
			||||||
	go build -o bin/evening_detective cmd/evening_detective/main.go
 | 
						rm -rf bin
 | 
				
			||||||
 | 
						CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -o bin/evening_detective_macos_arm64 cmd/evening_detective/main.go
 | 
				
			||||||
 | 
						CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -o bin/evening_detective_macos_amd64 cmd/evening_detective/main.go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
text_to_story:
 | 
					text_to_story:
 | 
				
			||||||
	rm -f ./cmd/text_to_story/story.json
 | 
						rm -f ./cmd/text_to_story/story.json
 | 
				
			||||||
 | 
				
			|||||||
@ -2,11 +2,13 @@ package main
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
						"embed"
 | 
				
			||||||
	"evening_detective/internal/app"
 | 
						"evening_detective/internal/app"
 | 
				
			||||||
	"evening_detective/internal/config"
 | 
						"evening_detective/internal/config"
 | 
				
			||||||
	"evening_detective/internal/services"
 | 
						"evening_detective/internal/services"
 | 
				
			||||||
	"evening_detective/internal/services/story_service"
 | 
						"evening_detective/internal/services/story_service"
 | 
				
			||||||
	proto "evening_detective/proto"
 | 
						proto "evening_detective/proto"
 | 
				
			||||||
 | 
						"io/fs"
 | 
				
			||||||
	"log"
 | 
						"log"
 | 
				
			||||||
	"net"
 | 
						"net"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
@ -17,6 +19,12 @@ import (
 | 
				
			|||||||
	"google.golang.org/grpc/metadata"
 | 
						"google.golang.org/grpc/metadata"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//go:embed static/user/*
 | 
				
			||||||
 | 
					var userFS embed.FS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//go:embed static/admin/*
 | 
				
			||||||
 | 
					var adminFS embed.FS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func main() {
 | 
					func main() {
 | 
				
			||||||
	// Create a listener on TCP port
 | 
						// Create a listener on TCP port
 | 
				
			||||||
	lis, err := net.Listen("tcp", ":8080")
 | 
						lis, err := net.Listen("tcp", ":8080")
 | 
				
			||||||
@ -91,7 +99,11 @@ func main() {
 | 
				
			|||||||
	}()
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	muxUser := http.NewServeMux()
 | 
						muxUser := http.NewServeMux()
 | 
				
			||||||
	fileServerUser := http.FileServer(http.Dir("./static/user"))
 | 
						subUserFS, err := fs.Sub(userFS, "static/user")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							log.Fatalln(err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						fileServerUser := http.FileServer(http.FS(subUserFS))
 | 
				
			||||||
	muxUser.Handle("/", fileServerUser)
 | 
						muxUser.Handle("/", fileServerUser)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Serve user web server
 | 
						// Serve user web server
 | 
				
			||||||
@ -101,7 +113,11 @@ func main() {
 | 
				
			|||||||
	}()
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	muxAdmin := http.NewServeMux()
 | 
						muxAdmin := http.NewServeMux()
 | 
				
			||||||
	fileServerAdmin := http.FileServer(http.Dir("./static/admin"))
 | 
						subAdminFS, err := fs.Sub(adminFS, "static/admin")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							log.Fatalln(err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						fileServerAdmin := http.FileServer(http.FS(subAdminFS))
 | 
				
			||||||
	muxAdmin.Handle("/", fileServerAdmin)
 | 
						muxAdmin.Handle("/", fileServerAdmin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Serve admin web server
 | 
						// Serve admin web server
 | 
				
			||||||
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB  | 
| 
		 Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB  | 
| 
		 Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB  | 
@ -5,14 +5,23 @@ import (
 | 
				
			|||||||
	"evening_detective/internal/models"
 | 
						"evening_detective/internal/models"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"embed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/signintech/gopdf"
 | 
						"github.com/signintech/gopdf"
 | 
				
			||||||
	"github.com/skip2/go-qrcode"
 | 
						"github.com/skip2/go-qrcode"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//go:embed JetBrainsMono-Medium.ttf
 | 
				
			||||||
 | 
					var f embed.FS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
 | 
					func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
 | 
				
			||||||
	pdf := &gopdf.GoPdf{}
 | 
						pdf := &gopdf.GoPdf{}
 | 
				
			||||||
	pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4}) // W: 595, H: 842
 | 
						pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4}) // W: 595, H: 842
 | 
				
			||||||
	if err := pdf.AddTTFFont("main", "data/JetBrainsMono-Medium.ttf"); err != nil {
 | 
						file, err := f.Open("JetBrainsMono-Medium.ttf")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := pdf.AddTTFFontByReader("main", file); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err := pdf.SetFont("main", "", 10); err != nil {
 | 
						if err := pdf.SetFont("main", "", 10); err != nil {
 | 
				
			||||||
@ -42,7 +51,7 @@ func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	buffer := &bytes.Buffer{}
 | 
						buffer := &bytes.Buffer{}
 | 
				
			||||||
	_, err := pdf.WriteTo(buffer)
 | 
						_, err = pdf.WriteTo(buffer)
 | 
				
			||||||
	return buffer.Bytes(), err
 | 
						return buffer.Bytes(), err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								static/.DS_Store
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/.DS_Store
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user