Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mass implementation #393

Merged
merged 544 commits into from
Feb 1, 2025
Merged
Changes from 1 commit
Commits
Show all changes
544 commits
Select commit Hold shift + click to select a range
94108dd
Refactor FrameButton component to update close button styling and rem…
Adammatthiesen Dec 22, 2024
e78f62a
Refactor FrameButton component to update close button styling and add…
Adammatthiesen Dec 22, 2024
ef96cd2
Refactor FrameButton component to update close button styling and adj…
Adammatthiesen Dec 22, 2024
faa970f
Refactor FrameButton component to update close button styling and add…
Adammatthiesen Dec 22, 2024
83ab56f
Refactor FrameButton component to update close button styling and add…
Adammatthiesen Dec 22, 2024
c8f8d9a
Refactor FrameButton component to update close button styling and add…
Adammatthiesen Dec 22, 2024
157334f
Refactor FrameButton component to update close button styling, adjust…
Adammatthiesen Dec 22, 2024
7f128a3
Refactor VersionCheck component to update positioning of the "read mo…
Adammatthiesen Dec 22, 2024
73cd6be
Refactor VersionCheck component to update positioning of the "read mo…
Adammatthiesen Dec 22, 2024
91ac652
Refactor VersionCheck component to update positioning of the "read mo…
Adammatthiesen Dec 22, 2024
1327040
Refactor VersionCheck component to update positioning of the "read mo…
Adammatthiesen Dec 22, 2024
21ac4d5
Refactor VersionCheckChangelog component to update positioning of the…
Adammatthiesen Dec 22, 2024
9221a65
Refactor VersionCheck and VersionCheckChangelog components to update …
Adammatthiesen Dec 22, 2024
b2bc615
Refactor VersionCheckChangelog component to update "See on GitHub" li…
Adammatthiesen Dec 22, 2024
ff0be6a
Refactor VersionCheckChangelog component to update padding of frame c…
Adammatthiesen Dec 22, 2024
f74b9ef
Refactor VersionCheckChangelog component to update padding and positi…
Adammatthiesen Dec 22, 2024
6757a2d
Refactor VersionCheckChangelog component to update padding and positi…
Adammatthiesen Dec 22, 2024
44f1fcf
Refactor VersionCheckChangelog component to update padding and positi…
Adammatthiesen Dec 22, 2024
45d72b9
Refactor VersionCheckChangelog component to update padding, positioni…
Adammatthiesen Dec 22, 2024
74cfe6f
Refactor VersionCheckChangelog component to update scrollbar color in…
Adammatthiesen Dec 22, 2024
95f5017
Refactor VersionCheckChangelog component to update scrollbar color in…
Adammatthiesen Dec 22, 2024
92cae2a
Refactor VersionCheckChangelog component to update fetching and displ…
Adammatthiesen Dec 22, 2024
8fd3f2c
Update '@studiocms/ui' to version 0.3.2
Adammatthiesen Dec 22, 2024
3ebf55b
Refactor sidebar links to include trailing slash in content managemen…
Adammatthiesen Dec 22, 2024
9c21eec
Refactor DoubleSidebar component to update import and helper usage
Adammatthiesen Dec 22, 2024
c2aca70
Refactor sidebar initialization in DoubleSidebar and SingleSidebar co…
Adammatthiesen Dec 22, 2024
2955238
Refactor sidebar initialization in DoubleSidebar and SingleSidebar co…
Adammatthiesen Dec 22, 2024
b4202fc
Refactor LoginChecker component to improve user permission handling a…
Adammatthiesen Dec 22, 2024
58edf6d
Refactor sidebar initialization in DoubleSidebar and SingleSidebar co…
Adammatthiesen Dec 22, 2024
e09e33b
Refactor console.log statements in LoginChecker component
Adammatthiesen Dec 22, 2024
4a4bfe3
Refactor LoginChecker component to remove console.log statements and …
Adammatthiesen Dec 22, 2024
02c207f
Refactor Astro Markdown rendering logic
Adammatthiesen Dec 22, 2024
68171ad
Refactor Astro Markdown rendering logic
Adammatthiesen Dec 22, 2024
053174b
Refactor Astro Markdown rendering logic in Renderer.js and contentRen…
Adammatthiesen Dec 22, 2024
82c3363
Refactor Astro Markdown rendering logic to use cached processor inste…
Adammatthiesen Dec 22, 2024
1972505
Refactor package.json dependencies to use catalog references
Adammatthiesen Dec 22, 2024
5bda3c8
Refactor VersionCheck.astro to add cursor pointer to read-more-text
Adammatthiesen Dec 22, 2024
a874387
Refactor LiveRender.astro to handle content retrieval and display logic
Adammatthiesen Dec 22, 2024
b6b4c02
Refactor font loading logic in BaseHead.astro and add font preload fo…
Adammatthiesen Dec 22, 2024
bba5bf5
add fallbacks to server islands
Adammatthiesen Dec 22, 2024
b0bb6d4
Refactor profile.astro to improve form structure and remove unnecessa…
Adammatthiesen Dec 22, 2024
bb2abc4
Refactor profile.astro to improve form structure and remove unnecessa…
Adammatthiesen Dec 22, 2024
1c84e2c
Refactor StudioCMSSDK.ts to add folder structure and page URL retrieval
Adammatthiesen Dec 22, 2024
743153e
Refactor StudioCMSSDK.ts to add folder structure and page URL retrieval
Adammatthiesen Dec 22, 2024
1f381dc
some basic folder-like based routing utils to get started on that plan
Adammatthiesen Dec 22, 2024
fed30f9
Refactor profile.astro to add Social Sign-in options
Adammatthiesen Dec 23, 2024
3d4098a
Refactor profile.astro to improve form structure and remove unnecessa…
Adammatthiesen Dec 23, 2024
12e3341
Refactor profile.astro to remove unnecessary code and improve form st…
Adammatthiesen Dec 23, 2024
7f871a7
Refactor profile.astro to improve form structure and remove unnecessa…
Adammatthiesen Dec 23, 2024
e84a623
Refactor profile.astro to add Social Sign-in options
Adammatthiesen Dec 23, 2024
4454e65
Refactor config-setup.ts to update auth integration
Adammatthiesen Dec 23, 2024
d8ce8fd
update sidebar generation
Adammatthiesen Dec 23, 2024
4f61fe2
Refactor routeMap.ts to remove trailing slashes in dashboard URLs
Adammatthiesen Dec 23, 2024
9872aa0
Refactor sidebarLinks.ts to add console log for script loading
Adammatthiesen Dec 23, 2024
e53ca96
Refactor sidebarLinks.ts to add cache control header in Editor.astro
Adammatthiesen Dec 23, 2024
3f70870
test
Adammatthiesen Dec 23, 2024
79eb615
Refactor sidebarLinks.ts to remove unused code and improve link highl…
Adammatthiesen Dec 23, 2024
5b45676
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
3c3fdc6
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
b76c7d2
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
94989ce
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
d626041
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
66947f7
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
4dbb130
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
a53739d
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
53e7675
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
a762be3
Refactor sidebarLinks.ts to improve link highlighting and remove dupl…
Adammatthiesen Dec 23, 2024
eb5848b
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
a854a93
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
90aec7f
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
15236a5
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
5179ddd
Refactor sidebarLinks.ts to remove duplicate code and improve link hi…
Adammatthiesen Dec 23, 2024
787a7e9
Refactor SidebarLink.astro to add event listener for astro:page-load
Adammatthiesen Dec 23, 2024
bf6ea88
Refactor SidebarLink.astro to improve link highlighting and add event…
Adammatthiesen Dec 23, 2024
a7e4da5
Refactor SidebarLink.astro to improve link highlighting and remove du…
Adammatthiesen Dec 23, 2024
0335889
Refactor SidebarLink.astro to improve link highlighting and add event…
Adammatthiesen Dec 23, 2024
707cf2a
Refactor SidebarLink.astro to improve link highlighting and update ic…
Adammatthiesen Dec 23, 2024
409e903
Refactor SidebarLink.astro to improve link highlighting and update ic…
Adammatthiesen Dec 23, 2024
5ffff01
Refactor SidebarLink.astro to remove duplicate code and improve link …
Adammatthiesen Dec 23, 2024
9607e1a
Refactor SidebarLink.astro to improve link highlighting and update ev…
Adammatthiesen Dec 23, 2024
3a54443
Refactor SidebarLink.astro to update event listener and add data-astr…
Adammatthiesen Dec 23, 2024
1262796
Refactor SingleSidebar.astro to optimize code structure and remove un…
Adammatthiesen Dec 23, 2024
3104e36
Refactor SingleSidebar.astro to remove unnecessary props and optimize…
Adammatthiesen Dec 23, 2024
83310a8
Refactor SingleSidebar.astro to optimize VersionCheck component usage
Adammatthiesen Dec 23, 2024
932de95
Refactor SingleSidebar.astro to optimize VersionCheck component usage…
Adammatthiesen Dec 23, 2024
fe39776
Refactor VersionCheck.astro to optimize code structure and add event …
Adammatthiesen Dec 23, 2024
0eb6f61
Refactor SingleSidebar.astro to optimize VersionCheck component usage…
Adammatthiesen Dec 23, 2024
2d7942f
Refactor VersionCheck.astro to optimize code structure and add event …
Adammatthiesen Dec 23, 2024
2cca55c
Refactor VersionCheck.astro to optimize code structure and add event …
Adammatthiesen Dec 23, 2024
06fde30
Refactor DoubleSidebar.astro to remove unnecessary transition properties
Adammatthiesen Dec 23, 2024
a764048
Refactor VersionCheck.astro to optimize code structure and event list…
Adammatthiesen Dec 23, 2024
61aaadf
Refactor VersionCheck.astro to optimize code structure and add event …
Adammatthiesen Dec 23, 2024
1b0a907
Refactor VersionCheck.astro to optimize code structure and remove unn…
Adammatthiesen Dec 23, 2024
76f081f
Refactor VersionCheck.astro to optimize code structure and remove unn…
Adammatthiesen Dec 23, 2024
298c461
test
Adammatthiesen Dec 24, 2024
ec107f4
Refactor ConfigForm.astro to optimize code structure and update event…
Adammatthiesen Dec 24, 2024
180d024
Refactor ConfigForm.astro to optimize code structure and update event…
Adammatthiesen Dec 24, 2024
cdaa9b4
Refactor ConfigForm.astro to optimize code structure and update event…
Adammatthiesen Dec 24, 2024
a17b325
Refactor ConfigForm.astro to update auth integration and optimize cod…
Adammatthiesen Dec 24, 2024
c788485
Refactor ConfigForm.astro to optimize code structure and update event…
Adammatthiesen Dec 24, 2024
b22ffff
Refactor ConfigForm.astro to update login page preview header
Adammatthiesen Dec 24, 2024
222d9de
Refactor ConfigForm.astro to update login page preview header and add…
Adammatthiesen Dec 24, 2024
6e37fab
Refactor ConfigForm.astro to update login page preview header and add…
Adammatthiesen Dec 24, 2024
98e8b9e
Refactor ConfigForm.astro to add fallback slot for ConfigFormFallback…
Adammatthiesen Dec 24, 2024
79dc4ea
Refactor ConfigForm.astro to remove commented out fallback slot for C…
Adammatthiesen Dec 24, 2024
17cfcbf
Refactor ConfigForm.astro to remove ConfigFormFallback component and …
Adammatthiesen Dec 24, 2024
69e6b91
Refactor Layout.astro to add Footer component and container div
Adammatthiesen Dec 24, 2024
7a886f1
Refactor Layout.astro to add footer component and container div
Adammatthiesen Dec 24, 2024
b218a97
Refactor Footer component in Layout.astro to update links and add con…
Adammatthiesen Dec 24, 2024
41f3c77
Refactor VersionCheck.astro to improve code structure and remove redu…
Adammatthiesen Dec 24, 2024
d385cca
Refactor Footer component in Layout.astro to update links and add con…
Adammatthiesen Dec 24, 2024
4880567
Refactor FolderNode interface to include page property and create bas…
Adammatthiesen Dec 24, 2024
b9b91a4
Refactor FolderNode interface to include page property in StudioCMSSD…
Adammatthiesen Dec 24, 2024
001b500
Refactor InnerSidebarLink to use 'edit' query parameter instead of 'id'
Adammatthiesen Dec 24, 2024
661bd12
Refactor content-management.astro to include Create and Edit componen…
Adammatthiesen Dec 25, 2024
309e624
Refactor Edit.astro to fix display issue with edit page content
Adammatthiesen Dec 25, 2024
9badedb
progress
Adammatthiesen Dec 26, 2024
01a74dd
Refactor Edit.astro to include TinyMDE component
Adammatthiesen Dec 26, 2024
395eb4e
Refactor Edit.astro to include TinyMDE component and fix display issue
Adammatthiesen Dec 26, 2024
b76c209
Refactor Edit.astro to remove unused function categoryAndTagsOptions
Adammatthiesen Dec 26, 2024
6dff3ac
Refactor Edit.astro to include TinyMDE component and fix display issue
Adammatthiesen Dec 26, 2024
3dbf691
Refactor Edit.astro to include pageTypes in StudioCMS configuration s…
Adammatthiesen Dec 26, 2024
f245f56
Refactor Edit.astro to include overflow-y scroll in tags container
Adammatthiesen Dec 26, 2024
ed43078
Refactor Edit.astro to include Tabs component for organizing page inf…
Adammatthiesen Dec 26, 2024
6225082
Refactor Edit.astro to remove unused Tabs component and fix display i…
Adammatthiesen Dec 26, 2024
24ca0a9
Refactor Edit.astro to remove unused Tabs component and fix display i…
Adammatthiesen Dec 26, 2024
0e81d80
Refactor Renderer.js to simplify code and improve content rendering
Adammatthiesen Jan 1, 2025
d0cb4d5
Update dependencies in pnpm-workspace.yaml and enhance VersionCheck.a…
Adammatthiesen Jan 20, 2025
1f8cdb0
Initialize ModalHelper on page load in VersionCheck.astro
Adammatthiesen Jan 20, 2025
83cef8a
Update event listener in VersionCheck.astro to use 'astro:after-swap'…
Adammatthiesen Jan 20, 2025
f95d1db
Add delay to ModalHelper initialization in VersionCheck.astro after '…
Adammatthiesen Jan 20, 2025
258d489
Update ModalHelper initialization to trigger on 'astro:page-load' eve…
Adammatthiesen Jan 20, 2025
caa5752
Implement form submission handling in Edit.astro to capture and log p…
Adammatthiesen Jan 20, 2025
14e8db9
Fix form reference in PageHeader.astro for edit button
Adammatthiesen Jan 20, 2025
d84d618
Add TinyMDE component and refactor Edit.astro to use shared options
Adammatthiesen Jan 20, 2025
0c967f0
Remove commented import of TinyMDE from Create.astro and Edit.astro
Adammatthiesen Jan 20, 2025
e0ed76d
Refactor configSetup to enable user management route and remove creat…
Adammatthiesen Jan 20, 2025
c9b4d95
Refactor config loading to support multiple config file formats and r…
Adammatthiesen Jan 20, 2025
99fd108
Add DashboardGrid and Test components, refactor index.astro to use Da…
Adammatthiesen Jan 20, 2025
ecf0ce3
Remove TestIsland component and associated test route
Adammatthiesen Jan 20, 2025
edccb5b
Remove obsolete test route from configSetup
Adammatthiesen Jan 20, 2025
3f74fd9
Add build-scripts directory and various component exports; remove obs…
Adammatthiesen Jan 20, 2025
bff828f
Add interactive CLI initialization steps and environment setup
Adammatthiesen Jan 22, 2025
9d64afe
Add readJson utility function and update package.json imports across …
Adammatthiesen Jan 22, 2025
b72c5c1
Add Windows compatibility warning for Turso DB setup in envBuilder
Adammatthiesen Jan 22, 2025
c499e40
Implement interactive CLI initialization and add path utility functions
Adammatthiesen Jan 23, 2025
24e277a
Refactor imports to use 'studiocms:' prefix and remove obsolete type …
Adammatthiesen Jan 23, 2025
c86b133
Add simpleResponse utility function for standardized JSON responses
Adammatthiesen Jan 23, 2025
c7d471e
Comment out unused route configurations in configSetup
Adammatthiesen Jan 23, 2025
e86ecb9
Refactor imports to use 'studiocms:' prefix and remove PageEditAndCre…
Adammatthiesen Jan 23, 2025
8a05344
Update type definitions and fix props for LightVsDark component in Co…
Adammatthiesen Jan 23, 2025
aa681df
Refactor package.json scripts and remove tsconfig.json; update import…
Adammatthiesen Jan 23, 2025
ac157bf
Remove unused prerenderRoutes parameter from various components and u…
Adammatthiesen Jan 23, 2025
a934b0b
Refactor PageHeader and Create components to improve type safety and …
Adammatthiesen Jan 23, 2025
14e373b
Refactor TreeRenderer component to use new TreeSidebarFolder and Tree…
Adammatthiesen Jan 23, 2025
20bc75a
Add event listener for 'astro:page-load' in Create, Edit, and PageHea…
Adammatthiesen Jan 23, 2025
e0db643
Remove redundant listener calls in Create, Edit, and PageHeader compo…
Adammatthiesen Jan 23, 2025
505b62b
Update event listeners in Create, Edit, and PageHeader components to …
Adammatthiesen Jan 23, 2025
e042266
Add data-astro-reload attribute to the add button in content-manageme…
Adammatthiesen Jan 23, 2025
cf72f71
Add routes and components for content management create and edit pages
Adammatthiesen Jan 23, 2025
4cd8f40
Refactor TreeRenderer to use StudioCMSRoutes for edit links and remov…
Adammatthiesen Jan 23, 2025
35bfd67
Refactor Create component to rename TinyMDE editor variable for clarity
Adammatthiesen Jan 23, 2025
e46dd28
Refactor content management components to improve header titles and c…
Adammatthiesen Jan 23, 2025
57bb0ab
Add TinyMDE CSS import to Create component for styling
Adammatthiesen Jan 23, 2025
f84f94e
Refactor SidebarLink component to integrate StudioCMSRoutes and enhan…
Adammatthiesen Jan 23, 2025
e5af529
Add @inox-tools/aik-mod dependency and update dashboard configuration…
Adammatthiesen Jan 23, 2025
ca0a57c
Remove unused Vite build configuration from Astro config
Adammatthiesen Jan 23, 2025
c1eb2b5
Remove unnecessary data-astro-reload attributes from sidebar link but…
Adammatthiesen Jan 23, 2025
28a750b
Add InnerSidebarElement component and refactor PageHeader for improve…
Adammatthiesen Jan 23, 2025
9b6f17d
Add folder creation and editing routes, enhance InnerSidebarElement w…
Adammatthiesen Jan 23, 2025
323e0ae
Add alignment to InnerSidebarElement dropdown for improved layout
Adammatthiesen Jan 23, 2025
3951ab8
Add icons to dropdown options in InnerSidebarElement for better visua…
Adammatthiesen Jan 23, 2025
98bbafa
Update icons in InnerSidebarElement dropdown for consistency and clarity
Adammatthiesen Jan 23, 2025
ad6c77b
Update dropdown icons in InnerSidebarElement for enhanced clarity and…
Adammatthiesen Jan 23, 2025
68b4867
Update folder icon in InnerSidebarElement dropdown for improved clarity
Adammatthiesen Jan 23, 2025
1a89b2a
Add offset to dropdown alignment in InnerSidebarElement for improved …
Adammatthiesen Jan 23, 2025
3c3f86a
Refactor dropdown initialization in InnerSidebarElement for improved …
Adammatthiesen Jan 23, 2025
a6066bc
Update dropdown icons in InnerSidebarElement for consistency and clarity
Adammatthiesen Jan 23, 2025
8416c0d
Update @studiocms/ui version to 0.4.2 in pnpm-lock.yaml and pnpm-work…
Adammatthiesen Jan 24, 2025
51319c6
Update dropdown offset in InnerSidebarElement for improved alignment
Adammatthiesen Jan 24, 2025
d464661
Refactor getParentFolderValue function for improved clarity and reuse…
Adammatthiesen Jan 24, 2025
461bbf0
Add getParentFolderValue function for improved folder value retrieval…
Adammatthiesen Jan 24, 2025
f2dfac1
Enhance InnerSidebarElement and TreeRenderer to support new folder an…
Adammatthiesen Jan 24, 2025
c9a8ecb
Update TreeRenderer to append ellipses to 'New Page' and 'New Folder'…
Adammatthiesen Jan 24, 2025
79cb567
Enhance PageHeader component to support create and edit folder functi…
Adammatthiesen Jan 24, 2025
6c136e5
Update TreeRenderer icons for 'New Page' and 'New Folder' for better …
Adammatthiesen Jan 24, 2025
8299fb1
Update icon for 'Create Folder' in InnerSidebarElement for better vis…
Adammatthiesen Jan 24, 2025
3408900
Enhance folder and page management by adding parent reference to Fold…
Adammatthiesen Jan 24, 2025
ae5ea52
Refactor PageHeader component to rename folderEdit variable to folder…
Adammatthiesen Jan 24, 2025
aefc80c
Add null checks for editPageGrabber in CreatePage and EditPage compon…
Adammatthiesen Jan 24, 2025
f9732ea
Refactor EditPage component to directly access parent folder options …
Adammatthiesen Jan 24, 2025
b4b90e7
Update event listener in CreatePage and EditPage components to use 'a…
Adammatthiesen Jan 24, 2025
2aebd02
Update event listener in CreatePage and EditPage components to use 'a…
Adammatthiesen Jan 24, 2025
95e5ab1
Simplify DropdownHelper initialization in InnerSidebarElement by remo…
Adammatthiesen Jan 24, 2025
efb7618
Add null check for 'create-new-dropdown-dropdown' before initializing…
Adammatthiesen Jan 24, 2025
4628a92
Invoke listener immediately in CreatePage and EditPage components for…
Adammatthiesen Jan 24, 2025
e74a18e
Refactor CreatePage and EditPage components to streamline form submis…
Adammatthiesen Jan 24, 2025
c2d3855
Refactor listener setup in CreatePage and EditPage components to ensu…
Adammatthiesen Jan 24, 2025
636a02e
Remove redundant data attribute from inline script in CreatePage comp…
Adammatthiesen Jan 24, 2025
7f7fd00
Add data-astro-reload attribute to TreeSidebarFolder and TreeSidebarL…
Adammatthiesen Jan 24, 2025
74f03f7
Refactor TreeSidebarFolder component to use 'a' element for links and…
Adammatthiesen Jan 24, 2025
4b2b7c5
Update @studiocms/ui package version to 0.4.3 in pnpm-lock.yaml and p…
Adammatthiesen Jan 24, 2025
c37896b
Update icons in InnerSidebarElement dropdown for consistency
Adammatthiesen Jan 24, 2025
a8993c9
Remove unused import from astro-integration-kit in index.ts for clean…
Adammatthiesen Jan 24, 2025
d166d15
Update @studiocms/ui package version to 0.4.5 and refactor sidebar co…
Adammatthiesen Jan 24, 2025
54d3274
Add loading indicator component and related styles; update biome conf…
Adammatthiesen Jan 24, 2025
79377fc
Refactor loading indicator styles for improved positioning and visibi…
Adammatthiesen Jan 24, 2025
77c2108
Update loading indicator positioning to center by default
Adammatthiesen Jan 24, 2025
409db2b
Enhance plugin list display with boxen formatting and clean up unused…
Adammatthiesen Jan 24, 2025
b906963
Remove commented-out virtual module exports for cleaner code
Adammatthiesen Jan 24, 2025
38ce0da
Refactor and consolidate utility functions; remove unused files and u…
Adammatthiesen Jan 25, 2025
4a40e2d
Remove unnecessary check for dropdown existence in InnerSidebarElement
Adammatthiesen Jan 25, 2025
84100e9
Add transition effects to MainSidebarContent and Dropdown components
Adammatthiesen Jan 25, 2025
ad6948f
Add CreateFolder component and integrate it into the create folder page
Adammatthiesen Jan 25, 2025
e052b4d
Remove unnecessary comments and data-link attributes from CreateFolde…
Adammatthiesen Jan 25, 2025
2c6f36b
Add dompurify and fuse.js dependencies; enhance inner sidebar link st…
Adammatthiesen Jan 25, 2025
54c2a55
Enhance InnerSidebarElement by adding a title to the divider and upda…
Adammatthiesen Jan 25, 2025
16d6a3d
Add pageData property to PageList test data for improved structure
Adammatthiesen Jan 25, 2025
93a1887
Refactor InnerSidebarElement to improve search functionality and drop…
Adammatthiesen Jan 25, 2025
023853b
Refactor InnerSidebarElement to streamline data handling and improve …
Adammatthiesen Jan 25, 2025
39ebeac
Refactor InnerSidebarElement to replace anchor tags with divs for sea…
Adammatthiesen Jan 25, 2025
78ba08d
Add EditFolder component for folder editing functionality and update …
Adammatthiesen Jan 25, 2025
8057c7b
Enhance search functionality by implementing search list API and refa…
Adammatthiesen Jan 26, 2025
9c5fc3f
Refactor folder and page components to improve layout spacing, add dr…
Adammatthiesen Jan 26, 2025
9134111
Refactor parent folder value handling in CreatePage and EditPage comp…
Adammatthiesen Jan 26, 2025
a48565a
Add delete functionality to EditFolder and EditPage components with c…
Adammatthiesen Jan 26, 2025
3f77969
Implement modal confirmation for folder and page deletion in EditFold…
Adammatthiesen Jan 26, 2025
bb34e86
Increase bottom margin of the page content editor for improved layout…
Adammatthiesen Jan 26, 2025
775e556
Add UI version meta tag to Generator component and update comment syn…
Adammatthiesen Jan 27, 2025
6be838b
Refactor component imports to use direct file paths and remove unused…
Adammatthiesen Jan 27, 2025
bfb596e
Refactor footer component usage and layout adjustments in various com…
Adammatthiesen Jan 28, 2025
6446c73
Add example component, update user management routes, and enhance per…
Adammatthiesen Jan 29, 2025
5676419
Add new API routes for user management and dashboard configuration
Adammatthiesen Jan 29, 2025
9748171
Add new API routes for user management and content handling, and refa…
Adammatthiesen Jan 29, 2025
5606e8f
Remove deprecated admin API route and associated logic
Adammatthiesen Jan 29, 2025
d7153d4
Add password reset functionality with API route and user interface up…
Adammatthiesen Jan 29, 2025
f5cf2cf
Add token verification and reset link generation improvements
Adammatthiesen Jan 29, 2025
7ab8bdb
Add reset password functionality with API route and UI updates
Adammatthiesen Jan 29, 2025
7f90e68
Refactor reset password API route to remove user authentication checks
Adammatthiesen Jan 29, 2025
8b78897
Remove unused user data and permission verification imports from rese…
Adammatthiesen Jan 29, 2025
ebd0851
Remove TODO comments and add placeholders for API setup in content ma…
Adammatthiesen Jan 29, 2025
cae7621
Refactor event listener setup for page load to ensure immediate execu…
Adammatthiesen Jan 29, 2025
0b4f915
Add DELETE method for user management and enhance user deletion UI in…
Adammatthiesen Jan 29, 2025
0b401b9
Add theme management interface and integrate ThemeManager component i…
Adammatthiesen Jan 30, 2025
6f50791
Implement POST, PATCH, and DELETE methods for content API routes with…
Adammatthiesen Jan 30, 2025
f901ff1
Refactor user permission checks and enhance folder management API wit…
Adammatthiesen Jan 30, 2025
ad5b603
Enhance delete functionality for pages and folders with action routin…
Adammatthiesen Jan 30, 2025
2f07c62
Refactor page editing and creation logic with improved data handling …
Adammatthiesen Jan 30, 2025
bf79b1e
Implement user deletion functionality with reference clearing and err…
Adammatthiesen Jan 30, 2025
501e804
Update configuration to ignore build-scripts and implement new dashbo…
Adammatthiesen Jan 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add dompurify and fuse.js dependencies; enhance inner sidebar link st…
…yles
Adammatthiesen committed Jan 25, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 2c6f36bffea3b74d19f65a3c6368fc477fd9bfde
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@
"astrojs",
"CMSSDK",
"Coolify",
"dompurify",
"Libravatar",
"liverender",
"Markdoc",
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
import { StudioCMSRoutes } from 'studiocms:lib';
import { studioCMS_SDK_Cache } from 'studiocms:sdk/cache';
import { Button, Divider, Dropdown, Icon, Input } from 'studiocms:ui/components';
import PageList from './PageList.astro';

