This file is a merged representation of a subset of the codebase, containing files not matching ignore patterns, combined into a single document by Repomix.
This section contains a summary of this file.
This file contains a packed representation of the entire repository's contents.
It is designed to be easily consumable by AI systems for analysis, code review,
or other automated processes.
The content is organized as follows:
1. This summary section
2. Repository information
3. Directory structure
4. Repository files, each consisting of:
- File path as an attribute
- Full contents of the file
- This file should be treated as read-only. Any changes should be made to the
original repository files, not this packed version.
- When processing this file, use the file path to distinguish
between different files in the repository.
- Be aware that this file may contain sensitive information. Handle it with
the same level of security as you would the original repository.
- Some files may have been excluded based on .gitignore rules and Repomix's configuration
- Binary files are not included in this packed representation. Please refer to the Repository Structure section for a complete list of file paths, including binary files
- Files matching these patterns are excluded: bun.lock, node_modules/, .vscode/
- Files matching patterns in .gitignore are excluded
- Files matching default ignore patterns are excluded
- Files are sorted by Git change count (files with more changes are at the bottom)
public/
vite.svg
src/
assets/
preact.svg
components/
ui/
Button.module.scss
Button.tsx
Input.module.scss
Input.tsx
layout.tsx
menu.module.scss
menu.tsx
pages/
login.module.scss
login.tsx
profile.module.scss
profile.tsx
providers/
AuthProvider.tsx
utils/
class-merge.ts
app.module.scss
app.tsx
index.scss
main.tsx
vite-env.d.ts
.gitattributes
.gitignore
.prettierrc
eslint.config.mjs
index.html
package.json
postcss.config.mts
tsconfig.app.json
tsconfig.json
tsconfig.node.json
vite.config.ts
This section contains the contents of the repository's files.
import { signal, Signal } from "@preact/signals";
import { createContext, JSX } from "preact";
import { useContext } from "preact/hooks";
interface AppContextValue {
isLoggedIn: Signal;
}
const AppContext = createContext({
isLoggedIn: signal(false),
});
const AppProvider = ({ children }: { children: JSX.Element }) => {
const value: AppContextValue = {
isLoggedIn: signal(false),
};
return {children};
};
const useAppContext = () => {
const context = useContext(AppContext);
if (!context) {
throw new Error("useAppContext must be used within AppProvider");
}
return context;
};
export { AppProvider, useAppContext };
import { useAppContext } from "@/providers/AuthProvider";
import { FunctionComponent } from "preact";
import { Route, Router, useLocation } from "preact-iso";
import { useEffect } from "preact/hooks";
import Menu from "./menu";
const Layout: FunctionComponent = () => {
const { isLoggedIn } = useAppContext();
const location = useLocation();
useEffect(() => {
console.log(isLoggedIn.value);
}, [isLoggedIn]);
return (