2 |
{{ 'nothing-is-playing' | translate }}
3 |
4 |
{{ 'play-all' | translate }}
5 |
{{ 'shuffle-all' | translate }}
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/app/ui/components/now-playing/now-playing-nothing-playing/now-playing-nothing-playing.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/now-playing/now-playing-nothing-playing/now-playing-nothing-playing.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/playback-controls/playback-controls.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, ViewEncapsulation } from '@angular/core';
2 | import { LoopMode } from '../../../services/playback/loop-mode';
3 | import { PlaybackService } from '../../../services/playback/playback.service';
4 |
5 | @Component({
6 | selector: 'app-playback-controls',
7 | host: { style: 'display: block' },
8 | templateUrl: './playback-controls.component.html',
9 | styleUrls: ['./playback-controls.component.scss'],
10 | encapsulation: ViewEncapsulation.None,
11 | })
12 | export class PlaybackControlsComponent {
13 | public constructor(public playbackService: PlaybackService) {}
14 |
15 | // This is required to use enum values in the template
16 | public loopModeEnum: typeof LoopMode = LoopMode;
17 | }
18 |
--------------------------------------------------------------------------------
/src/app/ui/components/playback-indicator/playback-indicator.component.html:
--------------------------------------------------------------------------------
1 |
2 |
{{ this.playbackService.progress.progressSeconds | formatPlaybackTime }}
3 |
/
4 |
{{ this.playbackService.progress.totalSeconds | formatPlaybackTime }}
5 |
6 |
--------------------------------------------------------------------------------
/src/app/ui/components/playback-time/playback-time.component.scss:
--------------------------------------------------------------------------------
1 | .app-playback-time {
2 | display: flex;
3 | flex-direction: row;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/ui/components/playback-time/playback-time.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, ViewEncapsulation } from '@angular/core';
2 | import { PlaybackService } from '../../../services/playback/playback.service';
3 |
4 | @Component({
5 | selector: 'app-playback-time',
6 | host: { style: 'display: block' },
7 | templateUrl: './playback-time.component.html',
8 | styleUrls: ['./playback-time.component.scss'],
9 | encapsulation: ViewEncapsulation.None,
10 | })
11 | export class PlaybackTimeComponent {
12 | public constructor(public playbackService: PlaybackService) {}
13 | }
14 |
--------------------------------------------------------------------------------
/src/app/ui/components/rating/rating.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/rating/rating.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/search-box/search-box.component.html:
--------------------------------------------------------------------------------
1 | {
15 | await this.desktop.openLinkAsync(ContactInformation.donateUrl);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-done/welcome-done.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ 'done' | translate }}
4 |
5 |
6 | {{ 'let-us-start-dopamine' | translate }}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-done/welcome-done.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/welcome/welcome-done/welcome-done.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-done/welcome-done.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { WelcomeDoneComponent } from './welcome-done.component';
2 |
3 | describe('WelcomeDoneComponent', () => {
4 | describe('constructor', () => {
5 | it('should create', () => {
6 | // Arrange
7 |
8 | // Act
9 | const component: WelcomeDoneComponent = new WelcomeDoneComponent();
10 |
11 | // Assert
12 | expect(component).toBeDefined();
13 | });
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-done/welcome-done.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-welcome-done',
5 | host: { style: 'display: block; width: 100%;' },
6 | templateUrl: './welcome-done.component.html',
7 | styleUrls: ['./welcome-done.component.scss'],
8 | })
9 | export class WelcomeDoneComponent {}
10 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-greeting/welcome-greeting.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ 'hi' | translate }}
4 |
5 |
6 | {{ 'welcome-to-dopamine' | translate }}
7 |
8 |
9 | {{ 'hi' | translate }}
10 |
11 |
12 | {{ 'welcome-to-dopamine' | translate }}
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-greeting/welcome-greeting.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/welcome/welcome-greeting/welcome-greeting.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-greeting/welcome-greeting.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { WelcomeServiceBase } from '../../../../services/welcome/welcome.service.base';
3 |
4 | @Component({
5 | selector: 'app-welcome-greeting',
6 | host: { style: 'display: block; width: 100%;' },
7 | templateUrl: './welcome-greeting.component.html',
8 | styleUrls: ['./welcome-greeting.component.scss'],
9 | })
10 | export class WelcomeGreetingComponent {
11 | public constructor(private welcomeService: WelcomeServiceBase) {}
12 |
13 | public get isLoaded(): boolean {
14 | return this.welcomeService.isLoaded;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-language/welcome-language.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/welcome/welcome-language/welcome-language.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-language/welcome-language.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { TranslatorServiceBase } from '../../../../services/translator/translator.service.base';
3 |
4 | @Component({
5 | selector: 'app-welcome-language',
6 | host: { style: 'display: block; width: 100%;' },
7 | templateUrl: './welcome-language.component.html',
8 | styleUrls: ['./welcome-language.component.scss'],
9 | })
10 | export class WelcomeLanguageComponent {
11 | public constructor(public translatorService: TranslatorServiceBase) {}
12 | }
13 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-music/welcome-music.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ 'music' | translate }}
4 |
5 |
6 | {{ 'let-us-set-up-collection' | translate }}
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-music/welcome-music.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/welcome/welcome-music/welcome-music.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-music/welcome-music.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { WelcomeMusicComponent } from './welcome-music.component';
2 |
3 | describe('WelcomeMusicComponent', () => {
4 | describe('constructor', () => {
5 | it('should create', () => {
6 | // Arrange
7 |
8 | // Act
9 | const component: WelcomeMusicComponent = new WelcomeMusicComponent();
10 |
11 | // Assert
12 | expect(component).toBeDefined();
13 | });
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-music/welcome-music.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-welcome-music',
5 | host: { style: 'display: block; width: 100%;' },
6 | templateUrl: './welcome-music.component.html',
7 | styleUrls: ['./welcome-music.component.scss'],
8 | })
9 | export class WelcomeMusicComponent {}
10 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-navigation-buttons/welcome-navigation-buttons.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-navigation-buttons/welcome-navigation-buttons.scss:
--------------------------------------------------------------------------------
1 | .welcome-navigation-buttons {
2 | display: flex;
3 | flex-direction: row;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-online/welcome-online.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ 'online' | translate }}
4 |
5 |
6 | {{ 'online-preferences' | translate }}
7 |
8 |
9 | {{ 'download-missing-album-covers' | translate }}
11 |
12 | {{ 'enable-discord-rich-presence' | translate }}
14 |
15 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-online/welcome-online.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/app/ui/components/welcome/welcome-online/welcome-online.component.scss
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome-online/welcome-online.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { SettingsBase } from '../../../../common/settings/settings.base';
3 |
4 | @Component({
5 | selector: 'app-welcome-online',
6 | host: { style: 'display: block; width: 100%;' },
7 | templateUrl: './welcome-online.component.html',
8 | styleUrls: ['./welcome-online.component.scss'],
9 | })
10 | export class WelcomeOnlineComponent {
11 | public constructor(public settings: SettingsBase) {}
12 | }
13 |
--------------------------------------------------------------------------------
/src/app/ui/components/welcome/welcome.component.scss:
--------------------------------------------------------------------------------
1 | @import 'theming';
2 | @import 'font-faces';
3 | @import 'variables';
4 |
5 | .welcome-component {
6 | width: 100vw;
7 | height: calc(100vh - $titlebar-height);
8 | padding: 64px;
9 | display: flex;
10 | flex-direction: column;
11 | justify-content: center;
12 | align-items: center;
13 | }
14 |
15 | .welcome-content {
16 | background: transparent !important;
17 | flex: 1;
18 | width: 100%;
19 | max-width: 400px;
20 | overflow-y: auto;
21 | overflow-x: hidden;
22 | }
23 |
--------------------------------------------------------------------------------
/src/app/ui/components/window-controls/window-controls.component.scss:
--------------------------------------------------------------------------------
1 | @import 'theming';
2 |
3 | .window-controls {
4 | display: flex;
5 | flex-direction: row;
6 | height: 100%;
7 | }
8 |
--------------------------------------------------------------------------------
/src/app/ui/directives/webview.directive.ts:
--------------------------------------------------------------------------------
1 | import { Directive } from '@angular/core';
2 |
3 | @Directive({
4 | selector: 'webview',
5 | })
6 | export class WebviewDirective {}
7 |
--------------------------------------------------------------------------------
/src/app/ui/interfaces/i-selectable.ts:
--------------------------------------------------------------------------------
1 | export interface ISelectable {
2 | isSelected: boolean;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/ui/pipes/format-track-number.pipe.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 |
3 | @Pipe({ name: 'formatTrackNumber' })
4 | export class FormatTrackNumberPipe implements PipeTransform {
5 | public transform(trackNumber: number | undefined): string {
6 | if (trackNumber == undefined) {
7 | return '-';
8 | }
9 |
10 | if (trackNumber <= 0) {
11 | return '-';
12 | }
13 |
14 | if (trackNumber >= 1 && trackNumber <= 9) {
15 | return trackNumber.toString();
16 | }
17 |
18 | return trackNumber.toString();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/app/ui/pipes/image-to-file-path.pipe.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 | import {Constants} from "../../common/application/constants";
3 |
4 | @Pipe({ name: 'imageToFilePath' })
5 | export class ImageToFilePathPipe implements PipeTransform {
6 | public transform(path: string): string {
7 | if (path === Constants.emptyImage) {
8 | return path;
9 | }
10 |
11 | return `file:///${path}`;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/app/ui/pipes/zero-to-blank.pipe.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 |
3 | @Pipe({ name: 'zeroToBlank' })
4 | export class ZeroToBlankPipe implements PipeTransform {
5 | public transform(number: number | undefined): string {
6 | if (number == undefined) {
7 | return '';
8 | }
9 |
10 | if (number === 0) {
11 | return '';
12 | }
13 |
14 | return number.toString();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/assets/.gitkeep
--------------------------------------------------------------------------------
/src/assets/fonts/Monoglyceride.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/assets/fonts/Monoglyceride.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/assets/fonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/OpenSans-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/assets/fonts/OpenSans-Light.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/src/assets/fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/src/css/as-split.scss:
--------------------------------------------------------------------------------
1 | .as-split-gutter {
2 | background-color: transparent !important;
3 | }
4 |
5 | .as-split-gutter-icon {
6 | background-image: none !important;
7 | }
8 |
9 | /* Disables native scrolling in split area */
10 | .as-split-area {
11 | overflow-y: hidden !important;
12 | }
13 |
--------------------------------------------------------------------------------
/src/css/cdk-drag-drop.scss:
--------------------------------------------------------------------------------
1 | .cdk-drag-preview {
2 | box-sizing: border-box;
3 | border-radius: 4px;
4 | box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
5 | }
6 |
7 | .cdk-drag-placeholder {
8 | opacity: 0;
9 | }
10 |
11 | .cdk-drag-animating {
12 | transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
13 | }
14 |
--------------------------------------------------------------------------------
/src/css/cdk-virtual-scroll.scss:
--------------------------------------------------------------------------------
1 | /* Ensures that cdk-virtual-scroll-content-wrapper sets width of its elements */
2 | .cdk-virtual-scroll-content-wrapper {
3 | position: unset !important;
4 | top: unset !important;
5 | left: unset !important;
6 | }
7 |
8 | .cdk-overlay-dark-backdrop{
9 | background: rgba(var(--theme-rgb-base),0.3)!important
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/src/css/font-faces.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: monoglyceride;
3 | src: url(../assets/fonts/Monoglyceride.ttf) format('truetype');
4 | }
5 |
6 | @font-face {
7 | font-family: opensans;
8 | src: url(../assets/fonts/OpenSans-Regular.ttf) format('truetype');
9 | }
10 |
11 | @font-face {
12 | font-family: opensans;
13 | font-weight: 700;
14 | src: url(../assets/fonts/OpenSans-Bold.ttf) format('truetype');
15 | }
16 |
17 | @font-face {
18 | font-family: opensans;
19 | font-weight: 100;
20 | src: url(../assets/fonts/OpenSans-Light.ttf) format('truetype');
21 | }
22 |
--------------------------------------------------------------------------------
/src/css/scrollbar.scss:
--------------------------------------------------------------------------------
1 | ::-webkit-scrollbar {
2 | width: 11px;
3 | height: 11px;
4 | }
5 |
6 | ::-webkit-scrollbar-track {
7 | box-shadow: inset 0 0 10px 10px transparent;
8 | border: solid 3px transparent;
9 | }
10 |
11 | ::-webkit-scrollbar-thumb {
12 | box-shadow: inset 0 0 10px 10px var(--theme-scroll-bars);
13 | border: solid 3px transparent;
14 | border-radius: 12px;
15 | }
16 |
17 | ::-webkit-scrollbar-corner {
18 | background: rgba(0, 0, 0, 0);
19 | }
20 |
--------------------------------------------------------------------------------
/src/css/sizing.scss:
--------------------------------------------------------------------------------
1 | .h-24px {
2 | height: 24px;
3 | }
4 |
5 | .w-24px {
6 | width: 24px;
7 | }
8 |
9 | .w-48px {
10 | width: 48px;
11 | }
12 |
13 | .w-72px {
14 | width: 72px;
15 | }
16 |
17 | .w-84px {
18 | width: 84px;
19 | }
20 |
21 | .w-4px {
22 | width: 4px;
23 | }
24 |
25 | .radius-12px {
26 | border-radius: 12px;
27 | }
28 |
29 | .font-18px {
30 | font-size: 18px;
31 | }
32 |
33 | .h-100 {
34 | height: 100%;
35 | }
36 |
37 | .w-100 {
38 | width: 100%;
39 | }
40 |
41 | .w-0 {
42 | width: 0;
43 | }
44 |
45 | .vh-100 {
46 | height: 100vh;
47 | }
48 |
49 | .vh-80 {
50 | height: 80vh;
51 | }
52 |
53 | .rotate-90ccw {
54 | transform: rotate(-90deg);
55 | }
56 |
--------------------------------------------------------------------------------
/src/css/sub-menu.scss:
--------------------------------------------------------------------------------
1 | .sub-menu {
2 | height: $titlebar-height;
3 | display: flex;
4 | flex-direction: row;
5 | }
6 |
7 | .sub-menu__item {
8 | display: flex;
9 | height: $titlebar-height;
10 | align-items: center;
11 | padding: 0 24px;
12 | border-bottom: 2px solid transparent;
13 | cursor: pointer;
14 | }
15 |
16 | .sub-menu__selected-item {
17 | border-bottom: 2px solid var(--theme-accent-color);
18 | }
19 |
--------------------------------------------------------------------------------
/src/css/theming.scss:
--------------------------------------------------------------------------------
1 | .theme-header-background {
2 | background-color: var(--theme-header-background) !important;
3 | border-bottom: 1px solid var(--theme-header-separator);
4 | }
5 |
6 | .theme-footer-background {
7 | background-color: var(--theme-footer-background) !important;
8 | }
9 |
--------------------------------------------------------------------------------
/src/css/transparent-button.scss:
--------------------------------------------------------------------------------
1 | .transparent-button {
2 | background-color: Transparent;
3 | background-repeat: no-repeat;
4 | border: none;
5 | cursor: pointer;
6 | overflow: hidden;
7 | outline: none;
8 | transition: all 0.2s ease-in-out;
9 | }
10 |
11 | .transparent-button:hover {
12 | transform: scale(1.2);
13 | }
14 |
--------------------------------------------------------------------------------
/src/css/variables.scss:
--------------------------------------------------------------------------------
1 | // Sizes
2 | $titlebar-height: 46px;
3 |
4 | // Colors
5 | :root {
6 | --fontsize: 14px;
7 | --mat-tab-header-margin-right: 0px;
8 | --notification-bar-correction: 0px;
9 | }
10 |
--------------------------------------------------------------------------------
/src/environments/environment.dev.ts:
--------------------------------------------------------------------------------
1 | // The file contents for the current environment will overwrite these during build.
2 | // The build system defaults to the dev environment which uses `index.ts`, but if you do
3 | // `ng build --env=prod` then `index.prod.ts` will be used instead.
4 | // The list of which env maps to which file can be found in `.angular-cli.json`.
5 |
6 | export const AppConfig = {
7 | production: false,
8 | environment: 'DEV',
9 | };
10 |
--------------------------------------------------------------------------------
/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const AppConfig = {
2 | production: true,
3 | environment: 'PROD',
4 | };
5 |
--------------------------------------------------------------------------------
/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | export const AppConfig = {
2 | production: false,
3 | environment: 'LOCAL',
4 | };
5 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Dopamine
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 | import { AppModule } from './app/app.module';
4 | import { AppConfig } from './environments/environment';
5 |
6 | if (AppConfig.production) {
7 | enableProdMode();
8 | }
9 |
10 | platformBrowserDynamic()
11 | .bootstrapModule(AppModule, {
12 | preserveWhitespaces: false,
13 | })
14 | .catch((err) => console.error(err));
15 |
--------------------------------------------------------------------------------
/src/polyfills-test.ts:
--------------------------------------------------------------------------------
1 | import 'core-js/es7/reflect';
2 | import 'zone.js';
3 |
--------------------------------------------------------------------------------
/src/styles.scss:
--------------------------------------------------------------------------------
1 | @import 'theming';
2 | @import 'variables';
3 | @import 'font-faces';
4 | @import 'spacing';
5 | @import 'sizing';
6 | @import 'elements';
7 | @import 'scrollbar';
8 | @import 'custom-classes';
9 | @import 'window-frame';
10 | @import 'window-buttons';
11 | @import 'angular-material-mods';
12 | @import 'angular-material-theming';
13 | @import 'as-split';
14 | @import 'transparent-button';
15 | @import 'cdk-virtual-scroll';
16 | @import 'cdk-drag-drop';
17 | @import 'animations';
18 | @import 'flex';
19 | @import 'sub-menu';
20 |
--------------------------------------------------------------------------------
/src/test.ts:
--------------------------------------------------------------------------------
1 | import 'jest-preset-angular/setup-jest';
2 |
3 | Object.defineProperty(window, 'CSS', { value: undefined });
4 | Object.defineProperty(window, 'getComputedStyle', {
5 | value: () => {
6 | return {
7 | display: 'none',
8 | appearance: ['-webkit-appearance'],
9 | };
10 | },
11 | });
12 |
13 | Object.defineProperty(document, 'doctype', {
14 | value: '',
15 | });
16 | Object.defineProperty(document.body.style, 'transform', {
17 | value: () => {
18 | return {
19 | enumerable: true,
20 | configurable: true,
21 | };
22 | },
23 | });
24 |
--------------------------------------------------------------------------------
/src/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/app",
5 | "module": "esnext",
6 | "baseUrl": "",
7 | "types": []
8 | },
9 | "exclude": ["**/*.spec.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | /* SystemJS module definition */
2 | declare const nodeModule: NodeModule;
3 | interface NodeModule {
4 | id: string;
5 | }
6 |
7 | interface Window {
8 | process: unknown;
9 | require: unknown;
10 | }
11 |
--------------------------------------------------------------------------------
/static/icons/128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/128x128.png
--------------------------------------------------------------------------------
/static/icons/16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/16x16.png
--------------------------------------------------------------------------------
/static/icons/24x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/24x24.png
--------------------------------------------------------------------------------
/static/icons/256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/256x256.png
--------------------------------------------------------------------------------
/static/icons/32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/32x32.png
--------------------------------------------------------------------------------
/static/icons/48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/48x48.png
--------------------------------------------------------------------------------
/static/icons/512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/512x512.png
--------------------------------------------------------------------------------
/static/icons/64x64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/64x64.png
--------------------------------------------------------------------------------
/static/icons/96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/96x96.png
--------------------------------------------------------------------------------
/static/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/icon.icns
--------------------------------------------------------------------------------
/static/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/icon.ico
--------------------------------------------------------------------------------
/static/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/icon.png
--------------------------------------------------------------------------------
/static/icons/trayTemplate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/trayTemplate.png
--------------------------------------------------------------------------------
/static/icons/trayTemplate@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/trayTemplate@2x.png
--------------------------------------------------------------------------------
/static/icons/tray_black.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/tray_black.ico
--------------------------------------------------------------------------------
/static/icons/tray_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/tray_black.png
--------------------------------------------------------------------------------
/static/icons/tray_white.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/tray_white.ico
--------------------------------------------------------------------------------
/static/icons/tray_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digimezzo/dopamine/5d2823e2fb4260cdba1b00f143200b90b6f2a052/static/icons/tray_white.png
--------------------------------------------------------------------------------
/tsconfig-serve.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "sourceMap": true,
4 | "declaration": false,
5 | "moduleResolution": "node",
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "module": "commonjs",
9 | "target": "es2015",
10 | "types": ["node"],
11 | "lib": ["es2017", "es2016", "es2015", "dom"]
12 | },
13 | "include": ["main.ts"],
14 | "exclude": ["node_modules", "**/*.spec.ts"]
15 | }
16 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "outDir": "./dist/out-tsc",
5 | "module": "es2020",
6 | "sourceMap": true,
7 | "declaration": false,
8 | "moduleResolution": "node",
9 | "emitDecoratorMetadata": true,
10 | "experimentalDecorators": true,
11 | "allowSyntheticDefaultImports": true,
12 | "strictNullChecks": true,
13 | "target": "ES2022",
14 | "typeRoots": ["node_modules/@types"],
15 | "lib": ["es2017", "es2016", "es2015", "dom", "DOM.Iterable"],
16 | "useDefineForClassFields": false,
17 | "skipLibCheck": true
18 | },
19 | "include": ["main.ts", "src/**/*", "tsconfig.app.json"],
20 | "exclude": ["node_modules"]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/spec",
5 | "types": [
6 | "jest", // 1
7 | "node"
8 | ],
9 | "esModuleInterop": true, // 2
10 | "emitDecoratorMetadata": true // 3
11 | },
12 | "files": ["src/test.ts", "src/polyfills.ts"],
13 | "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
14 | }
15 |
--------------------------------------------------------------------------------