From d862ae7856930bbab71dd9f52872ba422ba0925c Mon Sep 17 00:00:00 2001 From: WebDevNerdStuff Date: Wed, 15 Mar 2023 18:34:41 -0700 Subject: [PATCH 01/17] Fixed import --- src/plugin/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugin/index.ts b/src/plugin/index.ts index 9f8d36a..6fb7ab7 100644 --- a/src/plugin/index.ts +++ b/src/plugin/index.ts @@ -1 +1 @@ -export { default as CodeBlock } from '@/plugin/CodeBlock'; +export { default as CodeBlock } from '@/plugin/CodeBlock.vue'; From 940f808775e1f8e33cb29edbf0af7fbec0e6ab30 Mon Sep 17 00:00:00 2001 From: WebDevNerdStuff Date: Thu, 16 Mar 2023 13:07:40 -0700 Subject: [PATCH 02/17] Removing old file --- src/plugin/theme/neon-bunny-original.css | 312 ----------------------- 1 file changed, 312 deletions(-) delete mode 100644 src/plugin/theme/neon-bunny-original.css diff --git a/src/plugin/theme/neon-bunny-original.css b/src/plugin/theme/neon-bunny-original.css deleted file mode 100644 index b78f98b..0000000 --- a/src/plugin/theme/neon-bunny-original.css +++ /dev/null @@ -1,312 +0,0 @@ -/** - * MIT License - * Copyright (c) 2023 WebDevNerdStuff - * WebDevNerdStuff Neon Bunny - * VSCode Theme: https://marketplace.visualstudio.com/items?itemName=WebDevNerdStuff.neon-bunny - */ - -code[class*="language-"], -pre[class*="language-"] { - color: #fff; - font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - font-size: 1em; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, -pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, -code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: rgba(29, 59, 83, 0.99); -} - -pre[class*="language-"]::selection, -pre[class*="language-"] ::selection, -code[class*="language-"]::selection, -code[class*="language-"] ::selection { - text-shadow: none; - background: #ffffff15; -} - -@media print { - - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - color: white; - background: #000000; -} - -:not(pre) > code[class*="language-"] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.cdata { - color: #7f817e; - font-style: italic; -} - -.token.punctuation { - color: #0b93ff; -} - -.namespace { - color: #ffcb6b; -} - -.token.deleted { - color: #ff5370; -} - -.token.symbol, -.token.property { - color: #ff1190; -} - -.token.keyword { - color: #0B93FF; -} - - -.token.tag, -.token.operator { - color: #2492ff; -} - -.token.boolean { - color: #2492FF; -} - -.token.number { - color: #fff; -} - -.token.constant { - color: #2bb71d; -} - -.token.function { - color: #0aff04; -} - -.token.builtin { - color: #ea03ff; -} - -.token.char { - color: #ff1190; -} - -.token.attr-name { - color: #c792ea; -} - -.token.inserted { - color: #c3e88d; -} - -.token.string { - color: #ffb46a; -} - -.token.url { - color: #e58100; - text-decoration: underline; -} - -.token.entity { - color: #ffcb6b; -} - -.language-css .token.string, -.style .token.string { - color: #2bb71d; - font-style: italic; -} - -.token.class-name, -.token.atrule, -.token.attr-value { - color: #FFCB6B; -} - -.token.regex { - color: #ffe4a6; -} - -.token.variable { - color: #2bb71d; -} - -.token.important { - color: #ff3229; - font-style: italic; -} - -.token.bold { - font-weight: bold; -} - -.token.italic { - font-style: italic; -} - -/* CSS */ -.language-css { - color: #C792EA !important; -} - -.language-css .token.atrule { - color: #fff; -} - -.language-css .token.atrule .token.rule { - color: #0B93FF; -} - -.language-css .token.selector { - color: #B2FF02; -} - -.language-css .token.property { - color: #ff1190; -} - -.language-css .token.punctuation { - color: #fff; -} - -.language-css .token.function { - color: #E58100; -} - -/* JavaScript */ -.language-javascript, -.language-js { - color: #2BB71D !important; - font-style: italic; -} - -.language-javascript span, -.language-js span { - font-style: normal; -} - -.language-javascript .token.punctuation, -.language-js .token.punctuation { - color: #fff; -} - -.language-javascript .token.keyword, -.language-js .token.keyword { - color: #0B93FF; -} - -.language-javascript .token.operator, -.language-js .token.operator { - color: #2492FF; - font-style: italic; -} - -.language-javascript .token.literal-property.property, -.language-js .token.literal-property.property { - color: #00FF00; - font-style: italic; -} - -/* HTML */ -.language-html .token.attr-name { - color: #00D205; -} - -.language-html .token.attr-value { - color: #FFB46A; -} - -.language-html .token.attr-value .token.punctuation { - color: #FFB46A; -} - -/* PHP */ -.language-php .token.keyword { - color: #0B93FF; -} - -.language-php .token.class-name { - color: #80FCFF; -} - -.language-php .token.class-name-definition.class-name { - color: #DF00DF; -} - -.language-php .token.operator { - color: #EA03FF; -} - -.language-php .token.variable, -.language-php .token.property { - color: #D285CC; -} - -.language-php .token.boolean { - color: #0B93FF; -} - -.language-php .token.punctuation { - color: #fff; -} - -.language-php .token.package { - color: #FFCB6B; -} - -.language-php .token.string.single-quoted-string { - color: #FEF611; -} - -.language-php .token.string.double-quoted-string { - color: #FF6F5B; -} - -.language-php .token.keyword.type-hint { - color: #AAAAAA; - font-style: italic; -} - -.language-php .token.keyword.type-hint, -.language-php .token.class-name.return-type { - color: #AAAAAA; - font-style: italic; -} From 747a8ac40326631b75fa831c472f00532a1927ff Mon Sep 17 00:00:00 2001 From: WebDevNerdStuff Date: Thu, 16 Mar 2023 13:09:26 -0700 Subject: [PATCH 03/17] Moved dirs and updated paths. Added module version of the style sheets --- src/components/Examples/LangExamples.vue | 2 +- src/plugin/CodeBlock.vue | 4 +- src/plugin/themes/index.js | 886 ++++++++++++++++++ .../{theme => themes}/neon-bunny-carrot.css | 0 src/plugin/{theme => themes}/neon-bunny.css | 0 5 files changed, 889 insertions(+), 3 deletions(-) create mode 100644 src/plugin/themes/index.js rename src/plugin/{theme => themes}/neon-bunny-carrot.css (100%) rename src/plugin/{theme => themes}/neon-bunny.css (100%) diff --git a/src/components/Examples/LangExamples.vue b/src/components/Examples/LangExamples.vue index f4834f1..5733b3b 100644 --- a/src/components/Examples/LangExamples.vue +++ b/src/components/Examples/LangExamples.vue @@ -79,7 +79,7 @@ diff --git a/src/components/Examples/LangExamples.vue b/src/components/Examples/LangExamples.vue index 5733b3b..2c4b43f 100644 --- a/src/components/Examples/LangExamples.vue +++ b/src/components/Examples/LangExamples.vue @@ -79,7 +79,7 @@ - - diff --git a/src/components/Examples/TestingExamples.vue b/src/components/Examples/TestingExamples.vue index 3be88de..7bc4f6a 100644 --- a/src/components/Examples/TestingExamples.vue +++ b/src/components/Examples/TestingExamples.vue @@ -53,120 +53,112 @@ const jsonExample = `{ }`; const phpExample = ` -namespace App\\Http\\Controllers\\API; - -use App\\Http\\Controllers\\ApiController; -use App\\Http\\Controllers\\Menu\\MenuItemController; -use App\\Http\\Resources\\API\\Menu as MenuApiResource; -use App\\Http\\Resources\\API\\PlatformUser as PlatformUserResource; -use App\\Models\\Menu\\Menu; -use App\\Models\\Menu\\MenuItem; -use App\\Models\\Platform\\Platform; -use App\\Models\\User\\User; - -class MenuController extends ApiController +getPlatform($platform)->id; - - if (!$platformId) - { - return $this->errorResponse("Please provide a valid Platform Name or ID.", 400); - } - else - { - if (!$menuName) - { - return $this->errorResponse("Please provide a Menu name.", 400); - } - else - { - $menu = (new Menu)->getPlatformMenuByName($menuName, $platformId); - - if (!$menu) - { - return $this->errorResponse("Menu '$menuName' does not exist.", 404); - } - else - { - $menu = new MenuApiResource($menu); - } - } - } + $users = User::get(); - return $this->successResponse(compact('menu')); + return Inertia::render('Users/Index', [ + 'currentPage' => 'Site Options', + 'users' => $users, + ]); } /** - * ------------------------------------------------------ GET Platform Menu Items - * - * @param string $platformName - * @param string $menuName - * @return \\Illuminate\\Http\\Response + * Store User. * */ - public function getPlatformMenuItems($platform, $menuName, $userId) + public function store(StoreUserRequest $request): JsonResponse { - $menu = []; - $platformId = (new Platform)->getPlatform($platform)?->id; + $validated = $request->validated(); - if (!$platformId) - { - return $this->errorResponse("Please provide a valid Platform Name or ID.", 400); - } + $user = [ + 'name' => $validated['name'], + 'email' => $validated['email'], + ]; - $menu = (new Menu)->getPlatformMenuByName($menuName, $platformId); + $user = User::create($user); + + $response = [ + 'err' => !$user, + 'msg' => $user ? 'success' : 'error', + 'user' => new UserResource($user), + ]; + + return response()->json($response); + } - if (!$menu->id) - { - return $this->errorResponse("Menu '$menuName' does not exist.", 404); - } - unset($menu->platform); + /** + * Update User + */ + public function update(UpdateUserRequest $request, User $userModel): JsonResponse + { + $validated = $request->validated(); + $user = $userModel->withTrashed()->find($validated['id']); - $user = User::find($userId); + $user->updated_by = auth()->id(); - if (!$user) + if ($validated['deletedAt'] === 'activate') { - return $this->errorResponse("Please provide a valid User ID", 400); + $user->restore(); } + else + { + $user->name = $validated['name']; + $user->email = $validated['email']; - $platform = (object) ['id' => $platformId]; - $user = (new PlatformUserResource($user, $platform))->resolve(); + $user->update($validated); + } - $menuItemsArray = []; - $menuItems = MenuItem::select('id', 'parent_menu_item_id', 'weight', 'name', 'link', 'target', 'icon_class') - ->with('menuItemRoles') - ->where('menu_id', $menu->id) - ->orderBy('parent_menu_item_id', 'ASC') - ->get() - ->toArray(); + $response = [ + 'err' => !$user, + 'msg' => $user ? 'success' : 'error', + 'siteOption' => new UserResource($user), + ]; - foreach ($menuItems as $key => $item) - { - foreach ($item['menu_item_roles'] as $role) - { - if (in_array($role['slug'], $user['roles_slugs'])) - { - array_push($menuItemsArray, $item); - break; - } - } - } + return response()->json($response); + } - $menu->menuItems = (new MenuItemController)->buildMenuTree($menuItemsArray); - return $this->successResponse(compact('menu')); + + /** + * Remove User + */ + public function destroy(DestroyUserRequest $request, User $userModel): JsonResponse + { + $validated = $request->validated(); + $user = $userModel->findOrFail($validated['id']); + + $user->updated_by = auth()->id(); + + $results = $user->delete(); + + return response()->json([ + 'err' => !$results, + 'status' => $results ? 'success' : 'error', + 'siteOption' => new UserResource($user), + ]); } } `; @@ -174,12 +166,7 @@ class MenuController extends ApiController // function handleCopyStatus(status) { // console.log('handleCopyStatus', status); // } - - diff --git a/src/components/Layout/FooterBar.vue b/src/components/Layout/FooterBar.vue new file mode 100644 index 0000000..6956981 --- /dev/null +++ b/src/components/Layout/FooterBar.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/components/Layout/NavBar.vue b/src/components/Layout/NavBar.vue index 393185b..daf5a0e 100644 --- a/src/components/Layout/NavBar.vue +++ b/src/components/Layout/NavBar.vue @@ -21,7 +21,7 @@ class="nav-link active" href="/vue3-code-block/" > - Home +