CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 18:44:45 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/ipfs/ipfs-webui.git
etag: W/"2e8e841ec1b95631e7d50d54f21e9046"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=RXicNRASnVlNzyvbQsAbMvbzfmxcE5O%2FcCrkz4RtJlAHWEqJ70aKkkiJIJedhBvTgr6IVd8GiQpDx2H6MQ3V5%2FFxjDwJS2VvJKj%2ByTetqFwss6ujYc%2FL3%2B7jyFdL6qlujbVy4B%2F2H5tU%2FgAGe%2FffO2%2BD1WVWHdRCdj9iL9bFIqfctD2hiWy1JwQczsZ2qSwwKrVKZw0M52w29Ri8lWhmZTVO16anLzoATjXsFgnHWX4UubITRa4%2BhnHmFciPDipS71sM9GZeQSJmaPdST%2FfAsQ%3D%3D--07hYeDm1CjRpC63y--IrgAv2Yn97%2FGu8ynVkUTSQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.2134315405.1753296284; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 18:44:44 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 18:44:44 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D876:124FF4:FE27B7:12CF75D:68812D9C
feat: Add thumbnails support for files in grid view (#2337) · ipfs/ipfs-webui@546d20a · GitHub


authored Dismiss banner
Copy file name to clipboardExpand all lines: public/locales/en/files.json
Copy file name to clipboardExpand all lines: src/bundles/files/actions.js
Copy file name to clipboardExpand all lines: src/bundles/files/consts.js
Copy file name to clipboardExpand all lines: src/components/checkbox/Checkbox.js
Copy file name to clipboardExpand all lines: src/components/text-input-modal/TextInputModal.js
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 517
Commit 546d20a
feat: Add thumbnails support for files in grid view (#2337)
* feat: Add grid view mode with thumbnails for files page
Introduces a new grid view mode for the files page, allowing users to switch between list and grid views. Includes:
- New FilesGrid component
- View mode toggle buttons
- Shared props between list and grid views
- Updated rendering logic to support both view modes
* feat: Enhance files page with multi-select and keyboard navigation
Adds multi-select functionality and improved keyboard navigation to the files page grid view:
- Implement file selection with checkboxes
- Add keyboard navigation between files
- Create a new SelectedActions component for bulk operations
- Update styling to support selection and focus states
* fix: Improve FilesGrid and GridFile styling and linting
- Adjust GridFile thumbnail opacity for better visual appearance
* feat: Improve file selection and view mode in Files Page
- Add select all checkbox for grid view
- Move selected state management to parent component
- Refactor file selection logic to support bulk and individual selection
- Minor UI layout adjustments
* feat: Add text preview for files in grid view
- Implement text preview for text-based files in Grid File
- Add support for reading file contents with doRead action
- Enhance FileThumbnail to display text previews
- Add localized "Select all entries" text across language files, this was done using google translate
* chore: remove yarn.lock file
* feat: use larger icon size when preview is not available for grids
* feat: Improve view mode UI and file hash display
- Move view mode buttons to Header component
- Truncate file hash in grid view for better readability
- Adjust Header layout and styling
* feat: Add view mode translations and adjust UI styling
- Add translation for view mode
- Apply consistent height to view mode buttons in FilesPage
- Adjust Header component margins and layout
- Add responsive margin for breadcrumbs header
* feat: Improve FilesGrid keyboard navigation and responsiveness
* style: Reduce border width from 2px to 1px in default state
* fix: resolve issue with storybook test
* feat: Add keyboard shortcuts and drag-and-drop support for gridfiles
- Implement keyboard shortcut modal with comprehensive keyboard navigation
- Add drop zone and drag-and-drop functionality for files in grid view
- Enhance list file navigation and selection with improved keyboard controls
- Add visual indicators for drag and drop interactions in grid view
* fix: avoid jiggling ui
moving 2px and changing border weight does not render well
and makes ui jiggle.
switching to static sizing + reusing dotted border convention from
the old Files screen
* fix: avoid changing unrelated translations
we dont want to cause unnecessary work for people at
https://app.transifex.com/ipfs/ipfs-webui/dashboard/
* fix: remove shadow on hover
we do not use shadows in UI anywhere else, let's keep grid view UI
simple and follow similar visual indicators as list view
* chore: remove translation edits
* chore: rename shortcut model filename
* chore: fix mem leak and side effects
* chore: rename new files to kebab case
* fix: grid keyboard nav
* fix: migrate to typescript
* chore: fix lint failures
* chore: fix runtime error
* fix: simplify keyboard shortcut condition
* fix: resolve issue with enter shortcut on grid
* chore: remove default props on FilesList
* feat: add grid view step to files tour
* fix: improve keyboard navigation and refactor grid file component
* feat: add e2e tests for grid view functionality
* chore: remove e2e unnecessary setup script
* fix: resolve error with grid e2e tests
---------
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>1 parent 8939bea commit 546d20aCopy full SHA for 546d20a
File tree
Expand file treeCollapse file tree
43 files changed
+1788
-129
lines changedFilter options
- @types/ipfs
- public/locales/en
- src
- bundles/files
- components
- checkbox
- text-input-modal
- files
- file-icon
- file-preview
- files-grid
- files-list
- header
- modals
- shortcut-modal
- pin-icon
- selected-actions
- type-from-ext
- icons
- lib
- test
- e2e
- helpers
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Expand file treeCollapse file tree
43 files changed
+1788
-129
lines changed+4-3Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| 19 | + | |
19 | 20 |
| |
20 | 21 |
| |
21 | 22 |
| |
| |||
94 | 95 |
| |
95 | 96 |
| |
96 | 97 |
| |
97 |
| - | |
98 |
| - | |
99 |
| - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
100 | 101 |
| |
101 | 102 |
| |
102 | 103 |
| |
|
+10-1Lines changed: 10 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
121 | 121 |
| |
122 | 122 |
| |
123 | 123 |
| |
124 |
| - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
125 | 134 |
| |
126 | 135 |
| |
127 | 136 |
| |
|
public/locales/en/files.json
Copy file name to clipboardExpand all lines: public/locales/en/files.json+33-1Lines changed: 33 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| 20 | + | |
| 21 | + | |
20 | 22 |
| |
| 23 | + | |
21 | 24 |
| |
22 | 25 |
| |
23 | 26 |
| |
| |||
46 | 49 |
| |
47 | 50 |
| |
48 | 51 |
| |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
49 | 74 |
| |
50 | 75 |
| |
51 | 76 |
| |
| |||
81 | 106 |
| |
82 | 107 |
| |
83 | 108 |
| |
| 109 | + | |
84 | 110 |
| |
85 | 111 |
| |
86 | 112 |
| |
| |||
117 | 143 |
| |
118 | 144 |
| |
119 | 145 |
| |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
120 | 151 |
| |
121 | 152 |
| |
122 | 153 |
| |
| |||
153 | 184 |
| |
154 | 185 |
| |
155 | 186 |
| |
156 |
| - | |
| 187 | + | |
| 188 | + | |
157 | 189 |
|
src/bundles/files/actions.js
Copy file name to clipboardExpand all lines: src/bundles/files/actions.js+13Lines changed: 13 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
185 | 185 |
| |
186 | 186 |
| |
187 | 187 |
| |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
188 | 201 |
| |
189 | 202 |
| |
190 | 203 |
| |
|
src/bundles/files/consts.js
Copy file name to clipboardExpand all lines: src/bundles/files/consts.js+3-1Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
42 | 42 |
| |
43 | 43 |
| |
44 | 44 |
| |
45 |
| - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
46 | 48 |
| |
47 | 49 |
| |
48 | 50 |
| |
|
src/components/checkbox/Checkbox.js
Copy file name to clipboardExpand all lines: src/components/checkbox/Checkbox.js+14-2Lines changed: 14 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3 | 3 |
| |
4 | 4 |
| |
5 | 5 |
| |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
6 | 15 |
| |
7 | 16 |
| |
8 | 17 |
| |
9 | 18 |
| |
10 | 19 |
| |
11 | 20 |
| |
| 21 | + | |
| 22 | + | |
| 23 | + | |
12 | 24 |
| |
13 | 25 |
| |
14 | 26 |
| |
| |||
19 | 31 |
| |
20 | 32 |
| |
21 | 33 |
| |
22 |
| - | |
| 34 | + | |
23 | 35 |
| |
24 |
| - | |
| 36 | + | |
25 | 37 |
| |
26 | 38 |
| |
27 | 39 |
| |
|
src/components/text-input-modal/TextInputModal.js
Copy file name to clipboardExpand all lines: src/components/text-input-modal/TextInputModal.js+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
123 | 123 |
| |
124 | 124 |
| |
125 | 125 |
| |
126 |
| - | |
| 126 | + | |
127 | 127 |
| |
128 | 128 |
| |
129 | 129 |
| |
|
You can’t perform that action at this time.
0 commit comments