Compare commits

...

5 Commits

Author SHA1 Message Date
Arseny Sazhin (via WeWeb)
6509a8bcc3 v197 - regis 2025-10-07 18:42:35 +03:00
Arseny Sazhin (via WeWeb)
bd09a2ba64 v196 - email 2025-10-07 18:36:22 +03:00
Arseny Sazhin (via WeWeb)
0d3e320273 v195 - scopes 2025-10-07 17:31:37 +03:00
Arseny Sazhin (via WeWeb)
6d0917d83e v194 - test 2025-10-07 16:04:51 +03:00
Arseny Sazhin (via WeWeb)
63caafb797 v190 - vkauth 2025-10-07 15:31:30 +03:00
36 changed files with 60 additions and 48 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"cacheVersion":189,"page":{"id":"cf9f551f-e733-4934-a682-535575cb7c70","paths":{"en":"promo","default":"promo"},"cmsDataSetPath":null,"workflows":[]},"sections":{"4a2188f6-d98c-4150-9ba7-5918c72f3421":{"uid":"4a2188f6-d98c-4150-9ba7-5918c72f3421","linkId":"416695e7-e54e-4897-9f9a-befeb223f1b0","_state":{"style":{"default":{}}},"content":{"default":{"wwObjects":[],"_ww-layout_alignItems":"flex-start","_ww-layout_flexDirection":"column"}},"sectionBaseId":"99586bd3-2b15-4d6b-a025-6a50d07ca845","sectionTitle":"Section"}},"wwObjects":{},"collections":[],"variables":[],"workflows":[],"formulas":[],"libraryComponents":[]} {"cacheVersion":197,"page":{"id":"cf9f551f-e733-4934-a682-535575cb7c70","paths":{"en":"promo","default":"promo"},"cmsDataSetPath":null,"workflows":[]},"sections":{"4a2188f6-d98c-4150-9ba7-5918c72f3421":{"uid":"4a2188f6-d98c-4150-9ba7-5918c72f3421","linkId":"416695e7-e54e-4897-9f9a-befeb223f1b0","_state":{"style":{"default":{}}},"content":{"default":{"wwObjects":[],"_ww-layout_alignItems":"flex-start","_ww-layout_flexDirection":"column"}},"sectionBaseId":"99586bd3-2b15-4d6b-a025-6a50d07ca845","sectionTitle":"Section"}},"wwObjects":{},"collections":[],"variables":[],"workflows":[],"formulas":[],"libraryComponents":[]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"name":"Образовательная платформа Meetguru","short_name":"Образовательная платформа Meetguru","icons":[{"src":"images/48-favicon.png?_wwcv=189","type":"image/png","sizes":"48x48"},{"src":"images/72-favicon.png?_wwcv=189","type":"image/png","sizes":"72x72"},{"src":"images/96-favicon.png?_wwcv=189","type":"image/png","sizes":"96x96"},{"src":"images/128-favicon.png?_wwcv=189","type":"image/png","sizes":"128x128"},{"src":"images/144-favicon.png?_wwcv=189","type":"image/png","sizes":"144x144"},{"src":"images/152-favicon.png?_wwcv=189","type":"image/png","sizes":"152x152"},{"src":"images/192-favicon.png?_wwcv=189","type":"image/png","sizes":"192x192"},{"src":"images/256-favicon.png?_wwcv=189","type":"image/png","sizes":"256x256"},{"src":"images/384-favicon.png?_wwcv=189","type":"image/png","sizes":"384x384"},{"src":"images/512-favicon.png?_wwcv=189","type":"image/png","sizes":"512x512"}],"start_url":"/","display":"fullscreen","scope":"/","background_color":"#FFFFFF","theme_color":"#FFFFFF"} {"name":"Образовательная платформа Meetguru","short_name":"Образовательная платформа Meetguru","icons":[{"src":"images/48-favicon.png?_wwcv=197","type":"image/png","sizes":"48x48"},{"src":"images/72-favicon.png?_wwcv=197","type":"image/png","sizes":"72x72"},{"src":"images/96-favicon.png?_wwcv=197","type":"image/png","sizes":"96x96"},{"src":"images/128-favicon.png?_wwcv=197","type":"image/png","sizes":"128x128"},{"src":"images/144-favicon.png?_wwcv=197","type":"image/png","sizes":"144x144"},{"src":"images/152-favicon.png?_wwcv=197","type":"image/png","sizes":"152x152"},{"src":"images/192-favicon.png?_wwcv=197","type":"image/png","sizes":"192x192"},{"src":"images/256-favicon.png?_wwcv=197","type":"image/png","sizes":"256x256"},{"src":"images/384-favicon.png?_wwcv=197","type":"image/png","sizes":"384x384"},{"src":"images/512-favicon.png?_wwcv=197","type":"image/png","sizes":"512x512"}],"start_url":"/","display":"fullscreen","scope":"/","background_color":"#FFFFFF","theme_color":"#FFFFFF"}

