From 077a45fce070cdf46d922664221756ba8a8a7003 Mon Sep 17 00:00:00 2001 From: nkanaev Date: Tue, 30 Jun 2026 19:05:58 +0100 Subject: [PATCH] frontend: reorganise assets --- package.json | 4 +- src/assets/assets.go | 2 +- src/assets/assetsfs.go | 4 +- src/assets/{ => static}/bundle.css | 2 +- src/assets/{ => static}/bundle.js | 82 +++++++++--------- .../stylesheets => frontend/css}/app.css | 0 .../graphicarts/alert-circle.svg | 0 .../graphicarts/anchor.svg | 0 .../graphicarts/assorted.svg | 0 .../graphicarts/book-open.svg | 0 .../graphicarts/check.svg | 0 .../graphicarts/chevron-down.svg | 0 .../graphicarts/chevron-left.svg | 0 .../graphicarts/chevron-right.svg | 0 .../graphicarts/chevron-up.svg | 0 .../graphicarts/circle-full.svg | 0 .../graphicarts/circle.svg | 0 .../graphicarts/download.svg | 0 src/{assets => frontend}/graphicarts/edit.svg | 0 .../graphicarts/external-link.svg | 0 .../graphicarts/favicon.png | Bin .../graphicarts/favicon.svg | 0 .../graphicarts/folder-minus.svg | 0 .../graphicarts/folder-plus.svg | 0 .../graphicarts/folder.svg | 0 .../graphicarts/globe.svg | 0 .../graphicarts/help-circle.svg | 0 .../graphicarts/layers.svg | 0 .../graphicarts/log-out.svg | 0 .../graphicarts/more-horizontal.svg | 0 src/{assets => frontend}/graphicarts/plus.svg | 0 .../graphicarts/rotate-cw.svg | 0 src/{assets => frontend}/graphicarts/rss.svg | 0 .../graphicarts/search.svg | 0 .../graphicarts/sliders.svg | 0 .../graphicarts/star-full.svg | 0 src/{assets => frontend}/graphicarts/star.svg | 0 .../graphicarts/trash.svg | 0 .../graphicarts/upload.svg | 0 src/{assets => frontend}/graphicarts/x.svg | 0 .../javascripts => frontend/js}/api.ts | 0 .../javascripts => frontend/js}/app.ts | 0 .../javascripts => frontend/js}/i18n.ts | 0 .../javascripts => frontend/js}/icons.ts | 0 .../javascripts => frontend/js}/key.ts | 0 .../javascripts => frontend/js}/login.ts | 0 .../javascripts => frontend/js}/main.ts | 0 .../js}/templates/index.html | 0 .../js}/templates/login.html | 0 49 files changed, 46 insertions(+), 48 deletions(-) rename src/assets/{ => static}/bundle.css (99%) rename src/assets/{ => static}/bundle.js (99%) rename src/{assets/stylesheets => frontend/css}/app.css (100%) rename src/{assets => frontend}/graphicarts/alert-circle.svg (100%) rename src/{assets => frontend}/graphicarts/anchor.svg (100%) rename src/{assets => frontend}/graphicarts/assorted.svg (100%) rename src/{assets => frontend}/graphicarts/book-open.svg (100%) rename src/{assets => frontend}/graphicarts/check.svg (100%) rename src/{assets => frontend}/graphicarts/chevron-down.svg (100%) rename src/{assets => frontend}/graphicarts/chevron-left.svg (100%) rename src/{assets => frontend}/graphicarts/chevron-right.svg (100%) rename src/{assets => frontend}/graphicarts/chevron-up.svg (100%) rename src/{assets => frontend}/graphicarts/circle-full.svg (100%) rename src/{assets => frontend}/graphicarts/circle.svg (100%) rename src/{assets => frontend}/graphicarts/download.svg (100%) rename src/{assets => frontend}/graphicarts/edit.svg (100%) rename src/{assets => frontend}/graphicarts/external-link.svg (100%) rename src/{assets => frontend}/graphicarts/favicon.png (100%) rename src/{assets => frontend}/graphicarts/favicon.svg (100%) rename src/{assets => frontend}/graphicarts/folder-minus.svg (100%) rename src/{assets => frontend}/graphicarts/folder-plus.svg (100%) rename src/{assets => frontend}/graphicarts/folder.svg (100%) rename src/{assets => frontend}/graphicarts/globe.svg (100%) rename src/{assets => frontend}/graphicarts/help-circle.svg (100%) rename src/{assets => frontend}/graphicarts/layers.svg (100%) rename src/{assets => frontend}/graphicarts/log-out.svg (100%) rename src/{assets => frontend}/graphicarts/more-horizontal.svg (100%) rename src/{assets => frontend}/graphicarts/plus.svg (100%) rename src/{assets => frontend}/graphicarts/rotate-cw.svg (100%) rename src/{assets => frontend}/graphicarts/rss.svg (100%) rename src/{assets => frontend}/graphicarts/search.svg (100%) rename src/{assets => frontend}/graphicarts/sliders.svg (100%) rename src/{assets => frontend}/graphicarts/star-full.svg (100%) rename src/{assets => frontend}/graphicarts/star.svg (100%) rename src/{assets => frontend}/graphicarts/trash.svg (100%) rename src/{assets => frontend}/graphicarts/upload.svg (100%) rename src/{assets => frontend}/graphicarts/x.svg (100%) rename src/{assets/javascripts => frontend/js}/api.ts (100%) rename src/{assets/javascripts => frontend/js}/app.ts (100%) rename src/{assets/javascripts => frontend/js}/i18n.ts (100%) rename src/{assets/javascripts => frontend/js}/icons.ts (100%) rename src/{assets/javascripts => frontend/js}/key.ts (100%) rename src/{assets/javascripts => frontend/js}/login.ts (100%) rename src/{assets/javascripts => frontend/js}/main.ts (100%) rename src/{assets/javascripts => frontend/js}/templates/index.html (100%) rename src/{assets/javascripts => frontend/js}/templates/login.html (100%) diff --git a/package.json b/package.json index 504757a..91bb31d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "scripts": { - "build:js": "esbuild src/assets/javascripts/main.ts --bundle --outfile=src/assets/bundle.js", - "build:css": "esbuild src/assets/stylesheets/app.css --bundle --outfile=src/assets/bundle.css", + "build:js": "esbuild src/frontend/js/main.ts --bundle --outfile=src/assets/static/bundle.js", + "build:css": "esbuild src/frontend/css/app.css --bundle --outfile=src/assets/static/bundle.css", "build": "npm run build:js && npm run build:css" }, "devDependencies": { diff --git a/src/assets/assets.go b/src/assets/assets.go index 4030030..98e442b 100644 --- a/src/assets/assets.go +++ b/src/assets/assets.go @@ -15,5 +15,5 @@ func Templates() *template.Template { } func StaticFS() fs.FS { - return os.DirFS(rootDir) + return os.DirFS(rootDir + "/static") } diff --git a/src/assets/assetsfs.go b/src/assets/assetsfs.go index 6319b94..ecc1a12 100644 --- a/src/assets/assetsfs.go +++ b/src/assets/assetsfs.go @@ -8,9 +8,7 @@ import ( "io/fs" ) -//go:embed graphicarts -//go:embed javascripts -//go:embed stylesheets +//go:embed static var static embed.FS //go:embed templates diff --git a/src/assets/bundle.css b/src/assets/static/bundle.css similarity index 99% rename from src/assets/bundle.css rename to src/assets/static/bundle.css index b8a9537..59895e8 100644 --- a/src/assets/bundle.css +++ b/src/assets/static/bundle.css @@ -9501,7 +9501,7 @@ a.text-dark:hover { } } -/* src/assets/stylesheets/app.css */ +/* src/frontend/css/app.css */ [v-cloak] { display: none !important; } diff --git a/src/assets/bundle.js b/src/assets/static/bundle.js similarity index 99% rename from src/assets/bundle.js rename to src/assets/static/bundle.js index 72377b0..178dd82 100644 --- a/src/assets/bundle.js +++ b/src/assets/static/bundle.js @@ -9998,7 +9998,7 @@ } }; - // src/assets/javascripts/i18n.ts + // src/frontend/js/i18n.ts var translations = { "unread": { "en": "Unread", @@ -10712,7 +10712,7 @@ } }; - // src/assets/javascripts/api.ts + // src/frontend/js/api.ts var xfetch = function(resource, init) { init = init || {}; if (["post", "put", "delete"].indexOf(init.method) !== -1) { @@ -10818,7 +10818,7 @@ } }; - // src/assets/javascripts/templates/index.html + // src/frontend/js/templates/index.html var templates_default = `
@@ -11251,103 +11251,103 @@
`; - // src/assets/graphicarts/anchor.svg + // src/frontend/graphicarts/anchor.svg var anchor_default = ''; - // src/assets/graphicarts/alert-circle.svg + // src/frontend/graphicarts/alert-circle.svg var alert_circle_default = ''; - // src/assets/graphicarts/assorted.svg + // src/frontend/graphicarts/assorted.svg var assorted_default = '\n'; - // src/assets/graphicarts/book-open.svg + // src/frontend/graphicarts/book-open.svg var book_open_default = ''; - // src/assets/graphicarts/check.svg + // src/frontend/graphicarts/check.svg var check_default = ''; - // src/assets/graphicarts/chevron-down.svg + // src/frontend/graphicarts/chevron-down.svg var chevron_down_default = ''; - // src/assets/graphicarts/chevron-left.svg + // src/frontend/graphicarts/chevron-left.svg var chevron_left_default = ''; - // src/assets/graphicarts/chevron-right.svg + // src/frontend/graphicarts/chevron-right.svg var chevron_right_default = ''; - // src/assets/graphicarts/chevron-up.svg + // src/frontend/graphicarts/chevron-up.svg var chevron_up_default = ''; - // src/assets/graphicarts/circle.svg + // src/frontend/graphicarts/circle.svg var circle_default = ''; - // src/assets/graphicarts/circle-full.svg + // src/frontend/graphicarts/circle-full.svg var circle_full_default = '\n'; - // src/assets/graphicarts/download.svg + // src/frontend/graphicarts/download.svg var download_default = ''; - // src/assets/graphicarts/edit.svg + // src/frontend/graphicarts/edit.svg var edit_default = ''; - // src/assets/graphicarts/external-link.svg + // src/frontend/graphicarts/external-link.svg var external_link_default = ''; - // src/assets/graphicarts/folder.svg + // src/frontend/graphicarts/folder.svg var folder_default = ''; - // src/assets/graphicarts/folder-minus.svg + // src/frontend/graphicarts/folder-minus.svg var folder_minus_default = ''; - // src/assets/graphicarts/folder-plus.svg + // src/frontend/graphicarts/folder-plus.svg var folder_plus_default = ''; - // src/assets/graphicarts/globe.svg + // src/frontend/graphicarts/globe.svg var globe_default = ''; - // src/assets/graphicarts/help-circle.svg + // src/frontend/graphicarts/help-circle.svg var help_circle_default = ''; - // src/assets/graphicarts/layers.svg + // src/frontend/graphicarts/layers.svg var layers_default = ''; - // src/assets/graphicarts/log-out.svg + // src/frontend/graphicarts/log-out.svg var log_out_default = ''; - // src/assets/graphicarts/more-horizontal.svg + // src/frontend/graphicarts/more-horizontal.svg var more_horizontal_default = ''; - // src/assets/graphicarts/plus.svg + // src/frontend/graphicarts/plus.svg var plus_default = ''; - // src/assets/graphicarts/rotate-cw.svg + // src/frontend/graphicarts/rotate-cw.svg var rotate_cw_default = ''; - // src/assets/graphicarts/rss.svg + // src/frontend/graphicarts/rss.svg var rss_default = ''; - // src/assets/graphicarts/search.svg + // src/frontend/graphicarts/search.svg var search_default = ''; - // src/assets/graphicarts/sliders.svg + // src/frontend/graphicarts/sliders.svg var sliders_default = ''; - // src/assets/graphicarts/star.svg + // src/frontend/graphicarts/star.svg var star_default = ''; - // src/assets/graphicarts/star-full.svg + // src/frontend/graphicarts/star-full.svg var star_full_default = '\n'; - // src/assets/graphicarts/trash.svg + // src/frontend/graphicarts/trash.svg var trash_default = ''; - // src/assets/graphicarts/upload.svg + // src/frontend/graphicarts/upload.svg var upload_default = ''; - // src/assets/graphicarts/x.svg + // src/frontend/graphicarts/x.svg var x_default = ''; - // src/assets/javascripts/icons.ts + // src/frontend/js/icons.ts var icons_default = { anchor: anchor_default, "alert-circle": alert_circle_default, @@ -11383,7 +11383,7 @@ x: x_default }; - // src/assets/javascripts/key.ts + // src/frontend/js/key.ts function setupKeybindings(vm3) { var helperFunctions = { scrollContent: function(direction) { @@ -11510,7 +11510,7 @@ }); } - // src/assets/javascripts/app.ts + // src/frontend/js/app.ts var app = window.app; var vm; var TITLE = document.title; @@ -12318,7 +12318,7 @@ } }; - // src/assets/javascripts/templates/login.html + // src/frontend/js/templates/login.html var login_default = ` `; - // src/assets/javascripts/login.ts + // src/frontend/js/login.ts var login_default2 = { template: login_default, data: function() { @@ -12360,7 +12360,7 @@ } }; - // src/assets/javascripts/main.ts + // src/frontend/js/main.ts Vue.use(i18n_default); var vm2 = new Vue({ render: function(h) { diff --git a/src/assets/stylesheets/app.css b/src/frontend/css/app.css similarity index 100% rename from src/assets/stylesheets/app.css rename to src/frontend/css/app.css diff --git a/src/assets/graphicarts/alert-circle.svg b/src/frontend/graphicarts/alert-circle.svg similarity index 100% rename from src/assets/graphicarts/alert-circle.svg rename to src/frontend/graphicarts/alert-circle.svg diff --git a/src/assets/graphicarts/anchor.svg b/src/frontend/graphicarts/anchor.svg similarity index 100% rename from src/assets/graphicarts/anchor.svg rename to src/frontend/graphicarts/anchor.svg diff --git a/src/assets/graphicarts/assorted.svg b/src/frontend/graphicarts/assorted.svg similarity index 100% rename from src/assets/graphicarts/assorted.svg rename to src/frontend/graphicarts/assorted.svg diff --git a/src/assets/graphicarts/book-open.svg b/src/frontend/graphicarts/book-open.svg similarity index 100% rename from src/assets/graphicarts/book-open.svg rename to src/frontend/graphicarts/book-open.svg diff --git a/src/assets/graphicarts/check.svg b/src/frontend/graphicarts/check.svg similarity index 100% rename from src/assets/graphicarts/check.svg rename to src/frontend/graphicarts/check.svg diff --git a/src/assets/graphicarts/chevron-down.svg b/src/frontend/graphicarts/chevron-down.svg similarity index 100% rename from src/assets/graphicarts/chevron-down.svg rename to src/frontend/graphicarts/chevron-down.svg diff --git a/src/assets/graphicarts/chevron-left.svg b/src/frontend/graphicarts/chevron-left.svg similarity index 100% rename from src/assets/graphicarts/chevron-left.svg rename to src/frontend/graphicarts/chevron-left.svg diff --git a/src/assets/graphicarts/chevron-right.svg b/src/frontend/graphicarts/chevron-right.svg similarity index 100% rename from src/assets/graphicarts/chevron-right.svg rename to src/frontend/graphicarts/chevron-right.svg diff --git a/src/assets/graphicarts/chevron-up.svg b/src/frontend/graphicarts/chevron-up.svg similarity index 100% rename from src/assets/graphicarts/chevron-up.svg rename to src/frontend/graphicarts/chevron-up.svg diff --git a/src/assets/graphicarts/circle-full.svg b/src/frontend/graphicarts/circle-full.svg similarity index 100% rename from src/assets/graphicarts/circle-full.svg rename to src/frontend/graphicarts/circle-full.svg diff --git a/src/assets/graphicarts/circle.svg b/src/frontend/graphicarts/circle.svg similarity index 100% rename from src/assets/graphicarts/circle.svg rename to src/frontend/graphicarts/circle.svg diff --git a/src/assets/graphicarts/download.svg b/src/frontend/graphicarts/download.svg similarity index 100% rename from src/assets/graphicarts/download.svg rename to src/frontend/graphicarts/download.svg diff --git a/src/assets/graphicarts/edit.svg b/src/frontend/graphicarts/edit.svg similarity index 100% rename from src/assets/graphicarts/edit.svg rename to src/frontend/graphicarts/edit.svg diff --git a/src/assets/graphicarts/external-link.svg b/src/frontend/graphicarts/external-link.svg similarity index 100% rename from src/assets/graphicarts/external-link.svg rename to src/frontend/graphicarts/external-link.svg diff --git a/src/assets/graphicarts/favicon.png b/src/frontend/graphicarts/favicon.png similarity index 100% rename from src/assets/graphicarts/favicon.png rename to src/frontend/graphicarts/favicon.png diff --git a/src/assets/graphicarts/favicon.svg b/src/frontend/graphicarts/favicon.svg similarity index 100% rename from src/assets/graphicarts/favicon.svg rename to src/frontend/graphicarts/favicon.svg diff --git a/src/assets/graphicarts/folder-minus.svg b/src/frontend/graphicarts/folder-minus.svg similarity index 100% rename from src/assets/graphicarts/folder-minus.svg rename to src/frontend/graphicarts/folder-minus.svg diff --git a/src/assets/graphicarts/folder-plus.svg b/src/frontend/graphicarts/folder-plus.svg similarity index 100% rename from src/assets/graphicarts/folder-plus.svg rename to src/frontend/graphicarts/folder-plus.svg diff --git a/src/assets/graphicarts/folder.svg b/src/frontend/graphicarts/folder.svg similarity index 100% rename from src/assets/graphicarts/folder.svg rename to src/frontend/graphicarts/folder.svg diff --git a/src/assets/graphicarts/globe.svg b/src/frontend/graphicarts/globe.svg similarity index 100% rename from src/assets/graphicarts/globe.svg rename to src/frontend/graphicarts/globe.svg diff --git a/src/assets/graphicarts/help-circle.svg b/src/frontend/graphicarts/help-circle.svg similarity index 100% rename from src/assets/graphicarts/help-circle.svg rename to src/frontend/graphicarts/help-circle.svg diff --git a/src/assets/graphicarts/layers.svg b/src/frontend/graphicarts/layers.svg similarity index 100% rename from src/assets/graphicarts/layers.svg rename to src/frontend/graphicarts/layers.svg diff --git a/src/assets/graphicarts/log-out.svg b/src/frontend/graphicarts/log-out.svg similarity index 100% rename from src/assets/graphicarts/log-out.svg rename to src/frontend/graphicarts/log-out.svg diff --git a/src/assets/graphicarts/more-horizontal.svg b/src/frontend/graphicarts/more-horizontal.svg similarity index 100% rename from src/assets/graphicarts/more-horizontal.svg rename to src/frontend/graphicarts/more-horizontal.svg diff --git a/src/assets/graphicarts/plus.svg b/src/frontend/graphicarts/plus.svg similarity index 100% rename from src/assets/graphicarts/plus.svg rename to src/frontend/graphicarts/plus.svg diff --git a/src/assets/graphicarts/rotate-cw.svg b/src/frontend/graphicarts/rotate-cw.svg similarity index 100% rename from src/assets/graphicarts/rotate-cw.svg rename to src/frontend/graphicarts/rotate-cw.svg diff --git a/src/assets/graphicarts/rss.svg b/src/frontend/graphicarts/rss.svg similarity index 100% rename from src/assets/graphicarts/rss.svg rename to src/frontend/graphicarts/rss.svg diff --git a/src/assets/graphicarts/search.svg b/src/frontend/graphicarts/search.svg similarity index 100% rename from src/assets/graphicarts/search.svg rename to src/frontend/graphicarts/search.svg diff --git a/src/assets/graphicarts/sliders.svg b/src/frontend/graphicarts/sliders.svg similarity index 100% rename from src/assets/graphicarts/sliders.svg rename to src/frontend/graphicarts/sliders.svg diff --git a/src/assets/graphicarts/star-full.svg b/src/frontend/graphicarts/star-full.svg similarity index 100% rename from src/assets/graphicarts/star-full.svg rename to src/frontend/graphicarts/star-full.svg diff --git a/src/assets/graphicarts/star.svg b/src/frontend/graphicarts/star.svg similarity index 100% rename from src/assets/graphicarts/star.svg rename to src/frontend/graphicarts/star.svg diff --git a/src/assets/graphicarts/trash.svg b/src/frontend/graphicarts/trash.svg similarity index 100% rename from src/assets/graphicarts/trash.svg rename to src/frontend/graphicarts/trash.svg diff --git a/src/assets/graphicarts/upload.svg b/src/frontend/graphicarts/upload.svg similarity index 100% rename from src/assets/graphicarts/upload.svg rename to src/frontend/graphicarts/upload.svg diff --git a/src/assets/graphicarts/x.svg b/src/frontend/graphicarts/x.svg similarity index 100% rename from src/assets/graphicarts/x.svg rename to src/frontend/graphicarts/x.svg diff --git a/src/assets/javascripts/api.ts b/src/frontend/js/api.ts similarity index 100% rename from src/assets/javascripts/api.ts rename to src/frontend/js/api.ts diff --git a/src/assets/javascripts/app.ts b/src/frontend/js/app.ts similarity index 100% rename from src/assets/javascripts/app.ts rename to src/frontend/js/app.ts diff --git a/src/assets/javascripts/i18n.ts b/src/frontend/js/i18n.ts similarity index 100% rename from src/assets/javascripts/i18n.ts rename to src/frontend/js/i18n.ts diff --git a/src/assets/javascripts/icons.ts b/src/frontend/js/icons.ts similarity index 100% rename from src/assets/javascripts/icons.ts rename to src/frontend/js/icons.ts diff --git a/src/assets/javascripts/key.ts b/src/frontend/js/key.ts similarity index 100% rename from src/assets/javascripts/key.ts rename to src/frontend/js/key.ts diff --git a/src/assets/javascripts/login.ts b/src/frontend/js/login.ts similarity index 100% rename from src/assets/javascripts/login.ts rename to src/frontend/js/login.ts diff --git a/src/assets/javascripts/main.ts b/src/frontend/js/main.ts similarity index 100% rename from src/assets/javascripts/main.ts rename to src/frontend/js/main.ts diff --git a/src/assets/javascripts/templates/index.html b/src/frontend/js/templates/index.html similarity index 100% rename from src/assets/javascripts/templates/index.html rename to src/frontend/js/templates/index.html diff --git a/src/assets/javascripts/templates/login.html b/src/frontend/js/templates/login.html similarity index 100% rename from src/assets/javascripts/templates/login.html rename to src/frontend/js/templates/login.html