Гляну за эти атомик и фсд)
Последние вопросы про папку forms и components вообще не понял... Понятное дело, что в проекте будет папка components/user.
я бы конечно начал с того что перестал бы именовать название файлов camelCaseом...
вы как будто мыслите не в рамках компонентного подхода, а в рамках созависимых чанков.
Почемму UserAvatar а не просто Avatar?
Что такое Education и как я должен понять из названия файла что этот файл делает. ответ - никак.
Так же возник вопрос, а что будет если в папку forms положить еще форму?Или в папку components запихать что-то отличное от сущности юзера?
интересно, но всё равно в каждую строку надо дописывать "мусор"
satisfies, к сожалению, не типизирует содержимое, и, например, не работает типизация параметра format и field, когда она функция
export const createTableColumnsBase = <GData>() => {
const columns: Record<string, Column<GData, unknown>> = {}
const getActions = <GColumns>() => ({
add: <K extends string, V>(id: K, column: Column<GData, V>) => {
columns[id] = column as Column<GData, unknown>
return getActions<GColumns & Record<K, Column<GData, V>>>()
},
done: () => columns,
doneTyped: () => columns as GColumns
})
return getActions<unknown>()
}