parent
0ca691e3ae
commit
73442b212c
@ -7,5 +7,10 @@ type header struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (h *header) Render() app.UI {
|
func (h *header) Render() app.UI {
|
||||||
return app.Div().Text("Internetica Galactica").Class("header")
|
return app.Div().
|
||||||
|
Class("header").
|
||||||
|
Body(
|
||||||
|
app.Text("Internetica Galactica"),
|
||||||
|
&updater{},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
@ -8,16 +8,27 @@ type updater struct {
|
|||||||
updateAvailable bool
|
updateAvailable bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *updater) onAppUpdate(ctx app.Context) {
|
func (u *updater) OnAppUpdate(ctx app.Context) {
|
||||||
u.updateAvailable = ctx.AppUpdateAvailable()
|
u.updateAvailable = ctx.AppUpdateAvailable()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *updater) Render() app.UI {
|
func (u *updater) Render() app.UI {
|
||||||
return app.Div().Body(
|
return app.Div().Body(
|
||||||
app.If(u.updateAvailable,
|
app.If(u.updateAvailable,
|
||||||
app.Div().Body(
|
app.Div().
|
||||||
app.P().Text("An update for this website is available! Please click here to reload!"),
|
Class("update-box").
|
||||||
).Styles(map[string]string{"position": "absolute", "width": "100px", "bottom": "10px", "right": "10px"}).OnClick(u.onUpdateClick),
|
Body(
|
||||||
|
app.Img().
|
||||||
|
Class("pulsing").
|
||||||
|
Height(50).
|
||||||
|
Src("/web/static/images/hot1.gif"),
|
||||||
|
app.P().
|
||||||
|
Class("update-message").
|
||||||
|
Text("An update is available! Click here to reload!"),
|
||||||
|
).
|
||||||
|
OnClick(func(ctx app.Context, e app.Event) {
|
||||||
|
u.onUpdateClick(ctx, e)
|
||||||
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="stylesheet" href="static/style.css">
|
<link rel="stylesheet" href="../web/static/style.css">
|
||||||
<link rel="stylesheet" href="static/anisha.css?family=anisha">
|
<link rel="stylesheet" href="static/anisha.css?family=anisha">
|
||||||
<link rel="stylesheet" href="static/adreena.css?family=adreena">
|
<link rel="stylesheet" href="static/adreena.css?family=adreena">
|
||||||
<link rel="stylesheet" href="static/havakana.css?family=havakana">
|
<link rel="stylesheet" href="static/havakana.css?family=havakana">
|
||||||
@ -13,6 +13,12 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="header">
|
<div class="header">
|
||||||
Internetica Galactica
|
Internetica Galactica
|
||||||
|
<div class="update-box">
|
||||||
|
<img src="/web/static/images/hot1.gif" alt="" height="50px" style="" class="pulsing">
|
||||||
|
<p class="update-message">
|
||||||
|
An update is available! Click here to reload!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="navbar">
|
<div class="navbar">
|
||||||
|
BIN
web/static/images/hot1.gif
Normal file
BIN
web/static/images/hot1.gif
Normal file
Binary file not shown.
After ![]() (image error) Size: 384 B |
@ -22,6 +22,15 @@ body {
|
|||||||
font-size: 5em;
|
font-size: 5em;
|
||||||
font-family: anisha;
|
font-family: anisha;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.update-box {
|
||||||
|
position:absolute;
|
||||||
|
max-width: 100px;
|
||||||
|
top: 0px;
|
||||||
|
right: 0px;
|
||||||
|
font-size: 0.8rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
@ -246,6 +255,33 @@ div.comment-message p{
|
|||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.update-message {
|
||||||
|
font-family: havakana;
|
||||||
|
margin-top: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.pulsing {
|
||||||
|
animation-name: pulsing;
|
||||||
|
animation-duration: 0.4s;
|
||||||
|
animation-timing-function: ease-out;
|
||||||
|
animation-direction: alternate;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-play-state: running;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes pulsing {
|
||||||
|
0% {
|
||||||
|
transform: scale(.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: scale(1.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
/*Margin top 5px*/
|
/*Margin top 5px*/
|
||||||
.m-t5 {
|
.m-t5 {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
Loading…
Reference in New Issue
Block a user