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 */} +
+
+
+ Gaming background +
+ Background +
+
+
+ Meme character +
+ Meme +
+
+ + {/* AI Background Search */} +
+

Search for backgrounds using AI

+ +
+
+ +
+

Generate a background with AI

+
+ 1 +
+ +
+
+
+
+ + {/* Meme Templates Grid */} +
+
+ Creepy face meme +
+
+ Confused person meme +
???
+
???
+
+
+ Woody meme +
+
+ Doge meme +
+
+ Stock market meme +
+ 📈 28% +
+
+
+ Room meme +
+
+
+
+ ) +} 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

+ + + +
+ ) +} + +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'); - }); });