diff --git a/asset/.DS_Store b/asset/.DS_Store index 41d07b4..37ddebd 100644 Binary files a/asset/.DS_Store and b/asset/.DS_Store differ diff --git a/asset/icon/calculator.svg b/asset/icon/calculator.svg new file mode 100644 index 0000000..01e80ce --- /dev/null +++ b/asset/icon/calculator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icon/hand-coins.svg b/asset/icon/hand-coins.svg new file mode 100644 index 0000000..f47a2d4 --- /dev/null +++ b/asset/icon/hand-coins.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icon/math-operations.svg b/asset/icon/math-operations.svg new file mode 100644 index 0000000..2853c66 --- /dev/null +++ b/asset/icon/math-operations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icon/mountains.svg b/asset/icon/mountains.svg new file mode 100644 index 0000000..faa6c6c --- /dev/null +++ b/asset/icon/mountains.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icon/plus-minus.svg b/asset/icon/plus-minus.svg new file mode 100644 index 0000000..6499e8e --- /dev/null +++ b/asset/icon/plus-minus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/icon/share-fat.svg b/asset/icon/share-fat.svg new file mode 100644 index 0000000..c50b221 --- /dev/null +++ b/asset/icon/share-fat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset/img/abstract/amp_money_navy-coral.svg b/asset/img/abstract/amp_money_navy-coral.svg new file mode 100644 index 0000000..8fa20ec --- /dev/null +++ b/asset/img/abstract/amp_money_navy-coral.svg @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + £ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + £ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + £ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + £ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/asset/img/editorial/homepage/calculator.png b/asset/img/editorial/homepage/calculator.png new file mode 100644 index 0000000..0098eec Binary files /dev/null and b/asset/img/editorial/homepage/calculator.png differ diff --git a/asset/img/editorial/homepage/climber.png b/asset/img/editorial/homepage/climber.png new file mode 100644 index 0000000..e47e3a8 Binary files /dev/null and b/asset/img/editorial/homepage/climber.png differ diff --git a/asset/img/editorial/homepage/give-money.jpg b/asset/img/editorial/homepage/give-money.jpg new file mode 100644 index 0000000..3dba5e6 Binary files /dev/null and b/asset/img/editorial/homepage/give-money.jpg differ diff --git a/asset/img/editorial/homepage/give-money.png b/asset/img/editorial/homepage/give-money.png new file mode 100644 index 0000000..b756bb3 Binary files /dev/null and b/asset/img/editorial/homepage/give-money.png differ diff --git a/asset/img/editorial/homepage/profit-loss.png b/asset/img/editorial/homepage/profit-loss.png new file mode 100644 index 0000000..bf1a369 Binary files /dev/null and b/asset/img/editorial/homepage/profit-loss.png differ diff --git a/asset/img/editorial/homepage/report.png b/asset/img/editorial/homepage/report.png new file mode 100644 index 0000000..5b0c411 Binary files /dev/null and b/asset/img/editorial/homepage/report.png differ diff --git a/composer.lock b/composer.lock index a6f203a..361685e 100644 --- a/composer.lock +++ b/composer.lock @@ -629,16 +629,16 @@ }, { "name": "nette/utils", - "version": "v4.0.3", + "version": "v4.0.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", "shasum": "" }, "require": { @@ -709,9 +709,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.3" + "source": "https://github.com/nette/utils/tree/v4.0.4" }, - "time": "2023-10-29T21:02:13+00:00" + "time": "2024-01-17T16:50:36+00:00" }, { "name": "openspout/openspout", @@ -2202,7 +2202,7 @@ }, { "name": "phpgt/servicecontainer", - "version": "v1.3.2", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/PhpGt/ServiceContainer.git", @@ -2240,7 +2240,7 @@ "description": "Centralised container of a project's core objects.", "support": { "issues": "https://github.com/PhpGt/ServiceContainer/issues", - "source": "https://github.com/PhpGt/ServiceContainer/tree/v1.3.2" + "source": "https://github.com/PhpGt/ServiceContainer/tree/v1.3.3" }, "funding": [ { @@ -4306,16 +4306,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.55", + "version": "1.10.56", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949" + "reference": "27816a01aea996191ee14d010f325434c0ee76fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", - "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/27816a01aea996191ee14d010f325434c0ee76fa", + "reference": "27816a01aea996191ee14d010f325434c0ee76fa", "shasum": "" }, "require": { @@ -4364,7 +4364,7 @@ "type": "tidelift" } ], - "time": "2024-01-08T12:32:40+00:00" + "time": "2024-01-15T10:43:00+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4689,16 +4689,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.5", + "version": "10.5.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856" + "reference": "08f4fa74d5fbfff1ef22abffee47aaedcaea227e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ed21115d505b4b4f7dc7b5651464e19a2c7f7856", - "reference": "ed21115d505b4b4f7dc7b5651464e19a2c7f7856", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/08f4fa74d5fbfff1ef22abffee47aaedcaea227e", + "reference": "08f4fa74d5fbfff1ef22abffee47aaedcaea227e", "shasum": "" }, "require": { @@ -4770,7 +4770,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.5" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.8" }, "funding": [ { @@ -4786,7 +4786,7 @@ "type": "tidelift" } ], - "time": "2023-12-27T15:13:52+00:00" + "time": "2024-01-19T07:07:27+00:00" }, { "name": "psr/log", @@ -5755,16 +5755,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7" + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", "shasum": "" }, "require": { @@ -5774,11 +5774,11 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" }, "bin": [ - "bin/phpcs", - "bin/phpcbf" + "bin/phpcbf", + "bin/phpcs" ], "type": "library", "extra": { @@ -5831,7 +5831,7 @@ "type": "open_collective" } ], - "time": "2023-12-08T12:32:31+00:00" + "time": "2024-01-11T20:47:48+00:00" }, { "name": "symfony/browser-kit", diff --git a/data/web-content/homepage.md b/data/web-content/homepage.md index 6049290..d28c1c3 100644 --- a/data/web-content/homepage.md +++ b/data/web-content/homepage.md @@ -1,55 +1,59 @@ - +
-# Simple, loveable admin tools for independent music and publishing people. +## We process sales data for record labels so they can work out artist royalties in seconds. -## We exist to get artists paid quicker, and to give time back to labels so they can release more amazing music. +We’re adding new distributors and platforms all the time. -*** - -
- - +Here’s what we currently support: +
+TunecoreDistrokidCD BabyBandcampCargo UK +
-Independent record labels with the most artist-friendly deals are struggling to process the masses of sales data they get every month or quarter. They want to pay their artists, but it's taking them ages to work it all out. +If you don't see yours, let us know and we'll make it happen. -We're building an innovative sales and royalties processor to solve that. +Get in touch
- - -{.float.right} -![Trackshift team](/asset/img/editorial/homepage/about-us.png) +## How it works -## About Us +Upload a sales report from Bandcamp and/or your distributor. TrackShift will sort the data and build your catalogue automatically. No setup required! +
-TrackShift was founded by Greg Bowler and Richard 'Biff' Birkin in Derbyshire, UK. +
-Greg is a technologist, solving real world problems using software. His work ranges from logging and analysis dashboards for the renewable energy sector, to interfacing with event ticketing systems for attendeees with a disability. + -Biff is a composer and digital strategist/user experience designer - the latter skills developed in startups that gave him the flexi-time needed to carry on being in bands and touring UK/Europe's DIY punk/hardcore scene. +## Pricing -Our working ethic is inspired by that scene, paired with a software development mantra of Simple, Loveable and Complete feature development. +Super simple: free to use while unregistered versus monthly/annual fee to login, save your work, plus extended features coming soon.
- + -{.float.left} +{.float.right} ![Spin your records, not your head](/asset/img/editorial/homepage/spin-your-records-LG-dark.png) -## What We're Doing +## Benefits -We're working with a handful of small independent record labels, learning how they work and what their data looks like. +### Royalties -TrackShift v1 will be launched for Record Labels early 2024 as part of an Innovate UK funded development sprint through 2023. + -Interested? Get in touch with biff@trackshift.app +### Business -
+ - +
diff --git a/page/_component/global-footer.html b/page/_component/global-footer.html index bef2015..395bdbe 100644 --- a/page/_component/global-footer.html +++ b/page/_component/global-footer.html @@ -1,5 +1,7 @@ diff --git a/page/credits.html b/page/credits.html new file mode 100644 index 0000000..d429620 --- /dev/null +++ b/page/credits.html @@ -0,0 +1,5 @@ +
+

Credits

+
+ +
\ No newline at end of file diff --git a/page/help.html b/page/help.html new file mode 100644 index 0000000..b689c71 --- /dev/null +++ b/page/help.html @@ -0,0 +1,6 @@ +
+

Help

+

What is TrackShift?

+
+ +
\ No newline at end of file diff --git a/page/index.html b/page/index.html index b6f465b..38e24df 100644 --- a/page/index.html +++ b/page/index.html @@ -1,6 +1,30 @@ -
-

Placeholder heading

-

Placeholder subheading

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi fugiat illo iusto laboriosam nihil, quasi recusandae voluptas! A consequatur delectus dolore eos itaque minus officia perspiciatis praesentium quidem? Ipsam, provident!

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A at inventore iste nihil nisi quibusdam quidem rerum voluptas. Asperiores assumenda commodi cumque excepturi fugiat, magnam officiis quae qui sint voluptatibus.

+
+

Simple, loveable admin tools for independent record labels and artists.

+

Try it now. No login required! ↷

+

Note: we've not launched yet as we're still building it.

+
+
+
+
+ + +
+
+ +

Find Out More

+ + +
+ + +
+
+ + +
+
+
\ No newline at end of file diff --git a/style/decorator/editorial-content.scss b/style/decorator/editorial-content.scss index c7132f9..aa4d0e9 100644 --- a/style/decorator/editorial-content.scss +++ b/style/decorator/editorial-content.scss @@ -1,7 +1,29 @@ %d-editorial-content { section { - margin-bottom:4rem; + margin-bottom:5rem; + padding-top:5rem; + padding-bottom:5rem; overflow:hidden; + margin:0 auto; + display:block; + max-width: var(--size-page-width); + overflow-x:hidden; + position: relative; + display: flex; + align-items: center; + } + .three-quarter-width { + width:65%; + } + .one-quarter-width { + width:35%; + position:relative; + height:100%; + display: flex; + + } + .center { + text-align: center; } .float { @media(min-width: $break-medium) { @@ -28,7 +50,7 @@ } img { width:100%; - + border-radius:var(--theme-ui-border-radius); @media(min-width: $break-medium) { } @@ -36,4 +58,33 @@ h2 { margin-top:0; } + + .pill { + display: inline-block; + border:4px solid; + border-color:var(--pal-3); + padding:0.8rem 1.5rem; + border-radius: 50rem; + margin-right:1rem; + margin-bottom:1rem; + background-color: black; + color:white; + font-weight: bold; + font-family: var(--font-family-main); + font-size: var(--font-size-base); + cursor: default; + transition: all 0.3s ease-in-out !important; + + @media(min-width: $break-small) { + &:hover { + transform: scale(1.2); + } + } + } + .pill-container { + margin-top:3rem; + margin-bottom:3rem; + height:100%; + width:100%; + } } \ No newline at end of file diff --git a/style/decorator/typography.scss b/style/decorator/typography.scss index b1264e3..1283da3 100644 --- a/style/decorator/typography.scss +++ b/style/decorator/typography.scss @@ -8,20 +8,27 @@ h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-heading); + font-weight: 600; } h1 { font-size: var(--font-size-1); + display: block; } h2 { font-size: var(--font-size-2); + @media(max-width: $break-small) { + font-size:calc(var(--font-size-2) * 0.9); + } } p { font-size: var(--font-size-base); line-height: var(--font-readable-line-height); font-family: var(--font-family-main); + &.small { + font-size: var(--font-size-small); + } } - hr { margin: 4rem 0; } @@ -29,4 +36,21 @@ .centered { text-align: center; } + .highlight { + padding-left:1rem; + padding-right:1rem; + margin-bottom: 2rem; + display: inline-block; + } + .blue-highlight { + background-color: var(--pal-2); + color: var(--pal-5); + } + .green-highlight { + background-color:var(--pal-7); + color:var(--pal-5); + } + ::selection { + background-color: var(--pal-1); + color: var(--pal-6);} } diff --git a/style/element/a.scss b/style/element/a.scss index 0f27d43..07d253b 100644 --- a/style/element/a.scss +++ b/style/element/a.scss @@ -10,21 +10,9 @@ a { &.button { @extend button; - // color:black; - // background-color: white; - // border: 2px black solid; - // border-radius: 5px; - // font-weight:bold !important; - // font-size:18px; - // padding:10px 15px; - // text-decoration: none; - // transition: 0.3s ease-in-out; + } - // &:hover { - // background-color: var(--pal-1); - // transition: 0.3sec ease-in-out; - // color:white; - // border-color:var(--pal-1); - // } + &.button-red { + @extend button; } } diff --git a/style/element/body.scss b/style/element/body.scss index 8d556bf..c3fbe21 100644 --- a/style/element/body.scss +++ b/style/element/body.scss @@ -1,7 +1,7 @@ body { margin: 0; height: 100%; - background-color: var(--pal-page-bg); + background-color: var(--pal-utility-light-1); color: var(--pal-body); font-family: var(--font-family-main); overflow-x: hidden; @@ -10,7 +10,6 @@ body { global-header, global-footer, account-tabs { display: none; } - background: none; } } diff --git a/style/element/button.scss b/style/element/button.scss index 50a624f..9c1c53d 100644 --- a/style/element/button.scss +++ b/style/element/button.scss @@ -35,5 +35,7 @@ button { &[disabled] { background-color: var(--pal-ui-bg--disabled); } - -} \ No newline at end of file + .button-red { + background-color:red; + } +} diff --git a/style/element/section.scss b/style/element/section.scss index da1ef12..43c674f 100644 --- a/style/element/section.scss +++ b/style/element/section.scss @@ -1,3 +1,72 @@ section { - + flex-direction: column; + .card-row, .row { + display: flex; + flex-direction: row; + align-items: center; + width:100%; + } + .column-one-third-width { + width: 33.333%; + } + .column-two-thirds-width { + width: 66.666%; + } + .column-half-width { + width:50%; + } + .column-three-quarter-width { + width:75%; + } + .column-one-quarter-width { + width:25%; + } + .form-container { + width:50%; + } + .card { + width:100%; + text-align: center; + padding-top:2rem; + padding-bottom: 2rem; + margin-bottom:2rem; + border-radius: var(--theme-ui-border-radius); + transition: all 0.3s ease-in-out; + h3 { + font-size:1.75rem; + } + .small { + font-size:1rem; + } + &:last-of-type { + margin-right:0; + } + @media(min-width: $break-small) { + width:18.75%; + display:inline-block; + margin-right:1rem; + padding-top:1rem; + padding-bottom: 1rem; + &:last-of-type { + margin-right:0; + } + &:hover { + transform: scale(1.1); + } + .card-text { + padding-left:1rem; + padding-right:1rem; + } + h3 { + font-size:1.25rem; + } + } + } + .card-image { + width:50%; + } + .card-text { + padding-left:2rem; + padding-right:2rem; + } } diff --git a/style/page/_common.scss b/style/page/_common.scss index 528f264..2fe6e1b 100644 --- a/style/page/_common.scss +++ b/style/page/_common.scss @@ -1,5 +1,45 @@ body { >article { @extend %d-editorial-content, %d-typography, %o-container + } + .dark { + background-color: var(--pal-5); + color:var(--pal-6); + } + .light { + background-color: var(--pal-utility-light-1); + color:var(--pal-5); + } + .mustard { + background-color: var(--pal-8); + } + .red { + background-color: var(--pal-1); + color:var(--pal-5); + } + .light-blue { + background-color: var(--pal-2); + color:var(--pal-utility-dark-1); + } + >.article-fluid { + max-width:var(--size-page-width-fluid); + } + .iframe-container { + display: block; + position: relative; + overflow: hidden; + width: 100%; + padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */ + border-radius:1rem; + margin: 4rem auto; + } + .responsive-iframe { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + height: 100%; } } \ No newline at end of file diff --git a/style/page/index.scss b/style/page/index.scss index 33221de..5b2a0ce 100644 --- a/style/page/index.scss +++ b/style/page/index.scss @@ -1,3 +1,18 @@ body.uri--index { - + global-header { + file-uploader { + display: none; + } + margin-bottom:5rem; + } + .article-fluid { + margin:0 0; + padding-left:1rem; + padding-right:1rem; + display: block; + } + form#mc-form { + @extend %d-form-fields; + width:50%; + } } \ No newline at end of file diff --git a/style/variable/font.scss b/style/variable/font.scss index fe8710c..e2915ff 100644 --- a/style/variable/font.scss +++ b/style/variable/font.scss @@ -7,6 +7,7 @@ --font-size-base: 16px; --font-size-1: calc(var(--font-size-base) * 3); --font-size-2: calc(var(--font-size-1) * (1 / var(--size-golden-ratio))); + --font-size-small: calc(var(--font-size-base) * 0.8); @media(min-width: $break-small) { --font-size-base: 1rem; diff --git a/style/variable/size.scss b/style/variable/size.scss index 5f09f6a..7f46583 100644 --- a/style/variable/size.scss +++ b/style/variable/size.scss @@ -1,5 +1,5 @@ :root { --size-golden-ratio: 1.618; - + --size-page-width-fluid: #{$break-large}; --size-page-width: #{$break-medium}; }