Basic CSS/htmlx layout for v0.1
Basic CSS/htmlx layout for v0.1
- commit
- c88cec9840630c515c33cf9504fa7c5f0f1fa142
- author
- bnema · · 2023-09-04 06:40 UTC
- committer
- bnema · · 2023-09-04 07:00 UTC
- parent
- b84433b
- signature
- unsigned
7 files · +107 -91
M internal/http/routes/admin_routes.go +9 -1
| @@ -3,6 +3,7 @@ package routes | |||
| 3 | 3 | import ( | |
| 4 | 4 | "fmt" | |
| 5 | 5 | "net/http" | |
| 6 | + | "os" | |
| 6 | 7 | ||
| 7 | 8 | "github.com/labstack/echo/v4" | |
| 8 | 9 | "gogs.bnema.dev/gordon-echo/internal/http/middlewares" | |
| @@ -36,6 +37,13 @@ func AdminRoute(c echo.Context) error { | |||
| 36 | 37 | } | |
| 37 | 38 | ||
| 38 | 39 | func StaticRoute(c echo.Context) error { | |
| 39 | - | c.Response().Header().Set("Cache-Control", "public, max-age=86400") | |
| 40 | + | ||
| 41 | + | // Set the cache-control header to cache the static files for 1 day if PROD env is set to true | |
| 42 | + | ||
| 43 | + | if os.Getenv("PROD") == "true" { | |
| 44 | + | c.Response().Header().Set("Cache-Control", "public, max-age=86400") | |
| 45 | + | } else { | |
| 46 | + | c.Response().Header().Set("Cache-Control", "no-cache") | |
| 47 | + | } | |
| 40 | 48 | return echo.StaticDirectoryHandler(ui.PublicFS, false)(c) | |
| 41 | 49 | } | |
| @@ -3,6 +3,7 @@ package routes | |||||
| 3 | import ( | 3 | import ( | ||
| 4 | "fmt" | 4 | "fmt" | ||
| 5 | "net/http" | 5 | "net/http" | ||
| 6 | + | "os" | |||
| 6 | 7 | ||||
| 7 | "github.com/labstack/echo/v4" | 8 | "github.com/labstack/echo/v4" | ||
| 8 | "gogs.bnema.dev/gordon-echo/internal/http/middlewares" | 9 | "gogs.bnema.dev/gordon-echo/internal/http/middlewares" | ||
| @@ -36,6 +37,13 @@ func AdminRoute(c echo.Context) error { | |||||
| 36 | } | 37 | } | ||
| 37 | 38 | ||||
| 38 | func StaticRoute(c echo.Context) error { | 39 | func StaticRoute(c echo.Context) error { | ||
| 39 | - | c.Response().Header().Set("Cache-Control", "public, max-age=86400") | 40 | + | |
| 41 | + | // Set the cache-control header to cache the static files for 1 day if PROD env is set to true | |||
| 42 | + | ||||
| 43 | + | if os.Getenv("PROD") == "true" { | |||
| 44 | + | c.Response().Header().Set("Cache-Control", "public, max-age=86400") | |||
| 45 | + | } else { | |||
| 46 | + | c.Response().Header().Set("Cache-Control", "no-cache") | |||
| 47 | + | } | |||
| 40 | return echo.StaticDirectoryHandler(ui.PublicFS, false)(c) | 48 | return echo.StaticDirectoryHandler(ui.PublicFS, false)(c) | ||
| 41 | } | 49 | } | ||
M internal/ui/public/assets/css/custom.css +8 -25
| @@ -13,14 +13,14 @@ | |||
| 13 | 13 | /* Import IBM Plex Fonts */ | |
| 14 | 14 | @font-face { | |
| 15 | 15 | font-family: "IBMPlexSans-Bold"; | |
| 16 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | |
| 16 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | |
| 17 | 17 | font-weight: bold; | |
| 18 | 18 | font-style: normal; | |
| 19 | 19 | } | |
| 20 | 20 | ||
| 21 | 21 | @font-face { | |
| 22 | 22 | font-family: "IBMPlexSans-Regular"; | |
| 23 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | |
| 23 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | |
| 24 | 24 | font-weight: normal; | |
| 25 | 25 | font-style: normal; | |
| 26 | 26 | } | |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | /* Import Jetbrains Mono Nerd Font */ | |
| 29 | 29 | @font-face { | |
| 30 | 30 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | |
| 31 | - | src: url("assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | |
| 31 | + | src: url("/assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | |
| 32 | 32 | format("woff2"); | |
| 33 | 33 | font-weight: normal; | |
| 34 | 34 | font-style: normal; | |
| @@ -36,7 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | 37 | @font-face { | |
| 38 | 38 | font-family: "LilitaOne-Regular"; | |
| 39 | - | src: url("assets/fonts/LilitaOne/LilitaOne-Regular.woff2") format("woff2"); | |
| 39 | + | src: url("/assets/fonts/LilitaOne/LilitaOne-Regular.ttf") format("truetype"); | |
| 40 | 40 | font-weight: normal; | |
| 41 | 41 | font-style: normal; | |
| 42 | 42 | } | |
| @@ -83,31 +83,14 @@ | |||
| 83 | 83 | animation: 420ms cubic-bezier(0, 0, 0.2, 1) 90ms both fade-in, | |
| 84 | 84 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | |
| 85 | 85 | } | |
| 86 | - | h1, | |
| 87 | - | h2, | |
| 88 | - | h3, | |
| 89 | - | h4, | |
| 90 | - | h5, | |
| 91 | - | h6 { | |
| 92 | - | font-family: "IBMPlexSans-Bold", sans-serif; | |
| 93 | - | font-style: normal; | |
| 94 | - | color: #000000; | |
| 95 | - | margin: 0; | |
| 96 | - | padding: 0; | |
| 97 | - | } | |
| 86 | + | ||
| 98 | 87 | .gordon-title { | |
| 99 | 88 | font-family: "LilitaOne-Regular", sans-serif; | |
| 100 | - | font-style: normal; | |
| 101 | - | color: #000000; | |
| 102 | - | margin: 0; | |
| 103 | - | padding: 0; | |
| 89 | + | ||
| 104 | 90 | } | |
| 105 | - | .gordon-v-subtitle { | |
| 91 | + | ||
| 92 | + | .IBMPlexSans { | |
| 106 | 93 | font-family: "IBMPlexSans-Regular", sans-serif; | |
| 107 | - | font-style: normal; | |
| 108 | - | color: #000000; | |
| 109 | - | margin: 0; | |
| 110 | - | padding: 0; | |
| 111 | 94 | } | |
| 112 | 95 | ||
| 113 | 96 | .circle-shadow { | |
| @@ -13,14 +13,14 @@ | |||||
| 13 | /* Import IBM Plex Fonts */ | 13 | /* Import IBM Plex Fonts */ | ||
| 14 | @font-face { | 14 | @font-face { | ||
| 15 | font-family: "IBMPlexSans-Bold"; | 15 | font-family: "IBMPlexSans-Bold"; | ||
| 16 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | 16 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); |
| 17 | font-weight: bold; | 17 | font-weight: bold; | ||
| 18 | font-style: normal; | 18 | font-style: normal; | ||
| 19 | } | 19 | } | ||
| 20 | 20 | ||||
| 21 | @font-face { | 21 | @font-face { | ||
| 22 | font-family: "IBMPlexSans-Regular"; | 22 | font-family: "IBMPlexSans-Regular"; | ||
| 23 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | 23 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); |
| 24 | font-weight: normal; | 24 | font-weight: normal; | ||
| 25 | font-style: normal; | 25 | font-style: normal; | ||
| 26 | } | 26 | } | ||
| @@ -28,7 +28,7 @@ | |||||
| 28 | /* Import Jetbrains Mono Nerd Font */ | 28 | /* Import Jetbrains Mono Nerd Font */ | ||
| 29 | @font-face { | 29 | @font-face { | ||
| 30 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | 30 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | ||
| 31 | - | src: url("assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | 31 | + | src: url("/assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") |
| 32 | format("woff2"); | 32 | format("woff2"); | ||
| 33 | font-weight: normal; | 33 | font-weight: normal; | ||
| 34 | font-style: normal; | 34 | font-style: normal; | ||
| @@ -36,7 +36,7 @@ | |||||
| 36 | 36 | ||||
| 37 | @font-face { | 37 | @font-face { | ||
| 38 | font-family: "LilitaOne-Regular"; | 38 | font-family: "LilitaOne-Regular"; | ||
| 39 | - | src: url("assets/fonts/LilitaOne/LilitaOne-Regular.woff2") format("woff2"); | 39 | + | src: url("/assets/fonts/LilitaOne/LilitaOne-Regular.ttf") format("truetype"); |
| 40 | font-weight: normal; | 40 | font-weight: normal; | ||
| 41 | font-style: normal; | 41 | font-style: normal; | ||
| 42 | } | 42 | } | ||
| @@ -83,31 +83,14 @@ | |||||
| 83 | animation: 420ms cubic-bezier(0, 0, 0.2, 1) 90ms both fade-in, | 83 | animation: 420ms cubic-bezier(0, 0, 0.2, 1) 90ms both fade-in, | ||
| 84 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | 84 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | ||
| 85 | } | 85 | } | ||
| 86 | - | h1, | 86 | + | |
| 87 | - | h2, | |||
| 88 | - | h3, | |||
| 89 | - | h4, | |||
| 90 | - | h5, | |||
| 91 | - | h6 { | |||
| 92 | - | font-family: "IBMPlexSans-Bold", sans-serif; | |||
| 93 | - | font-style: normal; | |||
| 94 | - | color: #000000; | |||
| 95 | - | margin: 0; | |||
| 96 | - | padding: 0; | |||
| 97 | - | } | |||
| 98 | .gordon-title { | 87 | .gordon-title { | ||
| 99 | font-family: "LilitaOne-Regular", sans-serif; | 88 | font-family: "LilitaOne-Regular", sans-serif; | ||
| 100 | - | font-style: normal; | 89 | + | |
| 101 | - | color: #000000; | |||
| 102 | - | margin: 0; | |||
| 103 | - | padding: 0; | |||
| 104 | } | 90 | } | ||
| 105 | - | .gordon-v-subtitle { | 91 | + | |
| 92 | + | .IBMPlexSans { | |||
| 106 | font-family: "IBMPlexSans-Regular", sans-serif; | 93 | font-family: "IBMPlexSans-Regular", sans-serif; | ||
| 107 | - | font-style: normal; | |||
| 108 | - | color: #000000; | |||
| 109 | - | margin: 0; | |||
| 110 | - | padding: 0; | |||
| 111 | } | 94 | } | ||
| 112 | 95 | ||||
| 113 | .circle-shadow { | 96 | .circle-shadow { | ||
M internal/ui/public/assets/css/tailwind.css +58 -49
| @@ -549,6 +549,10 @@ video { | |||
| 549 | 549 | margin-left: 1rem; | |
| 550 | 550 | } | |
| 551 | 551 | ||
| 552 | + | .mr-2 { | |
| 553 | + | margin-right: 0.5rem; | |
| 554 | + | } | |
| 555 | + | ||
| 552 | 556 | .flex { | |
| 553 | 557 | display: flex; | |
| 554 | 558 | } | |
| @@ -627,12 +631,6 @@ video { | |||
| 627 | 631 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); | |
| 628 | 632 | } | |
| 629 | 633 | ||
| 630 | - | .space-y-2 > :not([hidden]) ~ :not([hidden]) { | |
| 631 | - | --tw-space-y-reverse: 0; | |
| 632 | - | margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); | |
| 633 | - | margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); | |
| 634 | - | } | |
| 635 | - | ||
| 636 | 634 | .space-y-4 > :not([hidden]) ~ :not([hidden]) { | |
| 637 | 635 | --tw-space-y-reverse: 0; | |
| 638 | 636 | margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); | |
| @@ -651,6 +649,16 @@ video { | |||
| 651 | 649 | border-radius: 0.125rem; | |
| 652 | 650 | } | |
| 653 | 651 | ||
| 652 | + | .bg-gordonmascot-lblue { | |
| 653 | + | --tw-bg-opacity: 1; | |
| 654 | + | background-color: rgb(0 123 192 / var(--tw-bg-opacity)); | |
| 655 | + | } | |
| 656 | + | ||
| 657 | + | .bg-gordonmascot-mblue { | |
| 658 | + | --tw-bg-opacity: 1; | |
| 659 | + | background-color: rgb(0 82 147 / var(--tw-bg-opacity)); | |
| 660 | + | } | |
| 661 | + | ||
| 654 | 662 | .bg-gray-300 { | |
| 655 | 663 | --tw-bg-opacity: 1; | |
| 656 | 664 | background-color: rgb(209 213 219 / var(--tw-bg-opacity)); | |
| @@ -689,40 +697,37 @@ video { | |||
| 689 | 697 | line-height: 1; | |
| 690 | 698 | } | |
| 691 | 699 | ||
| 700 | + | .text-lg { | |
| 701 | + | font-size: 1.125rem; | |
| 702 | + | line-height: 1.75rem; | |
| 703 | + | } | |
| 704 | + | ||
| 692 | 705 | .text-sm { | |
| 693 | 706 | font-size: 0.875rem; | |
| 694 | 707 | line-height: 1.25rem; | |
| 695 | 708 | } | |
| 696 | 709 | ||
| 697 | - | .text-xs { | |
| 698 | - | font-size: 0.75rem; | |
| 699 | - | line-height: 1rem; | |
| 700 | - | } | |
| 701 | - | ||
| 702 | - | .font-bold { | |
| 703 | - | font-weight: 700; | |
| 704 | - | } | |
| 705 | - | ||
| 706 | 710 | .font-semibold { | |
| 707 | 711 | font-weight: 600; | |
| 708 | 712 | } | |
| 709 | 713 | ||
| 710 | - | .leading-3 { | |
| 711 | - | line-height: .75rem; | |
| 712 | - | } | |
| 713 | - | ||
| 714 | 714 | .tracking-tighter { | |
| 715 | 715 | letter-spacing: -0.05em; | |
| 716 | 716 | } | |
| 717 | 717 | ||
| 718 | - | .text-gray-300 { | |
| 718 | + | .text-gordonmascot-hblue { | |
| 719 | 719 | --tw-text-opacity: 1; | |
| 720 | - | color: rgb(209 213 219 / var(--tw-text-opacity)); | |
| 720 | + | color: rgb(1 30 92 / var(--tw-text-opacity)); | |
| 721 | 721 | } | |
| 722 | 722 | ||
| 723 | - | .text-sky-950 { | |
| 723 | + | .text-gordonmascot-mblue { | |
| 724 | 724 | --tw-text-opacity: 1; | |
| 725 | - | color: rgb(8 47 73 / var(--tw-text-opacity)); | |
| 725 | + | color: rgb(0 82 147 / var(--tw-text-opacity)); | |
| 726 | + | } | |
| 727 | + | ||
| 728 | + | .text-gray-100 { | |
| 729 | + | --tw-text-opacity: 1; | |
| 730 | + | color: rgb(243 244 246 / var(--tw-text-opacity)); | |
| 726 | 731 | } | |
| 727 | 732 | ||
| 728 | 733 | .shadow { | |
| @@ -741,7 +746,7 @@ video { | |||
| 741 | 746 | @font-face { | |
| 742 | 747 | font-family: "IBMPlexSans-Bold"; | |
| 743 | 748 | ||
| 744 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | |
| 749 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | |
| 745 | 750 | ||
| 746 | 751 | font-weight: bold; | |
| 747 | 752 | ||
| @@ -751,7 +756,7 @@ video { | |||
| 751 | 756 | @font-face { | |
| 752 | 757 | font-family: "IBMPlexSans-Regular"; | |
| 753 | 758 | ||
| 754 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | |
| 759 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | |
| 755 | 760 | ||
| 756 | 761 | font-weight: normal; | |
| 757 | 762 | ||
| @@ -763,7 +768,7 @@ video { | |||
| 763 | 768 | @font-face { | |
| 764 | 769 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | |
| 765 | 770 | ||
| 766 | - | src: url("assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | |
| 771 | + | src: url("/assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | |
| 767 | 772 | format("woff2"); | |
| 768 | 773 | ||
| 769 | 774 | font-weight: normal; | |
| @@ -774,7 +779,7 @@ video { | |||
| 774 | 779 | @font-face { | |
| 775 | 780 | font-family: "LilitaOne-Regular"; | |
| 776 | 781 | ||
| 777 | - | src: url("assets/fonts/LilitaOne/LilitaOne-Regular.woff2") format("woff2"); | |
| 782 | + | src: url("/assets/fonts/LilitaOne/LilitaOne-Regular.ttf") format("truetype"); | |
| 778 | 783 | ||
| 779 | 784 | font-weight: normal; | |
| 780 | 785 | ||
| @@ -826,33 +831,12 @@ video { | |||
| 826 | 831 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | |
| 827 | 832 | } | |
| 828 | 833 | ||
| 829 | - | h1, | |
| 830 | - | h2, | |
| 831 | - | h3, | |
| 832 | - | h4, | |
| 833 | - | h5, | |
| 834 | - | h6 { | |
| 835 | - | font-family: "IBMPlexSans-Bold", sans-serif; | |
| 836 | - | font-style: normal; | |
| 837 | - | color: #000000; | |
| 838 | - | margin: 0; | |
| 839 | - | padding: 0; | |
| 840 | - | } | |
| 841 | - | ||
| 842 | 834 | .gordon-title { | |
| 843 | 835 | font-family: "LilitaOne-Regular", sans-serif; | |
| 844 | - | font-style: normal; | |
| 845 | - | color: #000000; | |
| 846 | - | margin: 0; | |
| 847 | - | padding: 0; | |
| 848 | 836 | } | |
| 849 | 837 | ||
| 850 | - | .gordon-v-subtitle { | |
| 838 | + | .IBMPlexSans { | |
| 851 | 839 | font-family: "IBMPlexSans-Regular", sans-serif; | |
| 852 | - | font-style: normal; | |
| 853 | - | color: #000000; | |
| 854 | - | margin: 0; | |
| 855 | - | padding: 0; | |
| 856 | 840 | } | |
| 857 | 841 | ||
| 858 | 842 | .circle-shadow { | |
| @@ -884,13 +868,38 @@ h6 { | |||
| 884 | 868 | } | |
| 885 | 869 | ||
| 886 | 870 | @media (min-width: 768px) { | |
| 871 | + | .md\:space-y-6 > :not([hidden]) ~ :not([hidden]) { | |
| 872 | + | --tw-space-y-reverse: 0; | |
| 873 | + | margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); | |
| 874 | + | margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); | |
| 875 | + | } | |
| 876 | + | ||
| 887 | 877 | .md\:p-8 { | |
| 888 | 878 | padding: 2rem; | |
| 889 | 879 | } | |
| 890 | 880 | ||
| 881 | + | .md\:py-8 { | |
| 882 | + | padding-top: 2rem; | |
| 883 | + | padding-bottom: 2rem; | |
| 884 | + | } | |
| 885 | + | ||
| 886 | + | .md\:pl-4 { | |
| 887 | + | padding-left: 1rem; | |
| 888 | + | } | |
| 889 | + | ||
| 891 | 890 | .md\:pt-10 { | |
| 892 | 891 | padding-top: 2.5rem; | |
| 893 | 892 | } | |
| 893 | + | ||
| 894 | + | .md\:text-2xl { | |
| 895 | + | font-size: 1.5rem; | |
| 896 | + | line-height: 2rem; | |
| 897 | + | } | |
| 898 | + | ||
| 899 | + | .md\:text-3xl { | |
| 900 | + | font-size: 1.875rem; | |
| 901 | + | line-height: 2.25rem; | |
| 902 | + | } | |
| 894 | 903 | } | |
| 895 | 904 | ||
| 896 | 905 | @media (min-width: 1024px) { | |
| @@ -549,6 +549,10 @@ video { | |||||
| 549 | margin-left: 1rem; | 549 | margin-left: 1rem; | ||
| 550 | } | 550 | } | ||
| 551 | 551 | ||||
| 552 | + | .mr-2 { | |||
| 553 | + | margin-right: 0.5rem; | |||
| 554 | + | } | |||
| 555 | + | ||||
| 552 | .flex { | 556 | .flex { | ||
| 553 | display: flex; | 557 | display: flex; | ||
| 554 | } | 558 | } | ||
| @@ -627,12 +631,6 @@ video { | |||||
| 627 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); | 631 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); | ||
| 628 | } | 632 | } | ||
| 629 | 633 | ||||
| 630 | - | .space-y-2 > :not([hidden]) ~ :not([hidden]) { | |||
| 631 | - | --tw-space-y-reverse: 0; | |||
| 632 | - | margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); | |||
| 633 | - | margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); | |||
| 634 | - | } | |||
| 635 | - | ||||
| 636 | .space-y-4 > :not([hidden]) ~ :not([hidden]) { | 634 | .space-y-4 > :not([hidden]) ~ :not([hidden]) { | ||
| 637 | --tw-space-y-reverse: 0; | 635 | --tw-space-y-reverse: 0; | ||
| 638 | margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); | 636 | margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); | ||
| @@ -651,6 +649,16 @@ video { | |||||
| 651 | border-radius: 0.125rem; | 649 | border-radius: 0.125rem; | ||
| 652 | } | 650 | } | ||
| 653 | 651 | ||||
| 652 | + | .bg-gordonmascot-lblue { | |||
| 653 | + | --tw-bg-opacity: 1; | |||
| 654 | + | background-color: rgb(0 123 192 / var(--tw-bg-opacity)); | |||
| 655 | + | } | |||
| 656 | + | ||||
| 657 | + | .bg-gordonmascot-mblue { | |||
| 658 | + | --tw-bg-opacity: 1; | |||
| 659 | + | background-color: rgb(0 82 147 / var(--tw-bg-opacity)); | |||
| 660 | + | } | |||
| 661 | + | ||||
| 654 | .bg-gray-300 { | 662 | .bg-gray-300 { | ||
| 655 | --tw-bg-opacity: 1; | 663 | --tw-bg-opacity: 1; | ||
| 656 | background-color: rgb(209 213 219 / var(--tw-bg-opacity)); | 664 | background-color: rgb(209 213 219 / var(--tw-bg-opacity)); | ||
| @@ -689,40 +697,37 @@ video { | |||||
| 689 | line-height: 1; | 697 | line-height: 1; | ||
| 690 | } | 698 | } | ||
| 691 | 699 | ||||
| 700 | + | .text-lg { | |||
| 701 | + | font-size: 1.125rem; | |||
| 702 | + | line-height: 1.75rem; | |||
| 703 | + | } | |||
| 704 | + | ||||
| 692 | .text-sm { | 705 | .text-sm { | ||
| 693 | font-size: 0.875rem; | 706 | font-size: 0.875rem; | ||
| 694 | line-height: 1.25rem; | 707 | line-height: 1.25rem; | ||
| 695 | } | 708 | } | ||
| 696 | 709 | ||||
| 697 | - | .text-xs { | |||
| 698 | - | font-size: 0.75rem; | |||
| 699 | - | line-height: 1rem; | |||
| 700 | - | } | |||
| 701 | - | ||||
| 702 | - | .font-bold { | |||
| 703 | - | font-weight: 700; | |||
| 704 | - | } | |||
| 705 | - | ||||
| 706 | .font-semibold { | 710 | .font-semibold { | ||
| 707 | font-weight: 600; | 711 | font-weight: 600; | ||
| 708 | } | 712 | } | ||
| 709 | 713 | ||||
| 710 | - | .leading-3 { | |||
| 711 | - | line-height: .75rem; | |||
| 712 | - | } | |||
| 713 | - | ||||
| 714 | .tracking-tighter { | 714 | .tracking-tighter { | ||
| 715 | letter-spacing: -0.05em; | 715 | letter-spacing: -0.05em; | ||
| 716 | } | 716 | } | ||
| 717 | 717 | ||||
| 718 | - | .text-gray-300 { | 718 | + | .text-gordonmascot-hblue { |
| 719 | --tw-text-opacity: 1; | 719 | --tw-text-opacity: 1; | ||
| 720 | - | color: rgb(209 213 219 / var(--tw-text-opacity)); | 720 | + | color: rgb(1 30 92 / var(--tw-text-opacity)); |
| 721 | } | 721 | } | ||
| 722 | 722 | ||||
| 723 | - | .text-sky-950 { | 723 | + | .text-gordonmascot-mblue { |
| 724 | --tw-text-opacity: 1; | 724 | --tw-text-opacity: 1; | ||
| 725 | - | color: rgb(8 47 73 / var(--tw-text-opacity)); | 725 | + | color: rgb(0 82 147 / var(--tw-text-opacity)); |
| 726 | + | } | |||
| 727 | + | ||||
| 728 | + | .text-gray-100 { | |||
| 729 | + | --tw-text-opacity: 1; | |||
| 730 | + | color: rgb(243 244 246 / var(--tw-text-opacity)); | |||
| 726 | } | 731 | } | ||
| 727 | 732 | ||||
| 728 | .shadow { | 733 | .shadow { | ||
| @@ -741,7 +746,7 @@ video { | |||||
| 741 | @font-face { | 746 | @font-face { | ||
| 742 | font-family: "IBMPlexSans-Bold"; | 747 | font-family: "IBMPlexSans-Bold"; | ||
| 743 | 748 | ||||
| 744 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); | 749 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2"); |
| 745 | 750 | ||||
| 746 | font-weight: bold; | 751 | font-weight: bold; | ||
| 747 | 752 | ||||
| @@ -751,7 +756,7 @@ video { | |||||
| 751 | @font-face { | 756 | @font-face { | ||
| 752 | font-family: "IBMPlexSans-Regular"; | 757 | font-family: "IBMPlexSans-Regular"; | ||
| 753 | 758 | ||||
| 754 | - | src: url("assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); | 759 | + | src: url("/assets/fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2"); |
| 755 | 760 | ||||
| 756 | font-weight: normal; | 761 | font-weight: normal; | ||
| 757 | 762 | ||||
| @@ -763,7 +768,7 @@ video { | |||||
| 763 | @font-face { | 768 | @font-face { | ||
| 764 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | 769 | font-family: "JetBrainsMono-Nerd-Font-Regular"; | ||
| 765 | 770 | ||||
| 766 | - | src: url("assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") | 771 | + | src: url("/assets/fonts/JetBrainsMonoNerd/JetBrainsMonoNerdFontMono-Regular.woff2") |
| 767 | format("woff2"); | 772 | format("woff2"); | ||
| 768 | 773 | ||||
| 769 | font-weight: normal; | 774 | font-weight: normal; | ||
| @@ -774,7 +779,7 @@ video { | |||||
| 774 | @font-face { | 779 | @font-face { | ||
| 775 | font-family: "LilitaOne-Regular"; | 780 | font-family: "LilitaOne-Regular"; | ||
| 776 | 781 | ||||
| 777 | - | src: url("assets/fonts/LilitaOne/LilitaOne-Regular.woff2") format("woff2"); | 782 | + | src: url("/assets/fonts/LilitaOne/LilitaOne-Regular.ttf") format("truetype"); |
| 778 | 783 | ||||
| 779 | font-weight: normal; | 784 | font-weight: normal; | ||
| 780 | 785 | ||||
| @@ -826,33 +831,12 @@ video { | |||||
| 826 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | 831 | 600ms cubic-bezier(0.4, 0, 0.2, 1) both slide-from-right; | ||
| 827 | } | 832 | } | ||
| 828 | 833 | ||||
| 829 | - | h1, | |||
| 830 | - | h2, | |||
| 831 | - | h3, | |||
| 832 | - | h4, | |||
| 833 | - | h5, | |||
| 834 | - | h6 { | |||
| 835 | - | font-family: "IBMPlexSans-Bold", sans-serif; | |||
| 836 | - | font-style: normal; | |||
| 837 | - | color: #000000; | |||
| 838 | - | margin: 0; | |||
| 839 | - | padding: 0; | |||
| 840 | - | } | |||
| 841 | - | ||||
| 842 | .gordon-title { | 834 | .gordon-title { | ||
| 843 | font-family: "LilitaOne-Regular", sans-serif; | 835 | font-family: "LilitaOne-Regular", sans-serif; | ||
| 844 | - | font-style: normal; | |||
| 845 | - | color: #000000; | |||
| 846 | - | margin: 0; | |||
| 847 | - | padding: 0; | |||
| 848 | } | 836 | } | ||
| 849 | 837 | ||||
| 850 | - | .gordon-v-subtitle { | 838 | + | .IBMPlexSans { |
| 851 | font-family: "IBMPlexSans-Regular", sans-serif; | 839 | font-family: "IBMPlexSans-Regular", sans-serif; | ||
| 852 | - | font-style: normal; | |||
| 853 | - | color: #000000; | |||
| 854 | - | margin: 0; | |||
| 855 | - | padding: 0; | |||
| 856 | } | 840 | } | ||
| 857 | 841 | ||||
| 858 | .circle-shadow { | 842 | .circle-shadow { | ||
| @@ -884,13 +868,38 @@ h6 { | |||||
| 884 | } | 868 | } | ||
| 885 | 869 | ||||
| 886 | @media (min-width: 768px) { | 870 | @media (min-width: 768px) { | ||
| 871 | + | .md\:space-y-6 > :not([hidden]) ~ :not([hidden]) { | |||
| 872 | + | --tw-space-y-reverse: 0; | |||
| 873 | + | margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); | |||
| 874 | + | margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); | |||
| 875 | + | } | |||
| 876 | + | ||||
| 887 | .md\:p-8 { | 877 | .md\:p-8 { | ||
| 888 | padding: 2rem; | 878 | padding: 2rem; | ||
| 889 | } | 879 | } | ||
| 890 | 880 | ||||
| 881 | + | .md\:py-8 { | |||
| 882 | + | padding-top: 2rem; | |||
| 883 | + | padding-bottom: 2rem; | |||
| 884 | + | } | |||
| 885 | + | ||||
| 886 | + | .md\:pl-4 { | |||
| 887 | + | padding-left: 1rem; | |||
| 888 | + | } | |||
| 889 | + | ||||
| 891 | .md\:pt-10 { | 890 | .md\:pt-10 { | ||
| 892 | padding-top: 2.5rem; | 891 | padding-top: 2.5rem; | ||
| 893 | } | 892 | } | ||
| 893 | + | ||||
| 894 | + | .md\:text-2xl { | |||
| 895 | + | font-size: 1.5rem; | |||
| 896 | + | line-height: 2rem; | |||
| 897 | + | } | |||
| 898 | + | ||||
| 899 | + | .md\:text-3xl { | |||
| 900 | + | font-size: 1.875rem; | |||
| 901 | + | line-height: 2.25rem; | |||
| 902 | + | } | |||
| 894 | } | 903 | } | ||
| 895 | 904 | ||||
| 896 | @media (min-width: 1024px) { | 905 | @media (min-width: 1024px) { | ||
A internal/ui/public/assets/fonts/LilitaOne/LilitaOne-Regular.ttf +0 -0 binary file: no text diff
binary file: no text diff
M internal/ui/public/assets/fonts/LilitaOne/LilitaOne-Regular.woff2 +0 -0 binary file: no text diff
binary file: no text diff
M internal/ui/public/index.gohtml +20 -14
| @@ -19,7 +19,7 @@ | |||
| 19 | 19 | <!-- Custom JS from assets/js --> | |
| 20 | 20 | <script src="assets/js/custom.js"></script> | |
| 21 | 21 | </head> | |
| 22 | - | <body class="bg-zinc-200 md:p-8 flex"> | |
| 22 | + | <body class="IBMPlexSans bg-zinc-200 md:p-8 flex"> | |
| 23 | 23 | <!-- Left Menu --> | |
| 24 | 24 | <div class="w-1/5 flex flex-col space-evenly"> | |
| 25 | 25 | <!-- Logo --> | |
| @@ -33,38 +33,44 @@ | |||
| 33 | 33 | </div> | |
| 34 | 34 | </div> | |
| 35 | 35 | <!-- Site Name + Version --> | |
| 36 | - | <div class="p-4 flex flex-col bg-white rounded-lg shadow space-y-4"> | |
| 36 | + | <div | |
| 37 | + | class="p-4 flex flex-col bg-gordonmascot-lblue rounded-lg shadow space-y-4" | |
| 38 | + | > | |
| 37 | 39 | <div class="w-full flex justify-center"> | |
| 38 | 40 | <h1 | |
| 39 | - | class="gordon-title text-2xl lg:text-4xl xl:text-5xl text-sky-950 font-bold tracking-tighter" | |
| 41 | + | class="gordon-title text-2xl lg:text-4xl xl:text-5xl text-gordonmascot-hblue tracking-tighter" | |
| 40 | 42 | > | |
| 41 | 43 | Gordon | |
| 42 | 44 | </h1> | |
| 43 | - | <span class="gordon-v-subtitle text-gray-300 text-xs">v0.0.1</span> | |
| 45 | + | <span class="gordon-v-subtitle text-gordonmascot-mblue text-sm" | |
| 46 | + | >v0.0.1</span | |
| 47 | + | > | |
| 44 | 48 | </div> | |
| 45 | 49 | <!--(Navigation) --> | |
| 46 | 50 | <div id="menu-leftnav" class="w-full"> | |
| 47 | - | <ul class="flex flex-col space-y-2 leading-3 font-semibold text-sm"> | |
| 48 | - | <li> | |
| 49 | - | <i class="iconoir-dashboard-speed"></i> | |
| 51 | + | <ul | |
| 52 | + | class="flex flex-col md:space-y-6 md:py-8 font-semibold text-gray-100 text-lg md:text-2xl md:pl-4" | |
| 53 | + | > | |
| 54 | + | <li class="flex items-center"> | |
| 55 | + | <i class="iconoir-dashboard-speed mr-2 md:text-3xl"></i> | |
| 50 | 56 | <a href="index.html">Dashboard</a> | |
| 51 | 57 | </li> | |
| 52 | - | <li> | |
| 53 | - | <i class="iconoir-server"></i> | |
| 58 | + | <li class="flex items-center"> | |
| 59 | + | <i class="iconoir-server mr-2 md:text-3xl"></i> | |
| 54 | 60 | <a href="#manager">Manager</a> | |
| 55 | 61 | </li> | |
| 56 | - | <li> | |
| 57 | - | <i class="iconoir-community"></i> | |
| 62 | + | <li class="flex items-center"> | |
| 63 | + | <i class="iconoir-community mr-2 md:text-3xl"></i> | |
| 58 | 64 | <a href="#users">Users</a> | |
| 59 | 65 | </li> | |
| 60 | - | <li> | |
| 61 | - | <i class="iconoir-database-settings"></i> | |
| 66 | + | <li class="flex items-center"> | |
| 67 | + | <i class="iconoir-database-settings mr-2 md:text-3xl"></i> | |
| 62 | 68 | <a href="#gordon-settings">Settings</a> | |
| 63 | 69 | </li> | |
| 64 | 70 | </ul> | |
| 65 | 71 | </div> | |
| 66 | 72 | ||
| 67 | - | <div class="w-full h-24 bg-gray-300 rounded-sm"></div> | |
| 73 | + | <div class="w-full h-24 bg-gordonmascot-mblue rounded-lg"></div> | |
| 68 | 74 | <!-- Mock menu item --> | |
| 69 | 75 | </div> | |
| 70 | 76 | </div> | |
| @@ -19,7 +19,7 @@ | |||||
| 19 | <!-- Custom JS from assets/js --> | 19 | <!-- Custom JS from assets/js --> | ||
| 20 | <script src="assets/js/custom.js"></script> | 20 | <script src="assets/js/custom.js"></script> | ||
| 21 | </head> | 21 | </head> | ||
| 22 | - | <body class="bg-zinc-200 md:p-8 flex"> | 22 | + | <body class="IBMPlexSans bg-zinc-200 md:p-8 flex"> |
| 23 | <!-- Left Menu --> | 23 | <!-- Left Menu --> | ||
| 24 | <div class="w-1/5 flex flex-col space-evenly"> | 24 | <div class="w-1/5 flex flex-col space-evenly"> | ||
| 25 | <!-- Logo --> | 25 | <!-- Logo --> | ||
| @@ -33,38 +33,44 @@ | |||||
| 33 | </div> | 33 | </div> | ||
| 34 | </div> | 34 | </div> | ||
| 35 | <!-- Site Name + Version --> | 35 | <!-- Site Name + Version --> | ||
| 36 | - | <div class="p-4 flex flex-col bg-white rounded-lg shadow space-y-4"> | 36 | + | <div |
| 37 | + | class="p-4 flex flex-col bg-gordonmascot-lblue rounded-lg shadow space-y-4" | |||
| 38 | + | > | |||
| 37 | <div class="w-full flex justify-center"> | 39 | <div class="w-full flex justify-center"> | ||
| 38 | <h1 | 40 | <h1 | ||
| 39 | - | class="gordon-title text-2xl lg:text-4xl xl:text-5xl text-sky-950 font-bold tracking-tighter" | 41 | + | class="gordon-title text-2xl lg:text-4xl xl:text-5xl text-gordonmascot-hblue tracking-tighter" |
| 40 | > | 42 | > | ||
| 41 | Gordon | 43 | Gordon | ||
| 42 | </h1> | 44 | </h1> | ||
| 43 | - | <span class="gordon-v-subtitle text-gray-300 text-xs">v0.0.1</span> | 45 | + | <span class="gordon-v-subtitle text-gordonmascot-mblue text-sm" |
| 46 | + | >v0.0.1</span | |||
| 47 | + | > | |||
| 44 | </div> | 48 | </div> | ||
| 45 | <!--(Navigation) --> | 49 | <!--(Navigation) --> | ||
| 46 | <div id="menu-leftnav" class="w-full"> | 50 | <div id="menu-leftnav" class="w-full"> | ||
| 47 | - | <ul class="flex flex-col space-y-2 leading-3 font-semibold text-sm"> | 51 | + | <ul |
| 48 | - | <li> | 52 | + | class="flex flex-col md:space-y-6 md:py-8 font-semibold text-gray-100 text-lg md:text-2xl md:pl-4" |
| 49 | - | <i class="iconoir-dashboard-speed"></i> | 53 | + | > |
| 54 | + | <li class="flex items-center"> | |||
| 55 | + | <i class="iconoir-dashboard-speed mr-2 md:text-3xl"></i> | |||
| 50 | <a href="index.html">Dashboard</a> | 56 | <a href="index.html">Dashboard</a> | ||
| 51 | </li> | 57 | </li> | ||
| 52 | - | <li> | 58 | + | <li class="flex items-center"> |
| 53 | - | <i class="iconoir-server"></i> | 59 | + | <i class="iconoir-server mr-2 md:text-3xl"></i> |
| 54 | <a href="#manager">Manager</a> | 60 | <a href="#manager">Manager</a> | ||
| 55 | </li> | 61 | </li> | ||
| 56 | - | <li> | 62 | + | <li class="flex items-center"> |
| 57 | - | <i class="iconoir-community"></i> | 63 | + | <i class="iconoir-community mr-2 md:text-3xl"></i> |
| 58 | <a href="#users">Users</a> | 64 | <a href="#users">Users</a> | ||
| 59 | </li> | 65 | </li> | ||
| 60 | - | <li> | 66 | + | <li class="flex items-center"> |
| 61 | - | <i class="iconoir-database-settings"></i> | 67 | + | <i class="iconoir-database-settings mr-2 md:text-3xl"></i> |
| 62 | <a href="#gordon-settings">Settings</a> | 68 | <a href="#gordon-settings">Settings</a> | ||
| 63 | </li> | 69 | </li> | ||
| 64 | </ul> | 70 | </ul> | ||
| 65 | </div> | 71 | </div> | ||
| 66 | 72 | ||||
| 67 | - | <div class="w-full h-24 bg-gray-300 rounded-sm"></div> | 73 | + | <div class="w-full h-24 bg-gordonmascot-mblue rounded-lg"></div> |
| 68 | <!-- Mock menu item --> | 74 | <!-- Mock menu item --> | ||
| 69 | </div> | 75 | </div> | ||
| 70 | </div> | 76 | </div> | ||
M tailwind.config.js +12 -2
| @@ -2,7 +2,17 @@ | |||
| 2 | 2 | module.exports = { | |
| 3 | 3 | content: ["./internal/ui/**/*.{gohtml,go}"], | |
| 4 | 4 | theme: { | |
| 5 | - | extend: {}, | |
| 5 | + | extend: { | |
| 6 | + | colors: { | |
| 7 | + | gordonmascot: { | |
| 8 | + | lblue: "#007BC0", | |
| 9 | + | mblue: "#005293", | |
| 10 | + | hblue: '#011E5C', | |
| 11 | + | lbeige: "#FFDCB3", | |
| 12 | + | mbeige: '#D7B49F', | |
| 13 | + | }, | |
| 14 | + | }, | |
| 15 | + | }, | |
| 6 | 16 | }, | |
| 7 | 17 | plugins: [], | |
| 8 | - | } | |
| 18 | + | }⏎̸ | |
| @@ -2,7 +2,17 @@ | |||||
| 2 | module.exports = { | 2 | module.exports = { | ||
| 3 | content: ["./internal/ui/**/*.{gohtml,go}"], | 3 | content: ["./internal/ui/**/*.{gohtml,go}"], | ||
| 4 | theme: { | 4 | theme: { | ||
| 5 | - | extend: {}, | 5 | + | extend: { |
| 6 | + | colors: { | |||
| 7 | + | gordonmascot: { | |||
| 8 | + | lblue: "#007BC0", | |||
| 9 | + | mblue: "#005293", | |||
| 10 | + | hblue: '#011E5C', | |||
| 11 | + | lbeige: "#FFDCB3", | |||
| 12 | + | mbeige: '#D7B49F', | |||
| 13 | + | }, | |||
| 14 | + | }, | |||
| 15 | + | }, | |||
| 6 | }, | 16 | }, | ||
| 7 | plugins: [], | 17 | plugins: [], | ||
| 8 | - | } | 18 | + | }⏎̸ |