Commit graph

18 commits

Author SHA1 Message Date
e9e8719a93
feat: improve sidebar UX with toggle functionality
Introduced new styles for the sidebar's open and close buttons to
enhance visibility and user interaction. Updated the sidebar logic in
the JavaScript to include a toggle functionality, allowing users to
easily open and close the sidebar. This improves the user experience by
making navigation more intuitive and the UI cleaner. The 'Close Sidebar'
button now directly closes the sidebar, and a new 'Open Sidebar' button
appears when the sidebar is closed, providing a clear action cue to the
users.
2024-03-16 07:58:14 +01:00
c9971f22fe
feat(tours): allow nullable category relations
Updated `originalmedia` and `scene` models to allow their `category`
fields to be nullable. This adjustment permits entries without a
specific category, enhancing flexibility in content organization. Upon
deletion of a category, related records will now have their category set
to null instead of being deleted, preventing unintended data loss.

Resolves issues with rigid category assignments and improves data
resilience.
2024-03-16 07:30:53 +01:00
2bbb39860e
feat: refine access control for media and scenes
Introduced new permission checks in the models, serializers, and views
across the application to enhance user access control and data privacy.
This update ensures that sensitive media and scene information are only
accessible to users with appropriate permissions, including public
access checks and enhanced controls for superusers and staff. These
changes streamline permission logic, making it more robust and
maintainable. Serialization now conditionally includes media and scenes
based on user permissions, significantly improving data security and
user experience by preventing unauthorized access.

This enhancement aligns with our ongoing efforts to bolster security
measures and ensure compliance with data protection regulations.
2024-03-16 07:26:49 +01:00
0999d2f16e
feat: add dynamic sidebar for scenes
Introduce a new sidebar in the UI for enhanced navigation through
scenes. This feature includes CSS modifications for styling, updates in
JavaScript to dynamically load sidebar content based on scene
categories, and template adjustments to include the sidebar option. By
leveraging the Collapse component from Bootstrap alongside existing
infrastructure, this addition enriches user interaction by providing a
convenient and visually appealing method to explore different scenes
within the application. The sidebar's design and functionality are
thoughtfully integrated to ensure a cohesive and user-friendly
experience.

The decision to implement a sidebar stemmed from the need to improve
navigational efficiency and user engagement with the content. This
change is part of a broader effort to enhance the UI/UX of the
application, aiming to make the exploration of scenes more intuitive and
accessible.
2024-03-15 19:27:19 +01:00
e3cff5b9b7
feat: add dynamic navbar to scenes
Introduced a new CSS file for styling a fixed navbar in scenes,
enhancing user navigation within the virtual environment. Modified
scene.js to include fetching categories and generating a navbar with
scene options dynamically based on the category of the current scene.
This allows users to switch scenes more intuitively. The `nonavbar`
attribute was added for scenes where the navbar should be omitted,
providing flexibility in scene presentation. Additionally, streamlined
CSS and SCSS imports across JS files for consistency and removed an
unnecessary SCSS import from editor.js, optimizing load times and
project structure.

This update significantly improves user experience by facilitating
easier navigation and scene exploration within the application.
2024-03-15 16:41:37 +01:00
2e819ba0a6
feat(editor): add missing CSRF token retrieval function
Implemented a new function to fetch the CSRF token from cookies in the
editor's JavaScript. This ensures secure AJAX requests by validating the
client's sessions, enhancing the application's security against
cross-site request forgery attacks. The addition is a crucial step
towards securing forms and API calls within the editor environment.
2024-03-15 15:09:43 +01:00
e0130ef3c2
feat(tours): remove unused comment 2024-03-15 15:08:08 +01:00
bcca11aab9
refactor(js): streamline frontend SCSS import
Migrated the SCSS import for the frontend directly into editor.js and
userarea.js from frontend.js, removing redundancy by consolidating style
imports. This adjustment enables more coherent management of SCSS files
and removes the need for a separate frontend bundle. Consequently,
frontend.js and its references in HTML templates were removed to clean
up the codebase and simplify the asset pipeline. These changes should
make future maintenance of CSS easier and improve load times by reducing
unnecessary scripting and network requests.
2024-03-15 15:06:15 +01:00
0888e6132a
feat: add initial SECURITY.md for project
guidelines

Introduced a Security Policy in the newly added SECURITY.md file,
outlining the project's current security status, cautioning users about
its early-stage development, and providing guidance on reporting
vulnerabilities. This establishes a clear protocol for communicating and
handling security concerns, ensuring contributors and users have a
direct channel for raising security issues with the Private.coffee
security team. This move reflects a proactive approach to security and
transparency as the project evolves.
2024-03-15 14:33:14 +01:00
4779f89513
feat: integrate FontAwesome and enhance scene permissions
- Added FontAwesome for enriched UI iconography.
- Implemented permission checks in scene edit view to prevent
unauthorized edits.
- Adjusted scene links in the category template for direct edit access,
streamlining the user workflow.

