Merge branch 'master' into 'production'

Master

See merge request Romulus21/portal!58
This commit is contained in:
Romain Delanoë
2020-07-26 20:22:39 +00:00
31 changed files with 2135 additions and 846 deletions

10
.idea/php.xml generated
View File

@@ -90,8 +90,6 @@
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" /> <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" />
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" /> <path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" /> <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-color" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" /> <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" /> <path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" /> <path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
@@ -112,6 +110,14 @@
<path value="$PROJECT_DIR$/vendor/laravel/passport" /> <path value="$PROJECT_DIR$/vendor/laravel/passport" />
<path value="$PROJECT_DIR$/vendor/spatie/laravel-web-tinker" /> <path value="$PROJECT_DIR$/vendor/spatie/laravel-web-tinker" />
<path value="$PROJECT_DIR$/vendor/intervention/image" /> <path value="$PROJECT_DIR$/vendor/intervention/image" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php70" />
<path value="$PROJECT_DIR$/vendor/symfony/string" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/vendor/ramsey/collection" />
<path value="$PROJECT_DIR$/vendor/brick/math" />
</include_path> </include_path>
</component> </component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" /> <component name="PhpProjectSharedConfiguration" php_language_level="7.2" />

10
.idea/portal.iml generated
View File

@@ -6,6 +6,7 @@
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" /> <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/asm89/stack-cors" /> <excludeFolder url="file://$MODULE_DIR$/vendor/asm89/stack-cors" />
<excludeFolder url="file://$MODULE_DIR$/vendor/brick/math" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" /> <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/defuse/php-encryption" /> <excludeFolder url="file://$MODULE_DIR$/vendor/defuse/php-encryption" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dnoegel/php-xdg-base-dir" /> <excludeFolder url="file://$MODULE_DIR$/vendor/dnoegel/php-xdg-base-dir" />
@@ -27,8 +28,6 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" /> <excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" /> <excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/intervention/image" /> <excludeFolder url="file://$MODULE_DIR$/vendor/intervention/image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-color" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laminas/laminas-diactoros" /> <excludeFolder url="file://$MODULE_DIR$/vendor/laminas/laminas-diactoros" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laminas/laminas-zendframework-bridge" /> <excludeFolder url="file://$MODULE_DIR$/vendor/laminas/laminas-zendframework-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" /> <excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
@@ -72,6 +71,7 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" /> <excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" /> <excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" /> <excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/collection" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/uuid" /> <excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/uuid" />
<excludeFolder url="file://$MODULE_DIR$/vendor/scrivo/highlight.php" /> <excludeFolder url="file://$MODULE_DIR$/vendor/scrivo/highlight.php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" /> <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
@@ -90,6 +90,7 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/swiftmailer/swiftmailer" /> <excludeFolder url="file://$MODULE_DIR$/vendor/swiftmailer/swiftmailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
@@ -99,14 +100,19 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-iconv" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-iconv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php73" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php73" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/psr-http-message-bridge" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/psr-http-message-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/string" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" /> <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />

2401
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -17,29 +17,29 @@
"cross-env": "^7.0", "cross-env": "^7.0",
"eslint": "^6.8.0", "eslint": "^6.8.0",
"eslint-config-standard": "^14.1.1", "eslint-config-standard": "^14.1.1",
"eslint-loader": "^3.0.3", "eslint-loader": "^3.0.4",
"eslint-plugin-import": "^2.20.2", "eslint-plugin-import": "^2.22.0",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1", "eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1", "eslint-plugin-standard": "^4.0.1",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^6.2.2",
"laravel-mix": "^5.0.1", "laravel-mix": "^5.0.1",
"laravel-mix-eslint": "^0.1.3", "laravel-mix-eslint": "^0.1.3",
"laravel-mix-purgecss": "^5.0.0-rc.2", "laravel-mix-purgecss": "^5.0.0",
"lodash": "^4.17.13", "lodash": "^4.17.19",
"resolve-url-loader": "^2.3.1", "resolve-url-loader": "^2.3.1",
"sass": "^1.20.1", "sass": "^1.26.10",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.0",
"vue": "^2.5.17", "vue": "^2.5.17",
"vue-router": "^3.1.6", "vue-router": "^3.3.4",
"vue-template-compiler": "^2.6.10", "vue-template-compiler": "^2.6.10",
"vuex": "^3.1.3" "vuex": "^3.5.1"
}, },
"dependencies": { "dependencies": {
"dropzone": "^5.7.0", "dropzone": "^5.7.2",
"laravel-mix-svg-vue": "^0.2.6", "laravel-mix-svg-vue": "^0.2.6",
"markdown-it": "^10.0.0", "markdown-it": "^10.0.0",
"markdown-it-checkbox": "^1.1.0", "markdown-it-checkbox": "^1.1.0",
"tailwindcss": "^1.3.5" "tailwindcss": "^1.5.2"
} }
} }

View File

@@ -4,6 +4,12 @@
* Released under the MIT License. * Released under the MIT License.
*/ */
/*!
* vuex v3.5.1
* (c) 2020 Evan You
* @license MIT
*/
/*! https://mths.be/punycode v1.4.1 by @mathias */ /*! https://mths.be/punycode v1.4.1 by @mathias */
/** /**
@@ -14,9 +20,3 @@
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/ */
/**
* vuex v3.1.3
* (c) 2020 Evan You
* @license MIT
*/

