diff --git a/_ide_helper.php b/_ide_helper.php
index e0a9fa0..79d0cd2 100644
--- a/_ide_helper.php
+++ b/_ide_helper.php
@@ -12965,47 +12965,58 @@ public static function setConnectionName($name)
}
/**
- * Release a reserved job back onto the queue after (n) seconds.
+ * Get the number of queue jobs that are ready to process.
*
- * @param string $queue
- * @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job
- * @param int $delay
- * @return mixed
+ * @param string|null $queue
+ * @return int
* @static
*/
- public static function release($queue, $job, $delay)
+ public static function readyNow($queue = null)
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
- return $instance->release($queue, $job, $delay);
+ /** @var \Laravel\Horizon\RedisQueue $instance */
+ return $instance->readyNow($queue);
+ }
+
+ /**
+ * Migrate the delayed jobs that are ready to the regular queue.
+ *
+ * @param string $from
+ * @param string $to
+ * @return void
+ * @static
+ */
+ public static function migrateExpiredJobs($from, $to)
+ {
+ /** @var \Laravel\Horizon\RedisQueue $instance */
+ $instance->migrateExpiredJobs($from, $to);
}
/**
* Delete a reserved job from the queue.
*
* @param string $queue
- * @param string $id
+ * @param \Illuminate\Queue\Jobs\RedisJob $job
* @return void
- * @throws \Throwable
* @static
*/
- public static function deleteReserved($queue, $id)
+ public static function deleteReserved($queue, $job)
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
- $instance->deleteReserved($queue, $id);
+ /** @var \Laravel\Horizon\RedisQueue $instance */
+ $instance->deleteReserved($queue, $job);
}
/**
* Delete a reserved job from the reserved queue and release it.
*
* @param string $queue
- * @param \Illuminate\Queue\Jobs\DatabaseJob $job
+ * @param \Illuminate\Queue\Jobs\RedisJob $job
* @param int $delay
* @return void
* @static
*/
public static function deleteAndRelease($queue, $job, $delay)
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
$instance->deleteAndRelease($queue, $job, $delay);
}
@@ -13018,7 +13029,8 @@ public static function deleteAndRelease($queue, $job, $delay)
*/
public static function clear($queue)
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ //Method inherited from \Illuminate\Queue\RedisQueue
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->clear($queue);
}
@@ -13031,20 +13043,35 @@ public static function clear($queue)
*/
public static function getQueue($queue)
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ //Method inherited from \Illuminate\Queue\RedisQueue
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->getQueue($queue);
}
/**
- * Get the underlying database instance.
+ * Get the connection for the queue.
*
- * @return \Illuminate\Database\Connection
+ * @return \Illuminate\Redis\Connections\Connection
* @static
*/
- public static function getDatabase()
+ public static function getConnection()
{
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
- return $instance->getDatabase();
+ //Method inherited from \Illuminate\Queue\RedisQueue
+ /** @var \Laravel\Horizon\RedisQueue $instance */
+ return $instance->getConnection();
+ }
+
+ /**
+ * Get the underlying Redis instance.
+ *
+ * @return \Illuminate\Contracts\Redis\Factory
+ * @static
+ */
+ public static function getRedis()
+ {
+ //Method inherited from \Illuminate\Queue\RedisQueue
+ /** @var \Laravel\Horizon\RedisQueue $instance */
+ return $instance->getRedis();
}
/**
@@ -13057,7 +13084,7 @@ public static function getDatabase()
public static function getJobTries($job)
{
//Method inherited from \Illuminate\Queue\Queue
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->getJobTries($job);
}
@@ -13071,7 +13098,7 @@ public static function getJobTries($job)
public static function getJobBackoff($job)
{
//Method inherited from \Illuminate\Queue\Queue
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->getJobBackoff($job);
}
@@ -13085,7 +13112,7 @@ public static function getJobBackoff($job)
public static function getJobExpiration($job)
{
//Method inherited from \Illuminate\Queue\Queue
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->getJobExpiration($job);
}
@@ -13099,7 +13126,7 @@ public static function getJobExpiration($job)
public static function createPayloadUsing($callback)
{
//Method inherited from \Illuminate\Queue\Queue
- \Illuminate\Queue\DatabaseQueue::createPayloadUsing($callback);
+ \Laravel\Horizon\RedisQueue::createPayloadUsing($callback);
}
/**
@@ -13111,7 +13138,7 @@ public static function createPayloadUsing($callback)
public static function getContainer()
{
//Method inherited from \Illuminate\Queue\Queue
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
return $instance->getContainer();
}
@@ -13125,7 +13152,7 @@ public static function getContainer()
public static function setContainer($container)
{
//Method inherited from \Illuminate\Queue\Queue
- /** @var \Illuminate\Queue\DatabaseQueue $instance */
+ /** @var \Laravel\Horizon\RedisQueue $instance */
$instance->setContainer($container);
}
diff --git a/app/Helpers/Global/user_access_helpers.php b/app/Helpers/Global/user_access_helpers.php
index b73a0d5..6a663bc 100644
--- a/app/Helpers/Global/user_access_helpers.php
+++ b/app/Helpers/Global/user_access_helpers.php
@@ -4,8 +4,13 @@
if (! function_exists('user_is_master_admin')) {
- function user_is_master_admin(User $user)
+ function user_is_master_admin(?User $user)
{
+
+ if (is_null($user)) {
+ return false;
+ }
+
$emails = ['autopilotshorts@gmail.com', 'team@autopilotshorts.com', 'charles@exastellar.com'];
$user_id = 1;
diff --git a/app/Http/Controllers/FrontHomeController.php b/app/Http/Controllers/FrontHomeController.php
index 2f0a998..bd83d7c 100644
--- a/app/Http/Controllers/FrontHomeController.php
+++ b/app/Http/Controllers/FrontHomeController.php
@@ -9,10 +9,8 @@ class FrontHomeController extends Controller
{
public function index()
{
- if (App::environment('local')) {
- return Inertia::render('welcome');
- }
- return Inertia::render('comingsoon');
+
+ return Inertia::render('home/home');
}
}
diff --git a/config/seotools.php b/config/seotools.php
index 92f2588..73ea778 100644
--- a/config/seotools.php
+++ b/config/seotools.php
@@ -4,6 +4,9 @@
* @see https://github.com/artesaos/seotools
*/
+$title = 'Meme AI Gen';
+$description = 'Generate memes using AI';
+
return [
'inertia' => env('SEO_TOOLS_INERTIA', true),
'meta' => [
@@ -11,9 +14,9 @@
* The default configurations to be used by the meta generator.
*/
'defaults' => [
- 'title' => 'Video² AI',
+ 'title' => $title,
'titleBefore' => false, // Put defaults.title before page title, like 'It's Over 9000! - Dashboard'
- 'description' => 'A new era of AI-powered video creation',
+ 'description' => $description,
'separator' => ' - ',
'keywords' => [],
'canonical' => false, // Set to null or 'full' to use Url::full(), set to 'current' to use Url::current(), set false to total remove
@@ -38,8 +41,8 @@
* The default configurations to be used by the opengraph generator.
*/
'defaults' => [
- 'title' => 'Video² AI',
- 'description' => 'A new era of AI-powered video creation',
+ 'title' => $title,
+ 'description' => $description,
'url' => false, // Set null for using Url::current(), set false to total remove
'type' => false,
'site_name' => false,
@@ -60,8 +63,8 @@
* The default configurations to be used by the json-ld generator.
*/
'defaults' => [
- 'title' => 'Video² AI',
- 'description' => 'A new era of AI-powered video creation',
+ 'title' => $title,
+ 'description' => $description,
'url' => false, // Set to null or 'full' to use Url::full(), set to 'current' to use Url::current(), set false to total remove
'type' => 'WebPage',
'images' => [],
diff --git a/eslint.config.js b/eslint.config.js
index a136d22..4940001 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -21,6 +21,7 @@ export default [
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',
'react/no-unescaped-entities': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
},
settings: {
react: {
diff --git a/package-lock.json b/package-lock.json
index deebc42..f66b02e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,9 +1,10 @@
{
- "name": "video2ai",
+ "name": "memeaigen",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
+ "name": "memeaigen",
"dependencies": {
"@headlessui/react": "^2.2.0",
"@inertiajs/react": "^2.0.0",
@@ -7512,17 +7513,17 @@
}
},
"node_modules/vite": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz",
- "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==",
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
+ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
- "fdir": "^6.4.3",
+ "fdir": "^6.4.4",
"picomatch": "^4.0.2",
"postcss": "^8.5.3",
"rollup": "^4.34.9",
- "tinyglobby": "^0.2.12"
+ "tinyglobby": "^0.2.13"
},
"bin": {
"vite": "bin/vite.js"
diff --git a/public/assets/mag-coin.svg b/public/assets/mag-coin.svg
new file mode 100644
index 0000000..e558ec7
--- /dev/null
+++ b/public/assets/mag-coin.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/css/app.css b/resources/css/app.css
index 43fdb4a..3e3f6a8 100644
--- a/resources/css/app.css
+++ b/resources/css/app.css
@@ -8,8 +8,9 @@
@custom-variant dark (&:is(.dark *));
@theme {
- --font-sans:
- 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
+ --font-sans: 'Lato Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
+
+ --font-display: 'Bungee', display;
--radius-lg: var(--radius);
--radius-md: calc(var(--radius) - 2px);
diff --git a/resources/js/modules/editor/editor.tsx b/resources/js/modules/editor/editor.tsx
new file mode 100644
index 0000000..e6265ed
--- /dev/null
+++ b/resources/js/modules/editor/editor.tsx
@@ -0,0 +1,35 @@
+import { useState } from "react"
+
+import EditSidebar from "./partials/edit-sidebar"
+import EditorCanvas from "./partials/editor-canvas"
+
+import EditorHeader from "./partials/editor-header"
+import EditorControls from "./partials/editor-controls"
+
+const Editor = () => {
+ const [isEditSidebarOpen, setIsEditSidebarOpen] = useState(false)
+ const maxWidth = 350;
+
+ const handleEditClick = () => {
+ setIsEditSidebarOpen(!isEditSidebarOpen)
+ }
+
+ const handleCloseSidebar = () => {
+ setIsEditSidebarOpen(false)
+ }
+
+
+
+ return (
+
+
+
+
+
+
+
+ )
+}
+
+
+export default Editor;
diff --git a/resources/js/modules/editor/partials/edit-sidebar.tsx b/resources/js/modules/editor/partials/edit-sidebar.tsx
new file mode 100644
index 0000000..cb5b779
--- /dev/null
+++ b/resources/js/modules/editor/partials/edit-sidebar.tsx
@@ -0,0 +1,131 @@
+import { Edit3, Plus, Coins } from "lucide-react"
+
+interface EditSidebarProps {
+ isOpen: boolean
+ onClose: () => void
+}
+
+export default function EditSidebar({ isOpen, onClose }: EditSidebarProps) {
+ if (!isOpen) return null
+
+ return (
+
+
+ {/* Header */}
+
+
+
Edit Media
+
+
+ {/* Background and Meme Selection */}
+
+
+
+
+
+
Background
+
+
+
+
+
+
Meme
+
+
+
+ {/* AI Background Search */}
+
+
Search for backgrounds using AI
+
+
+
+
Generate a background with AI
+
+
+
+
+ {/* Meme Templates Grid */}
+
+
+
+
+
+
+
???
+
???
+
+
+
+
+
+
+
+
+
+
+ 📈 28%
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/resources/js/modules/editor/partials/editor-canvas.tsx b/resources/js/modules/editor/partials/editor-canvas.tsx
new file mode 100644
index 0000000..e3e8215
--- /dev/null
+++ b/resources/js/modules/editor/partials/editor-canvas.tsx
@@ -0,0 +1,80 @@
+import React, { useState, useEffect, useLayoutEffect } from 'react';
+
+const useResponsiveCanvas = (maxWidth = 350) => {
+ const [scale, setScale] = useState(0.5);
+
+ const calculateScale = () => {
+ const viewportWidth = window.innerWidth;
+ const padding = 0; // 16px padding on each side
+ const availableWidth = viewportWidth - padding;
+
+ const constrainedWidth = Math.min(availableWidth, maxWidth);
+ const newScale = constrainedWidth / 720;
+
+ // Don't scale above 100% and ensure minimum scale for very small screens
+ setScale(Math.max(0.3, Math.min(newScale, 1)));
+ };
+
+ useLayoutEffect(() => {
+ calculateScale();
+ }, []);
+
+ useEffect(() => {
+ const handleResize = () => calculateScale();
+
+ window.addEventListener('resize', handleResize);
+ window.addEventListener('orientationchange', handleResize);
+
+ return () => {
+ window.removeEventListener('resize', handleResize);
+ window.removeEventListener('orientationchange', handleResize);
+ };
+ }, []);
+
+ return scale;
+};
+
+const EditorCanvas = ({maxWidth = 350}) => {
+ const scale = useResponsiveCanvas(maxWidth);
+ const canvasWidth = 720;
+ const canvasHeight = 1280;
+ const displayWidth = canvasWidth * scale;
+ const displayHeight = canvasHeight * scale;
+
+ const convertCoordinates = (e) => {
+ const rect = e.currentTarget.getBoundingClientRect();
+ return {
+ x: (e.clientX - rect.left) / scale,
+ y: (e.clientY - rect.top) / scale
+ };
+ };
+
+ return (
+
+
+
{
+ const { x, y } = convertCoordinates(e);
+ // Handle your canvas interactions here
+ // x, y are the actual canvas coordinates (0-720, 0-1280)
+ }}
+ >
+ {/* Your canvas content goes here */}
+
+
+
+ );
+};
+
+export default EditorCanvas;
diff --git a/resources/js/modules/editor/partials/editor-controls.tsx b/resources/js/modules/editor/partials/editor-controls.tsx
new file mode 100644
index 0000000..aab5989
--- /dev/null
+++ b/resources/js/modules/editor/partials/editor-controls.tsx
@@ -0,0 +1,52 @@
+"use client"
+
+import { Button } from "@/components/ui/button"
+import { cn } from "@/lib/utils"
+import { Play, Type, Edit3, Download } from "lucide-react"
+
+const EditorControls = ({ className = '', onEditClick = () => {}, isEditActive = false }) => {
+ return (
+
+
+
+
+
+
+ 9:16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+
+export default EditorControls;
diff --git a/resources/js/modules/editor/partials/editor-header.tsx b/resources/js/modules/editor/partials/editor-header.tsx
new file mode 100644
index 0000000..779e93d
--- /dev/null
+++ b/resources/js/modules/editor/partials/editor-header.tsx
@@ -0,0 +1,26 @@
+import { Button } from "@/components/ui/button"
+import { cn } from "@/lib/utils"
+import CoinIcon from "@/reusables/coin-icon"
+import { Menu, Coins } from "lucide-react"
+
+const EditorHeader = (
+ {className = ''}
+) => {
+ return (
+
+
+
+
+
+
MEMEAIGEN
+
+
+ 100
+
+
+
+
+ )
+}
+
+export default EditorHeader;
diff --git a/resources/js/pages/home/home.tsx b/resources/js/pages/home/home.tsx
new file mode 100644
index 0000000..a1f61f0
--- /dev/null
+++ b/resources/js/pages/home/home.tsx
@@ -0,0 +1,11 @@
+import Editor from "@/modules/editor/editor";
+
+const Home = () => {
+ return (
+
+
+
+ );
+};
+
+export default Home;
diff --git a/resources/js/pages/welcome.tsx b/resources/js/pages/welcome.tsx
index 3f3afc1..2615fdd 100644
--- a/resources/js/pages/welcome.tsx
+++ b/resources/js/pages/welcome.tsx
@@ -8,7 +8,7 @@ export default function Welcome() {
<>
-
+
diff --git a/resources/js/reusables/coin-icon.tsx b/resources/js/reusables/coin-icon.tsx
new file mode 100644
index 0000000..534bfa7
--- /dev/null
+++ b/resources/js/reusables/coin-icon.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+
+interface CoinIconProps {
+ className?: string;
+}
+
+const CoinIcon: React.FC = ({ className }) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default CoinIcon;
diff --git a/resources/js/ziggy.js b/resources/js/ziggy.js
index 05acb50..cf79c2d 100644
--- a/resources/js/ziggy.js
+++ b/resources/js/ziggy.js
@@ -1,4 +1,4 @@
-const Ziggy = {"url":"https:\/\/video2.ai","port":null,"defaults":{},"routes":{"horizon.stats.index":{"uri":"horizon\/api\/stats","methods":["GET","HEAD"]},"horizon.workload.index":{"uri":"horizon\/api\/workload","methods":["GET","HEAD"]},"horizon.masters.index":{"uri":"horizon\/api\/masters","methods":["GET","HEAD"]},"horizon.monitoring.index":{"uri":"horizon\/api\/monitoring","methods":["GET","HEAD"]},"horizon.monitoring.store":{"uri":"horizon\/api\/monitoring","methods":["POST"]},"horizon.monitoring-tag.paginate":{"uri":"horizon\/api\/monitoring\/{tag}","methods":["GET","HEAD"],"parameters":["tag"]},"horizon.monitoring-tag.destroy":{"uri":"horizon\/api\/monitoring\/{tag}","methods":["DELETE"],"wheres":{"tag":".*"},"parameters":["tag"]},"horizon.jobs-metrics.index":{"uri":"horizon\/api\/metrics\/jobs","methods":["GET","HEAD"]},"horizon.jobs-metrics.show":{"uri":"horizon\/api\/metrics\/jobs\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.queues-metrics.index":{"uri":"horizon\/api\/metrics\/queues","methods":["GET","HEAD"]},"horizon.queues-metrics.show":{"uri":"horizon\/api\/metrics\/queues\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.jobs-batches.index":{"uri":"horizon\/api\/batches","methods":["GET","HEAD"]},"horizon.jobs-batches.show":{"uri":"horizon\/api\/batches\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.jobs-batches.retry":{"uri":"horizon\/api\/batches\/retry\/{id}","methods":["POST"],"parameters":["id"]},"horizon.pending-jobs.index":{"uri":"horizon\/api\/jobs\/pending","methods":["GET","HEAD"]},"horizon.completed-jobs.index":{"uri":"horizon\/api\/jobs\/completed","methods":["GET","HEAD"]},"horizon.silenced-jobs.index":{"uri":"horizon\/api\/jobs\/silenced","methods":["GET","HEAD"]},"horizon.failed-jobs.index":{"uri":"horizon\/api\/jobs\/failed","methods":["GET","HEAD"]},"horizon.failed-jobs.show":{"uri":"horizon\/api\/jobs\/failed\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.retry-jobs.show":{"uri":"horizon\/api\/jobs\/retry\/{id}","methods":["POST"],"parameters":["id"]},"horizon.jobs.show":{"uri":"horizon\/api\/jobs\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.index":{"uri":"horizon\/{view?}","methods":["GET","HEAD"],"wheres":{"view":"(.*)"},"parameters":["view"]},"sanctum.csrf-cookie":{"uri":"sanctum\/csrf-cookie","methods":["GET","HEAD"]},"render.start":{"uri":"api\/render","methods":["POST"]},"render.all":{"uri":"api\/render\/all","methods":["GET","HEAD"]},"render.status":{"uri":"api\/render\/{uuid}","methods":["GET","HEAD"],"parameters":["uuid"]},"render.elements.get":{"uri":"api\/render\/{uuid}\/elements","methods":["GET","HEAD"],"parameters":["uuid"]},"dashboard":{"uri":"dashboard","methods":["GET","HEAD"]},"admin.dashboard":{"uri":"admin","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"profile.update":{"uri":"settings\/profile","methods":["PATCH"]},"profile.destroy":{"uri":"settings\/profile","methods":["DELETE"]},"password.edit":{"uri":"settings\/password","methods":["GET","HEAD"]},"password.update":{"uri":"settings\/password","methods":["PUT"]},"appearance":{"uri":"settings\/appearance","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.email":{"uri":"forgot-password","methods":["POST"]},"password.reset":{"uri":"reset-password\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"password.store":{"uri":"reset-password","methods":["POST"]},"verification.notice":{"uri":"verify-email","methods":["GET","HEAD"]},"verification.verify":{"uri":"verify-email\/{id}\/{hash}","methods":["GET","HEAD"],"parameters":["id","hash"]},"verification.send":{"uri":"email\/verification-notification","methods":["POST"]},"password.confirm":{"uri":"confirm-password","methods":["GET","HEAD"]},"logout":{"uri":"logout","methods":["POST"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};
+const Ziggy = {"url":"https:\/\/memeaigen.test","port":null,"defaults":{},"routes":{"horizon.stats.index":{"uri":"horizon\/api\/stats","methods":["GET","HEAD"]},"horizon.workload.index":{"uri":"horizon\/api\/workload","methods":["GET","HEAD"]},"horizon.masters.index":{"uri":"horizon\/api\/masters","methods":["GET","HEAD"]},"horizon.monitoring.index":{"uri":"horizon\/api\/monitoring","methods":["GET","HEAD"]},"horizon.monitoring.store":{"uri":"horizon\/api\/monitoring","methods":["POST"]},"horizon.monitoring-tag.paginate":{"uri":"horizon\/api\/monitoring\/{tag}","methods":["GET","HEAD"],"parameters":["tag"]},"horizon.monitoring-tag.destroy":{"uri":"horizon\/api\/monitoring\/{tag}","methods":["DELETE"],"wheres":{"tag":".*"},"parameters":["tag"]},"horizon.jobs-metrics.index":{"uri":"horizon\/api\/metrics\/jobs","methods":["GET","HEAD"]},"horizon.jobs-metrics.show":{"uri":"horizon\/api\/metrics\/jobs\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.queues-metrics.index":{"uri":"horizon\/api\/metrics\/queues","methods":["GET","HEAD"]},"horizon.queues-metrics.show":{"uri":"horizon\/api\/metrics\/queues\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.jobs-batches.index":{"uri":"horizon\/api\/batches","methods":["GET","HEAD"]},"horizon.jobs-batches.show":{"uri":"horizon\/api\/batches\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.jobs-batches.retry":{"uri":"horizon\/api\/batches\/retry\/{id}","methods":["POST"],"parameters":["id"]},"horizon.pending-jobs.index":{"uri":"horizon\/api\/jobs\/pending","methods":["GET","HEAD"]},"horizon.completed-jobs.index":{"uri":"horizon\/api\/jobs\/completed","methods":["GET","HEAD"]},"horizon.silenced-jobs.index":{"uri":"horizon\/api\/jobs\/silenced","methods":["GET","HEAD"]},"horizon.failed-jobs.index":{"uri":"horizon\/api\/jobs\/failed","methods":["GET","HEAD"]},"horizon.failed-jobs.show":{"uri":"horizon\/api\/jobs\/failed\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.retry-jobs.show":{"uri":"horizon\/api\/jobs\/retry\/{id}","methods":["POST"],"parameters":["id"]},"horizon.jobs.show":{"uri":"horizon\/api\/jobs\/{id}","methods":["GET","HEAD"],"parameters":["id"]},"horizon.index":{"uri":"horizon\/{view?}","methods":["GET","HEAD"],"wheres":{"view":"(.*)"},"parameters":["view"]},"sanctum.csrf-cookie":{"uri":"sanctum\/csrf-cookie","methods":["GET","HEAD"]},"render.start":{"uri":"api\/render","methods":["POST"]},"render.all":{"uri":"api\/render\/all","methods":["GET","HEAD"]},"render.status":{"uri":"api\/render\/{uuid}","methods":["GET","HEAD"],"parameters":["uuid"]},"render.elements.get":{"uri":"api\/render\/{uuid}\/elements","methods":["GET","HEAD"],"parameters":["uuid"]},"dashboard":{"uri":"dashboard","methods":["GET","HEAD"]},"admin.dashboard":{"uri":"admin","methods":["GET","HEAD"]},"profile.edit":{"uri":"settings\/profile","methods":["GET","HEAD"]},"profile.update":{"uri":"settings\/profile","methods":["PATCH"]},"profile.destroy":{"uri":"settings\/profile","methods":["DELETE"]},"password.edit":{"uri":"settings\/password","methods":["GET","HEAD"]},"password.update":{"uri":"settings\/password","methods":["PUT"]},"appearance":{"uri":"settings\/appearance","methods":["GET","HEAD"]},"register":{"uri":"register","methods":["GET","HEAD"]},"login":{"uri":"login","methods":["GET","HEAD"]},"password.request":{"uri":"forgot-password","methods":["GET","HEAD"]},"password.email":{"uri":"forgot-password","methods":["POST"]},"password.reset":{"uri":"reset-password\/{token}","methods":["GET","HEAD"],"parameters":["token"]},"password.store":{"uri":"reset-password","methods":["POST"]},"verification.notice":{"uri":"verify-email","methods":["GET","HEAD"]},"verification.verify":{"uri":"verify-email\/{id}\/{hash}","methods":["GET","HEAD"],"parameters":["id","hash"]},"verification.send":{"uri":"email\/verification-notification","methods":["POST"]},"password.confirm":{"uri":"confirm-password","methods":["GET","HEAD"]},"logout":{"uri":"logout","methods":["POST"]},"home":{"uri":"\/","methods":["GET","HEAD"]},"storage.local":{"uri":"storage\/{path}","methods":["GET","HEAD"],"wheres":{"path":".*"},"parameters":["path"]}}};
if (typeof window !== 'undefined' && typeof window.Ziggy !== 'undefined') {
Object.assign(Ziggy.routes, window.Ziggy.routes);
}
diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php
index 53c2a93..48c46ca 100644
--- a/resources/views/app.blade.php
+++ b/resources/views/app.blade.php
@@ -37,7 +37,7 @@
{!! JsonLd::generate() !!}
-
+
@routes
@viteReactRefresh
diff --git a/routes/api.php b/routes/api.php
index 9c64eb5..67e6de4 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -19,15 +19,4 @@
Route::post('/logout', [SanctumAuthController::class, 'logout']);
});
-
- Route::group(['prefix' => 'render'], function () {
-
- Route::post('/', [RenderController::class, 'startRender'])->name('render.start');
-
- Route::get('/all', [RenderController::class, 'allRenders'])->name('render.all');
-
- Route::get('/{uuid}', [RenderController::class, 'renderStatus'])->name('render.status');
-
- Route::Get('/{uuid}/elements', [RenderController::class, 'getVideoElements'])->name('render.elements.get');
- });
});