mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
This PR updates the with-xstate example to use the App Router. Here are the changes that have been made: - Renamed the `pages` folder to the `app` folder. - Updated the routing for / files to align with the App Router. - moved the `components` and `machine` folder inside the app directory by renaming it to `_components` and `_machine` - Added the `layout.tsx` file as part of the App Router. - Updated the package.json file. CC: @samcx --------- Co-authored-by: samcx <[email protected]>
30 lines
476 B
TypeScript
30 lines
476 B
TypeScript
import { createMachine } from "xstate";
|
|
|
|
type ToggleContext = {
|
|
value: "inactive" | "active";
|
|
};
|
|
|
|
type ToggleEvents = {
|
|
type: "TOGGLE";
|
|
};
|
|
|
|
export const toggleMachine = createMachine({
|
|
types: {} as {
|
|
context: ToggleContext;
|
|
events: ToggleEvents;
|
|
},
|
|
id: "toggle",
|
|
initial: "inactive",
|
|
states: {
|
|
inactive: {
|
|
on: { TOGGLE: "active" },
|
|
},
|
|
active: {
|
|
on: { TOGGLE: "inactive" },
|
|
},
|
|
},
|
|
context: {
|
|
value: "inactive",
|
|
},
|
|
});
|