mirror of
https://github.com/ringtools/ringtools-web-v2.git
synced 2025-02-22 22:25:20 +01:00
Bootstrap v5 upgrade
This commit is contained in:
parent
beeedeb838
commit
4d4c564ece
13 changed files with 124 additions and 302 deletions
|
@ -24,13 +24,14 @@
|
||||||
"@angular/platform-browser-dynamic": "~13.2.3",
|
"@angular/platform-browser-dynamic": "~13.2.3",
|
||||||
"@angular/router": "~13.2.3",
|
"@angular/router": "~13.2.3",
|
||||||
"@egjs/hammerjs": "^2.0.17",
|
"@egjs/hammerjs": "^2.0.17",
|
||||||
|
"@fontsource/lato": "^4.5.2",
|
||||||
"@ng-bootstrap/ng-bootstrap": "12.0.0",
|
"@ng-bootstrap/ng-bootstrap": "12.0.0",
|
||||||
"@ngrx/entity": "^13.0.2",
|
"@ngrx/entity": "^13.0.2",
|
||||||
"@ngrx/store": "^13.0.2",
|
"@ngrx/store": "^13.0.2",
|
||||||
"@popperjs/core": "^2.11.2",
|
"@popperjs/core": "^2.11.2",
|
||||||
"@types/d3": "^7.1.0",
|
"@types/d3": "^7.1.0",
|
||||||
"@types/lz-string": "^1.3.34",
|
"@types/lz-string": "^1.3.34",
|
||||||
"bootstrap": "4.6.1",
|
"bootstrap": "5.1.3",
|
||||||
"bootstrap-icons": "^1.7.2",
|
"bootstrap-icons": "^1.7.2",
|
||||||
"d3": "^7.3.0",
|
"d3": "^7.3.0",
|
||||||
"highlight.js": "^11.4.0",
|
"highlight.js": "^11.4.0",
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
import { TestBed } from '@angular/core/testing';
|
|
||||||
import { provideMockActions } from '@ngrx/effects/testing';
|
|
||||||
import { Observable } from 'rxjs';
|
|
||||||
|
|
||||||
import { AppEffects } from './app.effects';
|
|
||||||
|
|
||||||
describe('AppEffects', () => {
|
|
||||||
let actions$: Observable<any>;
|
|
||||||
let effects: AppEffects;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
providers: [
|
|
||||||
AppEffects,
|
|
||||||
provideMockActions(() => actions$)
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
effects = TestBed.inject(AppEffects);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should be created', () => {
|
|
||||||
expect(effects).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,13 +0,0 @@
|
||||||
import { Injectable } from '@angular/core';
|
|
||||||
import { Actions, createEffect } from '@ngrx/effects';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
|
||||||
export class AppEffects {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
constructor(private actions$: Actions) {}
|
|
||||||
|
|
||||||
}
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
<div class="col-md-8 participants">
|
<div class="col-md-8 participants">
|
||||||
<h2>Ring participants
|
<h2>Ring participants
|
||||||
<div class="btn-group btn-small small btn-group-toggle" ngbRadioGroup name="names"
|
<div class="btn-group btn-small small" ngbRadioGroup name="names"
|
||||||
[(ngModel)]="settings.viewMode" (ngModelChange)="viewChange($event)">
|
[(ngModel)]="settings.viewMode" (ngModelChange)="viewChange($event)">
|
||||||
<label ngbButtonLabel class="btn-primary btn-sm">
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
||||||
<input ngbButton type="radio" value="node"> Nodename
|
<input ngbButton type="radio" value="node" class="btn-check"> Nodename
|
||||||
</label>
|
</label>
|
||||||
<label ngbButtonLabel class="btn-primary btn-sm">
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
||||||
<input ngbButton type="radio" value="tg"> TG username
|
<input ngbButton type="radio" value="tg" class="btn-check"> TG username
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
|
@ -2,19 +2,19 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 col-lg-4">
|
<div class="col-md-12 col-lg-4">
|
||||||
<form [formGroup]="ringForm" (submit)="saveRingSettings()">
|
<form [formGroup]="ringForm" (submit)="saveRingSettings()">
|
||||||
<div class="form-group row">
|
<div class="row mb-3">
|
||||||
<label for="ringName" class="col-sm-2 col-form-label">Ringname</label>
|
<label for="ringName" class="col-sm-2 col-form-label">Ringname</label>
|
||||||
<div class="col-sm-10 input-group">
|
<div class="col-sm-10">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" formControlName="name" id="ringName"
|
<input type="text" class="form-control" formControlName="name" id="ringName"
|
||||||
placeholder="Ring Name" name="ringName">
|
placeholder="Ring Name" name="ringName">
|
||||||
<div class="input-group-append">
|
|
||||||
<button (click)="parseCapacityName()" class="btn btn-secondary" type="button"
|
<button (click)="parseCapacityName()" class="btn btn-secondary" type="button"
|
||||||
id="parseCapacityBtn">Parse capacity</button>
|
id="parseCapacityBtn">Parse capacity</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="row mb-3">
|
||||||
<label for="ringSize" class="col-sm-2 col-form-label">Ring size</label>
|
<label for="ringSize" class="col-sm-2 col-form-label">Ring size</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input type="number" class="form-control" id="ringSize" placeholder="Ring size"
|
<input type="number" class="form-control" id="ringSize" placeholder="Ring size"
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="mb-3">
|
||||||
<label for="pubkeys">Import groupnodes from 🧀 CheeseRobot ₿ <small>(or use <a
|
<label for="pubkeys">Import groupnodes from 🧀 CheeseRobot ₿ <small>(or use <a
|
||||||
href="https://t.me/ringtools_bot" target="_blank">@ringtools_bot</a> command
|
href="https://t.me/ringtools_bot" target="_blank">@ringtools_bot</a> command
|
||||||
<code>/ringurl</code>)</small></label>
|
<code>/ringurl</code>)</small></label>
|
||||||
|
@ -32,17 +32,14 @@
|
||||||
type="button">Import Groupnodes</button>
|
type="button">Import Groupnodes</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-check">
|
<div class="form-check form-switch">
|
||||||
<div class="custom-control custom-switch">
|
|
||||||
|
|
||||||
<input class="custom-control-input" type="checkbox" value="" id="showSrRofLogo"
|
<input class="form-check-input" type="checkbox" value="" id="showSrRofLogo" [(ngModel)]="showLogo"
|
||||||
[(ngModel)]="showLogo" (ngModelChange)="updateShowLogo($event)"
|
(ngModelChange)="updateShowLogo($event)" [ngModelOptions]="{standalone: true}">
|
||||||
[ngModelOptions]="{standalone: true}">
|
<label class="form-check-label" for="showSrRofLogo">
|
||||||
<label class="custom-control-label" for="showSrRofLogo">
|
|
||||||
Show SR RoF logo
|
Show SR RoF logo
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12 col-lg-8">
|
<div class="col-md-12 col-lg-8">
|
||||||
|
@ -89,17 +86,13 @@
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th scope="row" class="no-padding" colspan="1">
|
<th scope="row" class="no-padding" colspan="1">
|
||||||
<div class="form-check">
|
<input class="form-control form-control-sm" type="text" id="pubkey"
|
||||||
<input class="form-check-input position-static" type="text" id="pubkey"
|
|
||||||
formControlName="pubKey" name="pubKey" placeholder="Public Key">
|
formControlName="pubKey" name="pubKey" placeholder="Public Key">
|
||||||
</div>
|
|
||||||
</th>
|
</th>
|
||||||
<td>{{ tempNodename }}</td>
|
<td>{{ tempNodename }}</td>
|
||||||
<td class="no-padding">
|
<td class="no-padding">
|
||||||
<div class="form-check">
|
<input class="form-control form-control-sm" type="text" id="TG username"
|
||||||
<input class="form-check-input position-static" type="text" id="TG username"
|
|
||||||
formControlName="tgUsername" name="tgUsername" placeholder="TG username">
|
formControlName="tgUsername" name="tgUsername" placeholder="TG username">
|
||||||
</div>
|
|
||||||
</td>
|
</td>
|
||||||
<td><button class="btn btn-primary btn-small btn-sm" id="addNodeOwnerBtn">Add</button>
|
<td><button class="btn btn-primary btn-small btn-sm" id="addNodeOwnerBtn">Add</button>
|
||||||
</td>
|
</td>
|
||||||
|
@ -107,7 +100,8 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<button (click)="saveRingSettings()" class="btn btn-primary mb-2" name="saveRingSettings" id="saveRingSettings">Save Ring Settings</button>
|
<button (click)="saveRingSettings()" class="btn btn-primary mb-2" name="saveRingSettings"
|
||||||
|
id="saveRingSettings">Save Ring Settings</button>
|
||||||
<p *ngIf="shareUrl"><small>copied to clipboard <a [href]="shareUrl">link</a></small></p>
|
<p *ngIf="shareUrl"><small>copied to clipboard <a [href]="shareUrl">link</a></small></p>
|
||||||
<h3>Saved Rings</h3>
|
<h3>Saved Rings</h3>
|
||||||
<ul class="list-group small">
|
<ul class="list-group small">
|
||||||
|
@ -116,10 +110,12 @@
|
||||||
<span [innerHTML]="emojiPrefix(item)"></span>
|
<span [innerHTML]="emojiPrefix(item)"></span>
|
||||||
<div class="btn-group btn-small small btn-group-toggle" ngbRadioGroup>
|
<div class="btn-group btn-small small btn-group-toggle" ngbRadioGroup>
|
||||||
<label ngbButtonLabel class="btn-success btn-sm">
|
<label ngbButtonLabel class="btn-success btn-sm">
|
||||||
<input ngbButton type="radio" value="node" (click)="loadSettings(item)"> Load
|
<input ngbButton type="radio" value="node" (click)="loadSettings(item)" class="btn-check">
|
||||||
|
Load
|
||||||
</label>
|
</label>
|
||||||
<label ngbButtonLabel class="btn-danger btn-sm">
|
<label ngbButtonLabel class="btn-danger btn-sm">
|
||||||
<input ngbButton type="radio" value="tg" (click)="removeSettings(item)"> Remove
|
<input ngbButton type="radio" value="tg" (click)="removeSettings(item)" class="btn-check">
|
||||||
|
Remove
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
<div class="btn-group btn-small small btn-group-toggle" ngbRadioGroup name="names"
|
<div class="btn-group btn-small small btn-group-toggle" ngbRadioGroup name="names"
|
||||||
[(ngModel)]="settings.viewMode" (ngModelChange)="viewChange($event)">
|
[(ngModel)]="settings.viewMode" (ngModelChange)="viewChange($event)">
|
||||||
<label ngbButtonLabel class="btn-primary btn-sm">
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
||||||
<input ngbButton type="radio" value="node"> Nodename
|
<input ngbButton type="radio" value="node" class="btn-check"> Nodename
|
||||||
</label>
|
</label>
|
||||||
<label ngbButtonLabel class="btn-primary btn-sm">
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
||||||
<input ngbButton type="radio" value="tg"> TG username
|
<input ngbButton type="radio" value="tg" class="btn-check"> TG username
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
|
@ -11,5 +11,5 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<span *ngIf="isDirty">
|
<span *ngIf="isDirty">
|
||||||
<span class="badge badge-warning"><i class="bi bi-exclamation-triangle"></i> Unsaved changes, click "Persist channel order" to save.</span>
|
<span class="badge bg-warning"><i class="bi bi-exclamation-triangle"></i> Unsaved changes, click "Persist channel order" to save.</span>
|
||||||
</span>
|
</span>
|
|
@ -1,8 +1,10 @@
|
||||||
<button type="button" class="btn btn-warning btn-lg btn-block btn-sm" (click)="persistOrder()">Persist channel
|
<div class="d-grid gap-2">
|
||||||
|
<button type="button" class="btn btn-warning btn-lg btn-sm" (click)="persistOrder()">Persist channel
|
||||||
order</button>
|
order</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block btn-sm" (click)="downloadChannelsTxt()">Download
|
<button type="button" class="btn btn-primary btn-lg btn-sm" (click)="downloadChannelsTxt()">Download
|
||||||
channels.txt</button>
|
channels.txt</button>
|
||||||
<button type="button" class="btn btn-success btn-lg btn-block btn-sm" (click)="downloadPubKeysTxt()">Download
|
<button type="button" class="btn btn-success btn-lg btn-sm" (click)="downloadPubKeysTxt()">Download
|
||||||
pubkeys.txt</button>
|
pubkeys.txt</button>
|
||||||
<button type="button" class="btn btn-secondary btn-lg btn-block btn-sm" (click)="downloadIgniterPubkeys()">Download
|
<button type="button" class="btn btn-secondary btn-lg btn-sm" (click)="downloadIgniterPubkeys()">Download
|
||||||
igniter.sh pubkeys</button>
|
igniter.sh pubkeys</button>
|
||||||
|
</div>
|
|
@ -1,6 +1,8 @@
|
||||||
<form class="form-inline">
|
<form class="row">
|
||||||
<label class="my-1 mr-2" for="inlineFormCustomSelectPref">Ringleader</label>
|
<div class="col-12">
|
||||||
<select class="form-control" [(ngModel)]="selectedIgniter" name="selectedIgniter">
|
<div class="form-floating">
|
||||||
|
|
||||||
|
<select class="form-select" [(ngModel)]="selectedIgniter" name="selectedIgniter" id="floatingSelect">
|
||||||
<option [value]="undefined">Select</option>
|
<option [value]="undefined">Select</option>
|
||||||
<ng-container *ngFor="let s of nodeOwners">
|
<ng-container *ngFor="let s of nodeOwners">
|
||||||
<option [ngValue]="s">
|
<option [ngValue]="s">
|
||||||
|
@ -13,6 +15,10 @@
|
||||||
</option>
|
</option>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</select>
|
</select>
|
||||||
|
<label for="floatingSelect">Ringleader</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
<button type="submit" class="btn btn-primary my-1" (click)="reorderIgniter()">Reorder</button>
|
<button type="submit" class="btn btn-primary my-1" (click)="reorderIgniter()">Reorder</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
|
@ -6,9 +6,17 @@ import { ToastService } from './toast.service';
|
||||||
selector: 'app-toast',
|
selector: 'app-toast',
|
||||||
templateUrl: './toast.component.html',
|
templateUrl: './toast.component.html',
|
||||||
styleUrls: ['./toast.component.scss'],
|
styleUrls: ['./toast.component.scss'],
|
||||||
|
// host: {'class': 'toast-container position-fixed top-0 end-0 p-3', 'style': 'z-index: 1200'}
|
||||||
})
|
})
|
||||||
export class ToastComponent {
|
export class ToastComponent {
|
||||||
@HostBinding('class.ngb-toasts')
|
@HostBinding('class.toast-container')
|
||||||
|
@HostBinding('class.position-fixed')
|
||||||
|
@HostBinding('class.top-0')
|
||||||
|
@HostBinding('class.end-0')
|
||||||
|
@HostBinding('class.p-3')
|
||||||
|
@HostBinding('style.z-index')
|
||||||
|
zIndex = 1200;
|
||||||
|
|
||||||
readonly ngbToasts = true;
|
readonly ngbToasts = true;
|
||||||
|
|
||||||
constructor(public toastService: ToastService) {}
|
constructor(public toastService: ToastService) {}
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
// Darkly 4.6.0
|
// Darkly 5.1.3
|
||||||
// Bootswatch
|
// Bootswatch
|
||||||
|
|
||||||
|
|
||||||
// Variables ===================================================================
|
// Variables
|
||||||
|
|
||||||
$web-font-path: "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap" !default;
|
@import "@fontsource/lato";
|
||||||
@if $web-font-path {
|
|
||||||
@import url($web-font-path);
|
// Typography
|
||||||
}
|
|
||||||
// Typography ==================================================================
|
|
||||||
|
|
||||||
.blockquote {
|
.blockquote {
|
||||||
&-footer {
|
&-footer {
|
||||||
|
@ -16,164 +14,17 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tables ======================================================================
|
// Forms
|
||||||
|
|
||||||
.table {
|
|
||||||
&-primary {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $primary;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-secondary {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $secondary;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-light {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $light;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-dark {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $dark;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-success {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $success;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-info {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-danger {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $danger;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-warning {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $warning;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-active {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $table-active-bg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-hover {
|
|
||||||
.table-primary:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($primary, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-secondary:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($secondary, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-light:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($light, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-dark:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($dark, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-success:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($success, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-info:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($info, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-danger:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($danger, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-warning:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: darken($warning, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-active:hover {
|
|
||||||
&,
|
|
||||||
> th,
|
|
||||||
> td {
|
|
||||||
background-color: $table-active-bg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Forms =======================================================================
|
|
||||||
|
|
||||||
.input-group-addon {
|
.input-group-addon {
|
||||||
color: $white;
|
color: $white;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Navs ========================================================================
|
.form-floating > label {
|
||||||
|
color: $gray-700;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Navs
|
||||||
|
|
||||||
.nav-tabs,
|
.nav-tabs,
|
||||||
.nav-pills {
|
.nav-pills {
|
||||||
|
@ -198,20 +49,11 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Indicators ==================================================================
|
// Indicators
|
||||||
|
|
||||||
.close {
|
|
||||||
opacity: .4;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
border: none;
|
|
||||||
color: $white;
|
color: $white;
|
||||||
|
border: none;
|
||||||
|
|
||||||
a,
|
a,
|
||||||
.alert-link {
|
.alert-link {
|
||||||
|
@ -229,19 +71,3 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Containers ==================================================================
|
|
||||||
|
|
||||||
.list-group-item-action {
|
|
||||||
color: $white;
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus {
|
|
||||||
background-color: $gray-700;
|
|
||||||
color: $white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-group-item-heading {
|
|
||||||
color: $white;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,8 @@
|
||||||
// Darkly 4.6.0
|
// Darkly 5.1.3
|
||||||
// Bootswatch
|
// Bootswatch
|
||||||
|
|
||||||
|
$theme: "darkly" !default;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Color system
|
// Color system
|
||||||
//
|
//
|
||||||
|
@ -37,7 +39,7 @@ $danger: $red !default;
|
||||||
$light: $gray-500 !default;
|
$light: $gray-500 !default;
|
||||||
$dark: $gray-800 !default;
|
$dark: $gray-800 !default;
|
||||||
|
|
||||||
$yiq-contrasted-threshold: 175 !default;
|
$min-contrast-ratio: 1.9 !default;
|
||||||
|
|
||||||
// Body
|
// Body
|
||||||
|
|
||||||
|
@ -52,8 +54,6 @@ $link-color: $success !default;
|
||||||
|
|
||||||
// stylelint-disable-next-line value-keyword-case
|
// stylelint-disable-next-line value-keyword-case
|
||||||
$font-family-sans-serif: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
|
$font-family-sans-serif: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
|
||||||
$font-size-base: .9375rem !default;
|
|
||||||
$font-size-sm: $font-size-base * .88 !default;
|
|
||||||
$h1-font-size: 3rem !default;
|
$h1-font-size: 3rem !default;
|
||||||
$h2-font-size: 2.5rem !default;
|
$h2-font-size: 2.5rem !default;
|
||||||
$h3-font-size: 2rem !default;
|
$h3-font-size: 2rem !default;
|
||||||
|
@ -61,16 +61,29 @@ $text-muted: $gray-600 !default;
|
||||||
|
|
||||||
// Tables
|
// Tables
|
||||||
|
|
||||||
$table-accent-bg: $gray-800 !default;
|
|
||||||
$table-border-color: $gray-700 !default;
|
$table-border-color: $gray-700 !default;
|
||||||
|
|
||||||
|
$table-bg-scale: 0 !default;
|
||||||
|
$table-color: $body-color !default;
|
||||||
|
$table-striped-color: $table-color !default;
|
||||||
|
$table-striped-bg-factor: .08 !default;
|
||||||
|
$table-striped-bg: rgba($white, $table-striped-bg-factor) !default;
|
||||||
|
|
||||||
|
$table-striped-order: odd !default;
|
||||||
|
$table-striped-columns-order: even !default;
|
||||||
|
|
||||||
// Forms
|
// Forms
|
||||||
|
|
||||||
|
$input-bg: $white !default;
|
||||||
|
$input-color: $gray-800 !default;
|
||||||
$input-border-color: $body-bg !default;
|
$input-border-color: $body-bg !default;
|
||||||
$input-group-addon-color: $gray-500 !default;
|
$input-group-addon-color: $gray-500 !default;
|
||||||
$input-group-addon-bg: $gray-700 !default;
|
$input-group-addon-bg: $gray-700 !default;
|
||||||
$custom-file-color: $gray-500 !default;
|
|
||||||
$custom-file-border-color: $body-bg !default;
|
$form-check-input-bg: $white !default;
|
||||||
|
$form-check-input-border: none !default;
|
||||||
|
|
||||||
|
$form-file-button-color: $white !default;
|
||||||
|
|
||||||
// Dropdowns
|
// Dropdowns
|
||||||
|
|
||||||
|
@ -115,10 +128,6 @@ $pagination-disabled-color: $white !default;
|
||||||
$pagination-disabled-bg: darken($success, 15%) !default;
|
$pagination-disabled-bg: darken($success, 15%) !default;
|
||||||
$pagination-disabled-border-color: transparent !default;
|
$pagination-disabled-border-color: transparent !default;
|
||||||
|
|
||||||
// Jumbotron
|
|
||||||
|
|
||||||
$jumbotron-bg: $gray-800 !default;
|
|
||||||
|
|
||||||
// Cards
|
// Cards
|
||||||
|
|
||||||
$card-cap-bg: $gray-700 !default;
|
$card-cap-bg: $gray-700 !default;
|
||||||
|
@ -146,18 +155,25 @@ $progress-bg: $gray-700 !default;
|
||||||
|
|
||||||
// List group
|
// List group
|
||||||
|
|
||||||
|
$list-group-color: $body-color !default;
|
||||||
$list-group-bg: $gray-800 !default;
|
$list-group-bg: $gray-800 !default;
|
||||||
$list-group-border-color: $gray-700 !default;
|
$list-group-border-color: $gray-700 !default;
|
||||||
$list-group-hover-bg: $gray-700 !default;
|
$list-group-hover-bg: $gray-700 !default;
|
||||||
|
$list-group-action-hover-color: $list-group-color !default;
|
||||||
|
$list-group-action-active-bg: $gray-900 !default;
|
||||||
|
|
||||||
// Breadcrumbs
|
// Breadcrumbs
|
||||||
|
|
||||||
|
$breadcrumb-padding-y: .375rem !default;
|
||||||
|
$breadcrumb-padding-x: .75rem !default;
|
||||||
$breadcrumb-bg: $gray-700 !default;
|
$breadcrumb-bg: $gray-700 !default;
|
||||||
|
$breadcrumb-border-radius: .25rem !default;
|
||||||
|
|
||||||
// Close
|
// Close
|
||||||
|
|
||||||
$close-color: $white !default;
|
$btn-close-color: $white !default;
|
||||||
$close-text-shadow: none !default;
|
$btn-close-opacity: .4 !default;
|
||||||
|
$btn-close-hover-opacity: 1 !default;
|
||||||
|
|
||||||
// Code
|
// Code
|
||||||
|
|
||||||
|
|
13
yarn.lock
13
yarn.lock
|
@ -1392,6 +1392,11 @@
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
strip-json-comments "^3.1.1"
|
strip-json-comments "^3.1.1"
|
||||||
|
|
||||||
|
"@fontsource/lato@^4.5.2":
|
||||||
|
version "4.5.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@fontsource/lato/-/lato-4.5.2.tgz#88b63c8643d91bf96b82050cb0321ea9de406ae3"
|
||||||
|
integrity sha512-4HvkoFOXI31LyZHZWCl84ESQQ0XIcQWqdfBVQEUAYarQsFSqCEby255o3n/sWPJZjWHJf6eJqhvFl5WgGYj1bA==
|
||||||
|
|
||||||
"@gar/promisify@^1.0.1":
|
"@gar/promisify@^1.0.1":
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
|
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
|
||||||
|
@ -2858,10 +2863,10 @@ bootstrap-icons@^1.7.2:
|
||||||
resolved "https://registry.yarnpkg.com/bootstrap-icons/-/bootstrap-icons-1.8.1.tgz#773c1625bcbf3e86090ea9da4386c2c6459c5582"
|
resolved "https://registry.yarnpkg.com/bootstrap-icons/-/bootstrap-icons-1.8.1.tgz#773c1625bcbf3e86090ea9da4386c2c6459c5582"
|
||||||
integrity sha512-IXUqislddPJfwq6H+2nTkHyr9epO9h6u1AG0OZCx616w+TgzeoCjfmI3qJMQqt1J586gN2IxzB4M99Ip4sTZ1w==
|
integrity sha512-IXUqislddPJfwq6H+2nTkHyr9epO9h6u1AG0OZCx616w+TgzeoCjfmI3qJMQqt1J586gN2IxzB4M99Ip4sTZ1w==
|
||||||
|
|
||||||
bootstrap@4.6.1:
|
bootstrap@5.1.3:
|
||||||
version "4.6.1"
|
version "5.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.1.tgz#bc25380c2c14192374e8dec07cf01b2742d222a2"
|
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.1.3.tgz#ba081b0c130f810fa70900acbc1c6d3c28fa8f34"
|
||||||
integrity sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==
|
integrity sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
|
|
Loading…
Add table
Reference in a new issue