Initial commit

This commit is contained in:
Hericode 2025-07-09 10:31:47 +02:00
commit 4f415b6190
77 changed files with 52208 additions and 0 deletions

66
res/css/base.css Normal file
View file

@ -0,0 +1,66 @@
/*
* Base rules
* See smacss.com
*/
body {
background-color: #27272a;
color: #d1d5db;
line-height: 1.5;
}
h1, h2, h3, h4, h5 {
color: #ffffff;
}
h1 {
font-size: xx-large;
font-weight: bold;
}
h2 {
font-size: x-large;
font-weight: bold;
}
h3 {
font-size: large;
font-weight: bold;
}
nav {
display: flex;
}
a {
color: #ffffff;
}
menu {
padding: 0px;
}
button > svg {
display: block;
}
fieldset {
margin-bottom: 2rem;
}
label {
font-weight: bold;
}
input[type=text], input[type=datetime-local],
input[type=password],
select,
textarea {
background-color: #3f3f46;
color: #d1d5db;
border-radius: 0.2rem;
border-width: 0.1rem;
border-color: #e5e7eb;
width: 100%;
padding: 0.5rem 0.75rem;
box-sizing: border-box;
}
input:focus, select:focus, textarea:focus {
outline: 0.2rem solid #3b82f6;
}

45
res/css/layout.css Normal file
View file

@ -0,0 +1,45 @@
/*
* Layout rules
* See smacss.com
*/
.l-section {
max-width: 70rem;
flex-grow: 1;
}
.l-subsection {
max-width: 25rem;
flex-grow: 1;
padding: 0.5rem;
}
.l-nobullet {
list-style-type: none;
padding: 0px;
}
.l-centered {
margin: auto;
}
.l-centering > * {
margin-left: auto;
margin-right: auto;
}
.l-flexcenter {
display: flex;
align-items: center;
justify-content: space-evenly;
column-gap: 0.4rem;
}
.l-flexjustify {
display: flex;
align-items: center;
justify-content: space-between;
column-gap: 0.4rem;
}
.l-flexfill {
flex-grow: 1;
}

66
res/css/module_base.css Normal file
View file

@ -0,0 +1,66 @@
.header {
background-color: #18181b;
padding: 0.6rem 1rem;
}
.avatar {
object-fit: cover;
object-position: 50% 50%;
max-width: 100%;
max-height: 100%;
border-radius: 100%;
}
.notice {
font-size: small;
font-style: italic;
font-weight: normal;
}
.form-field,
.form-control {
margin-top: 0.5rem;
}
.form-field > label,
.form-field > .label-like {
display: block;
}
.form-field.form-field-checkbox > label {
display: inline-block;
}
.form-field > input {
display: inline-block;
}
.form-field > .input-like {
display: inline-block;
width: 100%;
box-sizing: border-box;
position: relative;
}
.form-field-short {
max-width: 30rem;
}
.input-withicon {
padding-right: 2rem;
}
.input-icon {
position: absolute;
right: 0.5rem;
height: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
}
.input-icon > button {
background-color: transparent;
border: 0px;
padding: 0px;
}
.form-control {
display: flex;
flex-direction: row;
justify-content: flex-end;
}

19
res/css/module_button.css Normal file
View file

@ -0,0 +1,19 @@
.btn {
border-radius: 0.25rem;
padding: 0.5rem 1rem;
text-decoration: none;
border-width: 0px;
cursor: pointer;
box-sizing: border-box;
}
.btn-nav {
color: #ffffff;
background-color: #1e7b9d;
}
.btn-nav:hover {
background-color: #155668;
}
.btn-nav:active {
box-shadow: 0px 0px 0px 0.25rem #93c5fd;
}

37
res/css/module_date.css Normal file
View file

@ -0,0 +1,37 @@
/*
* Date modules
* See smacss.com, src/widgets/date_tpl.js
*/
.date-icon {
padding: 0.1rem 0.5rem;
display: flex;
flex-grow: 0;
flex-direction: column;
text-align: center;
border-top: 0.5rem solid #f3425f;
border-radius: 0.5rem;
background-color: #374151;
font-size: small;
font-variant: small-caps;
color: #ffffff;
}
.date-icon-short {
line-height: 1.25;
min-width: 2.5rem;
}
.date-icon-full > div {
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: center;
column-gap: 0.3rem;
}
.date-icon-date {
font-weight: bold;
font-size: large;
}
.date-icon-time {
font-weight: bold;
}

72
res/css/module_event.css Normal file
View file

@ -0,0 +1,72 @@
/*
* Event list item module
* See smacss.com, src/widgets/event_view.js
*/
.event-banner {
max-height: 20rem;
width: 100%;
display: flex;
justify-content: center;
}
.event-banner > img {
max-width: 100%;
max-height: 100%;
border-radius: 0.5rem;
object-fit: contain;
}
.event-listitem {
display: flex;
align-items: center;
border-radius: 0.5rem;
background-color: #474467;
margin-top: 1rem;
margin-bottom: 1rem;
padding: 0.5rem;
max-width: 50rem;
}
.event-listitem-banner {
width: 12rem;
min-width: 12rem;
height: 10rem;
display: flex;
align-items: center;
justify-content: center;
}
.event-listitem-banner > img {
max-width: 100%;
max-height: 100%;
}
.event-listitem-content {
padding: 0.5rem;
flex-grow: 1;
}
.event-listitem header {
display: flex;
align-items: flex-start;
column-gap: 1rem;
}
.event-listitem h1,
.event-listitem h2,
.event-listitem h3,
.event-listitem h4,
.event-listitem h5,
.event-listitem h6 {
font-size: large;
margin-top: 0px;
}
.event-listitem nav {
justify-content: flex-end;
}
.event-detail > header {
display: flex;
flex-direction: row;
column-gap: 1rem;
}

77
res/css/module_group.css Normal file
View file

@ -0,0 +1,77 @@
.group-banner {
display: flex;
flex-direction: column;
align-items: center;
}
.group-banner-background {
height: 30vh;
width: 100%;
object-fit: cover;
object-position: 50% 50%;
}
.group-banner > div {
position: relative;
margin-top: 1rem;
display: flex;
flex-direction: column;
align-items: center;
}
.group-banner-avatar {
position: absolute;
width: 8rem;
height: 8rem;
top: -7rem;
}
.group-listitem {
display: flex;
flex-direction: row;
align-items: center;
column-gap: 0.5rem;
border-radius: 0.5rem;
background-color: #474467;
margin-top: 1rem;
margin-bottom: 1rem;
padding: 0.5rem;
max-width: 50rem;
}
.group-listitem-avatar {
width: 4rem;
height: 4rem;
}
.group-listitem-content {
display: flex;
flex-direction: column;
justify-content: space-evenly;
flex-grow: 1;
}
.event-listitem header {
display: flex;
align-items: flex-start;
column-gap: 1rem;
}
.group-listitem h1,
.group-listitem h2,
.group-listitem h3,
.group-listitem h4,
.group-listitem h5,
.group-listitem h6 {
font-size: large;
margin: 0px;
}
.group-listitem-handle {
font-size: small;
}
.group-listitem nav {
justify-content: flex-end;
}

15
res/css/module_tag.css Normal file
View file

@ -0,0 +1,15 @@
.taglist {
display: flex;
flex-direction: row;
flex-wrap: wrap;
column-gap: 0.3rem;
}
.tag {
padding: 0.3rem;
border-radius: 0.2rem;
background-color: #e6e4f4;
font-size: small;
color: #3c416e;
}