30 lines
852 B
PHP
30 lines
852 B
PHP
<?php
|
|
|
|
use PHPNative\Ui\Widget\Container;
|
|
use PHPNative\Ui\Widget\Label;
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
// Check PHP version
|
|
if (PHP_VERSION_ID < 80100) {
|
|
die("This demo requires PHP 8.1+ for Fiber support.\nYour version: " . PHP_VERSION . "\n");
|
|
}
|
|
|
|
$app = new \PHPNative\Framework\Application('ToDo Demo', 700, 500);
|
|
$container = new Container('m-10 p-10 bg-lime-500');
|
|
$scrollContainer = new Container(style: 'overflow-y-auto bg-red m-4 p-4');
|
|
|
|
// Add many items to trigger overflow
|
|
for ($i = 1; $i <= 200; $i++) {
|
|
$item = new Container(style: 'bg-blue-500 m-2 p-3');
|
|
$label = new Label(
|
|
text: "Item {$i}",
|
|
style: 'text-green-500',
|
|
);
|
|
$item->addComponent($label);
|
|
$scrollContainer->addComponent($item);
|
|
}
|
|
$container->addComponent($scrollContainer);
|
|
$app->setRoot($container);
|
|
$app->run();
|