Spaces:
Build error
Build error
Create icon.tsx
Browse files
icon.tsx
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @license
|
3 |
+
* SPDX-License-Identifier: Apache-2.0
|
4 |
+
*/
|
5 |
+
/* tslint:disable */
|
6 |
+
import React from 'react';
|
7 |
+
import {AppDefinition} from '../types';
|
8 |
+
|
9 |
+
interface IconProps {
|
10 |
+
app: AppDefinition;
|
11 |
+
onInteract: () => void;
|
12 |
+
}
|
13 |
+
|
14 |
+
export const Icon: React.FC<IconProps> = ({app, onInteract}) => {
|
15 |
+
return (
|
16 |
+
<div
|
17 |
+
className="w-28 h-32 flex flex-col items-center justify-start text-center m-2 p-2 cursor-pointer select-none rounded-lg transition-colors hover:bg-gray-200 focus:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500" // Increased w-24 h-28 to w-28 h-32
|
18 |
+
onClick={onInteract}
|
19 |
+
onKeyDown={(e) => e.key === 'Enter' && onInteract()}
|
20 |
+
tabIndex={0}
|
21 |
+
role="button"
|
22 |
+
aria-label={`Open ${app.name}`}>
|
23 |
+
<div className="text-6xl mb-2 drop-shadow-sm">{app.icon}</div>{' '}
|
24 |
+
{/* Increased text-5xl to text-6xl */}
|
25 |
+
<div className="text-sm text-gray-800 font-semibold break-words max-w-full leading-tight">
|
26 |
+
{app.name}
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
);
|
30 |
+
};
|