@@ -8,80 +9,264 @@ interface Props {
isNewPage?: boolean;
}

const { data: folderList } = await studioCMS_SDK_Cache.GET.folderList();
const pageList = await studioCMS_SDK_Cache.GET.pages();

const { isNewFolder, isNewPage } = Astro.props;
---

<div class="inner-sidebar-header">
<Input name='search' placeholder='Search...' />
<Dropdown
transition:persist
transition:persist-props
id='create-new-dropdown'
options={[
{ label: 'Create Page', icon: 'document-plus', value: StudioCMSRoutes.mainLinks.contentManagementCreate },
{ label: 'Create Folder', icon: 'folder-plus', value: StudioCMSRoutes.mainLinks.contentManagementFolderCreate },
]}
align={'end'}
offset={8}
>
<Button variant="solid" color="primary" size='sm' class="add-button">
<Icon name="plus" width={24} height={24} />
</Button>
</Dropdown>
</div>

<Divider background={'background-step-2'}>Items</Divider>

<div class="inner-sidebar-items">
<PageList {isNewFolder} {isNewPage} />
</div>

<script>
import { DropdownHelper } from 'studiocms:ui/components';

document.addEventListener('astro:page-load', () => {
const createNewDropdown = new DropdownHelper('create-new-dropdown');

createNewDropdown.registerClickCallback((value) => {
window.location.href = value;
})
<form id="search-form">
{/*
// @ts-ignore */}
<Input name='search' placeholder='Search...' type='search' required />
</form>
<Dropdown
transition:persist
transition:persist-props
id='create-new-dropdown'
options={[
{
label: 'Create Page',
icon: 'document-plus',
value: StudioCMSRoutes.mainLinks.contentManagementCreate
},
{
label: 'Create Folder',
icon: 'folder-plus',
value: StudioCMSRoutes.mainLinks.contentManagementFolderCreate
},
]}
align={'end'}
offset={8}
>
<Button variant="solid" color="primary" size='sm' class="add-button">
<Icon name="plus" width={24} height={24} />
</Button>
</Dropdown>
</div>

<Divider background={'background-step-2'}>Items</Divider>

<div
class="inner-sidebar-items"
id="inner-sidebar-items"
data-folders={JSON.stringify(folderList)}
data-pages={JSON.stringify(pageList)}
data-editpage={StudioCMSRoutes.mainLinks.contentManagementEdit}
data-editfolder={StudioCMSRoutes.mainLinks.contentManagementFolderEdit}
>
<PageList {isNewFolder} {isNewPage} />
</div>

<div
class="inner-sidebar-items"
id="inner-sidebar-items-search"
style="display: none;"
></div>

<script>
import { DropdownHelper } from 'studiocms:ui/components';
import DOMPurify from 'dompurify';
import Fuse from 'fuse.js';

const form = document.getElementById('search-form') as HTMLFormElement;
const searchInput = form.querySelector('input[name=search]') as HTMLInputElement;
const innerSideBarItems = document.getElementById('inner-sidebar-items') as HTMLDivElement;
const innerSidebarItemsSearch = document.getElementById('inner-sidebar-items-search') as HTMLDivElement;

type Folders = {
id: string;
name: string;
parent?: string | null;
}[];

type Pages = {
data: {
id: string;
title: string;
slug: string;
parentFolder: string | null;
};
lastCacheUpdate: Date;
}[];

type SearchItem = {
id: string;
name: string;
slug?: string;
type: 'folder' | 'page';
};

type SearchList = SearchItem[];

const itemTemplate = (item: SearchItem, searchTerm: string) => {
const url = item.type === 'folder'
? `${innerSideBarItems.dataset.editfolder}?folder=${item.id}&search=${searchTerm}`
: `${innerSideBarItems.dataset.editpage}/?edit=${item.id}&search=${searchTerm}`;
return `
<a href=${url} class="inner-sidebar-link" data-astro-reload>
${
item.type === 'folder'
? `<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z" /> </svg> `
: `<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" /> </svg>`
}
<span class="sidebar-link-text">
${item.name}
</span>
</a>
`;
};

function setupDropdown() {
const createNewDropdown = new DropdownHelper('create-new-dropdown');

createNewDropdown.registerClickCallback((value) => {
window.location.href = value;
});
</script>
};

<style>

.inner-sidebar-header {
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;

& input {
margin-right: 1rem;
width: 95%;
}
function getSearchList() {
const folders = JSON.parse(innerSideBarItems.dataset.folders || '[]') as Folders;
const pages = JSON.parse(innerSideBarItems.dataset.pages || '[]') as Pages;

const searchList: SearchList = []

for (const { id, name } of folders) {
searchList.push({ id, name, type: 'folder' });
}

.add-button {
width: 32px !important;
height: 32px !important;

padding: 0.25rem !important;

for (const { data: { id, title: name, slug } } of pages) {
searchList.push({ id, name, slug, type: 'page' });
}

.inner-sidebar-items {
display: flex;
flex-direction: column;
gap: .375rem;
width: 100%;
height: 100%;

return searchList;
}

function getQueryParams() {
const url = new URL(window.location.href);
return url.searchParams.get('search');
}

function updateQueryParams(searchTerm: string) {
const url = new URL(window.location.href);
url.searchParams.set('search', searchTerm);
window.history.pushState({}, '', url);
}

function clearSearchResults() {
innerSidebarItemsSearch.innerHTML = '';
innerSideBarItems.style.display = 'block';
innerSidebarItemsSearch.style.display = 'none';
}

function clearSearchParams() {
const url = new URL(window.location.href);
url.searchParams.delete('search');
window.history.pushState({}, '', url);
clearSearchResults();
}

function runSearch() {
const formData = new FormData(form);

const searchTerm = DOMPurify.sanitize(formData.get('search')?.toString() || '');

if (!searchTerm || searchTerm.length === 0) return;

updateQueryParams(searchTerm);

const searchList = getSearchList();

const fuse = new Fuse(searchList, {
keys: ['name', 'slug'],
includeScore: true,
threshold: 0.3,
});

const results = fuse.search(searchTerm);

console.log(`Search Results (${results.length}) `, results);

innerSidebarItemsSearch.innerHTML = results.map(({ item }) => {
return itemTemplate(item, searchTerm);
}).join('');

innerSideBarItems.style.display = 'none';
innerSidebarItemsSearch.style.display = 'block';
}

// Main Functions

// Event Listeners
function searchListeners() {
// if the user submits the form, run the search
form.addEventListener('submit', (e) => {
e.preventDefault();
runSearch();
});

// if the user stops typing for 500ms, run the search
let timeout: NodeJS.Timeout;
form.addEventListener('input', () => {
if (searchInput.value.length === 0) clearSearchParams();

clearTimeout(timeout);
timeout = setTimeout(runSearch, 500);
});

// if the user clears the search, clear the query params
searchInput.addEventListener('search', clearSearchParams)
}

// Set the search term if it exists in the query params on page load
function setSearchTerm() {
const searchTerm = getQueryParams();
if (searchTerm) {
const input = searchInput;
input.value = searchTerm;
setTimeout(runSearch, 500);
}
}

document.addEventListener('astro:page-load', setupDropdown);
document.addEventListener('astro:page-load', searchListeners);
document.addEventListener('astro:page-load', setSearchTerm);
</script>

<style>
.inner-sidebar-header {
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;

input[name=search] {
/* heroicons:magnifying-glass-16-solid */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAndJREFUSEvFlUtoFEEQhv/qRVkvevARiM+DiOAjKooS0KCYg9EIigrGi3jzIBK8bNdsCIHt3mURET14EwQhugQRIxg8KMRHEIMGQUFyCCiBGFBE8LLsdLkTZsUkm52BZLGuXV3f/FX19xDqHFTn+vh/gO7u7sXJZPK0iFwAsAnASgBjRDTsnOsvFot9PT09LqoDVRVkMpnVSqkBAFtrFBgBcI6ZP9WCzAIYYxqI6B2AxvDiGxEZSCQS733f30lEbQD2hGcTzrnd6XR6fC7INICIUDabfQ6gBcAkgIvM/GDmZWvtKRG5RUQrAAwxc3MsgDGmlYieBslEdERrHbSpahhjjhLR4zC3Q2vdWy1xmgJr7X0AZwA8ZOYTUQO01vYDOEZE/Vrr43EAYwA2ALjMzDeiAMaYK0R0NWgnMzfEARQBLBKRNs/znkQBMplMu1LqEYAfzLw8DuALgLUAOpn5ehTAGNNJRNcAfGXmdXEAlRncYebzUQBr7d3ACwB6mbkjEvCP5N8i0ux53ocaW7SLiF4CWAKgnZmnNmpmzDJaNpsdKhtrX9kD35xzJ9Pp9OsqPthfdnkfgFXlLRpm5orxogG5XK7JOTcIYCkAR0Q3nXPBszBORGuIqElELgFQYbVJ3/cPdHV1fY6lIEgyxmwnomA71teYwysAGwEE6/ldKdWSSqU+RraoklAoFBKjo6NnlVKtIrIDwBYAPoBA3T2t9e18Pr+5VCoNhk/GTxE56HleoPZvzPt/kMvltjnnXgBYBuBXefCHtdZvK4R5A8KWBhv1LIRMaK0biUim3qmoXY97bq3dCyBw/wgzH1pQBbU+YsEUzAWpO+APfeLiGcjy+NMAAAAASUVORK5CYII=") !important;
background-position: 6px 6px !important;
background-repeat: no-repeat !important;
padding: .5rem 20px .5rem 2rem !important;
& input {
margin-right: 1rem;
width: 95%;
}
</style>
}

.add-button {
width: 32px !important;
height: 32px !important;
padding: 0.25rem !important;
}

.inner-sidebar-items {
display: flex;
flex-direction: column;
gap: .375rem;
width: 100%;
height: 100%;
}

input[name=search] {
/* heroicons:magnifying-glass-16-solid */
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAndJREFUSEvFlUtoFEEQhv/qRVkvevARiM+DiOAjKooS0KCYg9EIigrGi3jzIBK8bNdsCIHt3mURET14EwQhugQRIxg8KMRHEIMGQUFyCCiBGFBE8LLsdLkTZsUkm52BZLGuXV3f/FX19xDqHFTn+vh/gO7u7sXJZPK0iFwAsAnASgBjRDTsnOsvFot9PT09LqoDVRVkMpnVSqkBAFtrFBgBcI6ZP9WCzAIYYxqI6B2AxvDiGxEZSCQS733f30lEbQD2hGcTzrnd6XR6fC7INICIUDabfQ6gBcAkgIvM/GDmZWvtKRG5RUQrAAwxc3MsgDGmlYieBslEdERrHbSpahhjjhLR4zC3Q2vdWy1xmgJr7X0AZwA8ZOYTUQO01vYDOEZE/Vrr43EAYwA2ALjMzDeiAMaYK0R0NWgnMzfEARQBLBKRNs/znkQBMplMu1LqEYAfzLw8DuALgLUAOpn5ehTAGNNJRNcAfGXmdXEAlRncYebzUQBr7d3ACwB6mbkjEvCP5N8i0ux53ocaW7SLiF4CWAKgnZmnNmpmzDJaNpsdKhtrX9kD35xzJ9Pp9OsqPthfdnkfgFXlLRpm5orxogG5XK7JOTcIYCkAR0Q3nXPBszBORGuIqElELgFQYbVJ3/cPdHV1fY6lIEgyxmwnomA71teYwysAGwEE6/ldKdWSSqU+RraoklAoFBKjo6NnlVKtIrIDwBYAPoBA3T2t9e18Pr+5VCoNhk/GTxE56HleoPZvzPt/kMvltjnnXgBYBuBXefCHtdZvK4R5A8KWBhv1LIRMaK0biUim3qmoXY97bq3dCyBw/wgzH1pQBbU+YsEUzAWpO+APfeLiGcjy+NMAAAAASUVORK5CYII=") !important;
background-position: 6px 6px !important;
background-repeat: no-repeat !important;
padding: .5rem 20px .5rem 2rem !important;
}

</style>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import studioCMS_SDK_Cache from 'studiocms:sdk/cache';
import TreeRenderer from './TreeRenderer.astro';
import { PageFolderTree } from './shared';

interface Props {
isNewFolder?: boolean;
@@ -9,8 +9,6 @@ interface Props {

const { isNewFolder, isNewPage } = Astro.props;

const { data } = await studioCMS_SDK_Cache.GET.pageFolderTree();

const testData = [
{
id: '1',
@@ -44,4 +42,4 @@ const testData = [
];
---

<TreeRenderer data={data} {isNewFolder} {isNewPage} />
<TreeRenderer data={PageFolderTree} {isNewFolder} {isNewPage} />
Original file line number Diff line number Diff line change
@@ -8,7 +8,9 @@ interface PluginListItem {

const { data: folderList } = await studioCMS_SDK_Cache.GET.folderList();

const parentFolders = folderList.map(({ id: value, name: label }) => ({ value, label }));
export const { data: PageFolderTree } = await studioCMS_SDK_Cache.GET.pageFolderTree();

export const parentFolders = folderList.map(({ id: value, name: label }) => ({ value, label }));

// EXPORTS

Loading