mirror of
https://github.com/Myxelium/Bridge-Multi.git
synced 2026-04-11 14:19:38 +00:00
Dark mode progress
This commit is contained in:
@@ -19,6 +19,7 @@ export class BrowseComponent implements AfterViewInit {
|
|||||||
|
|
||||||
ngAfterViewInit() {
|
ngAfterViewInit() {
|
||||||
const $tableColumn = $('#table-column')
|
const $tableColumn = $('#table-column')
|
||||||
|
// TODO: on new search, scroll to the top
|
||||||
$tableColumn.on('scroll', () => {
|
$tableColumn.on('scroll', () => {
|
||||||
let pos = $tableColumn[0].scrollTop + $tableColumn[0].offsetHeight
|
let pos = $tableColumn[0].scrollTop + $tableColumn[0].offsetHeight
|
||||||
let max = $tableColumn[0].scrollHeight
|
let max = $tableColumn[0].scrollHeight
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
type="text" placeholder="No directory selected!">
|
type="text" placeholder="No directory selected!">
|
||||||
<button *ngIf="settingsService.libraryDirectory != undefined" (click)="openLibraryDirectory()"
|
<button *ngIf="settingsService.libraryDirectory != undefined" (click)="openLibraryDirectory()"
|
||||||
class="ui button">Open Folder</button>
|
class="ui button">Open Folder</button>
|
||||||
<button (click)="getLibraryDirectory()" class="ui button teal">Choose</button>
|
<button (click)="getLibraryDirectory()" class="ui button positive">Choose</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -39,10 +39,9 @@
|
|||||||
<div #themeDropdown class="ui selection dropdown mr">
|
<div #themeDropdown class="ui selection dropdown mr">
|
||||||
<input type="hidden" name="sort" [value]="settingsService.theme">
|
<input type="hidden" name="sort" [value]="settingsService.theme">
|
||||||
<i class="dropdown icon"></i>
|
<i class="dropdown icon"></i>
|
||||||
<div class="default text">Default</div>
|
<div class="default text">{{settingsService.theme}}</div>
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
<div class="item" [attr.data-value]="i" *ngFor="let theme of settingsService.builtinThemes; let i = index">{{theme}}
|
<div class="item" [attr.data-value]="i" *ngFor="let theme of settingsService.builtinThemes; let i = index">{{theme}}</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,6 @@
|
|||||||
<div class="right menu">
|
<div class="right menu">
|
||||||
<a class="item traffic-light" (click)="minimize()"><i class="minus icon"></i></a>
|
<a class="item traffic-light" (click)="minimize()"><i class="minus icon"></i></a>
|
||||||
<a class="item traffic-light" (click)="toggleMaximized()"><i class="icon window" [ngClass]="isMaximized ? 'restore' : 'maximize'"></i></a>
|
<a class="item traffic-light" (click)="toggleMaximized()"><i class="icon window" [ngClass]="isMaximized ? 'restore' : 'maximize'"></i></a>
|
||||||
<a class="item traffic-light" (click)="close()"><i class="x icon"></i></a>
|
<a class="item traffic-light close" (click)="close()"><i class="x icon"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
i {
|
i {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:last-child:hover {
|
.close:hover {
|
||||||
background: rgba(255, 0, 0, .1) !important;
|
background: rgba(255, 0, 0, .15) !important;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,11 @@ export class SettingsService {
|
|||||||
private currentThemeLink: HTMLLinkElement
|
private currentThemeLink: HTMLLinkElement
|
||||||
|
|
||||||
constructor(private electronService: ElectronService) {
|
constructor(private electronService: ElectronService) {
|
||||||
this.getSettings()
|
this.getSettings().then(() => {
|
||||||
|
if (this.settings.theme != this.builtinThemes[0]) {
|
||||||
|
this.changeTheme(this.settings.theme)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getSettings() {
|
async getSettings() {
|
||||||
@@ -28,7 +32,6 @@ export class SettingsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: research how to make theme changes with fomantic UI
|
|
||||||
changeTheme(theme: string) {
|
changeTheme(theme: string) {
|
||||||
if (this.currentThemeLink != undefined) this.currentThemeLink.remove()
|
if (this.currentThemeLink != undefined) this.currentThemeLink.remove()
|
||||||
if (theme == 'Default') { return }
|
if (theme == 'Default') { return }
|
||||||
@@ -36,7 +39,7 @@ export class SettingsService {
|
|||||||
const link = document.createElement('link')
|
const link = document.createElement('link')
|
||||||
link.type = 'text/css'
|
link.type = 'text/css'
|
||||||
link.rel = 'stylesheet'
|
link.rel = 'stylesheet'
|
||||||
link.href = `assets/themes/${theme}.css`
|
link.href = `/assets/themes/${theme}.css`
|
||||||
this.currentThemeLink = document.head.appendChild(link)
|
this.currentThemeLink = document.head.appendChild(link)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,122 +1,96 @@
|
|||||||
body ::-webkit-scrollbar-track {
|
body {
|
||||||
background: rgba(255, 255, 255, 0.1) !important;
|
background-color: #222222;
|
||||||
}
|
}
|
||||||
|
|
||||||
body ::-webkit-scrollbar-thumb {
|
/* Text Color */
|
||||||
background: rgba(255, 255, 255, 0.25) !important;
|
.ui.menu .item,
|
||||||
}
|
.ui.header,
|
||||||
|
.ui.form .field>label,
|
||||||
app-browse, app-downloads, app-library, app-settings, app-about {
|
.ui.input input,
|
||||||
background-color: #1E1E1E;
|
.ui.button,
|
||||||
|
div {
|
||||||
color: #CCCCCC !important;
|
color: #CCCCCC !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
app-about img.logo {
|
/* Toolbar */
|
||||||
filter: drop-shadow(0 0px 14px white);
|
|
||||||
|
.ui.menu, .menu>.item.traffic-light {
|
||||||
|
background-color: #303030 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.dimmer {
|
.ui.menu .active.item:hover {
|
||||||
background: rgba(0,0,0,0.85) !important;
|
background-color: #222222;
|
||||||
}
|
|
||||||
|
|
||||||
.ui.inverted.dimmer .ui.loader, .ui.loader {
|
|
||||||
color: #888888 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui.segment {
|
|
||||||
background: #3C3C3C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui.header, .ui.form .field>label, .ui.basic.button, .ui.basic.buttons .button {
|
|
||||||
color: #CCCCCC !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Loading */
|
|
||||||
app-app-loading {
|
|
||||||
background-color: #1E1E1E !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
app-app-loading svg .st0 {
|
|
||||||
stroke: #CCCCCC !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Menu */
|
|
||||||
.ui[class*="top fixed"].menu {
|
|
||||||
background-color: #3C3C3C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui.menu:not(.vertical) .item {
|
|
||||||
color: #CCCCCC !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui.link.menu .item:hover, .ui.menu .dropdown.item:hover, .ui.menu .link.item:hover, .ui.menu a.item:hover {
|
|
||||||
background: rgba(0,0,0,0.2) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.menu .active.item {
|
.ui.menu .active.item {
|
||||||
color: white !important;
|
background-color: #222222 !important;
|
||||||
background: rgba(0,0,0,0.4) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Display Items */
|
.ui.menu .item:hover {
|
||||||
.ui.items>.item>.content>*:not(.button) {
|
background: rgba(0, 0, 0, .1) !important;
|
||||||
color: rgb(218, 218, 218) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inputs */
|
.ui.menu .close:hover {
|
||||||
.ui.input>input, .ui.selection.dropdown {
|
background: rgba(255, 0, 0, .15) !important;
|
||||||
background: #383838 !important;
|
|
||||||
color: #AEAEAE !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Buttons */
|
/* Settings Page */
|
||||||
.ui.button {
|
.ui.input input {
|
||||||
box-shadow: 0 0 0 2px #fff inset !important;
|
background-color: #555555 !important;
|
||||||
background: transparent none;
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: none !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.button:hover {
|
.ui.label, .ui.basic.label {
|
||||||
background: #fff;
|
background-color: #555555;
|
||||||
box-shadow: 0 0 0 2px #fff inset!important;
|
|
||||||
color: rgba(0,0,0,.8);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.teal.button, .ui.teal.buttons .button {
|
.ui.button,
|
||||||
|
.ui.basic.button {
|
||||||
|
background-color: #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui.positive.button {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
box-shadow: 0 0 0 2px #00b5ad inset !important;
|
color: #16ab39 !important;
|
||||||
color: #02e0d6;
|
box-shadow: 0 0 0 2px #16ab39 inset !important;
|
||||||
text-shadow: none !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.teal.button:hover, .ui.teal.buttons .button:hover {
|
.ui.positive.button:hover {
|
||||||
background-color: #00b5ad;
|
color: #222222 !important;
|
||||||
color: white;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.teal.button:active, .ui.teal.buttons .button:active {
|
.ui.button:hover,
|
||||||
background-color: #00827c !important;
|
.ui.basic.button:hover,
|
||||||
box-shadow: 0 0 0 2px #00827c inset !important;
|
.ui.basic.button:active,
|
||||||
color: #fff;
|
.ui.basic.button:focus {
|
||||||
text-shadow: none;
|
background-color: #666666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.buttons .button:first-child {
|
.ui.selection, .menu>.item {
|
||||||
margin-left: 0;
|
background-color: #555555 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.buttons .button {
|
.ui.selection.dropdown:focus,
|
||||||
margin: 0 0 0 -2px;
|
.ui.selection.dropdown:hover,
|
||||||
|
.ui.selection.active.dropdown,
|
||||||
|
.ui.selection.dropdown .menu,
|
||||||
|
.ui.selection.active.dropdown .menu,
|
||||||
|
.ui.selection.active.dropdown .menu:active,
|
||||||
|
.ui.selection.dropdown .menu>.item,
|
||||||
|
input:active,
|
||||||
|
.ui[class*="right labeled"].input>input:focus {
|
||||||
|
border-color: #7E8388 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.green.button, .ui.green.buttons .button {
|
input[type=number]::-webkit-inner-spin-button {
|
||||||
background-color: transparent;
|
background-color: #FF0000;
|
||||||
box-shadow: 0 0 0 2px #21BA45 inset !important;
|
|
||||||
color: #21BA45;
|
|
||||||
text-shadow: none !important;
|
|
||||||
}
|
}
|
||||||
.ui.green.button:hover, .ui.green.buttons .button:hover {
|
|
||||||
background-color: #21BA45;
|
.ui.warning.message {
|
||||||
color: white;
|
background-color: #333333;
|
||||||
|
box-shadow: 0 0 0 1px #7E8388 inset,
|
||||||
|
0 0 0 0 transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui.selection.dropdown .menu>.item.selected {
|
||||||
|
background-color: #222222 !important;
|
||||||
}
|
}
|
||||||
@@ -106,6 +106,7 @@ export class FileExtractor {
|
|||||||
* Deletes the archive at `archiveFilepath`, then transfers the extracted chart to `this.libraryFolder`.
|
* Deletes the archive at `archiveFilepath`, then transfers the extracted chart to `this.libraryFolder`.
|
||||||
*/
|
*/
|
||||||
private async transfer(archiveFilepath?: string) {
|
private async transfer(archiveFilepath?: string) {
|
||||||
|
// TODO: this fails if the extracted chart has nested folders
|
||||||
if (this.wasCanceled) { return } // CANCEL POINT
|
if (this.wasCanceled) { return } // CANCEL POINT
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// @import './assets/themes/dark.css';
|
// @import './assets/themes/Dark.css';
|
||||||
|
|
||||||
* {
|
* {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|||||||
Reference in New Issue
Block a user