From 20a89f1c8eefa0f766a4650be4d2e5f1fa92ee71 Mon Sep 17 00:00:00 2001 From: Cytrogen Date: Tue, 31 Mar 2026 23:30:06 -0400 Subject: [PATCH] [feature] Bookmark folders UI --- .../glitch/actions/bookmark_folders.js | 20 +++++++++---------- .../glitch/features/bookmark_folder/index.jsx | 2 +- .../features/bookmark_folders/index.jsx | 4 ++-- .../components/bookmark_folder.jsx | 2 +- .../components/new_folder_form.jsx | 6 +++--- .../select_bookmark_folder_modal/index.jsx | 2 +- .../glitch/reducers/bookmark_folder_editor.js | 10 +++++----- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/javascript/flavours/glitch/actions/bookmark_folders.js b/app/javascript/flavours/glitch/actions/bookmark_folders.js index d14d738415b224e69c10da373fbf1a560c0e3e0e..29cf4fd2a0a5e9c9c12d3bb36c3833495d71452d 100644 --- a/app/javascript/flavours/glitch/actions/bookmark_folders.js +++ b/app/javascript/flavours/glitch/actions/bookmark_folders.js @@ -16,7 +16,7 @@ export const BOOKMARK_FOLDER_DELETE_REQUEST = 'BOOKMARK_FOLDER_DELETE_REQUEST'; export const BOOKMARK_FOLDER_DELETE_SUCCESS = 'BOOKMARK_FOLDER_DELETE_SUCCESS'; export const BOOKMARK_FOLDER_DELETE_FAIL = 'BOOKMARK_FOLDER_DELETE_FAIL'; -export const BOOKMARK_FOLDER_EDITOR_NAME_CHANGE = 'BOOKMARK_FOLDER_EDITOR_NAME_CHANGE'; +export const BOOKMARK_FOLDER_EDITOR_TITLE_CHANGE = 'BOOKMARK_FOLDER_EDITOR_TITLE_CHANGE'; export const BOOKMARK_FOLDER_EDITOR_RESET = 'BOOKMARK_FOLDER_EDITOR_RESET'; export const BOOKMARK_FOLDER_EDITOR_SETUP = 'BOOKMARK_FOLDER_EDITOR_SETUP'; @@ -42,10 +42,10 @@ export const fetchBookmarkFoldersFail = error => ({ error, }); -export const createBookmarkFolder = (name, shouldReset) => (dispatch, getState) => { +export const createBookmarkFolder = (title, shouldReset) => (dispatch, getState) => { dispatch(createBookmarkFolderRequest()); - api(getState).post('/api/v1/bookmark_folders', { name }).then(({ data }) => { + api(getState).post('/api/v1/bookmark_folders', { title }).then(({ data }) => { dispatch(createBookmarkFolderSuccess(data)); if (shouldReset) { @@ -68,10 +68,10 @@ export const createBookmarkFolderFail = error => ({ error, }); -export const updateBookmarkFolder = (id, name, shouldReset) => (dispatch, getState) => { +export const updateBookmarkFolder = (id, title, shouldReset) => (dispatch, getState) => { dispatch(updateBookmarkFolderRequest(id)); - api(getState).put(`/api/v1/bookmark_folders/${id}`, { name }).then(({ data }) => { + api(getState).put(`/api/v1/bookmark_folders/${id}`, { title }).then(({ data }) => { dispatch(updateBookmarkFolderSuccess(data)); if (shouldReset) { @@ -122,12 +122,12 @@ export const deleteBookmarkFolderFail = (id, error) => ({ export const submitBookmarkFolderEditor = shouldReset => (dispatch, getState) => { const folderId = getState().getIn(['bookmarkFolderEditor', 'folderId']); - const name = getState().getIn(['bookmarkFolderEditor', 'name']); + const title = getState().getIn(['bookmarkFolderEditor', 'title']); if (folderId === null) { - dispatch(createBookmarkFolder(name, shouldReset)); + dispatch(createBookmarkFolder(title, shouldReset)); } else { - dispatch(updateBookmarkFolder(folderId, name, shouldReset)); + dispatch(updateBookmarkFolder(folderId, title, shouldReset)); } }; @@ -140,7 +140,7 @@ export const setupBookmarkFolderEditor = folderId => (dispatch, getState) => dis folder: getState().getIn(['bookmarkFolders', folderId]), }); -export const changeBookmarkFolderEditorName = value => ({ - type: BOOKMARK_FOLDER_EDITOR_NAME_CHANGE, +export const changeBookmarkFolderEditorTitle = value => ({ + type: BOOKMARK_FOLDER_EDITOR_TITLE_CHANGE, value, }); diff --git a/app/javascript/flavours/glitch/features/bookmark_folder/index.jsx b/app/javascript/flavours/glitch/features/bookmark_folder/index.jsx index 53912fbb86a0678445a9543a38d529adfbaa9d9a..a6773500b07035542c6d8d0476b063727ef98b3b 100644 --- a/app/javascript/flavours/glitch/features/bookmark_folder/index.jsx +++ b/app/javascript/flavours/glitch/features/bookmark_folder/index.jsx @@ -86,7 +86,7 @@ class BookmarkFolder extends ImmutablePureComponent { const { statusIds, columnId, multiColumn, folder, hasMore, isLoading, params } = this.props; const { folderId } = params; const pinned = !!columnId; - const name = folder ? folder.get('name') : folderId; + const name = folder ? folder.get('title') : folderId; const emptyMessage = ; diff --git a/app/javascript/flavours/glitch/features/bookmark_folders/index.jsx b/app/javascript/flavours/glitch/features/bookmark_folders/index.jsx index 8415cd6c7d64c6b6b25c3d440e5593e01e7fc16c..cdabf3bfa0d6b74efba3242cd4ae34a8b5e554fa 100644 --- a/app/javascript/flavours/glitch/features/bookmark_folders/index.jsx +++ b/app/javascript/flavours/glitch/features/bookmark_folders/index.jsx @@ -29,7 +29,7 @@ const getOrderedBookmarkFolders = createSelector([state => state.get('bookmarkFo return folders; } - return folders.toList().filter(item => !!item).sort((a, b) => a.get('name').localeCompare(b.get('name'))); + return folders.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title'))); }); const mapStateToProps = state => ({ @@ -66,7 +66,7 @@ class BookmarkFolders extends ImmutablePureComponent { ]; for (const folder of folders) { - children.push() + children.push() } return ( diff --git a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/bookmark_folder.jsx b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/bookmark_folder.jsx index 383d0bfee6b35ea62abf67a6bf1beb48507f6bee..fb6e0c0ae186833836806104aa9319e5c300bffb 100644 --- a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/bookmark_folder.jsx +++ b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/bookmark_folder.jsx @@ -57,7 +57,7 @@ class BookmarkFolder extends ImmutablePureComponent { } + label={folder ? folder.get('title') : } checked={statusFolderId === (folder ? folder.get('id') : null)} onChange={this.handleChange} /> diff --git a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/new_folder_form.jsx b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/new_folder_form.jsx index 4c57cc44d8084f175bb4fdd1a2e56e215cf15168..46576bc7ee8c6534e65e4c700e723e602130f536 100644 --- a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/new_folder_form.jsx +++ b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/components/new_folder_form.jsx @@ -5,7 +5,7 @@ import { defineMessages, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; -import { changeBookmarkFolderEditorName, submitBookmarkFolderEditor } from 'flavours/glitch/actions/bookmark_folders'; +import { changeBookmarkFolderEditorTitle, submitBookmarkFolderEditor } from 'flavours/glitch/actions/bookmark_folders'; import { IconButton } from 'flavours/glitch/components/icon_button'; const messages = defineMessages({ @@ -14,12 +14,12 @@ const messages = defineMessages({ }); const mapStateToProps = state => ({ - value: state.getIn(['bookmarkFolderEditor', 'name']), + value: state.getIn(['bookmarkFolderEditor', 'title']), disabled: state.getIn(['bookmarkFolderEditor', 'isSubmitting']), }); const mapDispatchToProps = dispatch => ({ - onChange: value => dispatch(changeBookmarkFolderEditorName(value)), + onChange: value => dispatch(changeBookmarkFolderEditorTitle(value)), onSubmit: () => dispatch(submitBookmarkFolderEditor(true)), }); diff --git a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/index.jsx b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/index.jsx index b207c90073757a92dd869ea28d3547e9b94e8a0e..6622e811cce71682a20ac0c27432d38ca093e499 100644 --- a/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/index.jsx +++ b/app/javascript/flavours/glitch/features/select_bookmark_folder_modal/index.jsx @@ -18,7 +18,7 @@ const getOrderedBookmarkFolders = createSelector([state => state.get('bookmarkFo return folders; } - return folders.toList().filter(item => !!item).sort((a, b) => a.get('name').localeCompare(b.get('name'))); + return folders.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title'))); }); const makeMapStateToProps = () => { diff --git a/app/javascript/flavours/glitch/reducers/bookmark_folder_editor.js b/app/javascript/flavours/glitch/reducers/bookmark_folder_editor.js index 8740b2b9dc2dd6700a4f783322636196ad33183b..9c76dad2827d0d081200d6ee0f210c469e61ce07 100644 --- a/app/javascript/flavours/glitch/reducers/bookmark_folder_editor.js +++ b/app/javascript/flavours/glitch/reducers/bookmark_folder_editor.js @@ -9,14 +9,14 @@ import { BOOKMARK_FOLDER_UPDATE_SUCCESS, BOOKMARK_FOLDER_EDITOR_RESET, BOOKMARK_FOLDER_EDITOR_SETUP, - BOOKMARK_FOLDER_EDITOR_NAME_CHANGE, + BOOKMARK_FOLDER_EDITOR_TITLE_CHANGE, } from '../actions/bookmark_folders'; const initialState = ImmutableMap({ folderId: null, isSubmitting: false, isChanged: false, - name: '', + title: '', }); export default function listEditorReducer(state = initialState, action) { @@ -26,11 +26,11 @@ export default function listEditorReducer(state = initialState, action) { case BOOKMARK_FOLDER_EDITOR_SETUP: return state.withMutations(map => { map.set('folderId', action.folder.get('id')); - map.set('name', action.folder.get('name')); + map.set('title', action.folder.get('title')); }); - case BOOKMARK_FOLDER_EDITOR_NAME_CHANGE: + case BOOKMARK_FOLDER_EDITOR_TITLE_CHANGE: return state.withMutations(map => { - map.set('name', action.value); + map.set('title', action.value); map.set('isChanged', true); }); case BOOKMARK_FOLDER_CREATE_REQUEST: