From ad68d10a3c7a703d22bb0be671be52eaebe026fc Mon Sep 17 00:00:00 2001 From: FyloZ Date: Fri, 11 Sep 2020 17:03:15 -0400 Subject: [PATCH] Added documentation for Region.vboxMargin and Region.hboxMargin. Removed radius from menu buttons. Removed useless stylesheets. --- build.gradle.kts | 12 +- .../dev/fyloz/plannervio/ui/Plannervio.kt | 8 +- .../dev/fyloz/plannervio/ui/style/Style.kt | 1 + .../kotlin/dev/fyloz/plannervio/ui/view/UI.kt | 16 +- .../font => fonts}/biryani/Biryani-Bold.ttf | Bin .../biryani/Biryani-DemiBold.ttf | Bin .../biryani/Biryani-ExtraBold.ttf | Bin .../font => fonts}/biryani/Biryani-Heavy.ttf | Bin .../font => fonts}/biryani/Biryani-Light.ttf | Bin .../biryani/Biryani-Regular.ttf | Bin .../biryani/Biryani-UltraLight.ttf | Bin .../biryani/SIL Open Font License.txt | 0 src/main/resources/style/compiled/style.css | 1 - .../Creative Commons Attribution License.txt | 319 ------------------ .../font/hattori_hanzo/Hattori_Hanzo.ttf | Bin 28064 -> 0 bytes src/main/resources/style/style.dark.scss | 77 ----- src/main/resources/style/style.light.scss | 64 ---- src/main/resources/style/theme.scss | 25 -- 18 files changed, 17 insertions(+), 506 deletions(-) rename src/main/resources/{style/font => fonts}/biryani/Biryani-Bold.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-DemiBold.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-ExtraBold.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-Heavy.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-Light.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-Regular.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/Biryani-UltraLight.ttf (100%) rename src/main/resources/{style/font => fonts}/biryani/SIL Open Font License.txt (100%) delete mode 100644 src/main/resources/style/compiled/style.css delete mode 100644 src/main/resources/style/font/hattori_hanzo/Creative Commons Attribution License.txt delete mode 100644 src/main/resources/style/font/hattori_hanzo/Hattori_Hanzo.ttf delete mode 100644 src/main/resources/style/style.dark.scss delete mode 100644 src/main/resources/style/style.light.scss delete mode 100644 src/main/resources/style/theme.scss diff --git a/build.gradle.kts b/build.gradle.kts index d4a781e..f750109 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,6 @@ plugins { id("org.jetbrains.kotlin.jvm") version "1.4.0" id("org.openjfx.javafxplugin") version "0.0.9" id("org.jetbrains.dokka") version "1.4.0-rc" - id("com.leobia.gradle.sassjavacompiler") version "0.2.1" application } @@ -47,17 +46,9 @@ javafx { modules = listOf("javafx.controls", "javafx.graphics", "javafx.fxml") } -sassOptions { - inputPath = file("./src/main/resources/style/style.light.scss").canonicalPath - outputPath = file("./src/main/resources/style/compiled/").canonicalPath - outputStyle = "compressed" - isSass = false - isIndentWithTabs = false -} - application { // Define the main class for the application. - mainClassName = "Plannervio.AppKt" + mainClassName = "dev.fyloz.plannervio.ui.PlannervioKt" } tasks.test { @@ -68,7 +59,6 @@ tasks.test { } tasks.withType { - dependsOn(tasks.compileSass) kotlinOptions.jvmTarget = "11" } diff --git a/src/main/kotlin/dev/fyloz/plannervio/ui/Plannervio.kt b/src/main/kotlin/dev/fyloz/plannervio/ui/Plannervio.kt index 0e88365..9fcb104 100644 --- a/src/main/kotlin/dev/fyloz/plannervio/ui/Plannervio.kt +++ b/src/main/kotlin/dev/fyloz/plannervio/ui/Plannervio.kt @@ -19,10 +19,10 @@ import tornadofx.loadFont import tornadofx.reloadStylesheetsOnFocus fun main(args: Array) { - launch(args) + launch(args) } -class TodosApp : App(MainView::class, Style::class), DIAware { +class Plannervio : App(MainView::class, Style::class), DIAware { override val di: DI get() = DI { installTornadoSource() @@ -38,7 +38,7 @@ class TodosApp : App(MainView::class, Style::class), DIAware { } private fun loadFonts() { - loadFont("/style/font/biryani/Biryani-Regular.ttf", 12) - loadFont("/style/font/biryani/Biryani-DemiBold.ttf", 12) + loadFont("/fonts/biryani/Biryani-Regular.ttf", 12) + loadFont("/fonts/biryani/Biryani-DemiBold.ttf", 12) } } diff --git a/src/main/kotlin/dev/fyloz/plannervio/ui/style/Style.kt b/src/main/kotlin/dev/fyloz/plannervio/ui/style/Style.kt index 4f8d362..94b7ee8 100644 --- a/src/main/kotlin/dev/fyloz/plannervio/ui/style/Style.kt +++ b/src/main/kotlin/dev/fyloz/plannervio/ui/style/Style.kt @@ -81,6 +81,7 @@ class Style : Stylesheet() { jfxButton { cursor = Cursor.HAND prefWidth = 250.px + backgroundRadius += box(0.px) jfxRippler { jfxRipplerFill.value = primaryTheme.getValue(100) diff --git a/src/main/kotlin/dev/fyloz/plannervio/ui/view/UI.kt b/src/main/kotlin/dev/fyloz/plannervio/ui/view/UI.kt index 881d315..318d76b 100644 --- a/src/main/kotlin/dev/fyloz/plannervio/ui/view/UI.kt +++ b/src/main/kotlin/dev/fyloz/plannervio/ui/view/UI.kt @@ -26,11 +26,11 @@ abstract class AbstractView : View() { */ val filename by lazy { javaClass.simpleName - .split("(?=[A-Z])".toRegex()) - .map { it.toLowerCase() } - .filter { it.isNotEmpty() } - .filter { it != "view" } - .joinToString("-") + .split("(?=[A-Z])".toRegex()) + .map { it.toLowerCase() } + .filter { it.isNotEmpty() } + .filter { it != "view" } + .joinToString("-") } protected val i18nService = locateI18nService(filename) @@ -74,26 +74,32 @@ fun View.tabButton(tab: Tab, onClick: (TabButton) -> Unit): TabButton { } } +/** Sets [all] margins of a [Region] contained in a [VBox] to the given size. */ fun Region.vboxMargin(all: Number = 0) { this.vboxMargin(all, all) } +/** Sets [horizontal] and [vertical] margins of a [Region] contained in a [VBox] to the given size. */ fun Region.vboxMargin(horizontal: Number = 0, vertical: Number = 0) { this.vboxMargin(vertical, horizontal, vertical, horizontal) } +/** Sets [top], [right], [bottom] and [left] margins of a [Region] contained in a [VBox] to the given size. */ fun Region.vboxMargin(top: Number = 0, right: Number = 0, bottom: Number = 0, left: Number = 0) { VBox.setMargin(this, insets(top.toDouble(), right.toDouble(), bottom.toDouble(), left.toDouble())) } +/** Sets [all] margins of a [Region] contained in a [HBox] to the given size. */ fun Region.hboxMargin(all: Number = 0) { this.hboxMargin(all, all) } +/** Sets [horizontal] and [vertical] margins of a [Region] contained in a [HBox] to the given size. */ fun Region.hboxMargin(horizontal: Number = 0, vertical: Number = 0) { this.hboxMargin(vertical, horizontal, vertical, horizontal) } +/** Sets [top], [right], [bottom] and [left] margins of a [Region] contained in a [HBox] to the given size. */ fun Region.hboxMargin(top: Number = 0, right: Number = 0, bottom: Number = 0, left: Number = 0) { HBox.setMargin(this, insets(top.toDouble(), right.toDouble(), bottom.toDouble(), left.toDouble())) } diff --git a/src/main/resources/style/font/biryani/Biryani-Bold.ttf b/src/main/resources/fonts/biryani/Biryani-Bold.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-Bold.ttf rename to src/main/resources/fonts/biryani/Biryani-Bold.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-DemiBold.ttf b/src/main/resources/fonts/biryani/Biryani-DemiBold.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-DemiBold.ttf rename to src/main/resources/fonts/biryani/Biryani-DemiBold.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-ExtraBold.ttf b/src/main/resources/fonts/biryani/Biryani-ExtraBold.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-ExtraBold.ttf rename to src/main/resources/fonts/biryani/Biryani-ExtraBold.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-Heavy.ttf b/src/main/resources/fonts/biryani/Biryani-Heavy.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-Heavy.ttf rename to src/main/resources/fonts/biryani/Biryani-Heavy.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-Light.ttf b/src/main/resources/fonts/biryani/Biryani-Light.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-Light.ttf rename to src/main/resources/fonts/biryani/Biryani-Light.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-Regular.ttf b/src/main/resources/fonts/biryani/Biryani-Regular.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-Regular.ttf rename to src/main/resources/fonts/biryani/Biryani-Regular.ttf diff --git a/src/main/resources/style/font/biryani/Biryani-UltraLight.ttf b/src/main/resources/fonts/biryani/Biryani-UltraLight.ttf similarity index 100% rename from src/main/resources/style/font/biryani/Biryani-UltraLight.ttf rename to src/main/resources/fonts/biryani/Biryani-UltraLight.ttf diff --git a/src/main/resources/style/font/biryani/SIL Open Font License.txt b/src/main/resources/fonts/biryani/SIL Open Font License.txt similarity index 100% rename from src/main/resources/style/font/biryani/SIL Open Font License.txt rename to src/main/resources/fonts/biryani/SIL Open Font License.txt diff --git a/src/main/resources/style/compiled/style.css b/src/main/resources/style/compiled/style.css deleted file mode 100644 index aa8fa4f..0000000 --- a/src/main/resources/style/compiled/style.css +++ /dev/null @@ -1 +0,0 @@ -.root{-fx-background-color:#fff;-fx-text-fill:black}.label{-fx-font-family:"Biryani Regular"}.text-field{-fx-cursor:text}.nav-bar{-fx-background-color:#df7e2b}.nav-bar .label{-fx-font-family:"Biryani DemiBold";-fx-font-size:2em;-fx-text-fill:white}.nav-bar .jfx-text-field{-jfx-focus-color:#f8dec3;-jfx-unfocus-color:#fff;-fx-background-color:#eaa256;-fx-font-size:1.2em;-fx-text-fill:white;-fx-prompt-text-fill:#f8dec3}.nav-bar .jfx-button{-fx-cursor:hand}.nav-bar .jfx-button .button-icon-wrapper{-fx-padding:0 15px 0 0}.nav-bar .jfx-button .label{-fx-font-size:1.2em}.nav-bar .active{-fx-background-radius:0;-fx-background-color:#eeb274}.label{-fx-font-family:"Biryani Regular"}.card{-fx-background-color:#fff;-fx-background-radius:3px;-fx-effect:dropshadow(three-pass-box, rgba(0,0,0,0.5), 5, 0, 0, 2)}.card .card-header .card-title{-fx-font-size:1.2em;-fx-font-weight:600}.card .card-header .card-subtitle{-fx-text-fill:rgba(0,0,0,0.6)}.card .card-content{-fx-text-fill:rgba(0,0,0,0.6)}.button{-fx-font-size:1.1em;-fx-padding:9px 16px 8px 16px;-fx-text-fill:white;-fx-background-radius:4px}.button.primary{-fx-background-color:#df7e2b;-fx-effect:dropshadow(three-pass-box, rgba(0,0,0,0.3), 3, 0, 0, 2)}.button.primary:pressed{-fx-background-color:#eaa256;-fx-effect:dropshadow(three-pass-box, rgba(0,0,0,0.5), 5, 0, 0, 2)}.button-icon{-fx-padding:5px;-fx-background-radius:24px;-fx-effect:dropshadow(three-pass-box, rgba(0,0,0,0.5), 5, 0, -1, 2)}.button-icon.primary{-fx-background-color:#df7e2b}.button-icon.accent{-fx-background-color:#2f72b9} \ No newline at end of file diff --git a/src/main/resources/style/font/hattori_hanzo/Creative Commons Attribution License.txt b/src/main/resources/style/font/hattori_hanzo/Creative Commons Attribution License.txt deleted file mode 100644 index bd32fa8..0000000 --- a/src/main/resources/style/font/hattori_hanzo/Creative Commons Attribution License.txt +++ /dev/null @@ -1,319 +0,0 @@ -Creative Commons Legal Code - -Attribution 3.0 Unported - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR - DAMAGES RESULTING FROM ITS USE. - -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE -COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY -COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS -AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE -TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY -BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS -CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND -CONDITIONS. - -1. Definitions - - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may be - recast, transformed, or adapted including in any form recognizably - derived from the original, except that a work that constitutes a - Collection will not be considered an Adaptation for the purpose of - this License. For the avoidance of doubt, where the Work is a musical - work, performance or phonogram, the synchronization of the Work in - timed-relation with a moving image ("synching") will be considered an - Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as - encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works listed - in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, in - which the Work is included in its entirety in unmodified form along - with one or more other contributions, each constituting separate and - independent works in themselves, which together are assembled into a - collective whole. A work that constitutes a Collection will not be - considered an Adaptation (as defined above) for the purposes of this - License. - c. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that - offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, - the individual, individuals, entity or entities who created the Work - or if no individual or entity can be identified, the publisher; and in - addition (i) in the case of a performance the actors, singers, - musicians, dancers, and other persons who act, sing, deliver, declaim, - play in, interpret or otherwise perform literary or artistic works or - expressions of folklore; (ii) in the case of a phonogram the producer - being the person or legal entity who first fixes the sounds of a - performance or other sounds; and, (iii) in the case of broadcasts, the - organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms - of this License including without limitation any production in the - literary, scientific and artistic domain, whatever may be the mode or - form of its expression including digital form, such as a book, - pamphlet and other writing; a lecture, address, sermon or other work - of the same nature; a dramatic or dramatico-musical work; a - choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which are - assimilated works expressed by a process analogous to cinematography; - a work of drawing, painting, architecture, sculpture, engraving or - lithography; a photographic work to which are assimilated works - expressed by a process analogous to photography; a work of applied - art; an illustration, map, plan, sketch or three-dimensional work - relative to geography, topography, architecture or science; a - performance; a broadcast; a phonogram; a compilation of data to the - extent it is protected as a copyrightable work; or a work performed by - a variety or circus performer to the extent it is not otherwise - considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License with - respect to the Work, or who has received express permission from the - Licensor to exercise rights under this License despite a previous - violation. - h. "Publicly Perform" means to perform public recitations of the Work and - to communicate to the public those public recitations, by any means or - process, including by wire or wireless means or public digital - performances; to make available to the public Works in such a way that - members of the public may access these Works from a place and at a - place individually chosen by them; to perform the Work to the public - by any means or process and the communication to the public of the - performances of the Work, including by public digital performance; to - broadcast and rebroadcast the Work by any means including signs, - sounds or images. - i. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage of a - protected performance or phonogram in digital form or other electronic - medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, -limit, or restrict any uses free from copyright or rights arising from -limitations or exceptions that are provided for in connection with the -copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, -Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -perpetual (for the duration of the applicable copyright) license to -exercise the rights in the Work as stated below: - - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, - including any translation in any medium, takes reasonable steps to - clearly label, demarcate or otherwise identify that changes were made - to the original Work. For example, a translation could be marked "The - original work was translated from English to Spanish," or a - modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated - in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - - i. Non-waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor - reserves the exclusive right to collect such royalties for any - exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives the - exclusive right to collect such royalties for any exercise by You - of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that the - Licensor is a member of a collecting society that administers - voluntary licensing schemes, via that society, from any exercise - by You of the rights granted under this License. - -The above rights may be exercised in all media and formats whether now -known or hereafter devised. The above rights include the right to make -such modifications as are technically necessary to exercise the rights in -other media and formats. Subject to Section 8(f), all rights not expressly -granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - a. You may Distribute or Publicly Perform the Work only under the terms - of this License. You must include a copy of, or the Uniform Resource - Identifier (URI) for, this License with every copy of the Work You - Distribute or Publicly Perform. You may not offer or impose any terms - on the Work that restrict the terms of this License or the ability of - the recipient of the Work to exercise the rights granted to that - recipient under the terms of the License. You may not sublicense the - Work. You must keep intact all notices that refer to this License and - to the disclaimer of warranties with every copy of the Work You - Distribute or Publicly Perform. When You Distribute or Publicly - Perform the Work, You may not impose any effective technological - measures on the Work that restrict the ability of a recipient of the - Work from You to exercise the rights granted to that recipient under - the terms of the License. This Section 4(a) applies to the Work as - incorporated in a Collection, but this does not require the Collection - apart from the Work itself to be made subject to the terms of this - License. If You create a Collection, upon notice from any Licensor You - must, to the extent practicable, remove from the Collection any credit - as required by Section 4(b), as requested. If You create an - Adaptation, upon notice from any Licensor You must, to the extent - practicable, remove from the Adaptation any credit as required by - Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or - Collections, You must, unless a request has been made pursuant to - Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) the - name of the Original Author (or pseudonym, if applicable) if supplied, - and/or if the Original Author and/or Licensor designate another party - or parties (e.g., a sponsor institute, publishing entity, journal) for - attribution ("Attribution Parties") in Licensor's copyright notice, - terms of service or by other reasonable means, the name of such party - or parties; (ii) the title of the Work if supplied; (iii) to the - extent reasonably practicable, the URI, if any, that Licensor - specifies to be associated with the Work, unless such URI does not - refer to the copyright notice or licensing information for the Work; - and (iv) , consistent with Section 3(b), in the case of an Adaptation, - a credit identifying the use of the Work in the Adaptation (e.g., - "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by - this Section 4 (b) may be implemented in any reasonable manner; - provided, however, that in the case of a Adaptation or Collection, at - a minimum such credit will appear, if a credit for all contributing - authors of the Adaptation or Collection appears, then as part of these - credits and in a manner at least as prominent as the credits for the - other contributing authors. For the avoidance of doubt, You may only - use the credit required by this Section for the purpose of attribution - in the manner set out above and, by exercising Your rights under this - License, You may not implicitly or explicitly assert or imply any - connection with, sponsorship or endorsement by the Original Author, - Licensor and/or Attribution Parties, as appropriate, of You or Your - use of the Work, without the separate, express prior written - permission of the Original Author, Licensor and/or Attribution - Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute or - Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify or - take other derogatory action in relation to the Work which would be - prejudicial to the Original Author's honor or reputation. Licensor - agrees that in those jurisdictions (e.g. Japan), in which any exercise - of the right granted in Section 3(b) of this License (the right to - make Adaptations) would be deemed to be a distortion, mutilation, - modification or other derogatory action prejudicial to the Original - Author's honor and reputation, the Licensor will waive or not assert, - as appropriate, this Section, to the fullest extent permitted by the - applicable national law, to enable You to reasonably exercise Your - right under Section 3(b) of this License (right to make Adaptations) - but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR -OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY -KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, -INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, -FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF -LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, -WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION -OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE -LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR -ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES -ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or Collections - from You under this License, however, will not have their licenses - terminated provided such individuals or entities remain in full - compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will - survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is - perpetual (for the duration of the applicable copyright in the Work). - Notwithstanding the above, Licensor reserves the right to release the - Work under different license terms or to stop distributing the Work at - any time; provided, however that any such election will not serve to - withdraw this License (or any other license that has been, or is - required to be, granted under the terms of this License), and this - License will continue in full force and effect unless terminated as - stated above. - -8. Miscellaneous - - a. Each time You Distribute or Publicly Perform the Work or a Collection, - the Licensor offers to the recipient a license to the Work on the same - terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor - offers to the recipient a license to the original Work on the same - terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of - the remainder of the terms of this License, and without further action - by the parties to this agreement, such provision shall be reformed to - the minimum extent necessary to make such provision valid and - enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in writing - and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with - respect to the Work licensed here. There are no understandings, - agreements or representations with respect to the Work not specified - here. Licensor shall not be bound by any additional provisions that - may appear in any communication from You. This License may not be - modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this - License were drafted utilizing the terminology of the Berne Convention - for the Protection of Literary and Artistic Works (as amended on - September 28, 1979), the Rome Convention of 1961, the WIPO Copyright - Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 - and the Universal Copyright Convention (as revised on July 24, 1971). - These rights and subject matter take effect in the relevant - jurisdiction in which the License terms are sought to be enforced - according to the corresponding provisions of the implementation of - those treaty provisions in the applicable national law. If the - standard suite of rights granted under applicable copyright law - includes additional rights not granted under this License, such - additional rights are deemed to be included in the License; this - License is not intended to restrict the license of any rights under - applicable law. - - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no warranty - whatsoever in connection with the Work. Creative Commons will not be - liable to You or any party on any legal theory for any damages - whatsoever, including without limitation any general, special, - incidental or consequential damages arising in connection to this - license. Notwithstanding the foregoing two (2) sentences, if Creative - Commons has expressly identified itself as the Licensor hereunder, it - shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of doubt, - this trademark restriction does not form part of this License. - - Creative Commons may be contacted at https://creativecommons.org/. \ No newline at end of file diff --git a/src/main/resources/style/font/hattori_hanzo/Hattori_Hanzo.ttf b/src/main/resources/style/font/hattori_hanzo/Hattori_Hanzo.ttf deleted file mode 100644 index 6799e87b91752724a3cde2b36abe9580a8c1a51b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28064 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 Rcj^Bd#(4MLk8fe@{{XtgDNq0a diff --git a/src/main/resources/style/style.dark.scss b/src/main/resources/style/style.dark.scss deleted file mode 100644 index f74746e..0000000 --- a/src/main/resources/style/style.dark.scss +++ /dev/null @@ -1,77 +0,0 @@ -$dark-grey: #121212; -$dark-theme: ( - "00dp": $dark-grey, - "01dp": scale-color($dark-grey, $lightness: +5%), - "02dp": scale-color($dark-grey, $lightness: +7%), - "03dp": scale-color($dark-grey, $lightness: +8%), - "04dp": scale-color($dark-grey, $lightness: +9%), - "06dp": scale-color($dark-grey, $lightness: +11%), - "08dp": scale-color($dark-grey, $lightness: +12%), - "12dp": scale-color($dark-grey, $lightness: +14%), - "16dp": scale-color($dark-grey, $lightness: +15%), - "24dp": scale-color($dark-grey, $lightness: +16%), -); - -$primary-theme: ( - 50: #fcf2e7, - 100: #f8dec3, - 200: #f3c89c, - 300: #eeb274, - 400: #eaa256, - 500: #e69138, - 600: #e38932, - 700: #df7e2b, - 800: #db7424, - 900: #d56217 -); - -$accent-theme: ( - 50: #e8f0f8, - 100: #c5daee, - 200: #9ec2e3, - 300: #77aad7, - 400: #5a97cf, - 500: #3d85c6, - 600: #377dc0, - 700: #2f72b9, - 800: #2768b1, - 900: #1a55a4 -); - -//@font-face { -// font-family: Roboto; -// src: url("/home/william/Dev/Projects/todo/App/src/main/resources/style/font/Roboto/Roboto-Regular.ttf"); -//} - -.root { - -fx-background-color: map-get($dark-theme, "00dp"); -} - -.text { - -fx-text-fill: white; -} - -.board-selection { - .board { - -fx-background-color: map-get($dark-theme, "01dp"); - -fx-background-radius: 4px; - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, .3), 2, 0, 0, 5); - - &.add { - -fx-background-color: map-get($primary-theme, 700); - -fx-font-size: 10em; - -fx-text-fill: $dark-grey; - } - - &:hover { - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, .5), 6, 0, 0, 5); - } - } - - .sidebar { - //-fx-border-width: 0 0 0 2px; - //-fx-border-color: map-get($primary-theme, 700); - -fx-background-color: map-get($dark-theme, "01dp"); - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, .5), 6, 0, -2, 0); - } -} diff --git a/src/main/resources/style/style.light.scss b/src/main/resources/style/style.light.scss deleted file mode 100644 index c2b6e41..0000000 --- a/src/main/resources/style/style.light.scss +++ /dev/null @@ -1,64 +0,0 @@ -@import 'theme'; - -$background: #ffffff; - -.root { - -fx-background-color: $background; - -fx-text-fill: black; -} - -.text-field { - -fx-cursor: text; -} - -.card { - -fx-background-color: $background; - -fx-background-radius: 3px; - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.5), 5, 0, 0, 2); - - .card-header { - .card-title { - -fx-font-size: 1.2em; - -fx-font-weight: 600; - } - - .card-subtitle { - -fx-text-fill: rgba(0, 0, 0, 0.6); - } - } - - .card-content { - -fx-text-fill: rgba(0, 0, 0, 0.6); - } -} - -.button { - -fx-font-size: 1.1em; - -fx-padding: 9px 16px 8px 16px; - -fx-text-fill: white; - -fx-background-radius: 4px; - - &.primary { - -fx-background-color: map-get($primary-theme, 700); - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.3), 3, 0, 0, 2); - - &:pressed { - -fx-background-color: map-get($primary-theme, 400); - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.5), 5, 0, 0, 2); - } - } -} - -.button-icon { - -fx-padding: 5px; - -fx-background-radius: 24px; - -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.5), 5, 0, -1, 2); - - &.primary { - -fx-background-color: map-get($primary-theme, 700); - } - - &.accent { - -fx-background-color: map-get($accent-theme, 700); - } -} diff --git a/src/main/resources/style/theme.scss b/src/main/resources/style/theme.scss deleted file mode 100644 index e6bd8c9..0000000 --- a/src/main/resources/style/theme.scss +++ /dev/null @@ -1,25 +0,0 @@ -$primary-theme: ( - 50: #fcf2e7, - 100: #f8dec3, - 200: #f3c89c, - 300: #eeb274, - 400: #eaa256, - 500: #e69138, - 600: #e38932, - 700: #df7e2b, - 800: #db7424, - 900: #d56217 -); - -$accent-theme: ( - 50: #e8f0f8, - 100: #c5daee, - 200: #9ec2e3, - 300: #77aad7, - 400: #5a97cf, - 500: #3d85c6, - 600: #377dc0, - 700: #2f72b9, - 800: #2768b1, - 900: #1a55a4 -);