9 Commits

Author SHA1 Message Date
9b83333275 Extract routes to getRoutes() function
All checks were successful
CI / build (push) Successful in 26s
Address review feedback to eliminate duplicated route configuration
and prevent potential inconsistencies.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:35:33 +00:00
3bd0659caf Add auth-protected app example
This example demonstrates OIDC authentication with the Iris framework:
- OIDC client setup and configuration
- Login/logout flow with async discovery
- Protected routes using auth guards
- User profile display from ID token claims
- Token information display and handling
- Reactive UI state for authentication status

Closes #7

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:35:33 +00:00
9642fd008e Remove internal package import from todo example
All checks were successful
CI / build (push) Successful in 27s
Replace direct internal/element usage with public ui package
components to ensure examples only use the public API:

- Add ui.RawCheckbox for plain checkbox without label wrapper
- Add ui.Span for span elements with text content
- Add View.TextDecoration modifier for strikethrough styling
- Update todo example to use these public components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:29:57 +00:00
505fa0f84a Add todo list example
This example demonstrates Iris reactive patterns:
- Signal holding a slice/list of todos
- Adding and removing items dynamically
- Component composition (inputRow, todoList, todoItem)
- Input handling with TextInput and Enter key support
- Conditional rendering (empty state, strikethrough for completed)

Closes #5

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:29:57 +00:00
f67347688b Add decrement button to counter example
Address review feedback to include a decrement button that
demonstrates reactive updates in both directions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:28:30 +00:00
7cd276a5e5 Add counter example demonstrating signals
Basic example showing:
- Creating a signal with NewSignal
- Reading value with Get()
- Writing value with Set()
- Button click handler
- Reactive text that updates when signal changes

Closes #4

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:28:30 +00:00
27f0154bc9 Add dashboard example showing realistic admin panel
All checks were successful
CI / build (push) Successful in 28s
This example demonstrates all key Iris features for internal tool teams:
- Multiple pages with client-side routing
- Auth-protected sections with route guards
- Reactive data display with signals
- Form inputs (text, checkbox, slider, select)
- Component composition with reusable layouts

Test credentials: admin/admin (full access) or user/user (limited access)

Closes #8

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:11:37 +00:00
a13e215e31 Add multi-page app example demonstrating navigation
All checks were successful
CI / build (pull_request) Successful in 27s
CI / build (push) Successful in 28s
Add a comprehensive example showing client-side routing:
- Router setup with multiple routes (/, /about, /users, /admin)
- Route parameters (/users/:id) with the NumericIdGuard
- Navigation using Link component and programmatic Navigate/Back
- Route guards with AuthGuard for protected admin page
- Browser history integration with back/forward support

Closes #6

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:01:47 +01:00
5aa1498ab7 Add hello world example
All checks were successful
CI / build (pull_request) Successful in 39s
CI / build (push) Successful in 27s
Minimal Iris application demonstrating:
- Signal creation with NewSignal
- Reactive text rendering with TextFromFunction
- Auto-incrementing counter to show reactivity

Closes #2

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:44:59 +01:00