1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-09-08 13:26:25 -07:00

Add Windows 9x theme (unfinished)

This commit is contained in:
Eggbertx 2022-01-16 21:13:56 -08:00
parent 78cd0714ea
commit 8fe0ed3e52
13 changed files with 470 additions and 12 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
<svg width="16" height="17" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 0H0v16h1V1h14V0z" fill="#DFDFDF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2 1H1v14h1V2h12V1H2z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16 17H0v-1h15V0h1v17z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15 1h-1v14H1v1h14V1z" fill="gray"/><path fill="silver" d="M2 2h12v13H2z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 565 B

BIN
html/css/res/win9x/startlogo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

85
html/css/res/win9x/uparrow.svg Executable file
View file

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="17"
fill="none"
version="1.1"
id="svg14"
sodipodi:docname="uparrow.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
<metadata
id="metadata20">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs18" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview16"
showgrid="false"
inkscape:zoom="31.647059"
inkscape:cx="8.9125427"
inkscape:cy="9.2541181"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg14" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M15 0H0v16h1V1h14V0z"
fill="#DFDFDF"
id="path2" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M2 1H1v14h1V2h12V1H2z"
fill="#fff"
id="path4" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M16 17H0v-1h15V0h1v17z"
fill="#000"
id="path6" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M15 1h-1v14H1v1h14V1z"
fill="gray"
id="path8" />
<path
fill="silver"
d="M2 2h12v13H2z"
id="path10" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M 11,10 H 4 V 9 H 5 V 8 H 6 V 7 H 7 V 6 h 1 v 1 h 1 v 1 h 1 v 1 h 1 z"
fill="#000000"
id="path12" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

1
html/css/res/win9x/x.svg Executable file
View file

@ -0,0 +1 @@
<svg width="8" height="7" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0h2v1h1v1h2V1h1V0h2v1H7v1H6v1H5v1h1v1h1v1h1v1H6V6H5V5H3v1H2v1H0V6h1V5h1V4h1V3H2V2H1V1H0V0z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 236 B

176
html/css/win9x.css Normal file
View file

@ -0,0 +1,176 @@
@font-face {
font-family: "Pixelated MS Sans Serif";
src: url(res/font/ms_sans_serif.woff) format("woff");
src: url(res/font/ms_sans_serif.woff2) format("woff2");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: "Pixelated MS Sans Serif";
src: url(res/font/ms_sans_serif.woff) format("woff");
src: url(res/font/ms_sans_serif.woff2) format("woff2");
font-weight: 700;
font-style: normal;
}
body {
font-size: 11px;
color: white;
background: #008080;
}
a {
color: #000;
text-decoration: none;
}
input {
color: #000;
font-size: 11px !important;
font-family: "Pixelated MS Sans Serif", Arial;
outline: none;
}
div#topbar {
height: 26px;
background: silver !important;
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
box-sizing: border-box;
border: none !important;
border-radius: 0 !important;
}
div#topbar a:active {
box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px #808080 !important;
}
div#topbar a[href="/"] {
font-family: "Pixelated MS Sans Serif", Arial;
font-size: 11px;
content: "Start" !important;
background: url("res/win9x/startlogo.png") !important;
background-repeat: no-repeat !important;
background-position-x: 3px !important;
background-position-y: 4px !important;
padding-left: 24px;
padding-bottom: 4px;
/* padding: 3px 4px; */
}
div#topbar,
div#topbar a {
background: silver !important;
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
box-sizing: border-box;
border: none !important;
border-radius: 0 !important;
height: 24px;
color: #000 !important;
font-family: "Pixelated MS Sans Serif", Arial;
font-size: 11px;
cursor: default;
}
button,
input[type=button],
input[role=pushbutton],
input[type=submit] {
color: #000 !important;
/* font-size: 12px!important; */
background: silver !important;
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
box-sizing: border-box;
border: none !important;
border-radius: 0 !important;
min-width: 75px;
min-height: 22px;
padding: 0 12px;
}
button:active,
input[type=button]:active,
input[type=submit]:active {
box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px #808080 !important;
}
div#qr-title {
background: linear-gradient(90deg, navy, #1084d0);
}
div#qr-title a {
font-family: Arial, Helvetica, sans-serif;
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
min-width: 16px;
min-height: 14px;
display: block;
padding-left: 2px;
padding-right: 2px;
text-align: center;
background-position: top 3px left 40px !important;
}
div#qr-title a:hover {
color: #000;
}
div#qr-title span#qr-buttons * {
display: inline-block;
}
div#qr-box {
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #dfdfdf, inset -2px -2px grey, inset 2px 2px #fff;
background: silver;
padding: 3px;
border: none !important;
border-radius: 0 !important;
}
div#qr-box textarea, div#qr-box input[typ=text] {
display: block;
background: #fff;
box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
margin: 0;
font-family: "Pixelated MS Sans Serif", Arial;
color: #000;
appearance: none;
}
input[type=text] {
padding: 3px 4px;
}
/* div#qrmove a:nth-child(1) {
content:"d"!important;
background-repeat: no-repeat;
} */
a.boardlistactive {
color: #000 !important;
padding: 6px 3px !important;
outline: 1px dotted #000;
outline-offset: -4px;
}
h1, h2, div.subtitle, a#qrDisplayButton {
color: #000;
font-family: Arial, sans-serif;
}
select {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
position: relative;
padding-right: 32px;
background-position: top 2px right 2px;
background-repeat: no-repeat;
border-radius: 0;
height: 21px;
border: none;
padding: 3px 4px;
padding-right: 4px;
box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
background-color: #fff;
box-sizing: border-box;
}
div.pages {
background: #008080;
border: none;
color: white;
/* border-right: black;
border-bottom: black; */
}

