Sign in
Join now
scn-chat
sharedcomputer.network
/
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
ATProto-based AI Assistant Chat interface.
Star
Starred
Star
Something went wrong. Try again.
Fork
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
1
1
Pulls
Pulls
Pipelines
Pipelines
scn-chat
/
apps
/
web
/
src
/
features
/
admin
/
pages
9 files
at
web-rebuild
pouriade.com
·
Have components return early rather than return a ternary when what they render depends on a condition. The loading guards in the preferences, plugin settings, admin settings, and access pages show their error or nothing with two plain returns, ReplyStream, Text, Status, and the Markdown image renderer return early, and ConversationView picks each message's actions in an actionsFor helper in place of a nested ternary. CLAUDE.md states the rule.
·
1mo ago
d0ab79af
AccessAdmin.tsx
Have components return early rather than return a ternary when what they render depends on a condition. The loading guards in the preferences, plugin settings, admin settings, and access pages show their error or nothing with two plain returns, ReplyStream, Text, Status, and the Markdown image renderer return early, and ConversationView picks each message's actions in an actionsFor helper in place of a nested ternary. CLAUDE.md states the rule.
1mo ago
AdminLayout.tsx
Share the sidebar page shell between the admin and settings layouts, and group the secret props on SchemaFields. SidebarLayout in src/shared renders the sidebar beside the current section, taking the sidebar's contents as its nav, so AdminLayout and SettingsLayout hold only their own links. SchemaFields takes one optional secrets prop in place of secretFields, secretsSet, cleared, and onClear, with the cleared list and its handler together under clearing, so a form cannot offer clearing without both.
1mo ago
ModelsAdmin.tsx
Group the web app's code by feature. Each folder in src/features (auth, chat-list, conversation, sharing, models, settings, admin) holds that feature's pages, layouts included, components, hooks, lib, and queries, and the routes stay thin, rendering a feature's page. Page files are named after the component they export. The query factories split from src/queries.ts into each feature's queries.ts, leaving staleTime in src/shared, which also holds the API client, errors, search params, and the schema forms that admin and settings share. inheritedModel moves from the models module to the conversation's branch module, so models no longer depends on the conversation. Tests mirror the new tree, and the specs, the architecture doc, and CLAUDE.md name the new paths.
1mo ago
NewPluginAdmin.tsx
Share the sidebar page shell between the admin and settings layouts, and group the secret props on SchemaFields. SidebarLayout in src/shared renders the sidebar beside the current section, taking the sidebar's contents as its nav, so AdminLayout and SettingsLayout hold only their own links. SchemaFields takes one optional secrets prop in place of secretFields, secretsSet, cleared, and onClear, with the cleared list and its handler together under clearing, so a form cannot offer clearing without both.
1mo ago
PluginAdmin.tsx
Share the sidebar page shell between the admin and settings layouts, and group the secret props on SchemaFields. SidebarLayout in src/shared renders the sidebar beside the current section, taking the sidebar's contents as its nav, so AdminLayout and SettingsLayout hold only their own links. SchemaFields takes one optional secrets prop in place of secretFields, secretsSet, cleared, and onClear, with the cleared list and its handler together under clearing, so a form cannot offer clearing without both.
1mo ago
PluginsAdmin.tsx
Group the web app's code by feature. Each folder in src/features (auth, chat-list, conversation, sharing, models, settings, admin) holds that feature's pages, layouts included, components, hooks, lib, and queries, and the routes stay thin, rendering a feature's page. Page files are named after the component they export. The query factories split from src/queries.ts into each feature's queries.ts, leaving staleTime in src/shared, which also holds the API client, errors, search params, and the schema forms that admin and settings share. inheritedModel moves from the models module to the conversation's branch module, so models no longer depends on the conversation. Tests mirror the new tree, and the specs, the architecture doc, and CLAUDE.md name the new paths.
1mo ago
RolesAdmin.tsx
Have React components take props: Props, declared as an interface, and read props.example rather than destructuring props in the signature. A component destructures only the values it builds other variables from, such as ModelSelect and EffortSelect passing the rest of their props to the select. Inline prop types became named interfaces, and CLAUDE.md states the rule.
1mo ago
SettingsAdmin.tsx
Have components return early rather than return a ternary when what they render depends on a condition. The loading guards in the preferences, plugin settings, admin settings, and access pages show their error or nothing with two plain returns, ReplyStream, Text, Status, and the Markdown image renderer return early, and ConversationView picks each message's actions in an actionsFor helper in place of a nested ternary. CLAUDE.md states the rule.
1mo ago
UsersAdmin.tsx
Have React components take props: Props, declared as an interface, and read props.example rather than destructuring props in the signature. A component destructures only the values it builds other variables from, such as ModelSelect and EffortSelect passing the rest of their props to the select. Inline prop types became named interfaces, and CLAUDE.md states the rule.
1mo ago