feat: progressive web app support (#48)
This commit is contained in:
commit
d84de9fcb6
Binary file not shown.
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 108 KiB |
BIN
assets/images/icon.png
Normal file
BIN
assets/images/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
203
assets/images/icon.svg
Normal file
203
assets/images/icon.svg
Normal file
@ -0,0 +1,203 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="icon.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:document-units="px"
|
||||
inkscape:zoom="1.1020922"
|
||||
inkscape:cx="188.27826"
|
||||
inkscape:cy="204.15715"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect2"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect1"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="display:inline;fill:#27272a;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1"
|
||||
width="512"
|
||||
height="512"
|
||||
x="0"
|
||||
y="0"
|
||||
sodipodi:insensitive="true"
|
||||
inkscape:label="background"
|
||||
ry="128.00018"
|
||||
sodipodi:type="rect"
|
||||
rx="129.98714" />
|
||||
<g
|
||||
id="g17"
|
||||
inkscape:label="logo"
|
||||
transform="translate(8)">
|
||||
<g
|
||||
id="g8"
|
||||
inkscape:label="ring">
|
||||
<g
|
||||
id="g7"
|
||||
inkscape:label="back">
|
||||
<circle
|
||||
style="fill:#d97706;fill-opacity:1;stroke:#d97706;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1"
|
||||
cx="224"
|
||||
cy="256"
|
||||
r="128"
|
||||
inkscape:label="ring back" />
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:21.8936;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect2"
|
||||
width="48"
|
||||
height="288"
|
||||
x="224"
|
||||
y="112"
|
||||
inkscape:label="rect2" />
|
||||
</g>
|
||||
<g
|
||||
id="g1"
|
||||
transform="translate(-4.163147,-0.69235229)"
|
||||
inkscape:label="front">
|
||||
<circle
|
||||
style="fill:#27272a;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1-5-2"
|
||||
cx="276.16315"
|
||||
cy="256.69235"
|
||||
r="128" />
|
||||
<circle
|
||||
style="fill:none;fill-opacity:1;stroke:#fbbf24;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1-5"
|
||||
cx="276.16315"
|
||||
cy="256.69235"
|
||||
r="128" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g16"
|
||||
inkscape:label="tick"
|
||||
transform="translate(16.000231,-8.3918418e-5)">
|
||||
<g
|
||||
id="g6"
|
||||
transform="rotate(45,-57.96574,415.4208)"
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-opacity:1"
|
||||
inkscape:label="back">
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect9"
|
||||
width="32.000458"
|
||||
height="32"
|
||||
x="273.94067"
|
||||
y="210.74516"
|
||||
transform="rotate(-45,-57.96574,415.4208)" />
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect8"
|
||||
width="32.000458"
|
||||
height="32"
|
||||
x="206.05841"
|
||||
y="233.37257"
|
||||
transform="rotate(-45,-57.96574,415.4208)" />
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect7"
|
||||
height="16"
|
||||
x="228.686"
|
||||
y="285.255"
|
||||
width="32"
|
||||
transform="rotate(-45,-57.96574,415.4208)" />
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect5"
|
||||
width="64"
|
||||
height="32"
|
||||
x="0"
|
||||
y="100" />
|
||||
<rect
|
||||
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:39.1918;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect6"
|
||||
width="32"
|
||||
height="96"
|
||||
x="32"
|
||||
y="36" />
|
||||
</g>
|
||||
<g
|
||||
id="g4"
|
||||
transform="rotate(45,-41.965512,454.04877)"
|
||||
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-opacity:1"
|
||||
inkscape:label="front">
|
||||
<rect
|
||||
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect3"
|
||||
width="64"
|
||||
height="32"
|
||||
x="0"
|
||||
y="100" />
|
||||
<rect
|
||||
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-width:39.1918;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4"
|
||||
width="32"
|
||||
height="96"
|
||||
x="32"
|
||||
y="36" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.4 KiB |
15
assets/manifest.json
Normal file
15
assets/manifest.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "Todo Baggins",
|
||||
"short_name": "Todo Baggins",
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
"background_color": "#27272a",
|
||||
"theme_color": "#27272a",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/images/icon.png",
|
||||
"sizes": "any",
|
||||
"type": "image/png"
|
||||
}
|
||||
]
|
||||
}
|
@ -11,6 +11,7 @@ services:
|
||||
- ./Cargo.toml:/srv/app/Cargo.toml
|
||||
- ./diesel.toml:/srv/app/diesel.toml
|
||||
- ./Dioxus.toml:/srv/app/Dioxus.toml
|
||||
- ./index.html:/srv/app/index.html
|
||||
- ./package.json:/srv/app/package.json
|
||||
- ./package-lock.json:/srv/app/package-lock.json
|
||||
restart: always
|
||||
|
24
index.html
Normal file
24
index.html
Normal file
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="min-h-screen">
|
||||
<head>
|
||||
<title>{app_title}</title>
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<meta content="text/html;charset=utf-8" http-equiv="Content-Type"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8"/>
|
||||
{style_include}
|
||||
</head>
|
||||
<body class="min-h-screen">
|
||||
<div id="main" class="min-h-screen"></div>
|
||||
<script type="module">
|
||||
import init from "/{base_path}/assets/dioxus/{app_name}.js";
|
||||
|
||||
init("/{base_path}/assets/dioxus/{app_name}_bg.wasm").then(wasm => {
|
||||
if (wasm.__wbindgen_start == undefined) {
|
||||
wasm.main();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{script_include}
|
||||
</body>
|
||||
</html>
|
@ -7,9 +7,4 @@
|
||||
/* noinspection CssInvalidAtRule */
|
||||
@tailwind utilities;
|
||||
|
||||
html, body, #main {
|
||||
/* noinspection CssInvalidAtRule */
|
||||
@apply min-h-screen;
|
||||
}
|
||||
|
||||
/* stylelint-enable */
|
||||
|
Loading…
x
Reference in New Issue
Block a user