chore: add nebula assets to proxy server

This commit is contained in:
Prad Nukala 2024-09-25 22:09:15 -04:00
parent de05777261
commit a785d3a01f
14 changed files with 1959 additions and 52 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/labstack/echo/v4"
"github.com/labstack/gommon/log"
"github.com/onsonr/sonr/nebula"
"github.com/onsonr/sonr/nebula/pages"
)
@ -18,6 +19,7 @@ func startServer() {
e.Logger.SetLevel(log.INFO)
// Configure the server
nebula.UseAssets(e)
e.GET("/", pages.Home)
e.GET("/allocate", pages.Profile)

View File

@ -1,7 +1,8 @@
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.12.0/.schema/devbox.schema.json",
"packages": [
"go@1.22"
"go@1.22",
"bun@latest"
],
"env": {
"CLOUDFLARE_API_TOKEN": "$CLOUDFLARE_API_TOKEN",
@ -28,6 +29,9 @@
"build:image": [
"make local-image"
],
"build:nebula": [
"cd nebula && bun run build"
],
"gen:proto": [
"make proto-gen"
],
@ -37,9 +41,6 @@
"gen:templ": [
"make templ"
],
"serve:air": [
"make air"
],
"serve:ipfs": [
"make ipfs"
],
@ -50,7 +51,13 @@
"make sh-testnet"
],
"serve:proxy": [
"make sh-testnet"
"go run ./cmd/sonrd/main.go dwn-proxy"
],
"watch:air": [
"make air"
],
"watch:nebula": [
"cd nebula && bun run watch"
]
}
}

View File

@ -1,6 +1,54 @@
{
"lockfile_version": "1",
"packages": {
"bun@latest": {
"last_modified": "2024-09-20T22:35:44Z",
"resolved": "github:NixOS/nixpkgs/a1d92660c6b3b7c26fb883500a80ea9d33321be2#bun",
"source": "devbox-search",
"version": "1.1.29",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/1hn8dddmy3l99x502d0fqz901gfk74px-bun-1.1.29",
"default": true
}
],
"store_path": "/nix/store/1hn8dddmy3l99x502d0fqz901gfk74px-bun-1.1.29"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/q1k3hsk9hwsg6xllgd25pb0lrh51ym7z-bun-1.1.29",
"default": true
}
],
"store_path": "/nix/store/q1k3hsk9hwsg6xllgd25pb0lrh51ym7z-bun-1.1.29"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/0wi8b58g19k1gpvniyvax2hpb77sp0w6-bun-1.1.29",
"default": true
}
],
"store_path": "/nix/store/0wi8b58g19k1gpvniyvax2hpb77sp0w6-bun-1.1.29"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/mqzlk40bnhx54by2m4lyyc02syippzad-bun-1.1.29",
"default": true
}
],
"store_path": "/nix/store/mqzlk40bnhx54by2m4lyyc02syippzad-bun-1.1.29"
}
}
},
"go@1.22": {
"last_modified": "2024-09-12T11:58:09Z",
"resolved": "github:NixOS/nixpkgs/280db3decab4cbeb22a4599bd472229ab74d25e1#go",

3
nebula/assets/main.js Normal file
View File

@ -0,0 +1,3 @@
"use strict";
// src/ts/main.ts
console.log("Hello from TypeScript!");

1764
nebula/assets/styles.css Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,47 +0,0 @@
package blocks
import (
"strings"
"github.com/a-h/templ"
)
type Icon interface {
Render() templ.Component
}
type Variant interface {
Attributes() templ.Attributes
}
func clsxMerge(variants ...Variant) templ.Attributes {
combinedAttrs := templ.Attributes{}
var classElements []string
for _, variant := range variants {
attrs := variant.Attributes()
if class, ok := attrs["class"].(string); ok {
classElements = append(classElements, strings.Fields(class)...)
}
for key, value := range attrs {
if key != "class" {
combinedAttrs[key] = value
}
}
}
if len(classElements) > 0 {
combinedAttrs["class"] = strings.Join(classElements, " ")
}
return combinedAttrs
}
func clsxBuilder(classes ...string) templ.Attributes {
if len(classes) == 0 {
return templ.Attributes{}
}
class := strings.Join(classes, " ")
return templ.Attributes{
"class": class,
}
}

View File

@ -1,5 +1,46 @@
package blocks
import "strings"
type Icon interface {
Render() templ.Component
}
type Variant interface {
Attributes() templ.Attributes
}
func clsxMerge(variants ...Variant) templ.Attributes {
combinedAttrs := templ.Attributes{}
var classElements []string
for _, variant := range variants {
attrs := variant.Attributes()
if class, ok := attrs["class"].(string); ok {
classElements = append(classElements, strings.Fields(class)...)
}
for key, value := range attrs {
if key != "class" {
combinedAttrs[key] = value
}
}
}
if len(classElements) > 0 {
combinedAttrs["class"] = strings.Join(classElements, " ")
}
return combinedAttrs
}
func clsxBuilder(classes ...string) templ.Attributes {
if len(classes) == 0 {
return templ.Attributes{}
}
class := strings.Join(classes, " ")
return templ.Attributes{
"class": class,
}
}
templ Spacer() {
<br/>

View File

@ -8,6 +8,48 @@ package blocks
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
import "strings"
type Icon interface {
Render() templ.Component
}
type Variant interface {
Attributes() templ.Attributes
}
func clsxMerge(variants ...Variant) templ.Attributes {
combinedAttrs := templ.Attributes{}
var classElements []string
for _, variant := range variants {
attrs := variant.Attributes()
if class, ok := attrs["class"].(string); ok {
classElements = append(classElements, strings.Fields(class)...)
}
for key, value := range attrs {
if key != "class" {
combinedAttrs[key] = value
}
}
}
if len(classElements) > 0 {
combinedAttrs["class"] = strings.Join(classElements, " ")
}
return combinedAttrs
}
func clsxBuilder(classes ...string) templ.Attributes {
if len(classes) == 0 {
return templ.Attributes{}
}
class := strings.Join(classes, " ")
return templ.Attributes{
"class": class,
}
}
func Spacer() templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context

14
nebula/package.json Normal file
View File

@ -0,0 +1,14 @@
{
"scripts": {
"build:ts": "tsc",
"build:css": "bunx tailwindcss -i ./src/styles.css -o ./assets/styles.css",
"build": "bun run build:ts && bun run build:css",
"watch:ts": "tsc -w",
"watch:css": "bunx tailwindcss -i ./src/styles.css -o ./assets/styles.css --watch",
"watch": "bun run watch:ts & bun run watch:css"
},
"devDependencies": {
"tailwindcss": "^3.3.0",
"typescript": "^4.9.0"
}
}

2
nebula/src/main.ts Normal file
View File

@ -0,0 +1,2 @@
// src/ts/main.ts
console.log("Hello from TypeScript!");

6
nebula/src/styles.css Normal file
View File

@ -0,0 +1,6 @@
/* src/css/styles.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Custom styles */

12
nebula/tailwind.config.js Normal file
View File

@ -0,0 +1,12 @@
// tailwind.config.js
module.exports = {
content: [
"./blocks/**/*.{templ,html}",
"./pages/**/*.{templ,html}",
"./src/**/*.ts",
],
theme: {
extend: {},
},
plugins: [],
};

13
nebula/tsconfig.json Normal file
View File

@ -0,0 +1,13 @@
{
"compilerOptions": {
"outDir": "./assets",
"rootDir": "./src",
"target": "ES6",
"module": "ES6",
"moduleResolution": "node",
"strict": true
},
"include": [
"src/**/*"
]
}