Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166]) by code.netlandish.com (Postfix) with ESMTP id 74994560D for <~netlandish/links-dev@lists.code.netlandish.com>; Wed, 12 Jun 2024 01:01:47 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.222.53; helo=mail-ua1-f53.google.com; envelope-from=ra.elemm2009@gmail.com; receiver=lists.code.netlandish.com Authentication-Results: mail.netlandish.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=iGN5OQ1/ Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com [209.85.222.53]) by mail.netlandish.com (Postfix) with ESMTP id 9745117A3C7 for <~netlandish/links-dev@lists.code.netlandish.com>; Wed, 12 Jun 2024 01:01:56 +0000 (UTC) Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-80b8d45e6b7so1050198241.3 for <~netlandish/links-dev@lists.code.netlandish.com>; Tue, 11 Jun 2024 18:01:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718154115; x=1718758915; darn=lists.code.netlandish.com; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cluiq1vLEmg0AtwEZCHern2sUcgj+O58vlWSMsQQXjE=; b=iGN5OQ1/bfVbb39RYHUnzuGhLGE2SjBzmk8oaVin+AfkQR39lK2JmrlxKVSM5ucPaa qJ7hsOeQ0dCwwwT/Quii+uxRjUg51bmLINvz7RfZyffW1R3jcwdiL84OtV2NbXPMfFDJ jjv8JNShIaAWdIaSIAF2rAnTmyRVIoZ3t7VEY8NAq54HEpK1V7xAP2423b7P3qiNu7TH Hhsqdprk/b3M2CPWzBq5aiYnVBCRQNmdJb931t5Wg3g11etR7eSHc9pQBxG0kHvqdh39 v5CuFko3X8d4WNDV2X+XvrrbfCWGWZXjkYeM0IDwBEothd1v1Pq8vqKSiZBmL4wDmFN+ W0Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718154115; x=1718758915; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cluiq1vLEmg0AtwEZCHern2sUcgj+O58vlWSMsQQXjE=; b=sJIWLFu9viSt5yz709a7q5pn/a3sBOwYSBWkIRabMyFI6plCSFmBPFVN8gTfP1QUj9 2tK9OMW+brWNGQS1IQiscS6b5a58vn+LGYBEHDKvlp5jejbPHXiwDN4ps/2cOr7bFIza D51AjQBUBAQK08pIkZzBRGmYK0ZCEtgtQ4i42u6UZz4nZfkDxUDpeeaQgiiyeIDMZsFv 1/jNrCGOznGX2BRmZkRLFRabmFYOXuaz5dnOpF4miIdO20BCGrxirAM/IWt++jUs/i5Z K89ZnrTu+m9A+QtsPBMOR5K2FbcupRE3IxVvfcWWYb5jgPCarairuAm7Ghssncz89yrB 1Nug== X-Gm-Message-State: AOJu0Yw87S7UsSOMEHFttFbnGMrC8Mj1n1xZ/QInIKdhll78Wwr1Gi7T Nfrt3pcJHqO3Jhh2dD+typiGxug2S24puCQkZpmqj6V5ysmGu06w+b5/Kw== X-Google-Smtp-Source: AGHT+IHAxUeSZKRTXkeiGKhieUF29yAejxT40tE561f9f/2IMUxZvpDMhOwfM36AJa1xQ4KOE72GOA== X-Received: by 2002:a67:f78b:0:b0:48c:47ae:de53 with SMTP id ada2fe7eead31-48d91e414bbmr556017137.28.1718154115024; Tue, 11 Jun 2024 18:01:55 -0700 (PDT) Received: from mudkip-B85M-DS3H-A.. ([186.77.207.152]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-48c3af225a4sm1980069137.20.2024.06.11.18.01.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 18:01:54 -0700 (PDT) From: Rael Monge To: ~netlandish/links-dev@lists.code.netlandish.com Cc: Rael Monge Subject: [PATCH links] Adding the pricing page Date: Tue, 11 Jun 2024 19:01:35 -0600 Message-Id: <20240612010135.15665-1-ra.elemm2009@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit --- core/routes.go | 12 + core/templates.go | 1 + static/css/style.css | 6 + templates/base.html | 9 + templates/pricing_list.html | 758 ++++++++++++++++++++++++++++++++++++ 5 files changed, 786 insertions(+) create mode 100644 templates/pricing_list.html diff --git a/core/routes.go b/core/routes.go index d3a2e65..f846d3d 100644 --- a/core/routes.go +++ b/core/routes.go @@ -64,6 +64,7 @@ func (s *Service) RegisterRoutes() { s.eg.GET("/member/confirm", s.OrgMemberConfirmation).Name = s.RouteName("org_member_confirmation") s.eg.GET("/q/:hash", s.QRRedirect).Name = s.RouteName("qr_redirect") s.eg.GET("/tour", s.FeatureTour).Name = s.RouteName("feature_tour") + s.eg.GET("/pricing", s.PricingList).Name = s.RouteName("pricing_list") s.eg.GET("/note/:hash", s.NoteDetail).Name = s.RouteName("note_detail") s.eg.GET("/link/:hash", s.OrgLinkDetail).Name = s.RouteName("link_detail") s.eg.GET("/click/:hash", s.OrgLinkRedirect).Name = s.RouteName("link_redirect") @@ -332,6 +333,17 @@ func (s *Service) Homepage(c echo.Context) error { } +func (s *Service) PricingList(c echo.Context) error { + lt := localizer.GetSessionLocalizer(c) + pd := localizer.NewPageData(lt.Translate("Pricing List")) + pd.Data["organizations"] = lt.Translate("Organizations") + + gmap := gobwebs.Map{ + "pd": pd, + } + return links.Render(c, http.StatusOK, "pricing_list.html", gmap) +} + func (s *Service) FeatureTour(c echo.Context) error { lt := localizer.GetSessionLocalizer(c) pd := localizer.NewPageData(lt.Translate("Explore Features")) diff --git a/core/templates.go b/core/templates.go index 6e54dd2..df31f27 100644 --- a/core/templates.go +++ b/core/templates.go @@ -28,6 +28,7 @@ func AddGlobalTmpl(c echo.Context) gobwebs.Map { lt := localizer.GetSessionLocalizer(c) pd.Data["store_dashboard"] = lt.Translate("Store Dashboard") pd.Data["tour"] = lt.Translate("Tour") + pd.Data["pricing"] = lt.Translate("Pricing") pd.Data["bookmarks"] = lt.Translate("Bookmarks") pd.Data["recent"] = lt.Translate("Recent") pd.Data["popular"] = lt.Translate("Popular") diff --git a/static/css/style.css b/static/css/style.css index d9eefa0..2d223f4 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -856,3 +856,9 @@ a.bullet-link:before { max-width: 95%; max-height: 95%; } + +#price_table > thead th { + position: sticky; + top: 0; + background-color: white; +} diff --git a/templates/base.html b/templates/base.html index d54e980..1101790 100644 --- a/templates/base.html +++ b/templates/base.html @@ -54,6 +54,14 @@ {{.base_pd.Data.tour}} +
  • + + + + + {{.base_pd.Data.pricing}} + +
  • @@ -223,6 +231,7 @@