View File

@@ -4,7 +4,7 @@
<div v-if="authUser" class="w-full overflow-y-auto"> <div v-if="authUser" class="w-full overflow-y-auto">
<TopBar /> <TopBar />
<main> <main>
<router-view :key="$route.fullPath"></router-view> <router-view :key="$route.fullPath" class="bg-gray-200"></router-view>
</main> </main>
</div> </div>
</div> </div>

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="relative mb-2"> <div class="relative mb-2">
<label v-if="label" :for="name" class="pb-2 font-bold text-xl ml-1">{{ label }}</label> <label v-if="label" :for="name" class="pb-2 font-bold text-xl ml-1">{{ label }}</label>
<input :id="name" :type="type" :placeholder="placeholder" v-model="value" @input="updateField()" :class="'w-full rounded p-2 ' + classes + ' ' + errorClassObject()"> <input :id="name" :type="type" :placeholder="placeholder" v-model="value" @input="updateField()" :class="'w-full p-2 ' + classes + ' ' + errorClassObject()">
<p class="text-red-600 m-0" v-text="errorMessage()">Error Here</p> <p class="text-red-600 m-0" v-text="errorMessage()">Error Here</p>
</div> </div>
</template> </template>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="top-bar flex justify-between bg-gray-600"> <div class="top-bar relative z-10 flex justify-between bg-marine h-16">
<router-link v-if="authUser" :to="'/profile'" class="flex items-center m-2"> <router-link v-if="authUser" :to="'/profile'" class="flex items-center m-2">
<Avatar :avatar="authUser.data.attributes.thumbnail_cover_image.data.attributes.path" size="small" :alt="authUser.data.attributes.name" class="w-10 h-10"/> <Avatar :avatar="authUser.data.attributes.thumbnail_cover_image.data.attributes.path" size="small" :alt="authUser.data.attributes.name" class="w-10 h-10"/>
<span class="ml-2 text-gray-100 hover:text-white">{{ authUser.data.attributes.name }}</span> <span class="ml-2 text-gray-100 hover:text-white">{{ authUser.data.attributes.name }}</span>
@@ -11,7 +11,7 @@
</button> </button>
</form> </form>
<router-link to="/dashboard" v-if="authUser" class="text-gray-100 hover:text-white"> <router-link to="/dashboard" v-if="authUser" class="text-gray-100 hover:text-white">
<svg-vue icon="params" class="w-10 m-2 fill-current" /> <svg-vue icon="params" class="w-10 m-3 fill-current" />
</router-link> </router-link>
<router-link v-else to="/login"> <router-link v-else to="/login">
Se connecter Se connecter

View File

