chore: assets fixes
This commit is contained in:
@@ -12,6 +12,18 @@ dist
|
|||||||
dist-ssr
|
dist-ssr
|
||||||
*.local
|
*.local
|
||||||
|
|
||||||
|
# Vite build output (generated locally via `pnpm build`, served by whitenoise)
|
||||||
|
static_source/vite/assets
|
||||||
|
static_source/vite/manifest.json
|
||||||
|
static_source/vite/vite.svg
|
||||||
|
tsconfig.tsbuildinfo
|
||||||
|
|
||||||
|
# vue-tsc emits a compiled copy of vite.config.ts here (tsconfig.node.json,
|
||||||
|
# composite project ref) — Vite's config lookup prefers .js over .ts, so a
|
||||||
|
# committed copy silently shadows every edit to the real config.
|
||||||
|
/vite.config.js
|
||||||
|
/vite.config.d.ts
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor directories and files
|
||||||
.vscode/*
|
.vscode/*
|
||||||
!.vscode/extensions.json
|
!.vscode/extensions.json
|
||||||
|
|||||||
-1
@@ -1 +0,0 @@
|
|||||||
import{d as s,a as e,o as n,t}from"./style-CWE_e4zZ.js";const c={key:0,class:"flex justify-center"},d={key:0,class:"badge badge-warning badge-lg"},k={key:1,class:"badge badge-lg"},o={key:2,class:"badge badge-lg"},l={key:3,class:"badge badge-lg"},g={key:1,class:"text-2xl text-base-content/50"},y=s({__name:"RankBadge",props:{rank:{}},setup(a){return(i,r)=>a.rank!==null?(n(),e("div",c,[a.rank===1?(n(),e("span",d," 🏆 #"+t(a.rank),1)):a.rank===2?(n(),e("span",k," 🥈 #"+t(a.rank),1)):a.rank===3?(n(),e("span",o," 🥉 #"+t(a.rank),1)):(n(),e("span",l," #"+t(a.rank),1))])):(n(),e("div",g," No rank yet "))}});export{y as _};
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
import{d as x,r as l,q as h,a as o,o as r,b as e,e as y,j as k,F as w,g as _,t as E,f as j,E as S}from"./style-CWE_e4zZ.js";import{g as C}from"./sdk.gen-yuJ1arsq.js";const B={class:"min-h-screen bg-base-300 flex items-center justify-center px-4"},N={class:"w-full max-w-6xl"},V={key:0,class:"flex justify-center py-20"},$={key:1,class:"grid grid-cols-1 md:grid-cols-2 gap-8"},A=["onClick"],L={class:"relative h-60 bg-base-300 overflow-hidden"},M=["src","alt","onError"],P={key:1,class:"w-full h-full bg-gradient-to-br from-blue-600 to-blue-400 flex items-center justify-center text-white"},q={class:"card-body"},D={class:"card-title text-2xl"},F=x({__name:"Home",props:{marketEnabled:{type:[String,Boolean],default:!0}},setup(b){const n=b,i=l(),d=l(!0),c=l(new Set),p=s=>`https://cdn.akamai.steamstatic.com/steam/apps/${s}/header.jpg`,v=s=>{c.value.add(s)},m=s=>{window.location.href=s},g=()=>typeof n.marketEnabled=="string"?n.marketEnabled==="true":!!n.marketEnabled;return h(async()=>{const s=await C();s.data&&(i.value=s.data),d.value=!1}),(s,t)=>(r(),o("div",B,[e("div",N,[t[6]||(t[6]=e("div",{class:"text-center mb-12"},[e("h1",{class:"text-5xl font-bold mb-4"},"PolyLAN Submitter"),e("p",{class:"text-xl text-base-content/70"}," Choose a game and submit your best solutions ")],-1)),d.value?(r(),o("div",V,[...t[1]||(t[1]=[e("span",{class:"loading loading-spinner loading-lg"},null,-1)])])):(r(),o("div",$,[g()?(r(),o("div",{key:0,onClick:t[0]||(t[0]=a=>m("/market")),class:"card card-xl bg-base-200 shadow-xl hover:shadow-2xl transition-all cursor-pointer transform hover:-translate-y-2 hover:scale-[1.05] hover:bg-base-100 overflow-hidden"},[...t[2]||(t[2]=[k('<figure class="relative h-60 bg-gradient-to-br from-purple-600 to-blue-600 flex items-center justify-center"><i class="mdi mdi-chart-box text-6xl text-white opacity-80"></i><div class="absolute inset-0 bg-black/30 group-hover:bg-black/20 transition-colors"></div></figure><div class="card-body"><h2 class="card-title text-2xl">Market</h2><p class="text-base-content/70">Place your bets and compete</p><div class="card-actions justify-end mt-4"><button class="btn btn-primary"><i class="mdi mdi-arrow-right mr-2"></i> Place bets </button></div></div>',2)])])):y("",!0),(r(!0),o(w,null,_(i.value,a=>(r(),o("div",{key:a.steam_app_id,onClick:f=>m(a.path),class:"card card-xl bg-base-200 shadow-xl hover:shadow-2xl transition-all cursor-pointer transform hover:-translate-y-2 hover:scale-[1.05] hover:bg-base-100 overflow-hidden"},[e("figure",L,[c.value.has(a.steam_app_id)?(r(),o("div",P,[...t[3]||(t[3]=[e("i",{class:"mdi mdi-gamepad-variant text-5xl"},null,-1)])])):(r(),o("img",{key:0,src:p(a.steam_app_id),alt:a.name,onError:f=>v(a.steam_app_id),class:"w-full h-full object-cover"},null,40,M)),t[4]||(t[4]=e("div",{class:"absolute inset-0 bg-black/30 group-hover:bg-black/20 transition-colors"},null,-1))]),e("div",q,[e("h2",D,E(a.name),1),t[5]||(t[5]=e("div",{class:"card-actions justify-end mt-4"},[e("button",{class:"btn btn-primary"},[e("i",{class:"mdi mdi-arrow-right mr-2"}),j(" Submit results ")])],-1))])],8,A))),128))])),t[7]||(t[7]=e("div",{class:"text-center mt-12 text-base-content/50"},[e("p",null,"Select a game above to begin submitting")],-1))])]))}}),u="#app",H=document.querySelector(u),I=S(F,{...H?.dataset});I.mount(u);
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import{I as H,r as J,J as K,K as V,c as D,y as R,L as N,M as T,N as tt,O as et,P as st,B as nt,C as ot,w as ct,h as rt,Q as ut}from"./style-CWE_e4zZ.js";/*!
|
|
||||||
* pinia v3.0.3
|
|
||||||
* (c) 2025 Eduardo San Martin Morote
|
|
||||||
* @license MIT
|
|
||||||
*/let Q;const x=t=>Q=t,q=Symbol();function k(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var g;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(g||(g={}));function at(){const t=H(!0),o=t.run(()=>J({}));let s=[],e=[];const r=K({install(u){x(r),r._a=u,u.provide(q,r),u.config.globalProperties.$pinia=r,e.forEach(a=>s.push(a)),e=[]},use(u){return this._a?s.push(u):e.push(u),this},_p:s,_a:null,_e:t,_s:new Map,state:o});return r}const z=()=>{};function A(t,o,s,e=z){t.push(o);const r=()=>{const u=t.indexOf(o);u>-1&&(t.splice(u,1),e())};return!s&&nt()&&ot(r),r}function d(t,...o){t.slice().forEach(s=>{s(...o)})}const ft=t=>t(),B=Symbol(),I=Symbol();function L(t,o){t instanceof Map&&o instanceof Map?o.forEach((s,e)=>t.set(e,s)):t instanceof Set&&o instanceof Set&&o.forEach(t.add,t);for(const s in o){if(!o.hasOwnProperty(s))continue;const e=o[s],r=t[s];k(r)&&k(e)&&t.hasOwnProperty(s)&&!R(e)&&!N(e)?t[s]=L(r,e):t[s]=e}return t}const it=Symbol();function lt(t){return!k(t)||!Object.prototype.hasOwnProperty.call(t,it)}const{assign:h}=Object;function ht(t){return!!(R(t)&&t.effect)}function bt(t,o,s,e){const{state:r,actions:u,getters:a}=o,O=s.state.value[t];let y;function b(){O||(s.state.value[t]=r?r():{});const S=ut(s.state.value[t]);return h(S,u,Object.keys(a||{}).reduce((v,_)=>(v[_]=K(D(()=>{x(s);const m=s._s.get(t);return a[_].call(m,m)})),v),{}))}return y=U(t,b,o,s,e,!0),y}function U(t,o,s={},e,r,u){let a;const O=h({actions:{}},s),y={deep:!0};let b,S,v=[],_=[],m;const j=e.state.value[t];!u&&!j&&(e.state.value[t]={}),J({});let W;function F(c){let n;b=S=!1,typeof c=="function"?(c(e.state.value[t]),n={type:g.patchFunction,storeId:t,events:m}):(L(e.state.value[t],c),n={type:g.patchObject,payload:c,storeId:t,events:m});const f=W=Symbol();rt().then(()=>{W===f&&(b=!0)}),S=!0,d(v,n,e.state.value[t])}const X=u?function(){const{state:n}=s,f=n?n():{};this.$patch(p=>{h(p,f)})}:z;function Y(){a.stop(),v=[],_=[],e._s.delete(t)}const M=(c,n="")=>{if(B in c)return c[I]=n,c;const f=function(){x(e);const p=Array.from(arguments),C=[],E=[];function G(i){C.push(i)}function $(i){E.push(i)}d(_,{args:p,name:f[I],store:l,after:G,onError:$});let w;try{w=c.apply(this&&this.$id===t?this:l,p)}catch(i){throw d(E,i),i}return w instanceof Promise?w.then(i=>(d(C,i),i)).catch(i=>(d(E,i),Promise.reject(i))):(d(C,w),w)};return f[B]=!0,f[I]=n,f},Z={_p:e,$id:t,$onAction:A.bind(null,_),$patch:F,$reset:X,$subscribe(c,n={}){const f=A(v,c,n.detached,()=>p()),p=a.run(()=>ct(()=>e.state.value[t],C=>{(n.flush==="sync"?S:b)&&c({storeId:t,type:g.direct,events:m},C)},h({},y,n)));return f},$dispose:Y},l=st(Z);e._s.set(t,l);const P=(e._a&&e._a.runWithContext||ft)(()=>e._e.run(()=>(a=H()).run(()=>o({action:M}))));for(const c in P){const n=P[c];if(R(n)&&!ht(n)||N(n))u||(j&<(n)&&(R(n)?n.value=j[c]:L(n,j[c])),e.state.value[t][c]=n);else if(typeof n=="function"){const f=M(n,c);P[c]=f,O.actions[c]=n}}return h(l,P),h(V(l),P),Object.defineProperty(l,"$state",{get:()=>e.state.value[t],set:c=>{F(n=>{h(n,c)})}}),e._p.forEach(c=>{h(l,a.run(()=>c({store:l,app:e._a,pinia:e,options:O})))}),j&&u&&s.hydrate&&s.hydrate(l.$state,j),b=!0,S=!0,l}/*! #__NO_SIDE_EFFECTS__ */function vt(t,o,s){let e;const r=typeof o=="function";e=r?s:o;function u(a,O){const y=et();return a=a||(y?tt(q,null):null),a&&x(a),a=Q,a._s.has(t)||(r?U(t,o,e,a):bt(t,e,a)),a._s.get(t)}return u.$id=t,u}function _t(t){const o=V(t),s={};for(const e in o){const r=o[e];r.effect?s[e]=D({get:()=>t[e],set(u){t[e]=u}}):(R(r)||N(r))&&(s[e]=T(t,e))}return s}const mt=at();export{vt as d,mt as p,_t as s};
|
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
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
@@ -1,97 +0,0 @@
|
|||||||
{
|
|
||||||
"_RankBadge.vue_vue_type_script_setup_true_lang-CzWD2ic-.js": {
|
|
||||||
"file": "assets/RankBadge.vue_vue_type_script_setup_true_lang-CzWD2ic-.js",
|
|
||||||
"name": "RankBadge.vue_vue_type_script_setup_true_lang",
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"_index-2B-edoO9.js": {
|
|
||||||
"file": "assets/index-2B-edoO9.js",
|
|
||||||
"name": "index",
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"_sdk.gen-yuJ1arsq.js": {
|
|
||||||
"file": "assets/sdk.gen-yuJ1arsq.js",
|
|
||||||
"name": "sdk.gen"
|
|
||||||
},
|
|
||||||
"_style-B5FWYd7r.css": {
|
|
||||||
"file": "assets/style-B5FWYd7r.css",
|
|
||||||
"src": "_style-B5FWYd7r.css"
|
|
||||||
},
|
|
||||||
"_style-CWE_e4zZ.js": {
|
|
||||||
"file": "assets/style-CWE_e4zZ.js",
|
|
||||||
"name": "style",
|
|
||||||
"css": [
|
|
||||||
"assets/style-B5FWYd7r.css"
|
|
||||||
],
|
|
||||||
"assets": [
|
|
||||||
"assets/materialdesignicons-webfont-CSr8KVlo.eot",
|
|
||||||
"assets/materialdesignicons-webfont-Dp5v-WZN.woff2",
|
|
||||||
"assets/materialdesignicons-webfont-PXm3-2wK.woff",
|
|
||||||
"assets/materialdesignicons-webfont-B7mPwVP_.ttf"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.eot": {
|
|
||||||
"file": "assets/materialdesignicons-webfont-CSr8KVlo.eot",
|
|
||||||
"src": "node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.eot"
|
|
||||||
},
|
|
||||||
"node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.ttf": {
|
|
||||||
"file": "assets/materialdesignicons-webfont-B7mPwVP_.ttf",
|
|
||||||
"src": "node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.ttf"
|
|
||||||
},
|
|
||||||
"node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.woff": {
|
|
||||||
"file": "assets/materialdesignicons-webfont-PXm3-2wK.woff",
|
|
||||||
"src": "node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.woff"
|
|
||||||
},
|
|
||||||
"node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.woff2": {
|
|
||||||
"file": "assets/materialdesignicons-webfont-Dp5v-WZN.woff2",
|
|
||||||
"src": "node_modules/.pnpm/@mdi+font@7.4.47/node_modules/@mdi/font/fonts/materialdesignicons-webfont.woff2"
|
|
||||||
},
|
|
||||||
"src/home.ts": {
|
|
||||||
"file": "assets/home-CykeG-Mq.js",
|
|
||||||
"name": "home",
|
|
||||||
"src": "src/home.ts",
|
|
||||||
"isEntry": true,
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js",
|
|
||||||
"_sdk.gen-yuJ1arsq.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/market.ts": {
|
|
||||||
"file": "assets/market-CMZT_MuA.js",
|
|
||||||
"name": "market",
|
|
||||||
"src": "src/market.ts",
|
|
||||||
"isEntry": true,
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js",
|
|
||||||
"_index-2B-edoO9.js",
|
|
||||||
"_sdk.gen-yuJ1arsq.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/noita.ts": {
|
|
||||||
"file": "assets/noita-D_MM7R73.js",
|
|
||||||
"name": "noita",
|
|
||||||
"src": "src/noita.ts",
|
|
||||||
"isEntry": true,
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js",
|
|
||||||
"_index-2B-edoO9.js",
|
|
||||||
"_RankBadge.vue_vue_type_script_setup_true_lang-CzWD2ic-.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"src/opus-magnum.ts": {
|
|
||||||
"file": "assets/opus_magnum-BJYv3njz.js",
|
|
||||||
"name": "opus_magnum",
|
|
||||||
"src": "src/opus-magnum.ts",
|
|
||||||
"isEntry": true,
|
|
||||||
"imports": [
|
|
||||||
"_style-CWE_e4zZ.js",
|
|
||||||
"_index-2B-edoO9.js",
|
|
||||||
"_sdk.gen-yuJ1arsq.js",
|
|
||||||
"_RankBadge.vue_vue_type_script_setup_true_lang-CzWD2ic-.js"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -4,7 +4,9 @@
|
|||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"module": "ESNext",
|
"module": "ESNext",
|
||||||
"moduleResolution": "bundler",
|
"moduleResolution": "bundler",
|
||||||
"allowSyntheticDefaultImports": true
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"outDir": "./node_modules/.tsc-out/node",
|
||||||
|
"tsBuildInfoFile": "./node_modules/.tsc-out/node.tsbuildinfo"
|
||||||
},
|
},
|
||||||
"include": ["vite.config.ts"]
|
"include": ["vite.config.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
{"root":["./src/home.ts","./src/market.ts","./src/noita.ts","./src/opus-magnum.ts","./src/submissions.ts","./src/api/client.gen.ts","./src/api/index.ts","./src/api/sdk.gen.ts","./src/api/types.gen.ts","./src/api/client/client.gen.ts","./src/api/client/index.ts","./src/api/client/types.gen.ts","./src/api/client/utils.gen.ts","./src/api/core/auth.gen.ts","./src/api/core/bodySerializer.gen.ts","./src/api/core/params.gen.ts","./src/api/core/pathSerializer.gen.ts","./src/api/core/queryKeySerializer.gen.ts","./src/api/core/serverSentEvents.gen.ts","./src/api/core/types.gen.ts","./src/api/core/utils.gen.ts","./src/services/apiService.ts","./src/services/ocrService.ts","./src/stores/index.ts","./src/stores/market.ts","./src/stores/noita.ts","./src/stores/puzzles.ts","./src/stores/submissions.ts","./src/stores/uploads.ts","./src/stores/user.ts","./src/types/index.ts","./src/Home.vue","./src/Market.vue","./src/Noita.vue","./src/OpusMagnum.vue","./src/Submissions.vue","./src/components/AdminPanel.vue","./src/components/FileUpload.vue","./src/components/MarketCard.vue","./src/components/PuzzleCard.vue","./src/components/PuzzleResults.vue","./src/components/RankBadge.vue","./src/components/Results.vue","./src/components/SubmissionForm.vue","./src/components/TopUsersLeaderboard.vue","./src/components/UserBets.vue","./src/components/Winners.vue"],"errors":true,"version":"5.9.3"}
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
declare const _default: import("vite").UserConfig;
|
|
||||||
export default _default;
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
import { defineConfig } from 'vite';
|
|
||||||
import vue from '@vitejs/plugin-vue';
|
|
||||||
import { resolve } from 'path';
|
|
||||||
import { fileURLToPath } from 'node:url';
|
|
||||||
import tailwindcss from '@tailwindcss/vite';
|
|
||||||
// https://vitejs.dev/config/
|
|
||||||
export default defineConfig({
|
|
||||||
base: '/static/',
|
|
||||||
plugins: [
|
|
||||||
vue(),
|
|
||||||
tailwindcss(),
|
|
||||||
],
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
build: {
|
|
||||||
manifest: 'manifest.json',
|
|
||||||
outDir: resolve("./static_source/vite"),
|
|
||||||
rollupOptions: {
|
|
||||||
input: {
|
|
||||||
opus_magnum: resolve('./src/opus-magnum.ts'),
|
|
||||||
home: resolve('./src/home.ts'),
|
|
||||||
noita: resolve('./src/noita.ts'),
|
|
||||||
market: resolve('./src/market.ts'),
|
|
||||||
submissions: resolve('./src/submissions.ts'),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@@ -7,6 +7,13 @@ import tailwindcss from '@tailwindcss/vite'
|
|||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
base: '/static/',
|
base: '/static/',
|
||||||
|
server: {
|
||||||
|
// Django serves the HTML on a different origin than the Vite dev
|
||||||
|
// server, so dev-mode asset URLs (e.g. @font-face url()s injected
|
||||||
|
// via JS-imported CSS) must be absolute, not root-relative, or the
|
||||||
|
// browser resolves them against Django's origin instead of Vite's.
|
||||||
|
origin: 'http://localhost:5173',
|
||||||
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
vue(),
|
vue(),
|
||||||
tailwindcss(),
|
tailwindcss(),
|
||||||
|
|||||||
Reference in New Issue
Block a user