These changes aim at both enhancing the visual elements of the interface
and strengthening the security model by ensuring that only authorized
users can edit scenes. The direct edit links in the category view
further simplify navigation, making the system more intuitive for users.
2024-03-15 09:36:44 +01:00
8c3ea535e5
feat: Upgrade project setup and dependencies management
This commit represents a significant overhaul of the development and
setup processes for the Quackscape project. Key changes include the
transition from a requirements.txt-based dependency management system to
Poetry.
These updates aim to streamline the setup process

- Transitioned to Poetry for improved dependency resolution and package
management.
- Consolidated Django management commands under the quackscape-manage
script to simplify command execution and project management.
- Updated README.md to reflect the new setup procedures, emphasizing
ease of setup and the flexibility to support multiple database backends.

The shift to Poetry and the introduction of a custom management command
tool reflects an effort to modernize the project's infrastructure,
making it more accessible to contributors and easier to maintain.
2024-03-15 09:36:18 +01:00
743f97a6ab
feat: introduce Code of Conduct and Contributing Guidelines
Added a comprehensive Code of Conduct and Contributing Guidelines for
the Quackscape project to foster a positive community environment and
streamline the contribution process. The Code of Conduct pledges an
inclusive, harassment-free experience for all contributors, while the
Contributing Guidelines outline steps for asking questions, reporting
bugs, suggesting enhancements, and making first code contributions.
These additions aim to enhance participation clarity, ensure respectful
interactions, and encourage contributions by outlining expectations and
procedures, thus promoting a healthier, more collaborative development
atmosphere.
2024-03-15 09:33:56 +01:00
1344adc37d
Added LICENSE and enhanced project documentation
Introduced an MIT LICENSE file for open sourcing the project, ensuring
that users are aware of their rights to use, modify, and distribute the
software. This change underlines our commitment to the open source
community and clarifies usage terms.

Updated the README.md with detailed development setup instructions,
making it easier for new contributors to get started with the project.
The amendments include steps from cloning the repository to starting the
development server, highlighting mandatory installations and
configurations for a smooth setup.

Adjusted settings.py and settings.dist.ini for better clarity and
customization. Simplifications in settings.py improve code readability
and maintainability. The addition of settings.dist.ini allows users to
easily configure their development and production environments per their
needs without altering core configuration files.

These enhancements aim to simplify the contribution process, foster
community involvement, and ensure a transparent and flexible setup for
developers engaging with the project.
2024-03-14 18:14:25 +01:00
013d02a15c
Enhance editor UI and user content management
Introduced significant updates to the user interface for editing VR
scenes, adding new CSS styles for a coherent and modern look.
Implemented data tables for robust content management in the user area,
now users can easily navigate through scenes and media with DataTables
integration. Expanded the API with category retrieval capabilities,
enabling dynamic content categorization.

The editor now seamlessly integrates into the UI with a sidebar for
properties editing, improving usability. The teleportation element
creation and modification logic has been significantly refined,
including a search-enabled dropdown for destination selection, making it
more user-friendly. Added thumbnail display for scenes and media in the
user area, enhancing content overview.

This update also introduced user area templates and routes, providing a
foundational structure for user content management functionality,
including categories and individual category views.

Refactored JavaScript imports to align with the new editor CSS and
adjusted scene loading to support embedded scenes, improving the
flexibility and usability of scene components.
2024-03-14 17:28:14 +01:00
06a00262a0
Remove debug logs from scene initialization
Removed console.log statements for x, y, and z coordinates in the
QuackscapeScene class. This cleanup reduces clutter in the console
during scene initialization, leading to a cleaner and more professional
debug output. No functional impact on scene loading.
2024-03-11 19:50:56 +01:00
635ab177dc
Add iOS texture size limit
Added a workaround to limit texture size on iOS devices to prevent
issues with rendering performance. This change introduces a detection
mechanism for iOS and caps the maximum texture size to 8192 when an iOS
device is identified.
2024-03-11 19:49:48 +01:00
304cb8f63d
Introduce Z-axis handling across the app
This update introduces support for a third dimension (Z-axis) in scene
positioning and orientation, enhancing 3D scene rendering capabilities.
Changes include parsing the Z-coordinate attribute in scene elements,
updating the `loadScene` function to accommodate the new axis, and
extending the models to store this additional data. This pivotal
enhancement allows a more refined and immersive user experience by
enabling depth control in scene navigation and interactivity. The
modification paves the way for future developments in 3D scene
manipulation and interaction within the application.
2024-03-11 16:29:47 +01:00
d6e76e8cfd
A mo-mo-mo-monster 2024-03-11 15:56:03 +01:00