View File

@ -1,4 +1,4 @@
const version = 189; const version = 197;
self.addEventListener('install', event => { self.addEventListener('install', event => {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
console.log(`Service worker v${version} installed`); console.log(`Service worker v${version} installed`);

File diff suppressed because one or more lines are too long

View File

@ -173,6 +173,14 @@ type: 'string',
defaultValue: '', defaultValue: '',
}); });
// === ADDED: ensure 'email' scope helper ===
const ensureEmailScope = (scopes) => {
if (!scopes || typeof scopes !== 'string') return 'email';
const parts = scopes.split(/[,\s]+/).filter(Boolean);
if (!parts.includes('email')) parts.unshift('email');
return Array.from(new Set(parts)).join(','); // dedupe and normalize
};
// Computed properties // Computed properties
const buttonStyle = computed(() => { const buttonStyle = computed(() => {
return { return {
@ -248,7 +256,8 @@ responseMode: props.content?.backendTokenExchange === true
? VKID.ConfigResponseMode.Code ? VKID.ConfigResponseMode.Code
: VKID.ConfigResponseMode.Callback, : VKID.ConfigResponseMode.Callback,
source: VKID.ConfigSource.LOWCODE, source: VKID.ConfigSource.LOWCODE,
scope: props.content?.scopes || '', // === ADDED: make sure 'email' is always in scope ===
scope: ensureEmailScope(props.content?.scopes || ''),
}); });
// Create and render OneTap // Create and render OneTap
@ -328,7 +337,8 @@ const window = wwLib.getFrontWindow();
const oauthUrl = new URL('https://oauth.vk.com/authorize'); const oauthUrl = new URL('https://oauth.vk.com/authorize');
oauthUrl.searchParams.append('client_id', props.content?.appId); oauthUrl.searchParams.append('client_id', props.content?.appId);
oauthUrl.searchParams.append('redirect_uri', props.content?.redirectUri); oauthUrl.searchParams.append('redirect_uri', props.content?.redirectUri);
oauthUrl.searchParams.append('scope', props.content?.scopes || 'email'); // === CHANGED: force scopes to include email
oauthUrl.searchParams.append('scope', ensureEmailScope(props.content?.scopes));
oauthUrl.searchParams.append('response_type', 'code'); oauthUrl.searchParams.append('response_type', 'code');
oauthUrl.searchParams.append('v', '5.131'); // Ensure API version is set oauthUrl.searchParams.append('v', '5.131'); // Ensure API version is set
@ -552,7 +562,7 @@ const telegramCloseApp = () => {
if (isEditing.value) return; if (isEditing.value) return;
const window = wwLib.getFrontWindow(); const window = wwLib.getFrontWindow();
if (!window.Telegram || !window.Telegram.WebApp) return; if (!window.Telegram || !window.TeleApp) return;
try { try {
window.Telegram.WebApp.close(); window.Telegram.WebApp.close();

View File

@ -14,6 +14,7 @@ import element_b783dc65_d528_4f74_8c14_e27c934c39b1 from '@/components/elements/
import element_c6c0c00e_49fd_4cb9_bd78_5bc09945721e from '@/components/elements/element-c6c0c00e-49fd-4cb9-bd78-5bc09945721e/src/wwElement.vue'; import element_c6c0c00e_49fd_4cb9_bd78_5bc09945721e from '@/components/elements/element-c6c0c00e-49fd-4cb9-bd78-5bc09945721e/src/wwElement.vue';
import element_d7904e9d_fc9a_4d80_9e32_728e097879ad from '@/components/elements/element-d7904e9d-fc9a-4d80-9e32-728e097879ad/src/wwElement.vue'; import element_d7904e9d_fc9a_4d80_9e32_728e097879ad from '@/components/elements/element-d7904e9d-fc9a-4d80-9e32-728e097879ad/src/wwElement.vue';
import element_deb10a01_5eef_4aa1_9017_1b51c2ad6fd0 from '@/components/elements/element-deb10a01-5eef-4aa1-9017-1b51c2ad6fd0/src/wwElement.vue'; import element_deb10a01_5eef_4aa1_9017_1b51c2ad6fd0 from '@/components/elements/element-deb10a01-5eef-4aa1-9017-1b51c2ad6fd0/src/wwElement.vue';
import element_eb4b02a3_cbe6_47e9_8db5_322da8047160 from '@/components/elements/element-eb4b02a3-cbe6-47e9-8db5-322da8047160/src/wwElement.vue';
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
app.component('wwobject-14723a21-0178-4d92-a7e9-d1dfeaec29a7', element_14723a21_0178_4d92_a7e9_d1dfeaec29a7); app.component('wwobject-14723a21-0178-4d92-a7e9-d1dfeaec29a7', element_14723a21_0178_4d92_a7e9_d1dfeaec29a7);
@ -28,6 +29,7 @@ app.component('wwobject-b783dc65-d528-4f74-8c14-e27c934c39b1', element_b783dc65_
app.component('wwobject-c6c0c00e-49fd-4cb9-bd78-5bc09945721e', element_c6c0c00e_49fd_4cb9_bd78_5bc09945721e); app.component('wwobject-c6c0c00e-49fd-4cb9-bd78-5bc09945721e', element_c6c0c00e_49fd_4cb9_bd78_5bc09945721e);
app.component('wwobject-d7904e9d-fc9a-4d80-9e32-728e097879ad', element_d7904e9d_fc9a_4d80_9e32_728e097879ad); app.component('wwobject-d7904e9d-fc9a-4d80-9e32-728e097879ad', element_d7904e9d_fc9a_4d80_9e32_728e097879ad);
app.component('wwobject-deb10a01-5eef-4aa1-9017-1b51c2ad6fd0', element_deb10a01_5eef_4aa1_9017_1b51c2ad6fd0); app.component('wwobject-deb10a01-5eef-4aa1-9017-1b51c2ad6fd0', element_deb10a01_5eef_4aa1_9017_1b51c2ad6fd0);
app.component('wwobject-eb4b02a3-cbe6-47e9-8db5-322da8047160', element_eb4b02a3_cbe6_47e9_8db5_322da8047160);
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
import section_99586bd3_2b15_4d6b_a025_6a50d07ca845 from '@/components/sections/section-99586bd3-2b15-4d6b-a025-6a50d07ca845/src/wwSection.vue'; import section_99586bd3_2b15_4d6b_a025_6a50d07ca845 from '@/components/sections/section-99586bd3-2b15-4d6b-a025-6a50d07ca845/src/wwSection.vue';

View File

@ -12,20 +12,20 @@
<link rel="icon" type="image/x-icon" href="favicon.ico?_wwcv={{cacheVersion}}" /> <link rel="icon" type="image/x-icon" href="favicon.ico?_wwcv={{cacheVersion}}" />
<link rel="manifest" href="manifest.json?_wwcv=189" /> <link rel="manifest" href="manifest.json?_wwcv=197" />
<meta name="theme-color" content="" /> <meta name="theme-color" content="" />
<link rel="apple-touch-icon" sizes="48x48" href="images/48-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="48x48" href="images/48-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="72x72" href="images/72-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="72x72" href="images/72-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="96x96" href="images/96-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="96x96" href="images/96-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="128x128" href="images/128-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="128x128" href="images/128-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="144x144" href="images/144-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="144x144" href="images/144-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="152x152" href="images/152-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="152x152" href="images/152-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="192x192" href="images/192-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="192x192" href="images/192-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="256x256" href="images/256-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="256x256" href="images/256-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="384x384" href="images/384-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="384x384" href="images/384-favicon.png?_wwcv=197">
<link rel="apple-touch-icon" sizes="512x512" href="images/512-favicon.png?_wwcv=189"> <link rel="apple-touch-icon" sizes="512x512" href="images/512-favicon.png?_wwcv=197">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link href="/fonts/Phosphor/font.css?_wwcv=189" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> <link href="/fonts/Phosphor/font.css?_wwcv=197" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> <link href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<style>:root{ --ww-default-font-family: 'Raleway', sans-serif }</style> <style>:root{ --ww-default-font-family: 'Raleway', sans-serif }</style>
<style> <style>

File diff suppressed because one or more lines are too long