@@ -1,14 +1,10 @@
<template> <template>
<div> <div>
<div class="m-2"> <div class="card block">
<div class="card"> <h2>Raspberry Links</h2>
<div class="text-black m-2 p-2 flex flex-col"> <ul class="mt-2">
<h2>Raspberry Links</h2> <li><a v-for="(link, index) in links" :href="link.link" :key="index" target="_blank" class="block text-lg">{{ link.name }}</a></li>
<ul class="mt-2"> </ul>
<li><a v-for="(link, index) in links" :href="link.link" :key="index" target="_blank" class="block text-lg">{{ link.name }}</a></li>
</ul>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -1,25 +1,21 @@
<template> <template>
<div> <div>
<div class="m-2"> <div class="card flex flex-col">
<div class="card"> <h2>Météo Home</h2>
<div class="text-black m-2 p-2 flex flex-col"> <ul class="mt-2">
<h2>Météo Home</h2> <li v-for="(captor, index) in captors" :key="index" class="block mb-4">
<ul class="mt-2"> <div class="flex justify-between items-baseline mb-2">
<li v-for="(captor, index) in captors" :key="index" class="block mb-4"> <span class="font-bold text-lg">{{ captor.device }}</span>
<div class="flex justify-between items-baseline mb-2"> <span class="text-sm">{{ captor.date_meteo }}</span>
<span class="font-bold text-lg">{{ captor.device }}</span> </div>
<span class="text-sm">{{ captor.date_meteo }}</span> <div class="flex flex-no-wrap text-sm -m-1">
</div> <span v-if="captor.temperature" class="mx-1">{{ floated(captor.temperature) }} <span class="font-semibold text-xs">°C</span></span>
<div class="flex flex-no-wrap text-sm -m-1"> <span v-if="captor.humidite" class="mx-1">{{ floated(captor.humidite) }} <span class="font-semibold text-xs">%</span></span>
<span v-if="captor.temperature" class="mx-1">{{ floated(captor.temperature) }} <span class="font-semibold text-xs">°C</span></span> <span v-if="captor.pression" class="mx-1">{{ floated(captor.pression) }} <span class="font-semibold text-xs">hPa</span></span>
<span v-if="captor.humidite" class="mx-1">{{ floated(captor.humidite) }} <span class="font-semibold text-xs">%</span></span> <span v-if="captor.lumiere" class="mx-1">{{ captor.lumiere }}</span>
<span v-if="captor.pression" class="mx-1">{{ floated(captor.pression) }} <span class="font-semibold text-xs">hPa</span></span> </div>
<span v-if="captor.lumiere" class="mx-1">{{ captor.lumiere }}</span> </li>
</div> </ul>
</li>
</ul>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -1,68 +1,175 @@
<template> <template>
<div class="m-2 p-2 bg-white"> <div class="mx-2 p-2">
<h1>testeur CSS</h1> <div class="flex flex-wrap -mx-2">
<h2>testeur CSS</h2> <div class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<h3>testeur CSS</h3> <div class="card bg-marine text-white shadow">
<h4>testeur CSS</h4> <div class="flex flex-col justify-between h-full">
<h5>testeur CSS</h5> <div class="text-xl">Active Users</div>
<h6>testeur CSS</h6> <div class="text-3xl font-bold">72</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p> <div class="mt-4">
<p>Lorem ipsum dolor sit amet, <strong>consectetur adipiscing elit</strong>, sed do <italic>eiusmod tempor incididunt</italic> ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p> <a href="#" class="text-white hover:text-marine-light uppercase">View Refferals -></a>
<div class="py-4"> </div>
<a href="#" class="btn">Boutton</a>
<a href="#" class="btn-primary">Boutton primary</a>
<a href="#" class="btn-secondary">Boutton secondary</a>
<a href="#" class="btn-alert">Boutton alert</a>
<a href="#" class="btn-success">Button success</a>
</div>
<div class="py-4">
<a href="#" class="btn"><svg-vue icon="arrow" />Boutton</a>
<a href="#" class="btn-primary"><svg-vue icon="interrogation" />Boutton primary</a>
<a href="#" class="btn-secondary"><svg-vue icon="params" />Boutton secondary</a>
<a href="#" class="btn-alert"><svg-vue icon="close" />Boutton alert</a>
<a href="#" class="btn-success"><svg-vue icon="games" />Button success</a>
</div>
<div class="py-4">
<a href="#" class="btn svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-primary svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-secondary svg rounded-full"><svg-vue icon="close" /></a>
<a href="#" class="btn-alert svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-success svg"><svg-vue icon="close" /></a>
</div>
<form>
<label class="mb-1">Test label</label>
<input type="text" placeholder="Test placeholder" class="mb-1">
<input type="number" class="mb-1">
<div>
<input type="checkbox" class="mb-1">
<label>Check me !</label>
</div>
<div>
<label class="custom-label flex">
<div class="bg-white shadow w-6 h-6 p-1 flex justify-center items-center mr-2">
<input type="checkbox" class="hidden" checked>
<div class="hidden check rounded-sm w-4 h-4 bg-gray-700 pointer-events-none"></div>
</div> </div>
<span class="select-none"> This is a sample checkbox. All the text will toggle the state</span> </div>
</label>
</div> </div>
<div> <div class="w-full sm:w-1/2 md:w-2/3 lg:w-3/4 mb-4">
<label class="custom-label flex"> <div class="card">
<div class="bg-white shadow w-6 h-6 p-1 flex justify-center items-center mr-2"> <div class="flex justify-between">
<input type="checkbox" class="hidden" checked> <span>Users</span>
<svg class="hidden w-4 h-4 text-green-600 pointer-events-none" viewBox="0 0 172 172"><g fill="none" stroke-width="none" stroke-miterlimit="10" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode:normal"><path d="M0 172V0h172v172z"/><path d="M145.433 37.933L64.5 118.8658 33.7337 88.0996l-10.134 10.1341L64.5 139.1341l91.067-91.067z" fill="currentColor" stroke-width="1"/></g></svg> <span class="flex-none text-green text-sm">268 %</span>
</div> </div>
<span class="select-none"> This is a sample checkbox. All the text will toggle the state</span> <div class="text-2xl font-bold">15K</div>
</label> </div>
</div> </div>
<select class="mb-1"> </div>
<option>test 1</option> <div class="flex flex-wrap -mx-2">
<option>test 2</option> <div class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<option>test 3</option> <div class="card">
</select> <div class="flex justify-between">
<textarea cols="30" rows="10" class="mb-1">Texte exemple</textarea> <span>Users</span>
<input type="submit" class="mb-1"> <span class="flex-none text-green text-sm">268 %</span>
</form> </div>
<div class="text-2xl font-bold">15K</div>
</div>
</div>
<div class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="flex justify-between">
<span>Sessions</span>
<span class="flex-none text-green text-sm">268 %</span>
</div>
<div class="text-2xl font-bold">17K</div>
</div>
</div>
<div class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="flex justify-between items-start">
<span>Bouncing Rate</span>
<span class="flex-none text-red text-sm">- 158 %</span>
</div>
<div class="text-2xl font-bold">62.7 %</div>
</div>
</div>
<div class="flex-initial sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="flex justify-between">
<span>Session duration best of</span>
<span class="flex-none text-green text-sm">189 %</span>
</div>
<div class="text-2xl font-bold">1 m 32 s</div>
</div>
</div>
<div class="flex-initial sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="flex justify-between">
<span>Session duration best of</span>
<span class="flex-none text-green text-sm">189 %</span>
</div>
<div class="text-2xl font-bold">1 m 32 s</div>
</div>
</div>
<div class="flex-initial sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="-m-4">
<img src="https://portal.bricooli.fr/storage/images/default-cover.jpg" alt="" class="w-full rounded rounded-b-none">
</div>
<div class="h-full flex flex-col mt-6">
<h1 class="text-xl text-marine">Memo Name test</h1>
<span class="mt-auto self-end bg-gray-400 text-white tag">Il y a 3 mois</span>
</div>
</div>
</div>
<div class="flex-initial sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="-m-4">
<img src="https://portal.bricooli.fr/storage/images/default-cover.jpg" alt="" class="w-full rounded rounded-b-none">
</div>
<div class="h-full flex flex-col mt-6">
<h1 class="text-xl text-marine">Memo Name test</h1>
<p class="no-indent">Anim consequat duis culpa in anim aliquip dolore amet laboris eu fugiat commodo reprehenderit aute amet velit sit culpa et proident irure pariatur</p>
<span class="mt-auto self-end bg-gray-400 text-white tag">Il y a 3 mois</span>
</div>
</div>
</div>
<div class="flex-initial sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4">
<div class="card">
<div class="-m-4">
<img src="https://portal.bricooli.fr/storage/images/default-cover.jpg" alt="" class="w-full rounded rounded-b-none">
</div>
<div class="h-full flex flex-col mt-6">
<h1 class="text-xl text-marine">Memo Name test</h1>
<p class="no-indent">Anim consequat duis culpa in anim aliquip dolore amet laboris eu fugiat commodo reprehenderit</p>
<span class="mt-auto self-end bg-gray-400 text-white tag">Il y a 3 mois</span>
</div>
</div>
</div>
</div>
<div class="box">
<h1>testeur CSS</h1>
<h2>testeur CSS</h2>
<h3>testeur CSS</h3>
<h4>testeur CSS</h4>
<h5>testeur CSS</h5>
<h6>testeur CSS</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
<p>Lorem ipsum dolor sit amet, <strong>consectetur adipiscing elit</strong>, sed do <italic>eiusmod tempor incididunt</italic> ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
<div class="py-4">
<a href="#" class="btn">Boutton</a>
<a href="#" class="btn-primary">Boutton primary</a>
<a href="#" class="btn-secondary">Boutton secondary</a>
<a href="#" class="btn-alert">Boutton alert</a>
<a href="#" class="btn-success">Button success</a>
</div>
<div class="py-4">
<a href="#" class="btn"><svg-vue icon="arrow" />Boutton</a>
<a href="#" class="btn-primary"><svg-vue icon="interrogation" />Boutton primary</a>
<a href="#" class="btn-secondary"><svg-vue icon="params" />Boutton secondary</a>
<a href="#" class="btn-alert"><svg-vue icon="close" />Boutton alert</a>
<a href="#" class="btn-success"><svg-vue icon="games" />Button success</a>
</div>
<div class="py-4">
<a href="#" class="btn svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-primary svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-secondary svg rounded-full"><svg-vue icon="close" /></a>
<a href="#" class="btn-alert svg"><svg-vue icon="close" /></a>
<a href="#" class="btn-success svg"><svg-vue icon="close" /></a>
</div>
<form>
<label class="mb-1">Test label</label>
<input type="text" placeholder="Test placeholder" class="mb-1">
<input type="number" class="mb-1">
<div>
<input type="checkbox" class="mb-1">
<label>Check me !</label>
</div>
<div>
<label class="custom-label flex">
<div class="bg-white shadow w-6 h-6 p-1 flex justify-center items-center mr-2">
<input type="checkbox" class="hidden" checked>
<div class="hidden check rounded-sm w-4 h-4 bg-gray-700 pointer-events-none"></div>
</div>
<span class="select-none"> This is a sample checkbox. All the text will toggle the state</span>
</label>
</div>
<div>
<label class="custom-label flex">
<div class="bg-white shadow w-6 h-6 p-1 flex justify-center items-center mr-2">
<input type="checkbox" class="hidden" checked>
<svg class="hidden w-4 h-4 text-green-600 pointer-events-none" viewBox="0 0 172 172"><g fill="none" stroke-width="none" stroke-miterlimit="10" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode:normal"><path d="M0 172V0h172v172z"/><path d="M145.433 37.933L64.5 118.8658 33.7337 88.0996l-10.134 10.1341L64.5 139.1341l91.067-91.067z" fill="currentColor" stroke-width="1"/></g></svg>
</div>
<span class="select-none"> This is a sample checkbox. All the text will toggle the state</span>
</label>
</div>
<select class="mb-1">
<option>test 1</option>
<option>test 2</option>
<option>test 3</option>
</select>
<textarea cols="30" rows="10" class="mb-1">Texte exemple</textarea>
<input type="submit" class="mb-1">
</form>
</div>
</div> </div>
</template> </template>

View File

@@ -1,12 +1,14 @@
<template> <template>
<div class="p-4"> <div class="mx-2 p-2">
<div class="flex justify-between"> <div class="box">
<h1 class="page-title">Administration</h1> <div class="flex justify-between">
<a href="#" @click.prevent="logout" class="btn"> <h1 class="page-title">Administration</h1>
<svg-vue icon="logout" /> Déconnexion <a href="#" @click.prevent="logout" class="btn">
</a> <svg-vue icon="logout" /> Déconnexion
</a>
</div>
<UserAdmin />
</div> </div>
<UserAdmin />
</div> </div>
</template> </template>

View File

@@ -1,11 +1,10 @@
<template> <template>
<div class="p-4"> <div class="mx-2 p-2">
<h1 class="page-title">Home</h1> <div class="flex flex-wrap -mx-2">
<div class="flex flex-wrap -m-2 mt-2"> <OpenWeatherCard class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 mb-4" />
<OpenWeatherCard class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" /> <MemoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/3 mb-4" />
<MemoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" /> <AutomaticLinksHome class="w-full sm:w-1/2 md:w-1/3 lg:w-5/12 mb-4" />
<AutomaticLinksHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" /> <AutomaticMeteoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/3 mb-4" />
<AutomaticMeteoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
</div> </div>
</div> </div>
</template> </template>

View File

@@ -1,12 +1,12 @@
<template> <template>
<div class="p-4"> <div class="mx-2 p-2">
<form @submit.prevent="submitForm"> <div class="flex justify-between flex-center mb-4">
<div class="flex justify-between flex-center mb-4"> <router-link to="/memos/" class="btn">Back</router-link>
<router-link to="/memos/" class="btn">Back</router-link> <button class="btn-primary">Add New Memo</button>
<button class="btn-primary">Add New Memo</button> </div>
</div> <form @submit.prevent="submitForm" class="box">
<InputField name="name" label="Title" placeholder="Your Title" required @update:field="form.name = $event" :errors="errors" /> <InputField name="name" label="Title" placeholder="Your Title" required @update:field="form.name = $event" :errors="errors" />
<TextAreaField class="" name="memo" placeholder="Your Memo" required @update:field="form.memo = $event" :errors="errors" /> <TextAreaField name="memo" placeholder="Your Memo" required @update:field="form.memo = $event" :errors="errors" />
</form> </form>
</div> </div>
</template> </template>

View File

@@ -13,12 +13,12 @@
classes="cover" classes="cover"
:alt="form.name"/> :alt="form.name"/>
</div> </div>
<div class="p-4"> <div class="mx-2 p-2">
<form @submit.prevent="submitForm">
<div class="flex justify-between mb-4"> <div class="flex justify-between mb-4">
<router-link :to="'/memos/' + this.$route.params.id" class="btn">Back</router-link> <router-link :to="'/memos/' + this.$route.params.id" class="btn">Back</router-link>
<button class="btn-primary">Save</button> <button class="btn-primary">Save</button>
</div> </div>
<form @submit.prevent="submitForm" class="box">
<InputField name="name" :data="form.name" label="Title" placeholder="Your Title" required @update:field="form.name = $event" :errors="errors" /> <InputField name="name" :data="form.name" label="Title" placeholder="Your Title" required @update:field="form.name = $event" :errors="errors" />
<TextAreaField class="memo-text-area" name="memo" :data="form.memo" placeholder="Your Memo" required @update:field="form.memo = $event" :errors="errors" /> <TextAreaField class="memo-text-area" name="memo" :data="form.memo" placeholder="Your Memo" required @update:field="form.memo = $event" :errors="errors" />
</form> </form>

View File

@@ -1,21 +1,21 @@
<template> <template>
<div> <div>
<div class="card m-2"> <div class="card">
<div v-if="loading" class="p-2"> <div v-if="loading">
<h2>Memos</h2> <h2>Memos</h2>
<Loader /> <Loader />
</div> </div>
<div v-else class="p-2"> <div v-else>
<router-link to="/memos"><h2 class="mb-4 text-gray-900">{{ memos.count }} Memos</h2></router-link> <router-link to="/memos" class="mb-4 no-underline"><h2>{{ memos.count }} Memos</h2></router-link>
<router-link :to="memos.last_updated.links.self" class="m-2 block"> <router-link :to="memos.last_updated.links.self" class="m-2 block no-underline">
<div class="flex justify-between text-black"> <div class="flex justify-between text-black">
Dernier édité Dernier édité
<span class="inline-block bg-gray-400 text-white text-center rounded-full px-3 py-1 text-sm font-semibold">{{ memos.last_updated.data.last_updated }}</span> <span class="inline-block bg-gray-400 text-white text-center rounded-full px-3 py-1 text-sm font-semibold">{{ memos.last_updated.data.last_updated }}</span>
</div> </div>
<div class="text-2xl font-bold">{{ memos.last_updated.data.name }}</div> <div class="text-2xl font-bold">{{ memos.last_updated.data.name }}</div>
</router-link> </router-link>
<hr class="border border-gray-900"> <hr class="border border-marine">
<router-link :to="memos.last_created.links.self" class="m-2 block"> <router-link :to="memos.last_created.links.self" class="m-2 block no-underline">
<div class="flex justify-between text-black"> <div class="flex justify-between text-black">
Dernier créé Dernier créé
<span class="inline-block bg-gray-400 text-white text-center rounded-full px-3 py-1 text-sm font-semibold">{{ memos.last_created.data.last_updated }}</span> <span class="inline-block bg-gray-400 text-white text-center rounded-full px-3 py-1 text-sm font-semibold">{{ memos.last_created.data.last_updated }}</span>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="p-4"> <div class="mx-2 p-2">
<div class="flex justify-between flex-center mb-4"> <div class="flex justify-between flex-center mb-4">
<a href="#" class="btn" @click="$router.back()">Back</a> <a href="#" class="btn" @click="$router.back()">Back</a>
<router-link :to="'/memos/create'" class="btn-primary">Add New Memo</router-link> <router-link :to="'/memos/create'" class="btn-primary">Add New Memo</router-link>
@@ -9,14 +9,14 @@
<div v-if="memos.lenght === 0"> <div v-if="memos.lenght === 0">
<p>No memos yet. <router-link to="/memos/create">Get Started ></router-link></p> <p>No memos yet. <router-link to="/memos/create">Get Started ></router-link></p>
</div> </div>
<router-link v-for="memo in memos" :key="memo.data.memo_id" :to="'/memos/' + memo.data.memo_id" class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4"> <router-link v-for="memo in memos" :key="memo.data.memo_id" :to="'/memos/' + memo.data.memo_id" class="flex-initial sm:mx-auto md:w-1/2 md:mx-0 lg:w-1/3 xl:w-1/4 mb-4 no-underline">
<div class="m-2 max-w-lg rounded overflow-hidden shadow-lg bg-white"> <div class="card">
<img :src="memo.data.attributes.thumbnail_cover_image.data.attributes.path" alt="" class="w-full"> <div class="-m-4">
<div class="px-6 py-4"> <img :src="memo.data.attributes.thumbnail_cover_image.data.attributes.path" alt="" class="w-full rounded rounded-b-none">
<h1 class="text-gray-700">{{ memo.data.name }}</h1>
</div> </div>
<div class="flex justify-end py-2"> <div class="h-full flex flex-col mt-6">
<span class="inline-block bg-gray-400 text-white rounded-full px-3 py-1 text-sm font-semibold mr-2">{{ memo.data.last_updated }}</span> <h1 class="text-xl text-marine">{{ memo.data.name }}</h1>
<span class="mt-auto self-end bg-gray-400 text-white tag">{{ memo.data.last_updated }}</span>
</div> </div>
</div> </div>
</router-link> </router-link>

View File

@@ -30,7 +30,7 @@
<!-- <TagBox :memo="memo" />--> <!-- <TagBox :memo="memo" />-->
<div class="p-4"> <div class="p-4">
<div class="memo-style rounded-t-sm p-4 pb-3 -mb-1 bg-white" v-html="memoMarkdown"></div> <div class="box memo-style rounded-t-sm p-4 pb-3 -mb-1 bg-white" v-html="memoMarkdown"></div>
<div class="bg-gray-400 text-white rounded-b-sm px-2 py-1 flex justify-end">@last update<span class="font-semibold ml-1">{{ memo.last_updated }}</span></div> <div class="bg-gray-400 text-white rounded-b-sm px-2 py-1 flex justify-end">@last update<span class="font-semibold ml-1">{{ memo.last_updated }}</span></div>
</div> </div>
</div> </div>

View File

@@ -3,21 +3,19 @@
<div v-if="loading"> <div v-if="loading">
<Loader /> <Loader />
</div> </div>
<div v-else class="m-2"> <div v-else class="card">
<div class="card"> <div class="flex flex-col">
<div class="text-black m-2 p-2 flex flex-col"> <h2>{{ meteo.city.name }}</h2>
<h2>{{ meteo.city.name }}</h2> <div class="flex">
<div class="flex"> <div class="flex flex-col justify-end">
<div class="flex flex-col justify-end"> <div>{{ dateFormat(meteo.list[0].dt_txt) }}</div>
<div>{{ dateFormat(meteo.list[0].dt_txt) }}</div> <div><strong>{{ meteo.list[0].main.temp }}</strong> °C</div>
<div><strong>{{ meteo.list[0].main.temp }}</strong> °C</div> <div><strong>{{ meteo.list[0].main.humidity }}</strong> %</div>
<div><strong>{{ meteo.list[0].main.humidity }}</strong> %</div> <div><strong>{{ meteo.list[0].main.pressure }}</strong> hPa</div>
<div><strong>{{ meteo.list[0].main.pressure }}</strong> hPa</div> </div>
</div> <div class="flex flex-col flex-1 justify-end items-end">
<div class="flex flex-col flex-1 justify-end items-end"> <i v-bind:class="'current-fill text-marine owf owf-5x owf-' + meteo.list[0].weather[0].id"></i>
<i v-bind:class="'owf owf-5x owf-' + meteo.list[0].weather[0].id"></i> <div><strong>{{ meteo.list[0].weather[0].description }}</strong></div>
<div><strong>{{ meteo.list[0].weather[0].description }}</strong></div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -15,7 +15,7 @@
<input type="text" <input type="text"
v-model="toDo.data.attributes.data.name" v-model="toDo.data.attributes.data.name"
@keypress.enter="updateToDo" @keypress.enter="updateToDo"
class="flex-1 rounded-sm border border-primary-600 pl-1"> class="flex-1 rounded-sm border border-primary-600 p-0 pl-1">
<span @click="edit = !edit"> <span @click="edit = !edit">
<svg-vue icon="close" class="inline w-4 fill-current cursor-pointer mx-2" /> <svg-vue icon="close" class="inline w-4 fill-current cursor-pointer mx-2" />
</span> </span>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="p-4"> <div class="mx-2 p-2">
<div v-if="modal" class="modal-container" @click="modal = ! modal"></div> <div v-if="modal" class="modal-container" @click="modal = ! modal"></div>
<div v-if="modal" class="modal px-2"> <div v-if="modal" class="modal px-2">
<p class="m-2 text-center">Add a new to-do list ?</p> <p class="m-2 text-center">Add a new to-do list ?</p>
@@ -22,8 +22,8 @@
:key="index" :key="index"
:to="'/to-do-lists/' + toDoList.data.to_do_list_id" :to="'/to-do-lists/' + toDoList.data.to_do_list_id"
:to-do-list="toDoList" :to-do-list="toDoList"
class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" > class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 no-underline" >
<div class="bg-gray-300 rounded text-black m-2 p-2"> <div class="rounded bg-white text-black m-2 p-2">
<div class="flex justify-between"> <div class="flex justify-between">
<span class="font-bold">{{ toDoList.data.attributes.data.name }}</span> <span class="font-bold">{{ toDoList.data.attributes.data.name }}</span>
<span> <span>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="px-4 py-2"> <div class="mx-2 p-2">
<div v-if="modal" class="modal-container" @click="modal = ! modal"></div> <div v-if="modal" class="modal-container" @click="modal = ! modal"></div>
<div v-if="modal" class="modal"> <div v-if="modal" class="modal">
<p class="m-2 text-center">Are you sure you want to delete this list ?</p> <p class="m-2 text-center">Are you sure you want to delete this list ?</p>
@@ -12,15 +12,18 @@
<router-link to="/to-do-lists/" class="btn">Back</router-link> <router-link to="/to-do-lists/" class="btn">Back</router-link>
<a href="#" class="btn-alert" @click="modal = ! modal">Delete</a> <a href="#" class="btn-alert" @click="modal = ! modal">Delete</a>
</div> </div>
<div v-if="!loading" class="bg-gray-400 rounded p-1"> <div v-if="!loading" class="bg-marine-medium rounded p-1">
<h1 class="mb-2 ml-2 todo" > <h1 class="mb-2 ml-2 h-10 todo text-white flex items-center" >
<span v-if="!listNameEdit" class="text-2xl font-bold flex items-center">{{ toDoList.data.attributes.data.name }} <span v-if="!listNameEdit" class="text-2xl font-bold flex items-center">{{ toDoList.data.attributes.data.name }}
<span @click="listNameEdit = !listNameEdit"> <span @click="listNameEdit = !listNameEdit">
<svg-vue icon="edit" class="edit-icon inline w-4 fill-current cursor-pointer ml-2" /> <svg-vue icon="edit" class="edit-icon inline w-4 fill-current cursor-pointer ml-2" />
</span> </span>
</span> </span>
<span v-else class="flex items-center"> <span v-else class="flex items-center">
<input type="text" class="p-1 rounded-sm mt-1 -ml-1" v-model="listName" @keydown.enter="updateList"> <input type="text"
class="px-1 py-0 text-2xl text-white font-bold bg-marine-medium rounded-sm -ml-1"
v-model="listName"
@keydown.enter="updateList">
<span @click="listNameEdit = !listNameEdit"> <span @click="listNameEdit = !listNameEdit">
<svg-vue icon="close" class="inline w-4 fill-current cursor-pointer ml-2" /> <svg-vue icon="close" class="inline w-4 fill-current cursor-pointer ml-2" />
</span> </span>

View File

@@ -25,6 +25,11 @@
<h1 class="relative z-10 text-white text-shadow text-3xl left-80 bottom-0">{{ authUser.data.attributes.name }}</h1> <h1 class="relative z-10 text-white text-shadow text-3xl left-80 bottom-0">{{ authUser.data.attributes.name }}</h1>
</div> </div>
</div> </div>
<div class="m-2">
<div class="box">
Texte
</div>
</div>
</div> </div>
</template> </template>

View File

@@ -7,6 +7,11 @@
:alt="user.attributes.name"/> :alt="user.attributes.name"/>
</div> </div>
<h1>{{ user.attributes.name }}</h1> <h1>{{ user.attributes.name }}</h1>
<div class="m-2">
<div class="box">
Texte
</div>
</div>
</div> </div>
</template> </template>

View File

