- SVG icons are now preprocessed into raw HTML at first request. This allows them to be inlined (use `{{icon(icon_name)|safe}}`) and thus styled by CSS.
- General CSS improvements (especially around buttons)
- A basic role editor is now implemented. Go to `/namespace/<id>/role` to see it.
- Task and invite lists now have an "add new" button on the list page.
- Slight permission fixes
- Added `assert_left()` and `assert_right()` to `Either`s. Now, if you do `if isinstance(x, Right)`, you can `x.assert_left()` in the `else` to make the type checker happy.
113 lines
No EOL
1.7 KiB
CSS
113 lines
No EOL
1.7 KiB
CSS
.list{
|
|
width: 100%;
|
|
}
|
|
|
|
table.list{
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
.list tr {
|
|
background-color: var(--table-row-bg-1);
|
|
color: var(--on-table-row);
|
|
}
|
|
|
|
.list tr:nth-child(odd) {
|
|
background-color: var(--table-row-bg-2);
|
|
color: var(--on-table-row);
|
|
}
|
|
|
|
.list .task-header-row {
|
|
border-bottom: 8px solid var(--bg);
|
|
}
|
|
|
|
.list td, .list th{
|
|
border-right: 4px solid var(--bg);
|
|
border-left: 4px solid var(--bg);
|
|
}
|
|
|
|
.list td {
|
|
padding-left: 1rem;
|
|
|
|
&.nopad {
|
|
padding-left: 0;
|
|
}
|
|
|
|
&.pad-even {
|
|
padding: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.list p {
|
|
margin: 0;
|
|
}
|
|
|
|
.list .detail-view {
|
|
display: none;
|
|
border-bottom: 4px solid var(--bg);
|
|
border-top: 1px solid var(--bg);
|
|
}
|
|
|
|
.list .detail-view-elem {
|
|
padding: 1rem;
|
|
}
|
|
|
|
.list .detail-view.shown {
|
|
display: table-row;
|
|
}
|
|
|
|
.list .detail-view-elem .small-details {
|
|
font-size: small;
|
|
font-style: italic;
|
|
}
|
|
|
|
.list .detail-view-elem hr {
|
|
color: var(--on-table-row);
|
|
}
|
|
|
|
.list .detail-view-elem .detail-view-header h1 {
|
|
margin: 0 1rem;
|
|
font-size: larger;
|
|
}
|
|
|
|
.list .detail-view-elem .detail-view-header {
|
|
display: flex;
|
|
}
|
|
|
|
.list .detail-view-elem .detail-view-header::before{
|
|
content: "";
|
|
flex: 1 1;
|
|
background: repeating-linear-gradient(
|
|
60deg,
|
|
|
|
var(--on-table-row) 0,
|
|
var(--on-table-row) 0.25rem,
|
|
|
|
transparent 0.35rem,
|
|
transparent 1.0rem,
|
|
|
|
var(--on-table-row) 1.1rem
|
|
);
|
|
width: 100%;
|
|
max-width: 2rem;
|
|
}
|
|
|
|
.list .detail-view-elem .detail-view-header::after{
|
|
content: "";
|
|
flex: 1 1;
|
|
background: repeating-linear-gradient(
|
|
60deg,
|
|
|
|
var(--on-table-row) 0,
|
|
var(--on-table-row) 0.25rem,
|
|
|
|
transparent 0.35rem,
|
|
transparent 1.0rem,
|
|
|
|
var(--on-table-row) 1.1rem
|
|
);
|
|
width: 100%;
|
|
}
|
|
|
|
.list .detail-view-elem .main-description {
|
|
margin-top: 0.5rem;
|
|
} |