View file

@ -85,8 +85,7 @@ var actions = []Action{
Title: "Cleanup",
Permissions: AdminPerms,
Callback: func(writer http.ResponseWriter, request *http.Request, wantsJSON bool) (output interface{}, err error) {
// TODO: make a proper JSON output for this, possibly /manage?action=cleanup&json=1&confirmed=1
outputStr := `<h2 class="manage-header">Cleanup</h2><br />`
outputStr := `<h2>Cleanup</h2><br />`
if request.FormValue("run") == "Run Cleanup" {
outputStr += "Removing deleted posts from the database.<hr />"
if err = gcsql.PermanentlyRemoveDeletedPosts(); err != nil {
@ -591,22 +590,17 @@ var actions = []Action{
ID: "postinfo",
Title: "Post info",
Permissions: ModPerms,
JSONoutput: AlwaysJSON,
Callback: func(writer http.ResponseWriter, request *http.Request, wantsJSON bool) (output interface{}, err error) {
var post gcsql.Post
post, err = gcsql.GetSpecificPost(gcutil.HackyStringToInt(request.FormValue("postid")), false)
if err != nil {
output, _ = gcutil.MarshalJSON(err, false)
return output, nil
}
jsonStr, _ := gcutil.MarshalJSON(post, false)
return jsonStr, nil
post, err := gcsql.GetSpecificPost(gcutil.HackyStringToInt(request.FormValue("postid")), false)
return post, err
}},
{
ID: "tempposts",
Title: "Temporary posts lists",
Permissions: AdminPerms,
Callback: func(writer http.ResponseWriter, request *http.Request, wantsJSON bool) (output interface{}, err error) {
outputStr := `<h1 class="manage-header">Temporary posts</h1>`
outputStr := `<h1>Temporary posts</h1>`
if len(gcsql.TempPosts) == 0 {
outputStr += "No temporary posts<br />"
return

View file

@ -39,7 +39,8 @@
{ "Name": "Dark", "Filename": "dark.css" },
{ "Name": "Photon", "Filename": "photon.css" },
{ "Name": "Yotsuba", "Filename": "yotsuba.css" },
{ "Name": "Yotsuba B", "Filename": "yotsubab.css" }
{ "Name": "Yotsuba B", "Filename": "yotsubab.css" },
{ "Name": "Windows 9x", "Filename": "win9x.css"}
],
"DefaultStyle": "pipes.css",

176
sass/win9x.scss Executable file
View file

@ -0,0 +1,176 @@
@import 'win9x/vars';
@font-face {
@include mssans-font(400, normal);
}
@font-face {
@include mssans-font(700, normal);
}
body {
font-size: $fontsize;
color: white;
background: $bgcol;
}
a {
color: $txtcol;
text-decoration: none;
}
input {
color: $txtcol;
font-size: $fontsize!important;
font-family: "Pixelated MS Sans Serif", Arial;
outline: none;
}
div#topbar {
height: 26px;
background: silver!important;
box-shadow: $bar-shadow;
box-sizing: border-box;
border: none!important;
border-radius: 0!important;
a:active {
box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px #808080!important;
}
a[href="/"] {
font-family: "Pixelated MS Sans Serif", Arial;
font-size: $fontsize;
content: "Start"!important;
background: $start_path!important;
background-repeat: no-repeat!important;
background-position-x: 3px!important;
background-position-y: 4px!important;
padding-left: 24px;
padding-bottom: 4px;
/* padding: 3px 4px; */
}
}
div#topbar,
div#topbar a {
background: silver!important;
box-shadow: $bar-shadow;
box-sizing: border-box;
border: none!important;
border-radius: 0!important;
height:24px;
color: $txtcol!important;
font-family: "Pixelated MS Sans Serif", Arial;
font-size: 11px;
cursor: default;
}
button,
input[type=button],
input[role=pushbutton],
input[type=submit] {
color: $txtcol!important;
/* font-size: 12px!important; */
background: silver!important;
box-shadow: $bar-shadow;
box-sizing: border-box;
border: none!important;
border-radius: 0!important;
min-width: 75px;
min-height: 22px;
padding: 0 12px;
}
button:active,
input[type=button]:active,
input[type=submit]:active {
box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px #808080!important;
}
div#qr-title {
background: linear-gradient(90deg,navy,#1084d0);
a {
font-family: Arial, Helvetica, sans-serif;
box-shadow: $bar-shadow;
min-width: 16px;
min-height: 14px;
display: block;
padding-left: 2px;
padding-right: 2px;
text-align: center;
background-position: top 3px left 40px!important;
}
a:hover {
color:$txtcol;
}
span#qr-buttons * {
display: inline-block;
}
}
div#qr-box {
box-shadow: inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px grey,inset 2px 2px #fff;
background: silver;
padding: 3px;
border: none!important;
border-radius: 0!important;
textarea, input[typ=text] {
display: block;
background: #fff;
box-shadow: inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;
margin: 0;
font-family: "Pixelated MS Sans Serif",Arial;
color: $txtcol;
appearance: none;
}
}
input[type=text] {
padding: 3px 4px;
}
/* div#qrmove a:nth-child(1) {
content:"d"!important;
background-repeat: no-repeat;
} */
a.boardlistactive {
color: $txtcol!important;
padding: 6px 3px!important;
outline: 1px dotted #000;
outline-offset: -4px;
}
h1, h2, div.subtitle, a#qrDisplayButton {
color: $txtcol;
font-family: Arial, sans-serif;
}
select {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
position: relative;
padding-right: 32px;
background-position: top 2px right 2px;
background-repeat: no-repeat;
border-radius: 0;
height: 21px;
border: none;
padding: 3px 4px;
padding-right: 4px;
box-shadow: inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;
background-color: #fff;
box-sizing: border-box;
}
div.pages {
background: $bgcol;
border: none;
color: white;
/* border-right: black;
border-bottom: black; */
}

24
sass/win9x/_vars.scss Normal file
View file

@ -0,0 +1,24 @@
$bgcol: #008080;
$txtcol: #000;
$fontsize: 11px;
$start_path: url("res/win9x/startlogo.png");
$bar-shadow: inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;
@mixin winbutton() {
background: silver;
box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
box-sizing: border-box;
border: none;
border-radius: 0;
color: #000;
cursor: default;
}
@mixin mssans-font($size, $style) {
font-family: "Pixelated MS Sans Serif";
src: url(res/font/ms_sans_serif.woff) format("woff");
src: url(res/font/ms_sans_serif.woff2) format("woff2");
font-weight: $size;
font-style: $style;
}