mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-04 02:34:13 +02:00
dynamic/static embeds
This commit is contained in:
parent
e5c9aeb7fe
commit
cb56c80555
22 changed files with 9068 additions and 665 deletions
|
|
@ -1,6 +1,6 @@
|
|||
use crate::asset::saved_asset_url;
|
||||
use crate::data::demo::ListDemo;
|
||||
use crate::pages::Page;
|
||||
use demostf_build::Asset;
|
||||
use maud::{html, Markup, Render};
|
||||
use std::borrow::Cow;
|
||||
|
||||
|
|
@ -10,13 +10,17 @@ pub struct Index<'a> {
|
|||
pub api: &'a str,
|
||||
}
|
||||
|
||||
#[derive(Asset)]
|
||||
#[asset(source = "script/demo_list.js", url = "/demo_list.js")]
|
||||
pub struct DemoListScript;
|
||||
|
||||
impl Page for Index<'_> {
|
||||
fn title(&self) -> Cow<'static, str> {
|
||||
"Demos - demos.tf".into()
|
||||
}
|
||||
|
||||
fn render(&self) -> Markup {
|
||||
let script = saved_asset_url!("demo_list.js");
|
||||
let script = DemoListScript::url();
|
||||
html! {
|
||||
h1 { "Demos" }
|
||||
#filter-bar data-maps = (MapList(&self.maps)) data-api-base = (self.api) {}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ pub mod index;
|
|||
mod plugin_section;
|
||||
pub mod upload;
|
||||
|
||||
use crate::asset::saved_asset_url;
|
||||
use crate::session::SessionData;
|
||||
use demostf_build::Asset;
|
||||
use maud::{html, Markup, DOCTYPE};
|
||||
use std::borrow::Cow;
|
||||
|
||||
|
|
@ -14,8 +14,12 @@ pub trait Page {
|
|||
fn render(&self) -> Markup;
|
||||
}
|
||||
|
||||
#[derive(Asset)]
|
||||
#[asset(source = "style/style.css", url = "/style.css")]
|
||||
pub struct GlobalStyle;
|
||||
|
||||
pub fn render<T: Page>(page: T, session: SessionData) -> Markup {
|
||||
let style_url = saved_asset_url!("style.css");
|
||||
let style_url = GlobalStyle::url();
|
||||
html! {
|
||||
(DOCTYPE)
|
||||
html {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use crate::asset::saved_asset_url;
|
||||
use crate::pages::plugin_section::PluginSection;
|
||||
use crate::pages::Page;
|
||||
use demostf_build::Asset;
|
||||
use maud::{html, Markup};
|
||||
use std::borrow::Cow;
|
||||
|
||||
|
|
@ -17,13 +17,17 @@ impl<'a> UploadPage<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Asset)]
|
||||
#[asset(source = "script/upload.ts", url = "/upload.js")]
|
||||
pub struct UploadScript;
|
||||
|
||||
impl Page for UploadPage<'_> {
|
||||
fn title(&self) -> Cow<'static, str> {
|
||||
"Upload - demos.tf".into()
|
||||
}
|
||||
|
||||
fn render(&self) -> Markup {
|
||||
let script = saved_asset_url!("upload.js");
|
||||
let script = UploadScript::url();
|
||||
html! {
|
||||
.upload-page {
|
||||
section.upload {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue