From 6c36fac3df85fcaff7d039197506c858de47dd72 Mon Sep 17 00:00:00 2001 From: Adrian Hopek Date: Wed, 12 Jan 2022 12:08:55 +0100 Subject: [PATCH] #11 - basic layout --- app/Http/Middleware/HandleInertiaRequests.php | 9 + public/img/logo.png | Bin 0 -> 6821 bytes public/img/logo.svg | 109 ++ resources/js/Pages/Dashboard.vue | 943 ++++++------------ resources/js/Shared/Layout.vue | 19 + resources/js/Shared/MainMenu.vue | 285 ++++++ resources/js/app.js | 14 +- resources/views/app.blade.php | 1 + tailwind.config.js | 14 + 9 files changed, 765 insertions(+), 629 deletions(-) create mode 100644 public/img/logo.png create mode 100644 public/img/logo.svg create mode 100644 resources/js/Shared/Layout.vue create mode 100644 resources/js/Shared/MainMenu.vue diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index c39bc7c..e76a753 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -12,6 +12,15 @@ class HandleInertiaRequests extends Middleware public function share(Request $request): array { return array_merge(parent::share($request), [ + "auth" => fn() => [ + "user" => [ + "name" => 'Chelsea Hagon', + "email" => 'chelseahagon@example.com', + "role" => 'Human Resources Manager', + "imageUrl" => + 'https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', + ], + ], "flash" => fn() => [ "success" => $request->session()->get("success"), "error" => $request->session()->get("error"), diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c6124b409d86ae91383ccae99ea4ccab8a06108c GIT binary patch literal 6821 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 T67{D2hN38^DqHr-^y9w(#OBGM literal 0 HcmV?d00001 diff --git a/public/img/logo.svg b/public/img/logo.svg new file mode 100644 index 0000000..c6b321d --- /dev/null +++ b/public/img/logo.svg @@ -0,0 +1,109 @@ + + + +image/svg+xml diff --git a/resources/js/Pages/Dashboard.vue b/resources/js/Pages/Dashboard.vue index b080cdb..f84cb24 100644 --- a/resources/js/Pages/Dashboard.vue +++ b/resources/js/Pages/Dashboard.vue @@ -1,681 +1,370 @@ diff --git a/resources/js/Shared/MainMenu.vue b/resources/js/Shared/MainMenu.vue new file mode 100644 index 0000000..97e7175 --- /dev/null +++ b/resources/js/Shared/MainMenu.vue @@ -0,0 +1,285 @@ + + + + diff --git a/resources/js/app.js b/resources/js/app.js index 1ef93aa..9cab07a 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1,14 +1,24 @@ import {createApp, h} from 'vue'; -import {createInertiaApp} from '@inertiajs/inertia-vue3'; +import {createInertiaApp, Head, Link} from '@inertiajs/inertia-vue3'; import {InertiaProgress} from '@inertiajs/progress'; +import Layout from '@/Shared/Layout'; createInertiaApp({ - resolve: name => require(`./Pages/${name}`), + resolve: name => { + const page = require(`./Pages/${name}`).default; + + page.layout = page.layout || Layout; + + return page; + }, setup({el, App, props, plugin}) { createApp({render: () => h(App, props)}) .use(plugin) + .component('InertiaLink', Link) + .component('InertiaHead', Head) .mount(el); }, + title: title => `${title} - Toby`, }); InertiaProgress.init(); diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 90d965c..2d9199a 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -3,6 +3,7 @@ + diff --git a/tailwind.config.js b/tailwind.config.js index 40210da..cda7b7e 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -9,6 +9,20 @@ module.exports = { fontFamily: { sans: ['Inter var', ...defaultTheme.fontFamily.sans], }, + colors: { + 'blumilk': { + '50': '#D5DFEE', + '100': '#C7D4E9', + '200': '#AABDDD', + '300': '#8CA7D1', + '400': '#6F90C6', + '500': '#527ABA', + '600': '#3C5F97', + '700': '#2C466F', + '800': '#1C2D47', + '900': '#0C141F' + }, + } }, }, plugins: [