Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added public/assets/images/faces/dom_graziano.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/images/faces/eric_molitor.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/images/faces/milan_mimra.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/images/faces/nathan_page.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions resources/css/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ h1 {
}

@media (max-width: 575.98px) {
font-size: 1.7em;
font-size: 1.8em;
}

&.main-title {
Expand All @@ -168,11 +168,11 @@ h1 {

@media (max-width: 767.98px) {
line-height: 1.3em;
font-size: 3em;
font-size: 2.8em;
}

@media (max-width: 575.98px) {
font-size: 2.2em;
font-size: 2em;
}
}
}
Expand Down Expand Up @@ -330,7 +330,7 @@ h4 {
}

@media (max-width: 750px) {
h1 {
h1:not(.main-title) {
font-size: 1.5em;
line-height: 1.5em;
}
Expand Down Expand Up @@ -534,10 +534,10 @@ label.required:before {

#company_logos {
img {
max-width: 16%;
max-width: 11em;
opacity: 60%;
transition-duration: .3s;
padding: 0 .7em;
padding: .5em 1.6em .5em 0;

flex: 1 1 10%;

Expand Down
2 changes: 1 addition & 1 deletion resources/js/app.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import './bootstrap'
// import './bootstrap'

import $ from 'jquery'
window.$ = $
Expand Down
109 changes: 65 additions & 44 deletions resources/views/_snippets/javascripts.blade.php
Original file line number Diff line number Diff line change
@@ -1,59 +1,80 @@
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

@isset ($codeMirror)
{{--<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>--}}

{{-- live code highligh in demo --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/addon/edit/matchbrackets.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/xml/xml.min.js"></script>
@isset ($codeMirror)
{{-- live code highligh in demo --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/addon/edit/matchbrackets.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/xml/xml.min.js"></script>

{{-- php --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/clike/clike.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/php/php.min.js"></script>
{{-- php --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/clike/clike.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/php/php.min.js"></script>

{{-- diff --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/diff/diff.min.js"></script>
{{-- diff --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.28.0/mode/diff/diff.min.js"></script>

{{-- @see https://codemirror.net/mode/ --}}
{{-- @see https://codemirror.net/mode/ --}}

<script type="text/javascript">
$('.codemirror_php').each(function(index, elem){
CodeMirror.fromTextArea(elem, {
mode: 'application/x-httpd-php',
indentUnit: 4,
matchBrackets: true,
inputStyle: 'contenteditable',
viewportMargin: Infinity,
<script type="text/javascript">
$('.codemirror_php').each(function(index, elem){
CodeMirror.fromTextArea(elem, {
mode: 'application/x-httpd-php',
indentUnit: 4,
matchBrackets: true,
inputStyle: 'contenteditable',
viewportMargin: Infinity,
});
});
});
$('.codemirror_diff').each(function(index, elem){
CodeMirror.fromTextArea(elem, {
mode: 'text/x-diff',
lineSeparator: "\n",
indentUnit: 4,
matchBrackets: true,
viewportMargin: Infinity,
$('.codemirror_diff').each(function(index, elem){
CodeMirror.fromTextArea(elem, {
mode: 'text/x-diff',
lineSeparator: "\n",
indentUnit: 4,
matchBrackets: true,
viewportMargin: Infinity,
});
});
});
</script>
</script>
@endisset


@if (in_array(request()->route()->action['controller'], [\App\Controller\Demo\DemoController::class, \App\Controller\Demo\DemoDetailController::class]))

{{-- demo from on click submit "in progress..." effect --}}
<script type="text/javascript">
var formState = null;
{{-- demo from on click submit "in progress..." effect --}}
<script type="text/javascript">
var formState = null;
$('.btn-demo-submit').on('click', function (event) {
event.preventDefault();
$('.btn-demo-submit').on('click', function (event) {
event.preventDefault();
if (formState !== 'submitted') {
formState = 'submitted';
if (formState !== 'submitted') {
formState = 'submitted';
$(this).addClass('disabled').attr('disabled', 'disabled');
$(this).prepend('<em class="fas fa-sync-alt fa-spin"></em>&nbsp;&nbsp;&nbsp;');
$(this).closest('form').submit();
$(this).addClass('disabled').attr('disabled', 'disabled');
$(this).prepend('<span class="spinner"></span>&nbsp;&nbsp;');
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed demo button on submit:

Screenshot From 2025-04-30 22-41-07

$(this).closest('form').submit();
}
});
</script>

<style>
.spinner {
display: inline-block;
width: 16px;
height: 16px;
border: 2px solid #fff; /* Adjust color as needed */
border-top: 2px solid transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
});
</script>
@endisset
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
</style>

@endif
4 changes: 2 additions & 2 deletions resources/views/_snippets/layout/footer.blade.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<div id="footer">
<div class="container pt-1">
<div class="row">
<div class="col-6 col-md-3 mt-1">
<div class="col-6 col-md-4 mt-1">
<a href="http://github.com/rectorphp/rector" class="p-2">
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="30" height="30" viewBox="0 0 30 30">
<path d="M15,3C8.373,3,3,8.373,3,15c0,5.623,3.872,10.328,9.092,11.63C12.036,26.468,12,26.28,12,26.047v-2.051 c-0.487,0-1.303,0-1.508,0c-0.821,0-1.551-0.353-1.905-1.009c-0.393-0.729-0.461-1.844-1.435-2.526 c-0.289-0.227-0.069-0.486,0.264-0.451c0.615,0.174,1.125,0.596,1.605,1.222c0.478,0.627,0.703,0.769,1.596,0.769 c0.433,0,1.081-0.025,1.691-0.121c0.328-0.833,0.895-1.6,1.588-1.962c-3.996-0.411-5.903-2.399-5.903-5.098 c0-1.162,0.495-2.286,1.336-3.233C9.053,10.647,8.706,8.73,9.435,8c1.798,0,2.885,1.166,3.146,1.481C13.477,9.174,14.461,9,15.495,9 c1.036,0,2.024,0.174,2.922,0.483C18.675,9.17,19.763,8,21.565,8c0.732,0.731,0.381,2.656,0.102,3.594 c0.836,0.945,1.328,2.066,1.328,3.226c0,2.697-1.904,4.684-5.894,5.097C18.199,20.49,19,22.1,19,23.313v2.734 c0,0.104-0.023,0.179-0.035,0.268C23.641,24.676,27,20.236,27,15C27,8.373,21.627,3,15,3z"></path>
Expand Down Expand Up @@ -32,7 +32,7 @@
</p>
</div>

<div class="col-12 col-md-7 mt-5 mt-md-0">
<div class="col-12 col-md-8 mt-5 mt-md-0">
<div class="navbar">
<ul class="navbar-nav">
@include('_snippets/menu_items', ['includeFooterLinks' => true])
Expand Down
157 changes: 147 additions & 10 deletions resources/views/_snippets/menu.blade.php
Original file line number Diff line number Diff line change
@@ -1,25 +1,162 @@
<style>
/* Hamburger icon */
.hamburger {
display: none; /* Hidden by default */
flex-direction: column;
justify-content: space-between;
width: 30px;
height: 20px;
cursor: pointer;
z-index: 1001;
}

.hamburger span {
width: 100%;
height: 4px;
background: #fff; /* Match navbar-dark */
transition: all 0.3s ease;
}

#menu-toggle {
display: none;
}

#menu-toggle:checked + .hamburger span:nth-child(1) {
transform: rotate(45deg) translate(6px, 6px);
}

#menu-toggle:checked + .hamburger span:nth-child(2) {
opacity: 0;
}

#menu-toggle:checked + .hamburger span:nth-child(3) {
transform: rotate(-45deg) translate(8px, -8px);
}

/* Mobile sliding menu */
.mobile-menu {
position: fixed;
top: 0;
left: -250px;
width: 250px;
height: 100%;
background: #343a40; /* Match navbar-dark */
transition: left 0.3s ease;
padding-top: 60px;
z-index: 1000;
}

#menu-toggle:checked ~ .mobile-menu {
left: 0;
}

.mobile-menu ul {
list-style: none;
padding: 0;
margin: 0;
margin-top: 1em;
}

.mobile-menu li {
padding: .8em 1.7em;
}

.mobile-menu a {
color: #fff;
text-decoration: none;
font-size: 1.3em;
}

.mobile-menu a:hover {
color: #ccc;
}

.mobile-menu-logo img {
max-width: 10em;
margin-right: 1em;
}

/* Mobile styles */
@media (max-width: 768px) {
.hamburger {
display: flex;
/*position: absolute;*/
top: 20px;
left: 20px;
}

.navbar-toggler,
.navbar-collapse {
display: none; /* Hide desktop menu and toggler */
}

.navbar {
position: relative;
top: 0;
width: 100%;
z-index: 999;
}
}

/* Desktop styles: hide hamburger and mobile menu */
@media (min-width: 769px) {
.mobile-menu-logo,
.hamburger,
.mobile-menu,
#menu-toggle {
display: none;
}

/* Ensure desktop navbar is always expanded */
.navbar-collapse {
display: flex !important;
}
}
</style>

<nav class="navbar navbar-expand-md navbar-dark bg-dark mobile-fixed-top">
<div class="container">
<button class="navbar-toggler ms-2 ms-md-0" type="button" data-toggle="collapse"
data-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- CSS-only hamburger menu -->
<input type="checkbox" id="menu-toggle">
<label for="menu-toggle" class="hamburger mt-3 mb-3">
<span></span>
<span></span>
<span></span>
</label>

<div class="mobile-menu-logo">
<a href="{{ action(\App\Controller\HomepageController::class) }}">
<img src="/assets/images/new-logo/rector-logo-white-homepage-title.png" alt="Rector logo">
</a>
</div>

<!-- Mobile sliding menu -->
<div class="mobile-menu">


<ul>

@include('_snippets/menu_items')
<li>
<a href="http://github.com/rectorphp/rector" class="nav-link">
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="30" height="30" viewBox="0 0 30 30">
<path d="M15,3C8.373,3,3,8.373,3,15c0,5.623,3.872,10.328,9.092,11.63C12.036,26.468,12,26.28,12,26.047v-2.051 c-0.487,0-1.303,0-1.508,0c-0.821,0-1.551-0.353-1.905-1.009c-0.393-0.729-0.461-1.844-1.435-2.526 c-0.289-0.227-0.069-0.486,0.264-0.451c0.615,0.174,1.125,0.596,1.605,1.222c0.478,0.627,0.703,0.769,1.596,0.769 c0.433,0,1.081-0.025,1.691-0.121c0.328-0.833,0.895-1.6,1.588-1.962c-3.996-0.411-5.903-2.399-5.903-5.098 c0-1.162,0.495-2.286,1.336-3.233C9.053,10.647,8.706,8.73,9.435,8c1.798,0,2.885,1.166,3.146,1.481C13.477,9.174,14.461,9,15.495,9 c1.036,0,2.024,0.174,2.922,0.483C18.675,9.17,19.763,8,21.565,8c0.732,0.731,0.381,2.656,0.102,3.594 c0.836,0.945,1.328,2.066,1.328,3.226c0,2.697-1.904,4.684-5.894,5.097C18.199,20.49,19,22.1,19,23.313v2.734 c0,0.104-0.023,0.179-0.035,0.268C23.641,24.676,27,20.236,27,15C27,8.373,21.627,3,15,3z"></path>
</svg>
</a>
</li>
</ul>
</div>

<!-- Original desktop navbar (kept untouched) -->
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<ul class="navbar-nav me-auto text-start text-md-center">
<li class="nav-item me-0 me-md-3 mb-1 mb-md-0" id="top_right_logo">
<a href="{{ action(\App\Controller\HomepageController::class) }}">
<img src="/assets/images/new-logo/rector-logo-white-homepage-title.png" alt="Rector logo">
</a>
</li>

@include('_snippets/menu_items')
</ul>
</div>

<div>
<ul class="navbar-nav me-auto text-md-center">
<li class="nav-item">
<a href="http://github.com/rectorphp/rector" class="nav-link">
Expand Down
Loading