diff --git a/assets/branding/medmind-loader-mark.png b/assets/branding/medmind-loader-mark.png new file mode 100644 index 0000000..b0567b2 Binary files /dev/null and b/assets/branding/medmind-loader-mark.png differ diff --git a/assets/branding/medmind-loader-mark.png.import b/assets/branding/medmind-loader-mark.png.import new file mode 100644 index 0000000..8727f8f --- /dev/null +++ b/assets/branding/medmind-loader-mark.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://boml17400d7mo" +path="res://.godot/imported/medmind-loader-mark.png-35f1239f43a45c2dbbe197762d84e98a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/branding/medmind-loader-mark.png" +dest_files=["res://.godot/imported/medmind-loader-mark.png-35f1239f43a45c2dbbe197762d84e98a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/export_presets.cfg b/export_presets.cfg index 2d65e89..88d49d7 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -21,7 +21,7 @@ variant/thread_support=false vram_texture_compression/for_desktop=true vram_texture_compression/for_mobile=true html/export_icon=true -html/custom_html_shell="" +html/custom_html_shell="res://web/medmind_shell.html" html/head_include="" html/canvas_resize_policy=2 html/focus_canvas_on_start=true diff --git a/scripts/autoload/ui_theme_service.gd b/scripts/autoload/ui_theme_service.gd index 540ffcb..4c02130 100644 --- a/scripts/autoload/ui_theme_service.gd +++ b/scripts/autoload/ui_theme_service.gd @@ -13,6 +13,7 @@ var _is_dark := true func _enter_tree() -> void: _is_dark = _load_preference() Style.set_dark_mode(_is_dark) + _sync_web_preference() func is_dark_mode() -> bool: @@ -25,6 +26,7 @@ func set_dark_mode(value: bool) -> void: _is_dark = value Style.set_dark_mode(_is_dark) _save_preference() + _sync_web_preference() theme_changed.emit(_is_dark) @@ -59,3 +61,14 @@ func _save_preference() -> void: config.set_value(SETTINGS_SECTION, SETTINGS_KEY, "dark" if _is_dark else "light") if config.save(SETTINGS_PATH) != OK: push_warning("Unable to save color scheme preference.") + + +func _sync_web_preference() -> void: + if not OS.has_feature("web"): + return + JavaScriptBridge.eval( + "try { window.localStorage.setItem('medmind-color-scheme', %s); } catch (error) { console.warn('Theme preference storage is unavailable.', error); }" % JSON.stringify( + "dark" if _is_dark else "light" + ), + true + ) diff --git a/web/Dockerfile b/web/Dockerfile index 9fda59e..8ea3e0b 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -33,7 +33,11 @@ RUN mkdir -p /build \ && sed -i "s|custom_template/release=\"\"|custom_template/release=\"/root/.local/share/godot/export_templates/${GODOT_TEMPLATE_DIR}/web_nothreads_release.zip\"|" export_presets.cfg \ && godot --headless --editor --path /src --quit \ && godot --verbose --headless --path /src --export-release Web /build/index.html \ + && cp /src/assets/branding/medmind-loader-mark.png /build/medmind-loader-icon.png \ + && cp /src/assets/fonts/Inter-Variable.ttf /build/medmind-inter.ttf \ && test -s /build/index.html \ + && test -s /build/medmind-loader-icon.png \ + && test -s /build/medmind-inter.ttf \ && test -s /build/index.wasm \ && test -s /build/index.pck diff --git a/web/medmind_shell.html b/web/medmind_shell.html new file mode 100644 index 0000000..d4fff43 --- /dev/null +++ b/web/medmind_shell.html @@ -0,0 +1,419 @@ + + + + + + $GODOT_PROJECT_NAME + + + $GODOT_HEAD_INCLUDE + + + + Your browser does not support the canvas tag. + + + + +
+
+
+
+
+ +
+
+ MedMind +
+

Think like a physician.

+
+
+ 0% +
+

Loading your study experience...

+ +
+
+ + + + +