hunk.code_window: 			submitPlausibleEvent({
   				event: {
   					type: 'libraryDelete'
   				}
   			});
   		} catch (e) {
   			alert(`Failed to delete library: ${e}`);
   		}
  
hunk.labels: keep keep keep keep add keep keep keep
hunk.after_edit: 			navigate('/');
  
hunk.file_path: interface/app/$libraryId/settings/node/libraries/DeleteDialog.tsx
hunk.type: add
file: ---
  index: 2
  ---
  
  # Guidelines
  
  ## `@sd/interface`
  
  Most interface code should live inside the `app` directory,
  with the folder structure resembling the app's routing structure.
  We currently use [React Router](https://reactrouter.com/) and take full advantage of nested and config-based routing
  
  ### Casing
  
  - All files/folders containing a route should be `lower-kebab-case`
  - Dynamic routes should be `camelCase` and have their parameter name prefixed with `$`
  - All other files/folders should be `PascalCase` (expect for `index` files inside `PascalCase` folders)
  
  ### Layouts
  
  If a folder of routes has a component that should be applied to _every_ sub-route,
  the component's file should be named `Layout.tsx` and applied in the parent folder's routing configuration as the `element` property.
  
  For components that should wrap a subset of routes,
  name the file with something ending in `Layout.tsx` (but not `Layout.tsx` itself!).
  We then recommend using [layout routes](https://reactrouter.com/en/main/route/route#layout-routes) to apply the layout without introducing a new `path` segment.
  