mirror of
https://github.com/lockin-bot/react-telegram.git
synced 2026-01-12 15:13:56 +08:00
- Split project into three packages:
- @react-telegram/core: Core React reconciler
- @react-telegram/mtcute-adapter: MTCute Telegram adapter
- @react-telegram/examples: Example bots (private)
- Add <br /> tag support for line breaks
- Update all examples to use <br /> instead of {'\n'}
- Configure Bun workspaces for better package management
- Update imports to use package names instead of relative paths
- Update README with new installation instructions
- Remove test files (moved to separate testing setup)
BREAKING CHANGE: Package names changed from react-telegram to @react-telegram/*
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
/// <reference types="@react-telegram/core" />
|
||
import React, { useState } from 'react';
|
||
import { createContainer } from '@react-telegram/core';
|
||
|
||
// Create container and render
|
||
const { container, render, clickButton } = createContainer();
|
||
|
||
console.log('Initial render:');
|
||
|
||
// Example usage
|
||
const App = () => {
|
||
const [count, setCount] = useState(0);
|
||
|
||
return (
|
||
<>
|
||
<b>Welcome to Telegram React!</b>
|
||
<br />
|
||
<i>Current count: {count}</i>
|
||
<row>
|
||
<button onClick={() => setCount(p => p - 1)}>➖ Decrease</button>
|
||
<button onClick={() => setCount(p => p + 1)}>➕ Increase</button>
|
||
</row>
|
||
<blockquote>
|
||
This is a custom React reconciler that renders to structured data
|
||
suitable for Telegram's message format.
|
||
</blockquote>
|
||
</>
|
||
);
|
||
};
|
||
|
||
console.log('Initial render');
|
||
render(<App />);
|
||
|
||
container.onRenderContainer = (root) => {
|
||
console.log('onRenderContainer called');
|
||
console.log(JSON.stringify(root, null, 2));
|
||
};
|
||
|
||
setTimeout(() => {
|
||
console.log('\nClicking increase (0-1)');
|
||
clickButton('0-1');
|
||
|
||
setTimeout(() => {
|
||
console.log('\nClicking decrease (0-0)');
|
||
clickButton('0-0');
|
||
}, 10);
|
||
}, 10); |