Back
Version 7
1/13/2025
/** @jsxImportSource https://esm.sh/react@18.2.0 */
import React, { useState, useRef, useEffect } from "https://esm.sh/react@18.2.0";
import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
interface App {
id: string;
name: string;
category: "Productivity" | "Media" | "AI Apps";
iconUrl: string;
}
const categories = ["All", "Productivity", "Media", "AI Apps"];
function AppCard({ app, onEdit }: { app: App; onEdit: (app: App) => void }) {
const handleClick = () => {
window.location.href = `shortcuts://run-shortcut?name=open_iOS_Apps&input=${encodeURIComponent(app.name)}`;
};
const handleRightClick = (e: React.MouseEvent) => {
e.preventDefault();
onEdit(app);
};
return (
<div className="app-card" onContextMenu={handleRightClick} aria-label={`${app.name} app`}>
<img
src={app.iconUrl}
alt={`${app.name} icon`}
className="app-icon"
onClick={handleClick}
onKeyPress={(e) => e.key === 'Enter' && handleClick()}
tabIndex={0}
role="button"
/>
<h3>{app.name}</h3>
</div>
arfan-ios_test.web.val.run
Updated: January 18, 2025