diff options
| author | grothedev <grothedev@gmail.com> | 2026-01-09 20:02:23 -0500 |
|---|---|---|
| committer | grothedev <grothedev@gmail.com> | 2026-01-09 20:02:23 -0500 |
| commit | a8446acd5a32f43534260cbe16225cfa975e18f2 (patch) | |
| tree | d0a42bd9cb319758db803878523187978458c157 /resources | |
| parent | 57445d4ccbfe1cb190437c8f6b609fc83723b015 (diff) | |
Diffstat (limited to 'resources')
| -rw-r--r-- | resources/js/chunked-upload.js | 7 | ||||
| -rw-r--r-- | resources/views/files/upload.blade.php | 2 | ||||
| -rw-r--r-- | resources/views/home-simple.blade.php | 32 | ||||
| -rw-r--r-- | resources/views/home.blade.php | 49 | ||||
| -rw-r--r-- | resources/views/widgets/dunequotes.blade.php | 0 | ||||
| -rw-r--r-- | resources/views/widgets/readme.md | 5 | ||||
| -rw-r--r-- | resources/views/widgets/status.blade.php | 0 | ||||
| -rw-r--r-- | resources/views/widgets/template_widget.blade.php | 22 |
8 files changed, 106 insertions, 11 deletions
diff --git a/resources/js/chunked-upload.js b/resources/js/chunked-upload.js index 7688f01..c502187 100644 --- a/resources/js/chunked-upload.js +++ b/resources/js/chunked-upload.js @@ -74,12 +74,13 @@ class ChunkedUploader { async directUpload(file) { const formData = new FormData(); - formData.append('files[]', file); + formData.append('f[]', file); - const response = await axios.post('/files/upload', formData, { + const response = await axios.post('/f/upload', formData, { headers: { 'Content-Type': 'multipart/form-data', - 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content + 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content, + 'Accept': 'application/json' } }); diff --git a/resources/views/files/upload.blade.php b/resources/views/files/upload.blade.php index 41cf933..7d5fdd2 100644 --- a/resources/views/files/upload.blade.php +++ b/resources/views/files/upload.blade.php @@ -47,7 +47,7 @@ <strong>Choose Files</strong> </label> <input type="file" - name="files[]" + name="f[]" id="files" multiple accept=".{{ implode(',.', $allowedExtensions) }}" diff --git a/resources/views/home-simple.blade.php b/resources/views/home-simple.blade.php new file mode 100644 index 0000000..b5e4a3d --- /dev/null +++ b/resources/views/home-simple.blade.php @@ -0,0 +1,32 @@ +@extends('template') +@section('scripts') +<script type = "module" src = "/js/main.js"></script> +@endsection +@section('content') + +<section> + <h5>Shared Files</h5> + <p>Welcome</p> + <center> . . . </center> +</section> +<section id = "fileupload-js"> +</section> +<section id = "fileupload-nojs"> + <div class = "widget" > + <h4>File Upload</h4> + <h6><a href = "/f">Browse Uploaded Files</a></h6> + <form action="/f" method="POST" enctype="multipart/form-data"> + @csrf + @error('f') {{ $message }} @enderror + <input multiple name="f[]" type="file"> + <input hidden name = "response_format" value = "html" /> + <button type = "submit">Upload</button> + </form> + </div> +</section> + +<footer> + <p>Last updated December 28th, 2025</p> +</footer> +@endsection +</html> diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index b5e4a3d..57c782c 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -1,23 +1,25 @@ @extends('template') @section('scripts') <script type = "module" src = "/js/main.js"></script> +<script src = "js/hn.js" defer></script> @endsection @section('content') +<canvas id = "bg"> +</canvas> + <section> - <h5>Shared Files</h5> + <h5>December 2025</h5> <p>Welcome</p> <center> . . . </center> </section> -<section id = "fileupload-js"> -</section> <section id = "fileupload-nojs"> <div class = "widget" > <h4>File Upload</h4> - <h6><a href = "/f">Browse Uploaded Files</a></h6> - <form action="/f" method="POST" enctype="multipart/form-data"> + <h6><a href = "/f/browse">Browse Uploaded Files</a></h6> + <form action="/f/upload" method="POST" enctype="multipart/form-data"> @csrf - @error('f') {{ $message }} @enderror + @error('upload') {{ $message }} @enderror <input multiple name="f[]" type="file"> <input hidden name = "response_format" value = "html" /> <button type = "submit">Upload</button> @@ -25,8 +27,41 @@ </div> </section> +<section> + <div class="widget"> + <div class="widget-header"> + <h4>Hacker News</h4> + <button class="refresh-btn" onclick="refreshHackerNews()">↻</button> + </div> + <div class="search-container"> + <input + type="text" + class="search-input" + id="hn-search-input" + placeholder="Search Hacker News..." + onkeypress="if(event.key === 'Enter') searchHackerNews()" + > + <button class="search-btn" onclick="searchHackerNews()">Search</button> + <button class="clear-search-btn" onclick="clearHNSearch()" id="hn-clear-btn" style="display: none;">Clear</button> + </div> + <div class="sort-container"> + <button class="sort-btn active" onclick="setHNSort('top')" data-sort="top">Top</button> + <button class="sort-btn" onclick="setHNSort('new')" data-sort="new">New</button> + <button class="sort-btn" onclick="setHNSort('best')" data-sort="best">Best</button> + <button class="sort-btn" onclick="setHNSort('ask')" data-sort="ask">Ask HN</button> + <button class="sort-btn" onclick="setHNSort('show')" data-sort="show">Show HN</button> + </div> + <div class="widget-content" id="hackernews-feed"> + <div class="loading">Refresh feed to load hackernews posts</div> + </div> + </div> +</section> + +<section class = "widget" id = "dunechapterexcerpts" hx-get = "/dq" hx-trigger = "load,click" hx-swap = "innerHTML"> + <h4>random dune pre-chapter quote goes here (under construction)</h4> +</section> <footer> - <p>Last updated December 28th, 2025</p> + <p>Last updated December 25th, 2025</p> </footer> @endsection </html> diff --git a/resources/views/widgets/dunequotes.blade.php b/resources/views/widgets/dunequotes.blade.php new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/resources/views/widgets/dunequotes.blade.php diff --git a/resources/views/widgets/readme.md b/resources/views/widgets/readme.md new file mode 100644 index 0000000..93a9882 --- /dev/null +++ b/resources/views/widgets/readme.md @@ -0,0 +1,5 @@ +these are "widgets", or "frames", or "view components", little windows of html. + +it is assumed that they are being included (transcluded) into some html page where htmx has been included. + +each widget will report an error if the proper scripts are not included diff --git a/resources/views/widgets/status.blade.php b/resources/views/widgets/status.blade.php new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/resources/views/widgets/status.blade.php diff --git a/resources/views/widgets/template_widget.blade.php b/resources/views/widgets/template_widget.blade.php new file mode 100644 index 0000000..0673565 --- /dev/null +++ b/resources/views/widgets/template_widget.blade.php @@ -0,0 +1,22 @@ +@yield('widget') +<script type = "text/javascript"> + +//check to see if the necessary scripts are loaded +//htmx +if (htmx == undefined) { + console.warning("main.js not loaded"); +} +//jquery +if (window.mainLoaded) { + console.warning("main.js not loaded"); +} +//main.js +if (window.mainLoaded) { + console.warning("main.js not loaded"); +} + +</script> + +<script src="https://unpkg.com/htmx.org@2.0.1"></script> +<script src="https://unpkg.com/axios/dist/axios.min.js"></script> +<script src = "https://code.jquery.com/jquery-3.7.1.min.js"></script> |
