summaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorgrothedev <grothedev@gmail.com>2026-01-09 20:02:23 -0500
committergrothedev <grothedev@gmail.com>2026-01-09 20:02:23 -0500
commita8446acd5a32f43534260cbe16225cfa975e18f2 (patch)
treed0a42bd9cb319758db803878523187978458c157 /resources
parent57445d4ccbfe1cb190437c8f6b609fc83723b015 (diff)
stuff from claude. good point to commit.HEADmain
Diffstat (limited to 'resources')
-rw-r--r--resources/js/chunked-upload.js7
-rw-r--r--resources/views/files/upload.blade.php2
-rw-r--r--resources/views/home-simple.blade.php32
-rw-r--r--resources/views/home.blade.php49
-rw-r--r--resources/views/widgets/dunequotes.blade.php0
-rw-r--r--resources/views/widgets/readme.md5
-rw-r--r--resources/views/widgets/status.blade.php0
-rw-r--r--resources/views/widgets/template_widget.blade.php22
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>