Loading docker-celery-3.0.5/frontend_vue/src/App.vue +6 −26 Original line number Diff line number Diff line <template> <LoginView v-if="!isAuthenticated" @login-success="handleLoginSuccess" /> <div v-else :class="['h-screen flex bg-gray-50 overflow-hidden', fontSizeClass]"> <div v-else class="h-screen flex bg-gray-50 overflow-hidden"> <!-- Sidebar --> <aside class="w-56 overflow-x-hidden bg-[#1D1D1D] text-[#E0E0E0] flex-shrink-0 flex flex-col border-r border-[#2C2C2C] transition-all duration-300"> <!-- Logo Area --> Loading Loading @@ -58,16 +58,16 @@ <el-icon :size="20" class="font-bold"><List /></el-icon> <span class="text-[15px] font-bold ml-2">DAGs</span> </el-menu-item> <el-menu-item index="workers"> <el-icon :size="20" class="font-bold"><Cpu /></el-icon> <span class="text-[15px] font-bold ml-2">Workers</span> </el-menu-item> <div class="px-5 py-2 mt-4 text-[10px] font-bold text-[#6B7280] uppercase tracking-wider">Management</div> <el-menu-item index="env"> <el-icon :size="20" class="font-bold"><Document /></el-icon> <span class="text-[15px] font-bold ml-2">Variables</span> </el-menu-item> <el-menu-item index="workers"> <el-icon :size="20" class="font-bold"><Cpu /></el-icon> <span class="text-[15px] font-bold ml-2">Workers</span> </el-menu-item> <el-menu-item index="harbor-tags"> <el-icon :size="20" class="font-bold"><PriceTag /></el-icon> <span class="text-[15px] font-bold ml-2">Harbor</span> Loading Loading @@ -112,17 +112,7 @@ <!-- Bottom Actions --> <div class="mt-auto border-t border-[#2C2C2C] p-4 space-y-4"> <!-- Font Size Toggle --> <div class="flex flex-col items-center px-1 pt-3 border-t border-[#2C2C2C] gap-1"> <span class="text-[9px] text-gray-400 uppercase tracking-wider font-semibold">Font Size</span> <el-radio-group v-model="fontSize" size="small" class="theme-dark w-full justify-center scale-90 origin-center"> <el-radio-button label="S">S</el-radio-button> <el-radio-button label="M">M</el-radio-button> <el-radio-button label="L">L</el-radio-button> </el-radio-group> </div> <div class="flex flex-col items-center mt-3 pt-2 border-t border-[#2C2C2C] gap-1"> <div class="flex flex-col items-center mt-3 pt-2 border-t border-[#2C2C2C] gap-0"> <span class="text-[10px] text-[#6B7280] font-mono tracking-wider" title="Build Number">build: {{ buildNumber }}</span> <span v-if="buildTime" class="text-[10px] text-[#6B7280] font-mono tracking-wider" title="Build Time">{{ buildTime }}</span> </div> Loading Loading @@ -618,7 +608,6 @@ const getHashTab = () => { // State const activeTab = ref(getHashTab()) const currentHost = ref(window.location.hostname) const fontSize = ref('M') const isAuthenticated = ref(!!localStorage.getItem('token')) const userRole = ref(localStorage.getItem('role') || 'user') const currentUsername = ref(localStorage.getItem('username') || '') Loading @@ -639,15 +628,6 @@ const currentHost = ref(window.location.hostname) } } const fontSizeClass = computed(() => { switch (fontSize.value) { case 'S': return 'text-sm' case 'L': return 'text-lg' case 'M': default: return 'text-base' } }) const activeTabTitle = computed(() => { const map: Record<string, string> = { submissions: 'Submissions', Loading Loading
docker-celery-3.0.5/frontend_vue/src/App.vue +6 −26 Original line number Diff line number Diff line <template> <LoginView v-if="!isAuthenticated" @login-success="handleLoginSuccess" /> <div v-else :class="['h-screen flex bg-gray-50 overflow-hidden', fontSizeClass]"> <div v-else class="h-screen flex bg-gray-50 overflow-hidden"> <!-- Sidebar --> <aside class="w-56 overflow-x-hidden bg-[#1D1D1D] text-[#E0E0E0] flex-shrink-0 flex flex-col border-r border-[#2C2C2C] transition-all duration-300"> <!-- Logo Area --> Loading Loading @@ -58,16 +58,16 @@ <el-icon :size="20" class="font-bold"><List /></el-icon> <span class="text-[15px] font-bold ml-2">DAGs</span> </el-menu-item> <el-menu-item index="workers"> <el-icon :size="20" class="font-bold"><Cpu /></el-icon> <span class="text-[15px] font-bold ml-2">Workers</span> </el-menu-item> <div class="px-5 py-2 mt-4 text-[10px] font-bold text-[#6B7280] uppercase tracking-wider">Management</div> <el-menu-item index="env"> <el-icon :size="20" class="font-bold"><Document /></el-icon> <span class="text-[15px] font-bold ml-2">Variables</span> </el-menu-item> <el-menu-item index="workers"> <el-icon :size="20" class="font-bold"><Cpu /></el-icon> <span class="text-[15px] font-bold ml-2">Workers</span> </el-menu-item> <el-menu-item index="harbor-tags"> <el-icon :size="20" class="font-bold"><PriceTag /></el-icon> <span class="text-[15px] font-bold ml-2">Harbor</span> Loading Loading @@ -112,17 +112,7 @@ <!-- Bottom Actions --> <div class="mt-auto border-t border-[#2C2C2C] p-4 space-y-4"> <!-- Font Size Toggle --> <div class="flex flex-col items-center px-1 pt-3 border-t border-[#2C2C2C] gap-1"> <span class="text-[9px] text-gray-400 uppercase tracking-wider font-semibold">Font Size</span> <el-radio-group v-model="fontSize" size="small" class="theme-dark w-full justify-center scale-90 origin-center"> <el-radio-button label="S">S</el-radio-button> <el-radio-button label="M">M</el-radio-button> <el-radio-button label="L">L</el-radio-button> </el-radio-group> </div> <div class="flex flex-col items-center mt-3 pt-2 border-t border-[#2C2C2C] gap-1"> <div class="flex flex-col items-center mt-3 pt-2 border-t border-[#2C2C2C] gap-0"> <span class="text-[10px] text-[#6B7280] font-mono tracking-wider" title="Build Number">build: {{ buildNumber }}</span> <span v-if="buildTime" class="text-[10px] text-[#6B7280] font-mono tracking-wider" title="Build Time">{{ buildTime }}</span> </div> Loading Loading @@ -618,7 +608,6 @@ const getHashTab = () => { // State const activeTab = ref(getHashTab()) const currentHost = ref(window.location.hostname) const fontSize = ref('M') const isAuthenticated = ref(!!localStorage.getItem('token')) const userRole = ref(localStorage.getItem('role') || 'user') const currentUsername = ref(localStorage.getItem('username') || '') Loading @@ -639,15 +628,6 @@ const currentHost = ref(window.location.hostname) } } const fontSizeClass = computed(() => { switch (fontSize.value) { case 'S': return 'text-sm' case 'L': return 'text-lg' case 'M': default: return 'text-base' } }) const activeTabTitle = computed(() => { const map: Record<string, string> = { submissions: 'Submissions', Loading