Changeset 16 in code for trunk/web


Ignore:
Timestamp:
Aug 30, 2023, 1:58:10 PM (22 months ago)
Author:
manerakai
Message:

Added html template

Location:
trunk/web
Files:
9 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/go.mod

    r15 r16  
    66        codeberg.org/SimpleWeb/SimplyTranslate/engines v0.0.0
    77        github.com/gofiber/fiber/v2 v2.49.0 // indirect
     8        github.com/gofiber/template/html/v2 v2.0.5
    89)
    910
  • trunk/web/go.sum

    r15 r16  
    77github.com/gofiber/fiber/v2 v2.49.0 h1:xBVG2c66GDcWfww56xHvMn52Q0XX7UrSvjj6MD8/5EE=
    88github.com/gofiber/fiber/v2 v2.49.0/go.mod h1:oxpt7wQaEYgdDmq7nMxCGhilYicBLFnZ+jQSJcQDlSE=
     9github.com/gofiber/template v1.8.2 h1:PIv9s/7Uq6m+Fm2MDNd20pAFFKt5wWs7ZBd8iV9pWwk=
     10github.com/gofiber/template v1.8.2/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8=
     11github.com/gofiber/template/html/v2 v2.0.5 h1:BKLJ6Qr940NjntbGmpO3zVa4nFNGDCi/IfUiDB9OC20=
     12github.com/gofiber/template/html/v2 v2.0.5/go.mod h1:RCF14eLeQDCSUPp0IGc2wbSSDv6yt+V54XB/+Unz+LM=
     13github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
     14github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
    915github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
    1016github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
  • trunk/web/main.go

    r15 r16  
    44        "codeberg.org/SimpleWeb/SimplyTranslate/engines"
    55        "github.com/gofiber/fiber/v2"
     6        "github.com/gofiber/template/html/v2"
    67)
    78
    89func main() {
    9         app := fiber.New()
     10        engine := html.New("./views", ".html")
     11        app := fiber.New(fiber.Config{
     12                Views: engine,
     13        })
    1014
    1115        app.All("/api/translate", func(c *fiber.Ctx) error {
     
    2731                        return c.SendStatus(400)
    2832                }
    29                 if engine == "" {
     33                if _, ok := engines.Engines[engine]; !ok || engine == "" {
    3034                        engine = "google"
    3135                }
     
    4044        })
    4145
     46        app.Get("/api/source_languages", func(c *fiber.Ctx) error {
     47                engine := c.Query("engine")
     48                if _, ok := engines.Engines[engine]; !ok || engine == "" {
     49                        engine = "google"
     50                }
     51                if result, err := engines.Engines[engine].SourceLanguages(); err != nil {
     52                        return c.SendStatus(500)
     53                } else {
     54                        return c.JSON(result)
     55                }
     56        })
     57
     58        app.Get("/api/target_languages", func(c *fiber.Ctx) error {
     59                engine := c.Query("engine")
     60                if _, ok := engines.Engines[engine]; !ok || engine == "" {
     61                        engine = "google"
     62                }
     63                if result, err := engines.Engines[engine].TargetLanguages(); err != nil {
     64                        return c.SendStatus(500)
     65                } else {
     66                        return c.JSON(result)
     67                }
     68        })
     69
     70        app.All("/", func(c *fiber.Ctx) error {
     71                engine := c.Query("engine")
     72                if _, ok := engines.Engines[engine]; !ok || engine == "" {
     73                        engine = "google"
     74                }
     75                targetLanguages, err := engines.Engines[engine].TargetLanguages()
     76                if err != nil {
     77                        return c.SendStatus(500)
     78                }
     79                sourceLanguages, err := engines.Engines[engine].SourceLanguages()
     80                if err != nil {
     81                        return c.SendStatus(500)
     82                }
     83                originalText := ""
     84                translatedText := ""
     85                from := ""
     86                to := ""
     87
     88                if c.Method() == "POST" {
     89                        from =
     90                                c.FormValue("from")
     91                        to = c.FormValue("to")
     92                        originalText = c.FormValue("text")
     93                        if result, err := engines.Engines[engine].Translate(originalText, from, to); err != nil {
     94                                return c.SendStatus(500)
     95                        } else {
     96                                translatedText = result.TranslatedText
     97                        }
     98                }
     99                return c.Render("index", fiber.Map{
     100                        "Engine":          engine,
     101                        "SourceLanguages": targetLanguages,
     102                        "TargetLanguages": sourceLanguages,
     103                        "OriginalText":    originalText,
     104                        "TranslatedText":  translatedText,
     105                        "From":            from,
     106                        "To":              to,
     107                })
     108        })
     109
     110        app.Static("/static", "./static")
     111
    42112        app.Listen(":3000")
    43113}
Note: See TracChangeset for help on using the changeset viewer.