Compare commits

..

8 Commits

Author SHA1 Message Date
9c682ea58d upd: registration
- added dd return if fail to register
2025-08-11 13:02:34 -04:00
24a0892160 fix: index
- fixed problem with files not pulling from server correct with MIME types
2025-08-11 13:00:55 -04:00
50f62535e6 fix: registration
- fixed account registration problem
2025-08-11 12:59:57 -04:00
abd2d93c90 upd: index
- simplified link to return home if logged in
2025-08-11 12:59:21 -04:00
3fdb7d4e09 upd: home
- update to pull sorted speaker and series
2025-08-11 12:58:11 -04:00
c822de468c upd: DefaultController
- add get for speakers and series sorted by name
2025-08-11 12:57:34 -04:00
f1fceff25a fix: dirty text
- add check for backspace key
2025-08-11 12:53:42 -04:00
f6b4aeea83 upd: scripts
- add check for escape key and input validation for new speaker and series
2025-08-11 12:53:03 -04:00
8 changed files with 62 additions and 42 deletions

View File

@@ -305,7 +305,12 @@ function newSpeaker() {
* @return {Promise} A Promise that resolves with the results of the fetch request.
*/
function saveSpeaker(event) {
if (event.keyCode == 13) {
if (event.keyCode == 27) {
document.querySelector('#newSpeaker').style.display = 'none';
document.querySelector('#speaker').style.display = 'inline-block';
document.querySelector('#speaker').value = 0;
}
if (event.keyCode == 13 && document.querySelector('#newSpeaker').value != '') {
fetch('/save-speaker', {
method: 'POST',
headers: {
@@ -352,7 +357,12 @@ function newSeries() {
* @return {Promise} A Promise that resolves with the response from the server.
*/
function saveSeries(event) {
if (event.keyCode == 13) {
if (event.keyCode == 27) {
document.querySelector('#newSeries').style.display = 'none';
document.querySelector('#series').style.display = 'inline-block';
document.querySelector('#series').value = 0;
}
if (event.keyCode == 13 && document.querySelector('#newSeries').value != '') {
fetch('/save-series', {
method: 'POST',
headers: {

View File

@@ -58,7 +58,7 @@ export function setEventListeners() {
document.querySelector('#notes').addEventListener('keyup', function (event) {
let key = event.keyCode;
if (key >= 48 && key <= 90 || key >= 96 && key <= 111 || key >= 186 && key <= 222) {
if (key == 8 || key >= 48 && key <= 90 || key >= 96 && key <= 111 || key >= 186 && key <= 222) {
textDirty = true;
document.querySelector('#note-header-left h2').classList.add('dirty');
}

View File

@@ -3,6 +3,35 @@
use App\Kernel;
if (file_exists(__DIR__.$_SERVER['REQUEST_URI']) && is_readable(__DIR__.$_SERVER['REQUEST_URI']) && is_file(__DIR__.$_SERVER['REQUEST_URI'])) {
$header = 'text/html';
if (substr($_SERVER['REQUEST_URI'], -4) == '.css')
$header = 'text/css';
elseif (substr($_SERVER['REQUEST_URI'], -3) == '.js')
$header = 'text/javascript';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.ico')
$header = 'image/x-icon';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.png')
$header = 'image/png';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.jpg')
$header = 'image/jpeg';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.gif')
$header = 'image/gif';
elseif (substr($_SERVER['REQUEST_URI'], -3) == '.wo' || substr($_SERVER['REQUEST_URI'], -6) == '.woff2')
$header = 'font/woff2';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.ttf')
$header = 'font/truetype';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.eot' || substr($_SERVER['REQUEST_URI'], -5) == '.ttf-')
$header = 'application/vnd.ms-fontobject';
elseif (substr($_SERVER['REQUEST_URI'], -4) == '.svg')
$header = 'image/svg+xml';
elseif (substr($_SERVER['REQUEST_URI'], -5) == '.json')
$header = 'application/json';
elseif (substr($_SERVER['REQUEST_URI'], -3) == '.otf')
$header = 'font/opentype';
elseif (substr($_SERVER['REQUEST_URI'], -5) == '.woff')
$header = 'font/woff';
print header("Content-Type: $header; charset=UTF-8");
print file_get_contents(__DIR__.$_SERVER['REQUEST_URI']);
exit;
}

View File

@@ -4,6 +4,8 @@ namespace App\Controller;
use App\Entity\Note;
use App\Entity\User;
use App\Entity\Speaker;
use App\Entity\Series;
use App\Entity\SharedNote;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -30,6 +32,8 @@ class DefaultController extends AbstractController
$last4Notes = $emi->getRepository(Note::class)->getLast4Notes($user);
$openNotes = $emi->getRepository(Note::class)->reverseNoteSort($user);
$meta = $user->getMetaData();
$speakers = $emi->getRepository(Speaker::class)->findBy(['user' => $user], ['name' => 'ASC']);
$series = $emi->getRepository(Series::class)->findBy(['user' => $user], ['name' => 'ASC']);
return $this->render('default/home.html.twig', [
//'onLoad' => 'initHome()',
@@ -37,6 +41,8 @@ class DefaultController extends AbstractController
'reverseNoteSort' => $openNotes,
'isAdmin' => $this->isGranted('ROLE_ADMIN'),
'meta' => $meta,
'speakers' => $speakers,
'series' => $series,
]);
}
@@ -72,7 +78,7 @@ class DefaultController extends AbstractController
$sharedWithMe = $emi->getRepository(SharedNote::class)->getNotesSharedWithMe($user);
$shared = $emi->getRepository(SharedNote::class)->getNotesSharedByMe($user);
dump($shared);
//dump($shared);
return $this->render('default/profile.html.twig', [
'onLoad' => 'rollUp("user");rollUp("settings")',

View File

@@ -50,6 +50,9 @@ class RegistrationController extends AbstractController
return $this->redirectToRoute('app_home');
}
else {
dd($form);
}
return $this->render('registration/register.html.twig', [
'registrationForm' => $form,

View File

@@ -115,7 +115,7 @@ let saveFailureCount = {{ meta.saveFailureCount }};
<select id="speaker" onchange='newSpeaker()'>
<option value=0>-- Speaker --</option>
<option value='new'>New Speaker</option>
{% for s in app.user.speakers %}
{% for s in speakers %}
<option value='{{ s.id }}'>{{ s.name }}</option>
{% endfor %}
</select>
@@ -123,7 +123,7 @@ let saveFailureCount = {{ meta.saveFailureCount }};
<select id="series" onchange='newSeries()'>
<option value=0>-- Series --</option>
<option value='new'>New Series</option>
{% for s in app.user.series %}
{% for s in series %}
<option value='{{ s.id }}'>{{ s.name }}</option>
{% endfor %}
</select>

View File

@@ -24,15 +24,9 @@
<div id='main'>
<div class='inner'>
<header id="header">
{% if app.user %}
<a href='/home' class='logo'>
<a href='/{% if app.user %}home{% endif %}' class='logo'>
<img src='{{ asset('images/vecteezy_notes-icon-in-trendy-flat-style-isolated-on-white_29722382.jpg') }}' style='width:60px;'/>
</a>
{% else %}
<a href="/" class="logo">
<img src=' {{ asset('images/vecteezy_notes-icon-in-trendy-flat-style-isolated-on-white_29722382.jpg') }}' style='width:60px;'/>
</a>
{% endif %}
</header>
<!-- Banner -->

View File

@@ -27,41 +27,19 @@
{{ form_errors(registrationForm) }}
{{ form_start(registrationForm) }}
{{ form_row(registrationForm.name) }}
{{ form_row(registrationForm.email) }}
<label for='registration_form_name' class='form-label'>Name</label>
<input type='text' name='{{ field_name(registrationForm.name) }}' id='registration_form_name' class='form-control' required='required'/>
<label for='registration_form_email' class='form-label'>Email</label>
<input type='text' name='{{ field_name(registrationForm.email) }}' id='registration_form_email' class='form-control' required='required'/>
{{ form_row(registrationForm.plainPassword, {
label: 'Password'
}) }}
<button type='submit' class='btn' id='register-btn'>Register</button>
{{ form_end(registrationForm) }}
<!--
<form action="/register" method="post" id='registration-form'>
<input type="hidden" name="_csrf_token" id="csrfToken"
value="{{ csrf_token('authenticate') }}"
>
<fieldset>
<legend>Login Information</legend>
<div class="input-container">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
</div>
<div class="input-container">
<label for="emailAddress">Email Address:</label>
<input type="email" id="emailAddress" name="email" required>
</div>
<div class="input-container">
<label for="password">Password:</label>
<input type="password" id="password" name="plainPassword" required>
</div>
<div class="input-container">
<label for="confirmPassword">Confirm Password:</label>
<input type="password" id="confirmPassword" name="confirmPassword" required>
</div>
</fieldset>
<button id='register-btn'>Register</button>
<input type="submit" value="Register" />
</form>-->
</div>
{% endblock %}