@@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<div v-if="authUser.data.attributes.is_admin"> <div v-if="authUser.data.attributes.is_admin">
<div class="box-toggle"> <div class="-mx-4 box-toggle">
<div class="box-toggle-header" @click="userAddToggle = !userAddToggle"> <div class="box-toggle-header" @click="userAddToggle = !userAddToggle">
<h2 class="mb-1">Ajouter un membre</h2> <h2 class="mb-1">Ajouter un membre</h2>
<svg-vue icon="arrow" v-bind:class="{ open: userAddToggle }" /> <svg-vue icon="arrow" v-bind:class="{ open: userAddToggle }" />
@@ -28,7 +28,7 @@
</form> </form>
</transition> </transition>
</div> </div>
<div class="mb-2 box-toggle"> <div class="-mx-4 mb-2 box-toggle">
<div class="box-toggle-header" @click="userListToggle = !userListToggle"> <div class="box-toggle-header" @click="userListToggle = !userListToggle">
<h2>Liste des utilisateurs</h2> <h2>Liste des utilisateurs</h2>
<svg-vue icon="arrow" v-bind:class="{ open: userListToggle }" /> <svg-vue icon="arrow" v-bind:class="{ open: userListToggle }" />

View File

@@ -1,3 +1,40 @@
h1,
h2,
h3,
h4 {
@apply font-bold;
}
h1 {
@apply text-4xl;
}
h2 {
@apply text-3xl;
}
h3 {
@apply text-2xl;
}
h4 {
@apply text-xl;
}
p {
@apply mb-2 mt-1;
text-indent: 2rem;
}
input,
textarea {
@apply border py-2 px-4 rounded;
}
textarea {
@apply ;
}
.text-shadow { .text-shadow {
text-shadow: 1px 1px 2px #000; text-shadow: 1px 1px 2px #000;
} }
@@ -33,3 +70,11 @@
.min-h-16 { .min-h-16 {
min-height: 4rem; min-height: 4rem;
} }
.indent {
text-indent: 2rem;
}
.no-indent {
text-indent: unset;
}

View File

@@ -1,7 +1,7 @@
// Button // Button
.btn { .btn {
@apply border border-transparent inline-block bg-gray-600 text-white font-semibold whitespace-no-wrap py-2 px-4 shadow-sm rounded cursor-pointer; @apply border border-transparent inline-block bg-gray-600 text-white font-semibold whitespace-no-wrap py-2 px-4 shadow-sm rounded cursor-pointer no-underline;
&:hover { &:hover {
@apply text-white bg-gray-800 transition-all duration-300; @apply text-white bg-gray-800 transition-all duration-300;

View File

@@ -5,10 +5,10 @@
} }
a { a {
@apply text-gray-700; @apply text-marine underline;
&:hover { &:hover {
@apply text-gray-900; @apply text-marine;
} }
} }
@@ -27,10 +27,9 @@ a {
} }
.box-toggle { .box-toggle {
@apply shadow;
&-header { &-header {
@apply flex justify-between items-center px-4 py-2 text-white bg-gray-800 font-bold cursor-pointer; @apply flex justify-between items-center px-4 py-2 text-white bg-marine font-bold cursor-pointer;
svg { svg {
@apply w-8 fill-current; @apply w-8 fill-current;
@@ -53,7 +52,7 @@ a {
} }
.card { .card {
@apply bg-gray-300 rounded text-black; @apply bg-white rounded m-2 p-4 h-full flex flex-col justify-between;
svg { svg {
@apply max-w-full max-h-48 max-w-48 m-auto fill-current; @apply max-w-full max-h-48 max-w-48 m-auto fill-current;
@@ -63,3 +62,11 @@ a {
@apply text-2xl text-center font-bold; @apply text-2xl text-center font-bold;
} }
} }
.box {
@apply bg-white rounded p-4 my-2;
}
.tag {
@apply inline-block rounded-full px-3 py-1 text-sm font-semibold;
}

View File

@@ -1,10 +1,10 @@
nav { nav {
@apply w-48 h-screen bg-gray-800 flex flex-col justify-between shadow; @apply w-48 h-screen bg-marine flex flex-col justify-between shadow;
transition: width 0.3s; transition: width 0.3s;
svg { svg {
@apply fill-current text-gray-300 w-12 p-2; @apply fill-current text-white w-12 p-2;
transition: color 0.3s; transition: color 0.3s;
&:hover { &:hover {
@@ -13,7 +13,7 @@ nav {
} }
.logo { .logo {
@apply block; @apply block text-white;
svg { svg {
@apply w-40 m-2; @apply w-40 m-2;
@@ -22,7 +22,7 @@ nav {
} }
.nav-item { .nav-item {
@apply flex items-center text-gray-100; @apply flex items-center text-white;
transition: background-color 0.3s; transition: background-color 0.3s;
span { span {

View File

@@ -1,34 +1,6 @@
.memo-style { .memo-style {
h1,
h2,
h3,
h4 {
@apply font-bold;
}
h1 {
@apply text-4xl;
}
h2 {
@apply text-3xl;
}
h3 {
@apply text-2xl;
}
h4 {
@apply text-xl;
}
p {
@apply mb-2 mt-1;
text-indent: 2rem;
}
pre, pre,
code { code {
@apply bg-gray-700 text-white p-1; @apply bg-gray-700 text-white p-1;

5
tailwind.config.js vendored
View File

@@ -8,6 +8,11 @@ module.exports = {
}, },
extend: { extend: {
colors: { colors: {
marine: {
light: '#364f80',
medium:'#2e446e',
default: '#223251',
},
cyan: '#9cdbff', cyan: '#9cdbff',
green: { green: {
light: '#333', light: '#333',